local function SoapJump(player) if player.mo.skin ~= "sonic" then return end if not (player.pflags & PF_THOKKED) then P_SetObjectMomZ(player.mo,player.speed/(7/2),false) if player.actionspd >= (player.speed * (35/20)) then P_InstaThrust(player.mo,player.mo.angle,player.actionspd - (player.speed * (35/20))) else P_InstaThrust(player.mo,player.mo.angle,0) end S_StartSound(player.mo, sfx_thok) local efact = P_SpawnMobjFromMobj(player.mo, 0, 0, 0, MT_THOK) efact.color = player.mo.color end player.pflags = $ | PF_THOKKED return true end addHook("AbilitySpecial", SoapJump)