addHook("JumpSpinSpecial",function(player)
if player.mo.skin == "bird"
		and not player.boost == true
		and not player.boostwait == true
			P_SetObjectMomZ(player.mo,20*FRACUNIT,true)
			P_SpawnSpinMobj(player,MT_THOK)
			S_StartSound(player.mo, sfx_kc5b)
			S_StartSound(player.mo, sfx_s3k81)
			local dashsp = player.normalspeed
	
			local momangle = R_PointToAngle2(0,0,player.rmomx,player.rmomy)
			local anglediff = AngleFixed(abs(momangle - player.mo.angle)) / FRACUNIT
			local pspd = player.speed
	
			local speedpercentage = max(0, min(100, (100 - (anglediff - 50))))
			pspd = $ * speedpercentage / 100
	
			P_InstaThrust(player.mo, player.mo.angle, FixedMul(max(dashsp,pspd), player.mo.scale))
			if player.mo.momz*P_MobjFlip(player.mo) > 0 then
			player.mo.state = S_PLAY_FLIGHTBOOST
			player.ghost = true
			player.boost = true
			player.boostwait = false
			else
			player.mo.state = S_PLAY_ROLL
			player.ghost = true
			player.boost = true
			player.boostwait = false
		end
	end	
end)

addHook("PlayerThink",function(player)
if player.mo.skin == "bird"
	and P_IsObjectOnGround(player.mo)
	and player.boost == true
	and player.boostwait == false
		S_StartSound(player.mo, sfx_s3k9b)
		S_StartSound(player.mo, sfx_s3k51)
		P_SetObjectMomZ(player.mo,8*FRACUNIT,true)
		player.mo.state = S_PLAY_ROLL
		player.ghost = false
		player.boost = false
		player.boostwait = false
	end
end)


addHook("PlayerThink",function(player)
if player.ghost == true
	P_SpawnGhostMobj(player.mo)
	end
end)