-- FUNCTIONS --

return function(Action, Variable2, Variable3, Variable4)
	if Action == "Drop" then
		local Dropper = Variable2
		local dropID = Variable3
		local dropValue = Variable4
		local dropPart = Dropper:FindFirstChild("Drop")
		if not dropPart then return end
		
		local currentValue = dropValue
		
		local drop = Ore:Clone()
		drop.Name = Variable3
		drop.Position = dropPart.Attachment.WorldPosition
		drop.Anchored = false
		drop.Parent = workspace.Debris
		game.Debris:AddItem(drop, 10)
		
		local billboardGui = PriceUI:Clone()
		billboardGui.TextLabel.Text = tostring(numShorten(currentValue))
		billboardGui.Parent = drop
		
		drop.Touched:Connect(function(Hit)
			if Hit.Name == "Sell" then
				drop:Destroy()
				print(dropID, " had been sold! - CLIENT")
			elseif Hit.Name == "Upgrade" then
				if not drop:FindFirstChild(Hit.Parent.Name) then
					local upgradeValue = Instance.new("BoolValue")
					upgradeValue.Name = Hit.Parent.Name
					upgradeValue.Parent = drop
					
					Replicate:FireServer("Upgrade", drop.Name, Hit.Parent)
					currentValue = currentValue * Hit.Parent.Data.Upgrade.Value
					billboardGui.TextLabel.Text = tostring(numShorten(currentValue))
				end
			end
		end)
	end
end
