addHook("PlayerThink", do
	for player in players.iterate
		if player.mo.valid
		and(player.mo.skin == "bob") and player.mo.state == S_PLAY_BDOVE then
		player.powers[pw_strong] =  STR_ANIM|STR_FLOOR|STR_SPRING
		end
	end
end)

addHook("ThinkFrame", do
	for player in players.iterate
	player.sair = player.sair or false
		if player.mo.valid
		and(player.mo.skin == "bob") and player.sair == false and P_IsObjectOnGround(player.mo) == false then
		player.sair = true
		elseif (player.mo.skin == "bob") and player.sair == true and P_IsObjectOnGround(player.mo) == true then
		player.sair = false
		S_StartSound(player.mo, sfx_blnd)
		end
	end
end)

addHook("PlayerThink", function()
for player in players.iterate do
	local spin_pressed = (player.cmd.buttons & BT_SPIN) ~= 0
	if player.mo.valid
	and(player.mo.skin == "bob") and not (gametype == GT_LTMMURDERMYSTERY) and player.mo.state == S_PLAY_WALK and spin_pressed and player.speed >= 15 * FRACUNIT then
		S_StartSound(player.mo, sfx_zoom)
		end
	end
end)

addHook("PlayerThink", function()
for player in players.iterate do
	local spin_pressed = (player.cmd.buttons & BT_SPIN) ~= 0
	if player.mo.valid
	and(player.mo.skin == "bob") and not (gametype == GT_LTMMURDERMYSTERY) and player.mo.state == S_PLAY_RUN and spin_pressed then
		player.mo.state = S_PLAY_ROLL
		player.pflags = $ |PF_SPINNING
		S_StartSound(player.mo, sfx_zoom)
		end
	end
end)

addHook("PlayerThink", function()
for player in players.iterate do
	local spin_pressed = (player.cmd.buttons & BT_SPIN) ~= 0
	if player.mo.valid
	and(player.mo.skin == "bob") and not (gametype == GT_LTMMURDERMYSTERY) and player.mo.state == S_PLAY_DASH and spin_pressed then
		player.mo.state = S_PLAY_ROLL
		player.pflags = $ |PF_SPINNING
		S_StartSound(player.mo, sfx_zoom)
		end
	end
end)


addHook("PlayerThink", do
	for player in players.iterate
		if player.mo.valid
		and(player.mo.skin == "bob") and player.mo.state == S_PLAY_DASH then
		player.powers[pw_strong] =  STR_ANIM|STR_PUNCH
		end
	end
end)

addHook("PlayerThink", do
	for player in players.iterate
		if player.mo.valid
		and(player.mo.skin == "bob") and (player.cmd.buttons & BT_CUSTOM2) ~= 0 and (player.cmd.buttons & BT_TOSSFLAG) ~= 0 and player.playerstate == PST_LIVE then
		P_KillMobj(player.mo)
		P_SpawnMobjFromMobj(player.mo, 1 * FRACUNIT, 1 * FRACUNIT, 1 * FRACUNIT, MT_CYBRAKDEMON_VILE_EXPLOSION) 
		S_StartSound(player.mo, sfx_bbom)
		S_StartSound(player.mo, sfx_beem)
		end
	end
end)

addHook("PlayerThink", do
	for player in players.iterate
	if player.firescream and player.firescream >= 2 then
	player.firescream = player.firescream - 1
	P_SpawnMobjFromMobj(player.mo, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(4, 32) * FRACUNIT, MT_FLAMEPARTICLE)
	P_SpawnMobjFromMobj(player.mo, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(4, 32) * FRACUNIT, MT_FLAMEPARTICLE)
	P_SpawnMobjFromMobj(player.mo, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(4, 32) * FRACUNIT, MT_FLAMEPARTICLE)
	P_SpawnMobjFromMobj(player.mo, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(-12, 6) * FRACUNIT, P_RandomRange(4, 32) * FRACUNIT, MT_FLAMEPARTICLE)
	elseif player.firescream and player.firescream == 1 then
	player.firescream = player.firescream - 1
	S_StartSound(player.mo, sfx_bfire)
	end
	end
end)

addHook("PlayerThink", do
	for player in players.iterate
	if player.elecscream and player.elecscream >= 2 then
	player.elecscream = player.elecscream - 1
	elseif player.elecscream and player.elecscream == 1 then
	player.elecscream = player.elecscream - 1
	S_StartSound(player.mo, sfx_belec)
	end
	end
end)

addHook("ShouldDamage", function(t, i, s, d, dt)
	for player in players.iterate
	player.firescream = player.firescream or 0
	player.elecscream = player.elecscream or 0
	if dt == DMG_FIRE and t.player and player.firescream == 0 and (player.mo.skin == "bob") and player.mo.state == S_PLAY_PAIN then
	player.firescream = P_RandomRange(2, 4) * TICRATE
	elseif dt == DMG_ELECTRIC and t.player and player.elecscream == 0 and (player.mo.skin == "bob") and player.mo.state == S_PLAY_PAIN then
	player.elecscream = P_RandomRange(2, 4) * TICRATE
	end
    end
end)