function init(hero) {
    hero.setName("Thanos");
    hero.setTier(5);
    
    hero.setHelmet("Head");
	hero.setChestplate("Torso");
    hero.setLeggings("Pants");
    hero.setBoots("Boots");
    
    hero.addAbilities("fiskheroes:steel_transformation", "fiskheroes:umbrakinesis", "fiskheroes:pyrokinesis", "fiskheroes:fire_immunity", "fiskheroes:invisibility", "fiskheroes:cellular_regeneration", "fiskheroes:accelerated_perception", "fiskheroes:superhuman_durability", "fiskheroes:electrokinesis");
    hero.addAttribute("ATTACK_DAMAGE", 2.5, 1);
    hero.addAttribute("PUNCH_DAMAGE", 14, 0);
    hero.addAttribute("SWORD_DAMAGE", -0.2, 1);
	hero.addAttribute("JUMP_HEIGHT", 2.0, 0);
	hero.addAttribute("FALL_RESISTANCE", 2.5, 0);
	hero.addAttribute("SPRINT_SPEED", 0.2, 0);
	hero.addAttribute("STEP_HEIGHT", 0.5, 0);
	
	hero.addKeyBind("STEEL_TRANSFORM", "Power Stone", 1);
	hero.addKeyBind("AIM", "Burn Reality", 2);
	hero.addKeyBind("INVISIBILITY", "key.invisibility", 3);
	hero.addKeyBind("SLOW_MOTION", "Slow Time", 4);
	hero.addKeyBind("SHADOWDOME", "Darken Minds", 5);
	
	hero.setDefaultScale(1.8);
	
	hero.addAttributeProfile("STEEL", steelProfile);
    hero.setAttributeProfile(getAttributeProfile);
    hero.setModifierEnabled(isModifierEnabled);
	hero.supplyFunction("canAim", canAim);
}

function canAim(entity) {
    return entity.getHeldItem().name() == "minecraft:dye" && entity.getHeldItem().damage() == 1;
}

function steelProfile(profile) {
    profile.addAttribute("ATTACK_DAMAGE", 2.7, 1);
    profile.addAttribute("FALL_RESISTANCE", 7.5, 0);
    profile.addAttribute("JUMP_HEIGHT", 1.0, 0);
    profile.addAttribute("PUNCH_DAMAGE", 16.5, 0);
    profile.addAttribute("SPRINT_SPEED", 0.1, 1);
    profile.addAttribute("SWORD_DAMAGE", -0.4, 1);
}

function getAttributeProfile(entity) {
    return entity.getData("fiskheroes:steeled") ? "STEEL" : null;
}
// This is just Duvain saying hi.
function isModifierEnabled(entity, modifier) {
	// power
	if (modifier == "fiskheroes:electrokinesis" || modifier == "fiskheroes:superhuman_durability") {
		return entity.getData("fiskheroes:steeled");
	}
	// reality
	else if (modifier == "fiskheroes:pyrokinesis" || modifier == "fiskheroes:fire_immunity" || modifier == "fiskheroes:invisibility") {
        return entity.getHeldItem().name() == "minecraft:dye" && entity.getHeldItem().damage() == 1;
    }
	// time
    else if (modifier == "fiskheroes:cellular_regeneration" || modifier == "fiskheroes:accelerated_perception") {
        return entity.getHeldItem().name() == "minecraft:dye" && entity.getHeldItem().damage() == 10;
    }
	//
	else if (modifier == "fiskheroes:umbrakinesis") {
        return entity.getHeldItem().name() == "minecraft:dye" && entity.getHeldItem().damage() == 11;
    }
	return true;
}