function init(hero) {
    hero.setName("Scarlet Witch");
    hero.setTier(7);

    hero.setChestplate("Torso");
    hero.setLeggings("Pants");
    hero.setBoots("Boots");

    hero.addPowers("wv:chaos_magic");
    hero.addAttribute("PUNCH_DAMAGE", 4.0, 0);
    hero.addAttribute("WEAPON_DAMAGE", 2, 0);
    hero.addAttribute("SPRINT_SPEED", 0.15, 1);
    hero.addAttribute("JUMP_HEIGHT", 1.0, 0);
    hero.addAttribute("FALL_RESISTANCE", 0.5, 1);

    hero.addKeyBind("AIM", "Aim", 1);
    hero.addKeyBind("ENERGY_PROJECTION", "Chaos  Blast", -1);
    hero.addKeyBind("SPELL_MENU", "key.spellMenu", 2);
    hero.addKeyBind("transformation", "Switch Powers", 3)
    hero.addKeyBind("TELEKINESIS", "key.telekinesis", 1)


    hero.supplyFunction("canAim", canAim)

    
    hero.setTickHandler((entity, manager) => {
        manager.incrementData(entity, "wv:dyn/holoanimation", 20, 20, entity.is("DISPLAY") && !entity.as("DISPLAY").isStatic() && entity.as("DISPLAY").getDisplayType() === "HOLOGRAM");
    })

    hero.setKeyBindEnabled((entity, keyBind) => {
        switch (keyBind) {
            case "ENERGY_PROJECTION":
                return entity.getData("fiskheroes:aiming") && !entity.getData("fiskheroes:telekinesis") && !entity.getData("wv:dyn/transformation");
            case "TELEKINESIS":
                return entity.getData("fiskheroes:aiming") && !entity.getData("fiskheroes:energy_projection") && entity.getData("wv:dyn/transformation");
        }
        return true;
    });

}
function canAim(entity) {
    return entity.getHeldItem().isEmpty();
}
