function init(hero) {
    hero.setName("Batman/\u00A76\u00A7lUHP\u00A7r");
    hero.setVersion("Arkham Knight");
    hero.setTier(4);
    
    hero.setHelmet("item.superhero_armor.piece.helmet");
    hero.setChestplate("item.superhero_armor.piece.chestplate");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");
    hero.addEquipment("fiskheroes:black_canarys_tonfas");
    hero.addEquipment("fiskheroes:bo_staff");
    hero.addEquipment("fiskheroes:prometheus_sword");
    hero.addEquipment("fiskheroes:cold_gun");
    hero.addEquipment("fiskheroes:grappling_gun");
    
    hero.addPowers("uhp:batsuit_ak");
	
    hero.addAttribute("FALL_RESISTANCE", 6.0, 0);
    hero.addAttribute("JUMP_HEIGHT", 1.5, 0);
    hero.addAttribute("PUNCH_DAMAGE", 6.5, 0);
    hero.addAttribute("SPRINT_SPEED", 0.25, 1);
    hero.addAttribute("IMPACT_DAMAGE", 0.55, 1);
    hero.addAttribute("WEAPON_DAMAGE", 3.0, 0);

    hero.addKeyBind("UTILITY_BELT", "Toggle Utility Belt", 1);
    hero.addKeyBind("AIM", "key.aim", 2);

    hero.setHasPermission(hasPermission);
    hero.supplyFunction("canAim", canAim);

}

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

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