[
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_STRIDE_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_stride" } },
    "effect": [
      { "u_message": "Your steps are taking you further than your eyes tell you they should.", "type": "good" },
      { "run_eocs": "EOC_POWER_MAINTENANCE_PLUS_ONE" },
      { "u_add_effect": "effect_teleport_stride", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_STRIDE_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_stride') * 3) + 30) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_stride') * 4) + 300) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_STRIDE" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_STRIDE",
    "condition": { "u_has_effect": "effect_teleport_stride" },
    "effect": [ { "run_eocs": "EOC_POWER_MAINTENANCE_MINUS_ONE" }, { "u_lose_effect": "effect_teleport_stride" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_STRIDE_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_stride" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = 3" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_stride')", "+=", "psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_STRIDE_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_stride') * 3) + 30) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_stride') * 4) + 300) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [  ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_WARPED_STRIKES_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_warped_strikes" } },
    "effect": [
      { "u_message": "You are ready to momentarily warp space to coincide with your attacks.", "type": "good" },
      { "run_eocs": "EOC_POWER_MAINTENANCE_PLUS_ONE" },
      { "u_add_effect": "effect_teleport_warped_strikes", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_WARPED_STRIKES_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_warped_strikes') * 10 ) + 30 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_warped_strikes') * 30 ) + 300 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_WARPED_STRIKES" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_WARPED_STRIKES",
    "condition": { "u_has_effect": "effect_teleport_warped_strikes" },
    "effect": [ { "run_eocs": "EOC_POWER_MAINTENANCE_MINUS_ONE" }, { "u_lose_effect": "effect_teleport_warped_strikes" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_WARPED_STRIKES_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_warped_strikes" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = u_spell_difficulty('teleport_warped_strikes')" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_warped_strikes') += psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_WARPED_STRIKES_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_warped_strikes') * 10 ) + 30 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_warped_strikes') * 30 ) + 300 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_EPHEMERAL_WALK_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_ephemeral_walk" } },
    "effect": [
      { "u_message": "You feel a strange coolness as matter around you feels somehow less solid.", "type": "good" },
      { "run_eocs": "EOC_POWER_MAINTENANCE_PLUS_ONE" },
      { "u_add_effect": "effect_teleport_ephemeral_walk", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_EPHEMERAL_WALK_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_ephemeral_walk') * 10) + 30) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_ephemeral_walk') * 30) + 300) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_EPHEMERAL_WALK" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_EPHEMERAL_WALK",
    "condition": { "u_has_effect": "effect_teleport_ephemeral_walk" },
    "effect": [ { "run_eocs": "EOC_POWER_MAINTENANCE_MINUS_ONE" }, { "u_lose_effect": "effect_teleport_ephemeral_walk" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_EPHEMERAL_WALK_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_ephemeral_walk" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = 6" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_ephemeral_walk')", "+=", "psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_EPHEMERAL_WALK_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_ephemeral_walk') * 10) + 30) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_ephemeral_walk') * 30) + 300) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [  ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REACTIVE_DISPLACEMENT_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_reactive_displacement" } },
    "effect": [
      { "u_message": "You are prepared to displace your attackers.", "type": "good" },
      { "run_eocs": "EOC_POWER_MAINTENANCE_PLUS_ONE" },
      { "u_add_effect": "effect_teleport_reactive_displacement", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_REACTIVE_DISPLACEMENT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_reactive_displacement') * 1 ) + 20 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_reactive_displacement') * 4 ) + 200 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_REACTIVE_DISPLACEMENT" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_REACTIVE_DISPLACEMENT",
    "condition": { "u_has_effect": "effect_teleport_reactive_displacement" },
    "effect": [ { "run_eocs": "EOC_POWER_MAINTENANCE_MINUS_ONE" }, { "u_lose_effect": "effect_teleport_reactive_displacement" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REACTIVE_DISPLACEMENT_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_reactive_displacement" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = 5" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_reactive_displacement') += psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_REACTIVE_DISPLACEMENT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_reactive_displacement') * 2 ) + 20 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_reactive_displacement') * 4 ) + 200 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [  ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_LOCI_ESTABLISHMENT_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_loci_establishment" } },
    "effect": [
      { "u_message": "You've established a locus to return to later.", "type": "good" },
      { "run_eocs": "EOC_POWER_MAINTENANCE_PLUS_ONE" },
      { "u_location_variable": { "u_val": "teleporter_loci_establishment_loc" }, "min_radius": 0, "max_radius": 0 },
      { "u_add_effect": "effect_teleport_loci_establishment", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_LOCI_ESTABLISHMENT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_loci_establishment') * 1 ) + 20 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_loci_establishment') * 4 ) + 200 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_LOCI_ESTABLISHMENT" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_LOCI_ESTABLISHMENT",
    "condition": { "u_has_effect": "effect_teleport_loci_establishment" },
    "effect": [ { "run_eocs": "EOC_POWER_MAINTENANCE_MINUS_ONE" }, { "u_lose_effect": "effect_teleport_loci_establishment" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_LOCI_ESTABLISHMENT_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_loci_establishment" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = 6" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_loci_establishment') +=psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_LOCI_ESTABLISHMENT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( ( u_spell_level('teleport_loci_establishment') * 2 ) + 20 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( ( u_spell_level('teleport_loci_establishment') * 4 ) + 200 ) * ( scaling_factor( u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [  ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_WARPER_COMBAT_INITIATE",
    "condition": { "not": { "u_has_effect": "effect_teleport_warper_combat" } },
    "effect": [
      { "u_message": "The world jerks as you start continually blinking from place to place.", "type": "good" },
      { "run_eocs": [ "EOC_POWER_MAINTENANCE_PLUS_ONE", "EOC_POWER_MAINTENANCE_PLUS_ONE" ] },
      { "u_add_effect": "effect_teleport_warper_combat", "duration": "PERMANENT" },
      {
        "run_eocs": "EOC_TELEPORT_WARPER_COMBAT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_warper_combat') * 3.5) + 23) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_warper_combat') * 8.5) + 97) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [ { "run_eocs": "EOC_TELEPORT_REMOVE_WARPER_COMBAT" } ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_REMOVE_WARPER_COMBAT",
    "condition": { "u_has_effect": "effect_teleport_warper_combat" },
    "effect": [
      { "run_eocs": [ "EOC_POWER_MAINTENANCE_MINUS_ONE", "EOC_POWER_MAINTENANCE_MINUS_ONE" ] },
      { "u_lose_effect": "effect_teleport_warper_combat" }
    ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_TELEPORT_WARPER_COMBAT_DRAIN",
    "condition": { "u_has_effect": "effect_teleport_warper_combat" },
    "effect": [
      { "math": [ "u_latest_channeled_power_difficulty = 9" ] },
      { "run_eocs": [ "EOC_PSIONICS_GAIN_NETHER_ATTUNEMENT_2", "EOC_PSI_MAINTENANCE_CALORIE_COST_CALCULATOR" ] },
      { "math": [ "u_spell_exp('teleport_warper_combat')", "+=", "psionic_power_experience_formula()" ] },
      { "run_eocs": "EOC_POWER_MAINTENANCE_CONCENTRATION_CHECK" },
      {
        "run_eocs": "EOC_TELEPORT_WARPER_COMBAT_DRAIN",
        "time_in_future": [
          {
            "math": [
              "( (u_spell_level('teleport_warper_combat') * 3.5) + 23) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          },
          {
            "math": [
              "( (u_spell_level('teleport_warper_combat') * 8.5) + 97) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
            ]
          }
        ]
      }
    ],
    "false_effect": [  ]
  }
]
