//local spn

local function Spin(p)
if p.mo.skin == "knuckles" and p.playerstate == PST_LIVE then
if p.pflags & PF_SPINDOWN then
if p.spintic == 1 then
if (p.mo.eflags & MFE_UNDERWATER) then
p.pflags = $ | PF_JUMPED
p.mo.state = S_PLAY_SWIM
if (p.cmd.buttons & BT_CUSTOM1) and p.control then
p.mo.momz = p.mo.momz - FRACUNIT/2*P_MobjFlip(p.mo)
else
p.mo.momz = p.mo.momz - 2*FRACUNIT*P_MobjFlip(p.mo)
end
else if (p.pflags & PF_JUMPED) and p.spintic == 1 and p.climbing == 0 and p.pflags & PF_JUMPDOWN
p.pflags = $ & ~PF_JUMPED
if p.powers[pw_super] then
P_SetObjectMomZ(p.mo,30*FRACUNIT)
else
P_SetObjectMomZ(p.mo,15*FRACUNIT)
end
p.mo.state = S_PLAY_SPRING
p.pflags = $ | PF_THOKKED
end
p.pflags = $ | PF_THOKKED
end
//spn = 0
else
//spn = 1
end
end
end
end
addHook("PlayerThink", Spin)