function init(hero) {

    hero.setName("Darkseid");

    hero.setCosmic();

    hero.setTier(6);

    

    hero.setHelmet("Head");

    hero.setChestplate("Body");

    hero.setLeggings("Pants");

    hero.setBoots("Boots");

    

    hero.addAbilities("fiskheroes:flight", "fiskheroes:superhuman_durability", "fiskheroes:super_speed", "fiskheroes:heat_vision", "fiskheroes:enhanced_reflexes", "fiskheroes:teleportation", "fiskheroes:size_manipulation");

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

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

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

    hero.addAttribute("BASE_SPEED_LEVELS", 5.0, 0);

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

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

    hero.addAttribute("SPRINT_SPEED", 0.3, 0);

    hero.addAttribute("SWORD_DAMAGE", -0.8, 1);

    

    hero.addKeyBind("HEAT_VISION", "Omega Beam", 1);

    hero.addKeyBind("TELEPORT", "key.teleport", 2);

    hero.addKeyBind("SHRINK", "key.shrink", 3);

    hero.addKeyBind("GROW", "key.grow", 4);

    hero.addKeyBind("SUPER_SPEED", "key.superSpeed", 5);

    

    hero.setDefaultScale(2.0);

    hero.setHasProperty(hasProperty);

    hero.setModifierEnabled(isModifierEnabled);

    hero.supplyFunction("getMinSize", 2.0);

    hero.supplyFunction("getMaxSize", 16.0);

    hero.supplyFunction("isInstant", false);

}



function hasProperty(entity, property) {

    return property == "BREATHE_UNDERWATER" || property == "BREATHE_SPACE";

}



function isModifierEnabled(entity, modifier) {

    return entity.getData("fiskheroes:scale") <= 1.11 || modifier != "fiskheroes:teleportation";

}
