//slam
addHook("PlayerThink",function(player)
if player.pizzanoreal
if player.mo.state == S_PLAY_BODYSLAMLAND then
   player.pflags = $|PF_FULLSTASIS
end
if player.mo.state == S_PLAY_BODYSLAM_INITIAL then
    P_InstaThrust(player.mo, player.mo.angle, 0*FRACUNIT)
   P_SetObjectMomZ(player.realmo, 5*FRACUNIT, false)
   player.pflags = $|PF_FULLSTASIS
end

if player.mo.state == S_PLAY_BODYSLAM_FINAL then
player.stompfalling = true
player.pflags = $|PF_FULLSTASIS
player.powers[pw_strong] = STR_HEAVY|STR_SPRING|STR_SPIKE|STR_ANIM|STR_FLOOR
 
end
if player.stompfalling
player.slamfalling = $-3
else 
player.slamfalling = 0
end
if player.stompfalling
and player.mo.state == S_PLAY_BODYSLAM_FINAL
P_InstaThrust(player.mo, player.mo.angle, 0*FRACUNIT)
P_SetObjectMomZ(player.realmo, -65*FRACUNIT + player.slamfalling*FRACUNIT, false)
end
if player.stompfalling
and player.mo.state == S_PLAY_BODYSLAM_FINAL
and player.c1timr == 1
SpawnWhiteRing(player)
P_SetObjectMomZ(player.realmo, 2*FRACUNIT, false)
P_InstaThrust(player.mo, player.mo.angle, 39*FRACUNIT)
player.pstomp = false
player.stompfalling = false
player.mo.state = S_PLAY_BODYSLAMCANCEL
end
end
end)

addHook("ThinkFrame", do
    for player in players.iterate
         if player.pizzanoreal
                if player.c2timr == 1
				and not (player.mo.eflags & MFE_GOOWATER)
				and player.playerstate == PST_LIVE
				and not P_IsObjectOnGround(player.mo) 
				and player.machxdtimerr <= 10 then
		            player.pstomp = true
					player.slamTimer = $+1
	                  else
					player.slamTimer = 0
					
					end
					if player.slamTimer == 1
					and not ((player.mo.state == S_PLAY_BODYSLAM_INITIAL) 
					or (player.mo.state == S_PLAY_STUNTT)or (player.mo.state == S_PZNO_FIREASS) or (player.mo.state == S_PZNO_FIREASS_LAND) or (player.mo.state == S_PLAY_CROUNCH_AIR) or (player.mo.state == S_PLAY_WALLCRASSH) or (player.mo.state == S_PLAY_STUN) or (player.mo.state == S_PLAY_SUPERJUMP_PREPARE) or (player.mo.state == S_PLAY_SUPERJUMP_RELEASE) or (player.mo.state == S_PLAY_DEAD) or (player.mo.state == S_PLAY_PAIN) or (player.mo.state == S_PLAY_BODYSLAM_FINAL)) then
					     player.mo.state = S_PLAY_BODYSLAM_INITIAL
					end
				end
			end
end)

addHook("ThinkFrame", function()
     for player in players.iterate do
	  if player.pizzanoreal
and player.pstomp == true
and P_IsObjectOnGround(player.mo)
and player.playerstate == PST_LIVE

player.pstomp = false
player.stompfalling = false
player.mo.state = S_PLAY_BODYSLAMLAND
P_NukeEnemies(player.mo, player.mo, 300*FRACUNIT)
S_StartSound(player.mo, sfx_slfnl)
P_StartQuake(FRACUNIT*11, TICRATE/4*2)
P_SetObjectMomZ(player.realmo, 0*FRACUNIT, false)
P_InstaThrust(player.mo, player.mo.angle, 0*FRACUNIT)
P_Thrust(player.mo, player.mo.angle, 0*FRACUNIT)
end
end
end)

addHook("ThinkFrame", function()
     for player in players.iterate do
	  if player.pizzanoreal
if player.pstomp == true
and ((player.mo.state == S_PLAY_STUN) or (player.mo.state == S_PZNO_FIREASS) or (player.mo.state == S_PZNO_FIREASS_LAND) or (player.mo.state == S_PLAY_PAIN) or (player.mo.state == S_PLAY_DEAD) or (player.mo.state == S_PLAY_WALLCRASSH) or (player.mo.state == S_PLAY_KUNGFU2) or (player.mo.state == S_PLAY_CROUNCH_AIR) or (player.mo.state == S_PLAY_KUNGFU1)) 
 
or player.pstomp == true
and player.playerstate == PST_DEAD
 
player.pstomp = false
player.stompfalling = false
player.slamfalling = 0
end
end
end
end)

addHook("ThinkFrame", function()
     for player in players.iterate do
	  if player.pizzanoreal
and player.pstomp == true
and ((player.mo.state == S_PLAY_SPRING)
or (player.mo.state == S_PLAY_JUMPINITIAL)) then

player.pstomp = false
player.slamfalling = 0
player.stompfalling = false
player.mo.state = S_PLAY_SPRING
end
end
end)

addHook("ThinkFrame", function()
     for player in players.iterate do
	 if player.pizzanoreal
and player.pstomp == true
and ((player.mo.state == S_PLAY_BODYSLAM_INITIAL) or (player.mo.state == S_PLAY_BODYSLAM_FINAL))
and (player.mo.eflags & MFE_GOOWATER)

player.pstomp = false
player.stompfalling = false
player.slamfalling = 0
player.mo.state = S_PLAY_FALL
end
end
end)