// Skincolors!

freeslot("SKINCOLOR_OBSCURE", "SKINCOLOR_SUPERFIREWAVER1", "SKINCOLOR_SUPERFIREWAVER2", "SKINCOLOR_SUPERFIREWAVER3", "SKINCOLOR_SUPERFIREWAVER4", "SKINCOLOR_SUPERFIREWAVER5")

skincolors[SKINCOLOR_OBSCURE] = {
	name = "Obscure",
	ramp = {144,151,159,159,253,253,253,253,253,253,254,254,254,31,31,31},
	invcolor = SKINCOLOR_JET,
	invshade = 3,
	chatcolor = V_INVERTMAP,
	accessible = true
}

skincolors[SKINCOLOR_SUPERFIREWAVER1] = {
	name = "Super Firewaver 1",
	ramp = skincolors[SKINCOLOR_CRIMSON].ramp,
	invcolor = SKINCOLOR_VOLCANIC,
	invshade = 0,
	chatcolor = V_REDMAP,
	accessible = false
}

skincolors[SKINCOLOR_SUPERFIREWAVER2] = {
	name = "Super Firewaver 2",
	ramp = skincolors[SKINCOLOR_RED].ramp,
	invcolor = SKINCOLOR_VOLCANIC,
	invshade = 0,
	chatcolor = V_REDMAP,
	accessible = false
}

skincolors[SKINCOLOR_SUPERFIREWAVER3] = {
	name = "Super Firewaver 3",
	ramp = skincolors[SKINCOLOR_PEPPER].ramp,
	invcolor = SKINCOLOR_VOLCANIC,
	invshade = 0,
	chatcolor = V_REDMAP,
	accessible = false
}

skincolors[SKINCOLOR_SUPERFIREWAVER4] = {
	name = "Super Firewaver 4",
	ramp = skincolors[SKINCOLOR_GARNET].ramp,
	invcolor = SKINCOLOR_VOLCANIC,
	invshade = 0,
	chatcolor = V_REDMAP,
	accessible = false
}

skincolors[SKINCOLOR_SUPERFIREWAVER5] = {
	name = "Super Firewaver 5",
	ramp = skincolors[SKINCOLOR_KETCHUP].ramp,
	invcolor = SKINCOLOR_VOLCANIC,
	invshade = 0,
	chatcolor = V_ORANGEMAP,
	accessible = false
}

addHook("PlayerThink", function(player)
	if player.mo and player.mo.valid
		if player.mo.skin == "dark"
		or player.mo.skin == "xkz"
			if player.powers[pw_super]
				local d94xkzsupersparkling = P_SpawnMobjFromMobj(player.mo, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.height/FRACUNIT, player.mo.height/FRACUNIT)*FRACUNIT*P_MobjFlip(player.mo), MT_BOXSPARKLE)
				d94xkzsupersparkling.target = player.mo
				d94xkzsupersparkling.tics = 5
				d94xkzsupersparkling.frame = $|FF_FULLBRIGHT
				d94xkzsupersparkling.scale = player.mo.scale*3
				d94xkzsupersparkling.destscale = player.mo.scale
				d94xkzsupersparkling.momx = P_RandomRange(-6, 6)*FRACUNIT
				d94xkzsupersparkling.momy = P_RandomRange(-6, 6)*FRACUNIT
				d94xkzsupersparkling.momz = P_RandomRange(-6, 6)*FRACUNIT
				d94xkzsupersparkling.color = d94xkzsupersparkling.target.color
				d94xkzsupersparkling.colorized = true
				d94xkzsupersparkling.blendmode = AST_ADD
				if P_IsObjectOnGround(player.mo)
					local d94xkzsupergroundthok = P_SpawnMobj(player.mo.x, player.mo.y, player.mo.floorz, MT_THOK)
					d94xkzsupergroundthok.frame = $|FF_FULLBRIGHT
					d94xkzsupergroundthok.color = player.mo.color
					d94xkzsupergroundthok.scale = player.mo.scale
					d94xkzsupergroundthok.destscale = player.mo.scale/4
					d94xkzsupergroundthok.renderflags = $|RF_FLOORSPRITE
					d94xkzsupergroundthok.blendmode = AST_ADD
				end
			end
		end
	end
end)