
addHook("PlayerThink", function(player)
	if (player.mo and player.mo.valid and player.mo.skin == "m.jimmyharold") then
		if player.mo.state == S_PLAY_FACEPLANT and player.hasfajimp == false then
			S_StartSound(player.mo, sfx_roboof)
			player.hasfajimp = true
		elseif player.mo.state == S_PLAY_FACEPLANT and player.hasfajimp == true then
			player.hasfajimp = true
		else
			player.hasfajimp = false
		end
	end
end)

addHook("PlayerThink", function(player)
	if (player.mo and player.mo.valid and player.mo.skin == "m.jimmyharold") then
		if player.mo.state == S_PLAY_DRWN and (player.mo.eflags & MFE_UNDERWATER) then
			P_SetObjectMomZ(player.mo, (1*FRACUNIT), false)
		end
	end
end)


addHook("BossDeath", function(mo)
	if mo and mo.valid and leveltime < 40*TICRATE then
		S_StartSound(mo, sfx_pooped)
	end
end)


addHook("PlayerThink", function(player)
	if (player.mo and player.mo.valid and player.mo.skin == "m.jimmyharold") then
		if player.mo.state == S_PLAY_JIMOUCH then
			player.pflags = $ |PF_FULLSTASIS
		end
	end
end)

addHook("ShouldDamage", function(t, i, s, d, dt)
	if dt == DMG_DEATHPIT and t.player then
        P_KillMobj(t)
		if gamemap == 41 then
			t.player.jimded = 1
		else
			t.player.jimded = 2
		end
		return false
	end
end)

addHook("ShouldDamage", function(t, i, s, d, dt)
	if dt == DMG_CRUSHED and t.player then
        P_KillMobj(t)
		t.player.jimded = 2
		S_StartSound(t, sfx_roboof)
		return false
	end
end)

addHook("PlayerThink", function(player)
	if (player.mo and player.mo.valid and player.mo.skin == "m.jimmyharold") then
		if player.jimded == 1 then
			P_SetObjectMomZ(player.mo, 0 - 32*FRACUNIT)
			player.mo.state = S_PLAY_DEAD
			P_RemoveShield(player)
		elseif player.jimded == 2 then
			P_SetObjectMomZ(player.mo, 1*FRACUNIT/2, false)
			player.mo.state = S_PLAY_JIMOUCH
			P_RemoveShield(player)
		elseif player.mo.state == S_PLAY_M64BURN then
			P_SpawnSpinMobj(player, MT_SMOKE)
		end
	end
end)

addHook("ShouldDamage", function(t, i, s, d, dt)
	if dt == DMG_ELECTRIC and t.player and t.skin == "m.jimmyharold" then
		if t.player.valid then
			P_DamageMobj(t)
			t.state = S_PLAY_ELECTRO
			P_SetObjectMomZ(t, 1*FRACUNIT, false)
		end
		return false
	end
end)

addHook("ShouldDamage", function(t, i, s, d, dt)
	if dt == DMG_FIRE and t.player and t.skin == "m.jimmyharold" then
		if t.player.valid then
			P_DamageMobj(t)
			if P_IsObjectOnGround(t) then
				P_SetObjectMomZ(t, 25*FRACUNIT, false)
			end
			t.player.smakuse = false
			t.state = S_PLAY_M64BURN
		end
		return false
	end
end)

--[[addHook("PlayerThink", function(player)
    if (player.mo and player.mo.valid and player.powers[pw_underwater] == 0 and player.mo.skin == "m.jimmyharold") then
		if gamemap >= 33 then
			player.mo.colorized = true
			player.mo.color = SKINCOLOR_SILVER
			player.mo.frame = $ | TR_TRANS50
		else
			player.mo.colorized = false
			player.mo.color = player.skincolor
			player.mo.frame = $ | TR_TRANS0
        end
    end
end)]]