// SUPER AETHER COLOR CODING

freeslot(
"SKINCOLOR_SUPERAETHER1",
"SKINCOLOR_SUPERAETHER2",
"SKINCOLOR_SUPERAETHER3",
"SKINCOLOR_SUPERAETHER4",
"SKINCOLOR_SUPERAETHER5")

skincolors[SKINCOLOR_SUPERAETHER1] = {
    name = "Super Aether 1",
    ramp = {0,1,3,4,5,6,8,170,170,171,171,172,172,137,137,137},
    accessible = false
}

skincolors[SKINCOLOR_SUPERAETHER2] = {
    name = "Super Aether 2",
    ramp = {0,1,3,4,5,7,170,170,170,171,171,172,172,137,137,137},
    accessible = false
}

skincolors[SKINCOLOR_SUPERAETHER3] = {
    name = "Super Aether 3",
    ramp = {0,4,5,6,7,8,171,171,171,172,172,173,173,138,138,138},
    accessible = false
}

skincolors[SKINCOLOR_SUPERAETHER4] = {
    name = "Super Aether 4",
    ramp = {0,5,6,7,8,9,172,172,172,173,173,174,174,139,139,139},
    accessible = false
}

skincolors[SKINCOLOR_SUPERAETHER5] = {
    name = "Super Aether 5",
    ramp = {0,3,6,170,171,171,171,171,172,172,172,137,137,137,137,137},
    accessible = false
}

//
// Self-Blur
//

freeslot("MT_CMAN_SUPERBLUR")

mobjinfo[MT_CMAN_SUPERBLUR] = {
	spawnstate = S_INVISIBLE,
	spawnhealth = 1000,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	dispoffset = -10,
	flags = MF_SCENERY|MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT
}

//Self-Blur
addHook("FollowMobj", function(player, mobj)
	mobj.flags2 = $&~MF2_LINKDRAW
	if player.powers[pw_super]
		mobj.skin = player.realmo.skin
		mobj.sprite = player.realmo.sprite
		mobj.frame = player.realmo.frame|((leveltime%9)<<FF_TRANSSHIFT)
		if player.powers[pw_carry] == CR_DUSTDEVIL
			mobj.sprite2 = SPR2_WIND
		else
			mobj.sprite2 = player.realmo.sprite2
		end
		mobj.scale = FixedMul(player.realmo.scale,((leveltime%9)+32)*FRACUNIT/32)
		if not (leveltime%9)
			if mobj.color == SKINCOLOR_SUPERPURPLE1
				mobj.color = SKINCOLOR_SUPERRED1
			else
				mobj.color = $+5
			end
		end
		mobj.colorized = true
	else
		mobj.state = S_INVISIBLE
		mobj.color = SKINCOLOR_SUPERGOLD1
	end
	A_CapeChase(mobj,1-((leveltime%9)<<FRACBITS/2),0)
	if consoleplayer and consoleplayer.valid
		P_TeleportMove(mobj,player.realmo.x+P_ReturnThrustX(nil,consoleplayer.cmd.angleturn<<16,1),
		player.realmo.y+P_ReturnThrustY(nil,consoleplayer.cmd.angleturn<<16,1),mobj.z)
	else
		P_TeleportMove(mobj,player.realmo.x+P_ReturnThrustX(nil,player.cmd.angleturn<<16,1),
		player.realmo.y+P_ReturnThrustY(nil,player.cmd.angleturn<<16,1),mobj.z)
	end
	return true
end, MT_CMAN_SUPERBLUR)
