function init(hero) {
    hero.setName("Stormfront");
    hero.setTier(7);
    hero.setHelmet("Mask");
    hero.setChestplate("Chestplate");
    hero.setLeggings("Leggings");
    hero.setBoots("Boots");
    
    hero.addPowers("bfp:stormfront_physiology", "bfp:lightning_projection", "bfp:lightning_throw", "fiskheroes:charged_punch", "bfp:storm_blast", "bfp:super_strength");
    hero.addAttribute("FALL_RESISTANCE", 1, 1);
    hero.addAttribute("PUNCH_DAMAGE", 20.0, 0);
    hero.addAttribute("SPRINT_SPEED", 0.5, 1);
    hero.addAttribute("STEP_HEIGHT", 0.5, 0);
    hero.addAttribute("IMPACT_DAMAGE", 0.5, 1);
    hero.addAttribute("BASE_SPEED_LEVELS", 1.0, 0);

    hero.setDefaultScale(0.9);

    hero.addKeyBind("ENERGY_PROJECTION", "Channel Lightning-Bolt", 1);
    hero.addKeyBind("CHARGED_BEAM", "Storm-Blast", 2);
    hero.addKeyBind("CHARGED_PUNCH", "Super Punch", 3);

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

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

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

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