-- Sls by Sls64LGamingBro (an OC I created)
-- This was created for all though in SLADE
-- Also, i created some of the stuff as well

-------

-- This is kinda NOT reusable at all
-- Which is the same thing staromentum
-- anyways, enjoy!
freeslot("sfx_djump")


//ALT_Sls Color
freeslot("SKINCOLOR_ALT_SLS")
skincolors[SKINCOLOR_ALT_SLS] = {
    name = "ALT_Sls",
    ramp = {0,1,2,4,5,5,6,6,7,9,10,11,12,13,14,15},
    invcolor = SKINCOLOR_WHITE,
    invshade = 9,
    chatcolor = V_GRAYMAP,
    accessible = true
}


//Air Boost
addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sls"
	    if (player.mo.state == S_PLAY_JUMP)
		and (player.cmd.buttons & BT_SPIN)
		and not (player.powers[pw_shield])
           P_SpawnGhostMobj(player.mo)
		   player.powers[pw_invulnerability] = TICRATE/2
		   player.mo.state = S_PLAY_SPRING
		   player.mo.momz = 16*FRACUNIT
		   player.pflags = $ & ~PF_STARTJUMP
		   S_StartSound(player.mo, sfx_zoom)
		end
	end
end)


//Floating
addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sls"
	    if (player.pflags & PF_JUMPED)
		and (player.cmd.buttons & BT_CUSTOM2)
		and (player.powers[pw_super])
           P_SpawnGhostMobj(player.mo)
		   player.powers[pw_invulnerability] = TICRATE/4
		   player.mo.state = S_PLAY_NIGHTS_FLY
		   player.float = true
		   player.mo.momz = 0*FRACUNIT
		end
	end
end)



//Flight Drop (Stolen from my addon Staromenutm since I created it)
addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sls" and (player.cmd.buttons & BT_CUSTOM1)
	    if player.mo.state == S_PLAY_FLY or player.mo.state == S_PLAY_FLY_TIRED or player.mo.state == S_PLAY_SWIM
		   S_StartSound(player.mo, sfx_spin, player)
           player.pflags = $1|PF_THOKKED|PF_JUMPED
		   P_SpawnThokMobj(player)
		   player.mo.state = S_PLAY_ROLL
		end
	end
end)


//Recurl (It's a version of Flight Drop and Glide Drop stolen from my addon Staromenutm since I created it)
addHook("PlayerThink", function(player)
	if player.mo and player.mo.skin == "sls"
	    if player.mo.state == S_PLAY_FALL
           player.pflags = $1|PF_THOKKED|PF_JUMPED
		   player.mo.state = S_PLAY_ROLL
		end
	end
end)


//No Drowning when Super
addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "sls"
			if player.powers[pw_super] == 0
				player.powers[pw_underwater] = 0
				player.powers[pw_spacetime] = 0
			end
		end
	end
end)
