local function SoapJump(player)
	if player.mo.skin ~= "legacysonki" 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)
