function init(hero) {
    hero.setName("Invincible");
	hero.setVersion("Serie");
    hero.setTier(7);
	
    hero.setHelmet("item.superhero_armor.piece.cowl");
    hero.setChestplate("item.superhero_armor.piece.chestpiece");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");
    
    hero.addPowers("vhp:viltrumite_physiology");
    hero.addAttribute("BASE_SPEED_LEVELS", 1.0, 0);
    hero.addAttribute("MAX_HEALTH", 4.0, 0);
    hero.addAttribute("PUNCH_DAMAGE", 9.5, 0);
    hero.addAttribute("SPRINT_SPEED", 0.35, 1);
    hero.addAttribute("KNOCKBACK", 2.0, 0);
	hero.addAttribute("FALL_RESISTANCE", 1.0, 1);
	hero.addAttribute("IMPACT_DAMAGE", 0.30, 1);

    hero.addKeyBind("SUPER_SPEED", "key.superSpeed", 1);
    hero.addKeyBind("SLOW_MOTION", "key.slowMotion", 2);
	hero.addKeyBind("GROUND_SMASH", "key.groundSmash", 3);
    hero.addKeyBind("CHARGED_PUNCH", "Toggle Wrathful Punch", 4);
	hero.addKeyBind("HOVER", "key.hover", 5);

    hero.setHasProperty(hasProperty);
	hero.addAttributeProfile("PUNCH", punchProfile);
    hero.addAttributeProfile("BLUNT", bluntProfile);
    hero.setAttributeProfile(getAttributeProfile);
}

function punchProfile(profile) {
    profile.inheritDefaults();
    profile.addAttribute("PUNCH_DAMAGE", 11, 0);
    profile.addAttribute("KNOCKBACK", 8.0, 0);
}

function bluntProfile(profile) {
    profile.inheritDefaults();
    profile.addAttribute("PUNCH_DAMAGE", 9.5, 0);
}

function getAttributeProfile(entity) {
    return entity.getData("fiskheroes:punchmode") ? "PUNCH" : "BLUNT";
}

function hasProperty(entity, property) {
    return property == "BREATHE_SPACE";
}