//death anim
addHook("ThinkFrame", do
	for player in players.iterate
	if player.mo and player.mo.valid
	if player.mo.skin == "giant"
			and not P_CheckDeathPitCollide(player.mo)
			and	player.playerstate == PST_DEAD
			and P_IsObjectOnGround(player.mo)
			player.mo.momz = 0
			player.mo.flags = $ & ~MF_NOCLIP
			player.mo.flags = $ & ~MF_NOCLIPHEIGHT
			player.mo.state = S_PLAY_MELEE
		end
		if player.mo.skin == "giant"
		and not P_IsObjectOnGround(player.mo)
		and not P_CheckDeathPitCollide(player.mo)
		and player.playerstate == PST_DEAD
		and player.mo.state == S_PLAY_STND or player.mo.state == S_PLAY_FALL
		and player.playerstate == PST_DEAD
			player.mo.state = S_PLAY_MELEE
			player.mo.momz = 0
			player.mo.flags = $ & ~MF_NOCLIP
			player.mo.flags = $ & ~MF_NOCLIPHEIGHT
			player.mo.state = S_PLAY_MELEE
		end
		if player.mo.skin == "giant"
		and player.playerstate == PST_DEAD
		and not P_IsObjectOnGround(player.mo)
		P_InstaThrust(player.mo, player.mo.angle, 6*FRACUNIT)
		end
	   end	
	end
end)

//ax
addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo and player.mo.skin == "giant"
			if not (player.mo.fire)
				player.mo.fire = 0
			end
			if not (player.powers[pw_carry] == CR_NIGHTSMODE) 
			and not (player.powers[pw_carry]) 
			and not (player.pflags & PF_STASIS) 
			and not (player.mo.tracer and player.mo.tracer.type == MT_TUBEWAYPOINT) 
		and not (player.mo.state == S_PLAY_SUPER_TRANS1)
	    and not (player.mo.state == S_PLAY_SUPER_TRANS2)
	    and not (player.mo.state == S_PLAY_SUPER_TRANS3)
	    and not (player.mo.state == S_PLAY_SUPER_TRANS4)
	    and not (player.mo.state == S_PLAY_SUPER_TRANS5)
	    and not (player.mo.state == S_PLAY_SUPER_TRANS6)
		and not (player.pflags & PF_FINISHED)
		and P_PlayerInPain(player) == false
		    and player.playerstate == PST_LIVE
			 and (player.cmd.buttons & BT_USE)
			and player.mo.fire == 0
            player.mo.fire = 1
		       local flame = P_SpawnPlayerMissile(player.mo, MT_THROW)
			end
			if not (player.cmd.buttons & BT_USE)
				player.mo.fire = 0
			end
		end
	end
end)


//invincible, but...
addHook("PlayerCanDamage", function(player, mobj)
	if player.mo and player.mo.skin == "giant" and P_IsObjectOnGround(player.mo) and not P_PlayerInPain(player)
	and (mobj.flags&MF_ENEMY or mobj.flags&MF_BOSS) return true end
end, MT_PLAYER)