function init(hero) {

    hero.setName("Dark Claw");

    hero.setVersion("Amalgam");

    hero.setTier(5);

    

    hero.setHelmet("Cowl");

    hero.setChestplate("Chestplate");

    hero.setLeggings("Leggings");

    hero.setBoots("Boots");

    hero.addEquipment("fiskheroes:grappling_gun");



    hero.addAbilities("fiskheroes:healing_factor", "fiskheroes:utility_belt", "fiskheroes:superhuman_durability", "fiskheroes:leaping", "fiskheroes:gliding", "fiskheroes:retractable_shield", "fiskheroes:cellular_regeneration", "fiskheroes:enhanced_reflexes");

    hero.addAttribute("FALL_RESISTANCE", 10.0, 0);

    hero.addAttribute("JUMP_HEIGHT", 2.0, 0);

    hero.addAttribute("STEP_HEIGHT", 1, 0);

    hero.addAttribute("ATTACK_DAMAGE", 0.7, 1);

    hero.addAttribute("PUNCH_DAMAGE", 6.0, 0);

    hero.addAttribute("SPRINT_SPEED", 0.8, 1);

    

    hero.addKeyBind("SHIELD", "Retract Claws", 1);

    hero.addKeyBind("UTILITY_SWITCH", "key.utilitySwitch", 2);

    hero.addKeyBind("UTILITY_RESET", "key.utilityReset", 3);

    

    hero.addAttributeProfile("SHIELD", shieldProfile);

    hero.setAttributeProfile(getAttributeProfile);

    

    hero.setHasPermission(hasPermission);

}



function hasPermission(entity, permission) {

    return permission == "USE_GRAPPLING_GUN";

}



function shieldProfile(profile) {

    profile.addAttribute("ATTACK_DAMAGE", 1.4, 1);

    profile.addAttribute("PUNCH_DAMAGE", 15.0, 0);

}



function getAttributeProfile(entity) {

    return entity.getData("fiskheroes:shield") ? "SHIELD" : null;

}