TP system broke

Hey, my tp system used to work but it just suddenly broke, I’m not sure what broke it so I don’t know how to fix it :frowning:

Does anyone have any idea? Here is the code.

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local ServerStorage = game:GetService("ServerStorage")

local Modules = ServerScriptService:WaitForChild("Modules")

local Remotes = ReplicatedStorage:WaitForChild("Remotes")
local TeleportRemote = Remotes.RequestTeleport
local Utils = require(Modules:WaitForChild("Utils"))
local CharacterAbilities = require(Modules:WaitForChild("CharacterAbilities"))

TeleportRemote.OnServerEvent:Connect(function(plr, mouse)
	local Data = Utils.GetData(plr)
	if not Data then return plr:Kick(Utils.Error("No data.")) end
	local PlayerChar = Data.Character.Value
	if PlayerChar ~= "None" then
		local plrchar = plr.Character
		local Head = plrchar.Head
		local TPRange = CharacterAbilities[PlayerChar].TPRange
		local Magnitude = (Head.Position - mouse).Magnitude
		local HumanoidRootPart = plrchar.HumanoidRootPart
		local Mana = Data.Mana
		local TPManaCost = CharacterAbilities[PlayerChar].TPManaCost
		if Data.lockedOnto.Value ~= "None" then
			local playerlocked = Data.lockedOnto.Value
			local Players = game:GetService("Players")
			local playertar = Players:FindFirstChild(playerlocked)
			local targetchar = playertar.Character
			local targethead = targetchar.Head
			local Magnitude2 = (Head.Position - targethead.Position).Magnitude
			if TPRange > Magnitude2 then
				if Data.Mana.Value > TPManaCost then
				local OFFSET = 4
					targetchar:WaitForChild("HumanoidRootPart").CFrame = plrchar:WaitForChild("HumanoidRootPart").CFrame * CFrame.new(0, 0, -OFFSET)
					local oldmanaval = Data.Mana.Value
					local resultmana = oldmanaval - TPManaCost
					Data.Mana.Value = resultmana
				else
				end
			end
		elseif TPRange > Magnitude then
			if Data.Mana.Value > TPManaCost then
				HumanoidRootPart.Position = mouse
				local oldmanaval = Data.Mana.Value
				local resultmana = oldmanaval - TPManaCost
				Data.Mana.Value = resultmana
			else
			end
		elseif Magnitude > 0 then
			if Data.Mana.Value > TPManaCost then
				HumanoidRootPart.Position = (mouse - Head.Position).Unit * TPRange + Head.Position
				local oldmanaval = Data.Mana.Value
				local resultmana = oldmanaval - TPManaCost
				Data.Mana.Value = resultmana
		end
	end

end)```