function init(hero) {
    hero.setName("Superman");
    hero.setTier(5);
    
    hero.setChestplate("item.superhero_armor.piece.chestpiece");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");
    
    hero.addAbilities("fiskheroes:accelerated_perception", "fiskheroes:super_speed", "fiskheroes:enhanced_reflexes", "fiskheroes:fire_immunity", "fiskheroes:flight", "fiskheroes:heat_vision", "fiskheroes:superhuman_durability");
	hero.addWeaknesses("fiskheroes:eternium");
	hero.addAttribute("BASE_SPEED_LEVELS", 2.0, 0);
	hero.addAttribute("ATTACK_DAMAGE", 2.0, 1);
	hero.addAttribute("PUNCH_DAMAGE", 12.0, 0);
    hero.addAttribute("SWORD_DAMAGE", -0.5, 1);
	hero.addAttribute("SPRINT_SPEED", 0.65, 1);
	
	hero.addKeyBind("SUPER_SPEED", "key.superSpeed", 1);
	hero.addKeyBind("DECELERATE", "key.decelerate", 2);
    hero.addKeyBind("ACCELERATE", "key.accelerate", 3);
    hero.addKeyBind("SLOW_MOTION", "key.slowMotion", 4);
	hero.addKeyBind("HEAT_VISION", "key.heatVision", 5);
	
	hero.setDefaultScale(1.1);
	hero.setHasProperty(hasProperty);
	hero.setModifierEnabled(isModifierEnabled);
}

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

function isModifierEnabled(entity, modifier) {
    return modifier == "fiskheroes:eternium" || !entity.hasStatusEffect("fiskheroes:eternium");
}