function init(hero) {
    hero.setName("Invisible Woman");
    hero.setTier(6);
    
    hero.setChestplate("item.superhero_armor.piece.chestpiece");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");
    
    hero.addPowers("fiskheroes:flight","fiskheroes:hover","fiskheroes:invisibility", "pack:cosmicfield");
   
    hero.addAttribute("WEAPON_DAMAGE", 1.5, 0);
    hero.addAttribute("FALL_RESISTANCE", 5.0, 0);
    hero.addAttribute("JUMP_HEIGHT", 0.8, 0);
    hero.addAttribute("PUNCH_DAMAGE", 6, 0);
    hero.addAttribute("SPRINT_SPEED", 0.45, 1);
    
	
   
    hero.addKeyBind("SPELL_MENU", "Forcefield Menu", 2);
    hero.addKeyBind("TELEKINESIS", "Forcefield Grab", 1);
	  hero.addKeyBind("INVISIBILITY", "key.invisibility", 3);  
    hero.addKeyBind("SHIELD", "key.forcefield", 4);
	hero.addKeyBind("HOVER", "Forcefield Platform", 5);
	
	    hero.setModifierEnabled(isModifierEnabled);
    hero.setKeyBindEnabled(isKeyBindEnabled);



    
}

function isModifierEnabled(entity, modifier) {
    switch (modifier.name()) {
    case "fiskheroes:telekinesis":
        return entity.getHeldItem().isEmpty() && !entity.getData("fiskheroes:shadowform") && !entity.getData("fiskheroes:lightsout");
    default:
        return true;
    }
}

function isKeyBindEnabled(entity, keyBind) {
if (entity.getData("fiskheroes:telekinesis")) {
        return keyBind == "TELEKINESIS" || keyBind == "AIM";
    }
    
    return keyBind != "TELEKINESIS" || entity.getHeldItem().isEmpty();
}


function isKeyBindEnabled(entity, keyBind) {
    switch (keyBind) {
   
case "SPELL_MENU":
        return !entity.getData("fiskheroes:shield");

    default:
        return true;
    }
}

