function init(hero) {
    hero.setName("Black Bolt/\u00A76\u00A7lUHP\u00A7r");
    hero.setVersion("Comics");
    hero.setCosmic()
    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.addPowers("uhp:inhuman_black_bolt");
	
    hero.addAttribute("FALL_RESISTANCE", 8.0, 0);
    hero.addAttribute("JUMP_HEIGHT", 1.5, 0);
    hero.addAttribute("PUNCH_DAMAGE", 6.0, 0);
    hero.addAttribute("SPRINT_SPEED", 0.50, 1);
	hero.addAttribute("WEAPON_DAMAGE", 1.0, 0);

    hero.addKeyBind("SONIC_WAVES", "Whisper", 1);
    hero.addKeyBind("SPELL_MENU", "Scream", 2);
    hero.addKeyBind("SCREAM", "Charge", 3);
    
    hero.addAttributeProfile("SCREAM", screamProfile);
    hero.setAttributeProfile(getAttributeProfile);
	
    hero.setKeyBindEnabled(isKeyBindEnabled);
	
    hero.setRuleValueModifier(ruleModifier);

}

function getAttributeProfile(entity) {
    return entity.getData("fiskheroes:dyn/nanites") ? "SCREAM" : null;

}

function screamProfile(profile) {
    profile.inheritDefaults();
    profile.addAttribute("PUNCH_DAMAGE", 4.5, 0);
	profile.addAttribute("WEAPON_DAMAGE", -2.0, 0);
}

function isKeyBindEnabled(entity, keyBind) {
    switch (keyBind) {
	case "SPELL_MENU":
        return entity.getData("fiskheroes:dyn/nanites");
     
    default:
        return true;
    }
}

function ruleModifier(entity, rule) {
    if (rule.name() == "fiskheroes:dmg_spell_atmospheric") {
        return 25.0;
    }   
    return null;
}