# This is the default data config file for AcademyCraft.
# It is automatically copied to ".minecraft/config" folder for customization reference.

ac.ability {

  # Global ability-related data.
  data {
    cp_recover_cooldown: 15
    cp_recover_speed: 1.0

    overload_recover_cooldown: 32
    overload_recover_speed: 1.0

    maxcp_incr_rate: 0.0025 # The max cp increase rate (multiplied by CP consumption)
    maxo_incr_rate: 0.0058 # The max overload increase rate (multiplied by Overload consumption)
    prog_incr_rate: 1.0 # The level progress increate rate.

    init_cp: [1800, 1800, 2800, 4000, 5800, 8000]
    add_cp: [0, 900, 1000, 1500, 1700, 12000] # The additional cp that can be achieved by using skills.
    init_overload: [100, 100, 150, 240, 350, 500]
    add_overload: [0, 40, 70, 80, 100, 500] # The additional overload that can be achieved by using skills.
  }

  # Global skill calculation interferers.
  calc_global {
    # Global damage scale.
    damage_scale: 1.0
  }

  category {
    #
    # Skill data explained:
    # Per-skill configuration can be found in <category>.<skill_name> path.
    #  There are some common properties that are shared, listed below:
    #
    # Property                         | Description                                | Default value
    # ---------------------------------|--------------------------------------------|----------------
    #  enabled (boolean)               | Whether the skill can be learned or not.   | true
    #  damage_scale (float)            | A scale of skill-to-entity damage.         | 1.0
    #  cp_consume_speed (float)        | How fast this skill consumes CP.           | 1.0
    #  overload_consume_speed (float)  | How fast this skill overloads.             | 1.0
    #  exp_incr_speed (float)          | How fast this skill's experience increases.| 1.0
    # *destroy_blocks (boolean)        | Whether this skill destroys blocks.        | true
    # -----------------------------------------------------------------------------------------------
    # *: This property is only applicable on skills that have associated effects.
    # There is an example in electromaster/arc_gen skill.
    #

    generic {
      skills {
        brain_course {}
        brain_course_advanced {}
        mind_course {}
      }
    }
    electromaster {
      common {
        prog_incr_rate: 1.0
      }
      skills {
        arc_gen {
          # An example for common properties.
          enabled: true,
          damage_scale: 1.0,
          cp_consume_speed: 1.0,
          overload_consume_speed: 1.0,
          exp_incr_speed: 1.0
        }
        charging {
        }
        body_intensify {
        }
        mine_detect {
        }
        mag_movement {
        }
        thunder_bolt {
        }
        railgun {
        }
        thunder_clap {
        }
        mag_manip {
        }
      }
    }
    meltdowner {
      common {
        prog_incr_rate: 1.0
      }
      skills {
        electron_bomb {}
        rad_intensify {}
        scatter_bomb {}
        light_shield {}
        meltdowner {}
        mine_ray_basic {}
        ray_barrage {}
        jet_engine {}
        mine_ray_expert {}
        mine_ray_luck {}
        electron_missile {}
      }
    }
    teleporter {
      common {
        prog_incr_rate: 1.0
      }
      skills {
        threatening_teleport {}
        dim_folding_theorem {}
        penetrate_teleport {}
        mark_teleport {}
        flesh_ripping {}
        location_teleport {}
        shift_tp {}
        space_fluct {}
        flashing {}
      }
    }
    vecmanip {
      common {
        prog_incr_rate: 1.0
        affected_entities { # Configuration for VecManip/VecDeviation affected entities.
          # Assign difficulties to entity names. The difficulty is proportion to cp/overload consumed when an
          # entity is deflected.
          #
          # If not specified here, default difficulty is 1.0.
          difficulties: [
            {
              name: "Arrow",
              difficulty: 1.0
            },
            {
              name: "ThrownPotion",
              difficulty: 1.4
            },
            {
              name: "Snowball",
              difficulty: 0.1
            }
          ]

          # Excluded entity names. Entities with name in this list will not be affected.
          excluded: [
            "Item", "Mob", "Monster", "XPOrb"
          ]
        }
      }
      skills {
        dir_shock {}
        ground_shock {}
        vec_accel {}
        vec_deviation {}
        dir_blast {}
        storm_wing {}
        blood_retro {}
        vec_reflection {}
        plasma_cannon {}
      }
    }
  }
}