function init(hero) {
    hero.setName("Catwoman/\u00A76\u00A7lUHP\u00A7r");
    hero.setVersion("Telltale");
    hero.setTier(2);
    
    hero.setHelmet("item.superhero_armor.piece.mask");
    hero.setChestplate("item.superhero_armor.piece.chestpiece");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");
    hero.addEquipment("fiskheroes:grappling_gun");
    
    hero.addPowers("uhp:protective_leotard", "uhp:retractable_claws");
	
    hero.addAttribute("FALL_RESISTANCE", 7.5, 0);
    hero.addAttribute("JUMP_HEIGHT", 2.0, 0);
    hero.addAttribute("PUNCH_DAMAGE", 5.0, 0);
    hero.addAttribute("SPRINT_SPEED", 0.35, 1);
    hero.addAttribute("WEAPON_DAMAGE", 2.0, 0);
    
    hero.addKeyBind("BLADE", "key.claws", 1);
    hero.addKeyBind("SPELL_MENU", "Use Whip", 2);
    hero.addKeyBind("AIM", "key.aim", 3);

    hero.setDefaultScale(0.98);  
    
    hero.setHasPermission(hasPermission);
    hero.supplyFunction("canAim", canAim);
	
    hero.addAttributeProfile("CLAWS", clawsProfile);
    hero.setAttributeProfile(getAttributeProfile);
}

function getAttributeProfile(entity) {
    return entity.getData("fiskheroes:blade") ? "CLAWS" : null;
}

function clawsProfile(profile) {
    profile.inheritDefaults();
    profile.addAttribute("PUNCH_DAMAGE", 7.0, 0);
}

function hasPermission(entity, permission) {
    return permission == "USE_GRAPPLING_GUN";
}

function canAim(entity) {
    return entity.getHeldItem().name() == "fiskheroes:grappling_gun";
}