function init(hero) {
    hero.setName("Mister Fantastic/Reed Richards");
    hero.setTier(4);
    
    hero.setHelmet("Hair");
    hero.setChestplate("Chestplate");
    hero.setLeggings("Leggings");
    hero.setBoots("Boots");
	
    
    hero.addPowers("tgheroes:plastic");
    hero.addAttribute("PUNCH_DAMAGE", 4.0, 0);
    hero.addAttribute("WEAPON_DAMAGE", 1.5, 0);
    hero.addAttribute("JUMP_HEIGHT", 2.0, 0);
    hero.addAttribute("FALL_RESISTANCE", 1.0, 1);
    hero.addAttribute("SPRINT_SPEED", 0.15, 1);
    
    hero.addKeyBind("TENTACLE_JAB", "Hand Jab", 1);
    hero.addKeyBind("TENTACLE_GRAB", "Hand Grab", 2);
    hero.addKeyBind("TENTACLE_STRIKE", "Hand Strike", 3);
    hero.addKeyBind("TENTACLES", "Arms Outstretched", 5);
	hero.addKeyBind("BLADE", "Hand Hammer", 4);
    
    hero.setKeyBindEnabled(isKeyBindEnabled);
	hero.setModifierEnabled(isModifierEnabled);
	hero.addAttributeProfile("BLADE", handProfile);
    hero.setAttributeProfile(getProfile);
    hero.setDamageProfile(getProfile);
    hero.addDamageProfile("BLADE", {"types": {"BLUNT": 1.5}});	
}

function handProfile(profile) {
    profile.inheritDefaults();
    profile.addAttribute("PUNCH_DAMAGE", 9, 0);
}

function getProfile(entity) {
    return entity.getData("fiskheroes:blade") ? "BLADE" : null;
}

function isKeyBindEnabled(entity, keyBind) {
	switch (keyBind) {
        case "TENTACLE_JAB":
            return !entity.getData("fiskheroes:tentacles") == 0;
        case "TENTACLE_STRIKE":
            return !entity.getData("fiskheroes:tentacles") == 0;
		case "TENTACLE_GRAB":
            return !entity.getData("fiskheroes:tentacles") == 0;
		case "BLADE":
            return !entity.getData("fiskheroes:tentacles") == 1;
        default:
            return true;
    }
}

function isModifierEnabled(entity, modifier) {
    if (modifier.name() == "fiskheroes:blade") {
		return !entity.getData("fiskheroes:tentacles") == 1;
	}
    return true;
}