addHook("ThinkFrame", function()
	for player in players.iterate do
		if player.mo.skin ~= "255" then
			continue
		end		
		if (player.cmd.buttons & BT_USE)
		and (P_IsObjectOnGround(player.mo) == true) then
		player.mo.momx = 0
		player.mo.momy = 0
		player.mo.momz = 0
		player.pflags = $1|PF_STARTDASH
		player.mo.state = S_PLAY_SPINDASH
		end
	end
end)

addHook("ThinkFrame", function()
	for player in players.iterate do
		if player.mo.skin ~= "255" then
			continue
		end
		
		if player.dashmode > 3*TICRATE then
		player.powers[pw_invulnerability] = 5
		end
	end
end)


addHook("PlayerThink", function(player)
	if player.mo.skin == "255" 
	and player.pflags & PF_JUMPED
		player.target = P_LookForEnemies(player, true, true)
		if player.target
		and player.pflags & PF_JUMPED
			P_SpawnLockOn(player, player.target, S_LOCKON1)
		end
	end	
end)
addHook("AbilitySpecial", function(player)
	if player.mo.skin == "255"
		player.target = P_LookForEnemies(player, true, true)
		if not P_IsObjectOnGround(player.mo)
			if player.target
				P_HomingAttack(player.mo, player.target)
				P_SpawnThokMobj(player)
				player.mo.state = S_PLAY_ROLL
				player.pflags = $1 & ~PF_THOKKED
			end
			if not player.target 
			and not (player.pflags & PF_THOKKED)
				P_Thrust(player.mo, player.mo.angle, 30*FRACUNIT)
				P_SetObjectMomZ(player.mo, 7*FRACUNIT)
				P_SpawnThokMobj(player)
				player.mo.state = S_PLAY_ROLL
				player.pflags = $|PF_THOKKED
			end	
		end
	end	
end)	

