-- LocalScript ClientCombatSupport (via decompile) local Players_1 = game:GetService("Players") local CollectionService_upv_1 = game:GetService("CollectionService") local ReplicatedStorage_upv_1 = game:GetService("ReplicatedStorage") local RunService_1 = game:GetService("RunService") local TweenService_upv_1 = game:GetService("TweenService") local LocalPlayer_upv_1 = Players_1.LocalPlayer local PlayerGui_upv_1 = LocalPlayer_upv_1:WaitForChild("PlayerGui") local GameEvents_1 = ReplicatedStorage_upv_1:WaitForChild("GameEvents") local TacticalStick_upv_1 = GameEvents_1:WaitForChild("TacticalStick") local VerifiedDamageFeedback_1 = GameEvents_1:WaitForChild("VerifiedDamageFeedback") local Config_upv_1 = require(ReplicatedStorage_upv_1:WaitForChild("Config")) local Throwable_upv_1 = require(ReplicatedStorage_upv_1.Components.Throwable) local WeaponSlotResolver_upv_1 = require(ReplicatedStorage_upv_1.Modules.WeaponSlotResolver) local ClientWeaponSystem_upv_1 = script.Parent:WaitForChild("ClientWeaponSystem") local u1 = Color3.new(1, 1, 1) local tbl_upv_1 = {} local tbl_upv_2 = {} local tbl_upv_3 = {} local u2 = 1 local u3 = LocalPlayer_upv_1.Character or (LocalPlayer_upv_1.CharacterAdded:Wait()) local v1 = Config_upv_1.CreateRandomSerialID() .. "VerifiedDamageFeedback" local u4 = workspace:FindFirstChild(v1) if not (u4) then u4 = Instance.new("Folder") u4.Name = v1 u4.Parent = workspace end local v2 = Config_upv_1.CreateRandomSerialID() .. "StickyPrediction" local u5 = workspace:FindFirstChild(v2) if not (u5) then u5 = Instance.new("Folder") u5.Name = v2 u5.Parent = workspace end local u6 = Instance.new("Folder") u6.Name = "ThrowableTrajectory" local tbl_upv_4 = {} local u7 = 0 local u8 = nil local function getCurrentCharacter() --[[ name: getCurrentCharacter line: 49 upvalues: u3 (ref, index: 1) ]] return u3 end local function getRuntimeStateFolder() --[[ name: getRuntimeStateFolder line: 53 upvalues: u3 (ref, index: 1) WeaponSlotResolver_upv_1 (copy, index: 2) ]] local v3 = u3 local v4 = (v3 and (WeaponSlotResolver_upv_1.GetStateFolder(v3))) or nil return v4 end local function getThrowablePreviewState() --[[ name: getThrowablePreviewState line: 58 upvalues: u3 (ref, index: 1) WeaponSlotResolver_upv_1 (copy, index: 2) ClientWeaponSystem_upv_1 (copy, index: 3) ]] local v5 = u3 local v6 = (v5 and (WeaponSlotResolver_upv_1.GetStateFolder(v5))) or nil local v7 = v6 local _ = v7 and (v6:GetAttribute("ThrowablePreviewActive")) local v8 = v6 and (v6:GetAttribute("ThrowablePreviewToolName")) if typeof(v7) ~= "boolean" then v7 = ClientWeaponSystem_upv_1:GetAttribute("ThrowablePreviewActive") == true end if typeof(v6) == "string" then v8 = v6 else v8 = ClientWeaponSystem_upv_1:GetAttribute("ThrowablePreviewToolName") or "" end return v7 == true, v8 end local function ensureThrowableTrajectoryFolder() --[[ name: ensureThrowableTrajectoryFolder line: 73 upvalues: u6 (copy, index: 1) ]] local CurrentCamera_1 = workspace.CurrentCamera if not CurrentCamera_1 or u6.Parent == CurrentCamera_1 then return end u6.Parent = CurrentCamera_1 end local function hideThrowableTrajectoryEndMarker() --[[ name: hideThrowableTrajectoryEndMarker line: 80 upvalues: u8 (ref, index: 1) ]] if not u8 then return end u8.Transparency = 1 end local function ensureThrowableTrajectoryEndMarker() --[[ name: ensureThrowableTrajectoryEndMarker line: 86 upvalues: u6 (copy, index: 1) u8 (ref, index: 2) u1 (copy, index: 3) ]] local CurrentCamera_2 = workspace.CurrentCamera if CurrentCamera_2 and u6.Parent ~= CurrentCamera_2 then u6.Parent = CurrentCamera_2 end if u8 and u8.Parent then return u8 end local v9 = Instance.new("Part") v9.Name = "TrajectoryEndMarker" v9.Shape = Enum.PartType.Ball v9.Anchored = true v9.CanCollide = false v9.CanQuery = false v9.CanTouch = false v9.CastShadow = false v9.Material = Enum.Material.ForceField v9.Color = u1 v9.Size = Vector3.new(0.800000011920929, 0.800000011920929, 0.800000011920929) v9.Transparency = 1 v9.Parent = u6 u8 = v9 return v9 end local function setThrowableTrajectoryEndMarker(a1) --[[ name: setThrowableTrajectoryEndMarker line: 111 upvalues: ensureThrowableTrajectoryEndMarker (copy, index: 1) ]] local v10 = ensureThrowableTrajectoryEndMarker() if not v10 then return end v10.Position = a1 v10.Transparency = 0.2 end local function hideThrowableTrajectory() --[[ name: hideThrowableTrajectory line: 121 upvalues: u7 (ref, index: 1) tbl_upv_4 (copy, index: 2) u8 (ref, index: 3) ]] for n_1 = 1, u7 do local v11 = tbl_upv_4[n_1] if not (v11) then continue end local Beam_1 = v11:FindFirstChild("Beam") if Beam_1 then v11.Beam.Enabled = false end end if u8 then u8.Transparency = 1 end u7 = 0 end local function getThrowableTrajectorySegment(a1) --[[ name: getThrowableTrajectorySegment line: 133 upvalues: u6 (copy, index: 1) tbl_upv_4 (copy, index: 2) ReplicatedStorage_upv_1 (copy, index: 3) ]] local CurrentCamera_3 = workspace.CurrentCamera if CurrentCamera_3 and u6.Parent ~= CurrentCamera_3 then u6.Parent = CurrentCamera_3 end local v12 = tbl_upv_4[a1] if v12 and v12.Parent then return v12 end local TrajectorySegment_1 = ReplicatedStorage_upv_1.Components.Throwable:FindFirstChild("TrajectorySegment") if TrajectorySegment_1 and TrajectorySegment_1:IsA("BasePart") then local v13 = TrajectorySegment_1:Clone() v13.Name = ("TrajectorySegment_%*"):format(a1) v13.Transparency = 1 v13.CanCollide = false v13.CanQuery = false v13.CanTouch = false v13.Anchored = true v13.Parent = u6 local Beam_2 = v13:FindFirstChild("Beam") if Beam_2 then Beam_2.Enabled = false Beam_2.Transparency = NumberSequence.new(0) end tbl_upv_4[a1] = v13 return v13 end return nil end local function resolveThrowablePreviewModel() --[[ name: resolveThrowablePreviewModel line: 188 upvalues: getThrowablePreviewState (copy, index: 1) ]] local _, v14 = getThrowablePreviewState() if typeof(v14) ~= "string" or v14 == "" then return nil end local CurrentCamera_4 = workspace.CurrentCamera if not CurrentCamera_4 then return nil end local CameraModel_1 = CurrentCamera_4:FindFirstChild("CameraModel") if not CameraModel_1 or not CameraModel_1:IsA("Model") then return nil end local v15 = CameraModel_1:FindFirstChild(v14) if v15 and v15:IsA("Model") then return v15 end local Tool_1 = CameraModel_1:FindFirstChild("Tool") if Tool_1 then for v16, value_1 in ipairs(Tool_1:GetDescendants()) do if not (value_1:IsA("Model")) or value_1.Name ~= v14 then continue end return value_1 end end return nil end local function setThrowableTrajectorySegment(a1, a2, a3) --[[ name: setThrowableTrajectorySegment line: 165 upvalues: getThrowableTrajectorySegment (copy, index: 1) ]] local v16 = getThrowableTrajectorySegment(a1) if not v16 then return end local Attachment0_1 = v16:FindFirstChild("Attachment0") local Attachment1_1 = v16:FindFirstChild("Attachment1") local Beam_3 = v16:FindFirstChild("Beam") if not Attachment0_1 then return end if Attachment1_1 and Beam_3 then v16.CFrame = CFrame.new(a2) Attachment0_1.Position = Vector3.new(0, 0, 0) Attachment1_1.Position = a3 - a2 Beam_3.Transparency = a1 == 1 and NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 0)}) or NumberSequence.new(0) Beam_3.Enabled = true end end local function updateThrowableTrajectory() --[[ name: updateThrowableTrajectory line: 219 upvalues: getThrowablePreviewState (copy, index: 1) hideThrowableTrajectory (copy, index: 2) u3 (ref, index: 3) PlayerGui_upv_1 (copy, index: 4) resolveThrowablePreviewModel (copy, index: 5) Throwable_upv_1 (copy, index: 6) setThrowableTrajectorySegment (copy, index: 7) u7 (ref, index: 8) tbl_upv_4 (copy, index: 9) ensureThrowableTrajectoryEndMarker (copy, index: 10) u8 (ref, index: 11) ]] if select(1, getThrowablePreviewState()) == true then local v18 = u3 local CurrentCamera_5 = workspace.CurrentCamera local Crosshair_1 = PlayerGui_upv_1:FindFirstChild("Crosshair") local v19 = resolveThrowablePreviewModel() if v18 and CurrentCamera_5 and Crosshair_1 and v19 then local tbl_5 = {v18, CurrentCamera_5, v19} local CameraModel_2 = CurrentCamera_5:FindFirstChild("CameraModel") if CameraModel_2 then table.insert(tbl_5, CameraModel_2) end local v20 = Throwable_upv_1.BuildClientThrowData(u3, CurrentCamera_5, Crosshair_1, v19, tbl_5) if v20 and v20.Points then if #v20.Points < 2 then hideThrowableTrajectory() else for n_2 = 1, #v20.Points - 1 do setThrowableTrajectorySegment(n_2, v20.Points[n_2], v20.Points[n_2 + 1]) end for n_3 = #v20.Points, u7 do local v21 = tbl_upv_4[n_3] if not (v21) then continue end local Beam_4 = v21:FindFirstChild("Beam") if Beam_4 then v21.Beam.Enabled = false end end local v22 = ((v20.HitResult) and (v20.HitResult.Position)) or (v20.Points[#v20.Points]) local v23 = nil if typeof(v22) == "Vector3" then v23 = ensureThrowableTrajectoryEndMarker() if v23 then v23.Position = v22 v23.Transparency = 0.2 end elseif u8 then u8.Transparency = 1 end u7 = #v20.Points - 1 end else hideThrowableTrajectory() end else hideThrowableTrajectory() end else hideThrowableTrajectory() end end local function acquireVerifiedDamageHighlight(a1) --[[ name: acquireVerifiedDamageHighlight line: 288 upvalues: tbl_upv_3 (copy, index: 1) u4 (ref, index: 2) Config_upv_1 (copy, index: 3) tbl_upv_2 (copy, index: 4) u2 (ref, index: 5) ]] local v24 = tbl_upv_3[a1] if v24 and v24.Highlight and v24.Highlight.Parent == u4 then return v24 end local v25 = Config_upv_1.FakeBloodHighlightPoolSize or 12 local v26, v27 = nil, nil if #tbl_upv_2 < v25 then local v28 = Instance.new("Highlight") v28.Name = "VerifiedDamageHighlight" v28.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop v28.OutlineTransparency = 1 v28.Parent = u4 v27 = {Token = 0, Highlight = v28} table.insert(tbl_upv_2, v27) else v26 = tbl_upv_2[u2] u2 = (u2 % v25) + 1 if v26.ColorTween then v26.ColorTween:Cancel() end if v26.FadeTween then v26.FadeTween:Cancel() end if v26.OutlineTween then v26.OutlineTween:Cancel() end if v26.Adornee then tbl_upv_3[v26.Adornee] = nil end v27 = v26 end v27.Adornee = a1 tbl_upv_3[a1] = v27 return v27 end local function resolveVerifiedDamageAdornee(a1) --[[ name: resolveVerifiedDamageAdornee line: 268 ]] if typeof(a1) ~= "Instance" then return nil end if a1:IsA("Model") then return a1 end if not a1:IsA("BasePart") then return nil end local v29 = a1:FindFirstAncestorOfClass("Model") if v29 and v29:FindFirstChildOfClass("Humanoid") then return v29 end return a1 end local function playVerifiedDamageFeedback(a1, a2) --[[ name: playVerifiedDamageFeedback line: 333 upvalues: resolveVerifiedDamageAdornee (copy, index: 1) Config_upv_1 (copy, index: 2) CollectionService_upv_1 (copy, index: 3) acquireVerifiedDamageHighlight (copy, index: 4) u1 (copy, index: 5) TweenService_upv_1 (copy, index: 6) u4 (ref, index: 7) ]] local v30 = resolveVerifiedDamageAdornee(a1) if a2 ~= true then local v31 = nil if Config_upv_1.DamageFeedbackMode ~= "FakeBlood" then v31 = ((v30 and (v30:IsA("Model"))) and v30) or nil if v31 and CollectionService_upv_1:HasTag(v31, "Proximity Alarm") then if not v30 then return end local u9 = acquireVerifiedDamageHighlight(v30) local Highlight_upv_1 = u9.Highlight u9.Token = u9.Token + 1 local Token_upv_1 = u9.Token if u9.ColorTween then u9.ColorTween:Cancel() end if u9.FadeTween then u9.FadeTween:Cancel() end if u9.OutlineTween then u9.OutlineTween:Cancel() end local v32 = Config_upv_1.FakeBloodHighlightFlashTime or 0.18 local v33 = Config_upv_1.FakeBloodHighlightFadeTime or 0.32 local v34 = Config_upv_1.FakeBloodHighlightColor or (Color3.fromRGB(255, 60, 60)) Highlight_upv_1.Adornee = v30 Highlight_upv_1.Enabled = true Highlight_upv_1.FillColor = u1 Highlight_upv_1.FillTransparency = Config_upv_1.FakeBloodHighlightStartTransparency or 0.2 Highlight_upv_1.OutlineTransparency = Config_upv_1.FakeBloodHighlightOutlineStartTransparency or 0.5 Highlight_upv_1.OutlineColor = v34 u9.ColorTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v32, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {FillColor = v34}) local tbl_6 = {FillTransparency = 1} u9.FadeTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v33, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), tbl_6) u9.OutlineTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v33, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {OutlineTransparency = Config_upv_1.FakeBloodHighlightOutlineEndTransparency or 1}) u9.ColorTween:Play() u9.ColorTween.Completed:Once( function() --[[ line: 384 upvalues: u9 (copy, index: 1) Highlight_upv_1 (copy, index: 2) Token_upv_1 (copy, index: 3) u4 (ref, index: 4) ]] if u9.Highlight ~= Highlight_upv_1 or u9.Token ~= Token_upv_1 or Highlight_upv_1.Parent ~= u4 then return end u9.FadeTween:Play() u9.OutlineTween:Play() end ) task.delay( v32 + v33, function() --[[ line: 392 upvalues: u9 (copy, index: 1) Highlight_upv_1 (copy, index: 2) Token_upv_1 (copy, index: 3) u4 (ref, index: 4) ]] if u9.Highlight ~= Highlight_upv_1 or u9.Token ~= Token_upv_1 or Highlight_upv_1.Parent ~= u4 then return end Highlight_upv_1.Enabled = false end ) return end return end end if not v30 then return end local u9 = acquireVerifiedDamageHighlight(v30) local Highlight_upv_1 = u9.Highlight u9.Token = u9.Token + 1 local Token_upv_1 = u9.Token if u9.ColorTween then u9.ColorTween:Cancel() end if u9.FadeTween then u9.FadeTween:Cancel() end if u9.OutlineTween then u9.OutlineTween:Cancel() end local v32 = Config_upv_1.FakeBloodHighlightFlashTime or 0.18 local v33 = Config_upv_1.FakeBloodHighlightFadeTime or 0.32 local v34 = Config_upv_1.FakeBloodHighlightColor or (Color3.fromRGB(255, 60, 60)) Highlight_upv_1.Adornee = v30 Highlight_upv_1.Enabled = true Highlight_upv_1.FillColor = u1 Highlight_upv_1.FillTransparency = Config_upv_1.FakeBloodHighlightStartTransparency or 0.2 Highlight_upv_1.OutlineTransparency = Config_upv_1.FakeBloodHighlightOutlineStartTransparency or 0.5 Highlight_upv_1.OutlineColor = v34 u9.ColorTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v32, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {FillColor = v34}) local tbl_6 = {FillTransparency = 1} u9.FadeTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v33, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), tbl_6) u9.OutlineTween = TweenService_upv_1:Create(Highlight_upv_1, TweenInfo.new(v33, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {OutlineTransparency = Config_upv_1.FakeBloodHighlightOutlineEndTransparency or 1}) u9.ColorTween:Play() u9.ColorTween.Completed:Once( function() --[[ line: 384 upvalues: u9 (copy, index: 1) Highlight_upv_1 (copy, index: 2) Token_upv_1 (copy, index: 3) u4 (ref, index: 4) ]] if u9.Highlight ~= Highlight_upv_1 or u9.Token ~= Token_upv_1 or Highlight_upv_1.Parent ~= u4 then return end u9.FadeTween:Play() u9.OutlineTween:Play() end ) task.delay( v32 + v33, function() --[[ line: 392 upvalues: u9 (copy, index: 1) Highlight_upv_1 (copy, index: 2) Token_upv_1 (copy, index: 3) u4 (ref, index: 4) ]] if u9.Highlight ~= Highlight_upv_1 or u9.Token ~= Token_upv_1 or Highlight_upv_1.Parent ~= u4 then return end Highlight_upv_1.Enabled = false end ) end local function setStickyModelVisibility(a1, a2) --[[ name: setStickyModelVisibility line: 399 ]] for _, value_2 in ipairs(a1:GetDescendants()) do if value_2:IsA("BasePart") then value_2.LocalTransparencyModifier = (a2 and 0) or 1 end end end local function destroyStickyPrediction(a1) --[[ name: destroyStickyPrediction line: 407 ]] if a1.ProxyModel and a1.ProxyModel.Parent then a1.ProxyModel:Destroy() end a1.ProxyModel = nil a1.ProxyExpiresAt = nil if not a1.SourceModel or not a1.SourceModel.Parent then return end for _, value_3 in ipairs(a1.SourceModel:GetDescendants()) do if value_3:IsA("BasePart") then value_3.LocalTransparencyModifier = 0 end end end local function createStickyPredictionProxy(a1, a2, a3) --[[ name: createStickyPredictionProxy line: 419 upvalues: Throwable_upv_1 (copy, index: 1) u5 (ref, index: 2) ]] if a2.ProxyModel and a2.ProxyModel.Parent then a2.ProxyModel:Destroy() end a2.ProxyModel = nil a2.ProxyExpiresAt = nil if a2.SourceModel and a2.SourceModel.Parent then for _, value_4 in ipairs(a2.SourceModel:GetDescendants()) do if value_4:IsA("BasePart") then value_4.LocalTransparencyModifier = 0 end end end local v35 = a1:Clone() v35.Name = a1.Name .. "_StickyPrediction" for _, value_5 in ipairs(v35:GetDescendants()) do if value_5:IsA("BasePart") then value_5.Anchored = true value_5.CanCollide = false value_5.CanQuery = false value_5.CanTouch = false value_5.CastShadow = false value_5.Massless = true value_5.AssemblyLinearVelocity = Vector3.new(0, 0, 0) value_5.AssemblyAngularVelocity = Vector3.new(0, 0, 0) continue end if value_5:IsA("BaseScript") then value_5:Destroy() continue end if not (value_5:IsA("WeldConstraint")) or value_5.Name ~= "StickyImpactWeld" then if not (value_5:IsA("BodyForce")) then continue end if value_5.Name == "ThrowableGravityAssist" then value_5:Destroy() continue end end value_5:Destroy() end v35.PrimaryPart = v35.PrimaryPart or Throwable_upv_1.GetThrowableCorePart(v35) if v35.PrimaryPart then local v37 = a3.Position + a3.Normal * Throwable_upv_1.GetStickySurfaceOffset(a1) v35:PivotTo(CFrame.lookAt(v37, v37 + a3.Normal)) end v35.Parent = u5 a2.ProxyModel = v35 a2.ProxyExpiresAt = os.clock() + 0.75 a2.SourceModel = a1 for _, value_6 in ipairs(a1:GetDescendants()) do if value_6:IsA("BasePart") then value_6.LocalTransparencyModifier = 1 end end end local function clearStickyThrowableTrackers() --[[ name: clearStickyThrowableTrackers line: 457 upvalues: tbl_upv_1 (copy, index: 1) ]] for key_1, value_7 in pairs(tbl_upv_1) do if value_7.ProxyModel and value_7.ProxyModel.Parent then value_7.ProxyModel:Destroy() end value_7.ProxyModel = nil value_7.ProxyExpiresAt = nil if not (value_7.SourceModel) or not (value_7.SourceModel.Parent) then tbl_upv_1[key_1] = nil continue end for _, value_8 in ipairs(value_7.SourceModel:GetDescendants()) do if value_8:IsA("BasePart") then value_8.LocalTransparencyModifier = 0 end end tbl_upv_1[key_1] = nil end end local function updateStickyThrowableTrackers() --[[ name: updateStickyThrowableTrackers line: 485 upvalues: u3 (ref, index: 1) tbl_upv_1 (copy, index: 2) LocalPlayer_upv_1 (copy, index: 3) Throwable_upv_1 (copy, index: 4) createStickyPredictionProxy (copy, index: 5) TacticalStick_upv_1 (copy, index: 6) ]] for key_2, value_9 in pairs(tbl_upv_1) do if key_2 and key_2.Parent and key_2:GetAttribute("Owner") == LocalPlayer_upv_1.Name then if key_2:GetAttribute("StickResolved") == true then if value_9.ProxyModel and value_9.ProxyModel.Parent then value_9.ProxyModel:Destroy() end value_9.ProxyModel = nil value_9.ProxyExpiresAt = nil if not (value_9.SourceModel) or not (value_9.SourceModel.Parent) then tbl_upv_1[key_2] = nil continue end for _, value_10 in ipairs(value_9.SourceModel:GetDescendants()) do if value_10:IsA("BasePart") then value_10.LocalTransparencyModifier = 0 end end tbl_upv_1[key_2] = nil elseif value_9.Predicted ~= true then local v38 = Throwable_upv_1.GetStickyImpactResult(key_2, u3) if not (v38) then continue end local v39 = key_2:GetAttribute("ThrowSerial") if typeof(v39) ~= "string" then continue end if v39 ~= "" then value_9.Predicted = true createStickyPredictionProxy(key_2, value_9, v38) TacticalStick_upv_1:FireServer(key_2, v39, v38.Position, v38.Normal) end else if not (value_9.ProxyExpiresAt) or not (value_9.ProxyExpiresAt <= os.clock()) then continue end if value_9.ProxyModel and value_9.ProxyModel.Parent then value_9.ProxyModel:Destroy() end value_9.ProxyModel = nil value_9.ProxyExpiresAt = nil if not (value_9.SourceModel) or not (value_9.SourceModel.Parent) then value_9.Predicted = false continue end for _, value_11 in ipairs(value_9.SourceModel:GetDescendants()) do if value_11:IsA("BasePart") then value_11.LocalTransparencyModifier = 0 end end value_9.Predicted = false end else if value_9.ProxyModel and value_9.ProxyModel.Parent then value_9.ProxyModel:Destroy() end value_9.ProxyModel = nil value_9.ProxyExpiresAt = nil if not (value_9.SourceModel) or not (value_9.SourceModel.Parent) then tbl_upv_1[key_2] = nil continue end for _, value_12 in ipairs(value_9.SourceModel:GetDescendants()) do if value_12:IsA("BasePart") then value_12.LocalTransparencyModifier = 0 end end tbl_upv_1[key_2] = nil end end end local function trackStickyThrowable(a1) --[[ name: trackStickyThrowable line: 464 upvalues: Throwable_upv_1 (copy, index: 1) LocalPlayer_upv_1 (copy, index: 2) tbl_upv_1 (copy, index: 3) ]] if not a1 then return end if a1:IsA("Model") and Throwable_upv_1.IsStickyThrowable(a1) == true and a1:GetAttribute("Owner") == LocalPlayer_upv_1.Name then local v40 = tbl_upv_1[a1] if not (v40) then local tbl_7 = {Predicted = false} tbl_7.SourceModel = a1 v40 = tbl_7 end tbl_upv_1[a1] = v40 end end VerifiedDamageFeedback_1.OnClientEvent:Connect( function(a1, a2) --[[ line: 531 upvalues: playVerifiedDamageFeedback (copy, index: 1) ]] playVerifiedDamageFeedback(a1, a2) end ) local function bindStickyThrowableTracking() --[[ name: bindStickyThrowableTracking line: 520 upvalues: trackStickyThrowable (copy, index: 1) ]] local Map_1 = workspace:WaitForChild("Map") for _, value_13 in ipairs(Map_1:GetChildren()) do trackStickyThrowable(value_13) end Map_1.ChildAdded:Connect( function(a1) --[[ line: 526 upvalues: trackStickyThrowable (copy, index: 1) ]] trackStickyThrowable(a1) end ) end bindStickyThrowableTracking() RunService_1.Heartbeat:Connect( function() --[[ line: 537 upvalues: updateStickyThrowableTrackers (copy, index: 1) ]] updateStickyThrowableTrackers() end ) RunService_1.PreRender:Connect( function() --[[ line: 541 upvalues: updateThrowableTrajectory (copy, index: 1) ]] updateThrowableTrajectory() end ) ClientWeaponSystem_upv_1:GetAttributeChangedSignal("ThrowablePreviewActive"):Connect( function() --[[ line: 545 upvalues: getThrowablePreviewState (copy, index: 1) hideThrowableTrajectory (copy, index: 2) ]] if select(1, getThrowablePreviewState()) == true then return end hideThrowableTrajectory() end ) local v41 = u3 local v42 = (v41 and (WeaponSlotResolver_upv_1.GetStateFolder(v41))) or nil if v42 then v42:GetAttributeChangedSignal("ThrowablePreviewActive"):Connect( function() --[[ line: 553 upvalues: getThrowablePreviewState (copy, index: 1) hideThrowableTrajectory (copy, index: 2) ]] if select(1, getThrowablePreviewState()) == true then return end hideThrowableTrajectory() end ) end LocalPlayer_upv_1.CharacterAdded:Connect( function(a1) --[[ line: 560 upvalues: u3 (ref, index: 1) hideThrowableTrajectory (copy, index: 2) tbl_upv_1 (copy, index: 3) ]] u3 = a1 hideThrowableTrajectory() for key_3, value_14 in pairs(tbl_upv_1) do if value_14.ProxyModel and value_14.ProxyModel.Parent then value_14.ProxyModel:Destroy() end value_14.ProxyModel = nil value_14.ProxyExpiresAt = nil if not (value_14.SourceModel) or not (value_14.SourceModel.Parent) then tbl_upv_1[key_3] = nil continue end for _, value_15 in ipairs(value_14.SourceModel:GetDescendants()) do if value_15:IsA("BasePart") then value_15.LocalTransparencyModifier = 0 end end tbl_upv_1[key_3] = nil end end ) LocalPlayer_upv_1.CharacterRemoving:Connect( function(a1) --[[ line: 566 upvalues: u3 (ref, index: 1) hideThrowableTrajectory (copy, index: 2) tbl_upv_1 (copy, index: 3) ]] if u3 == a1 then u3 = nil end hideThrowableTrajectory() for key_4, value_16 in pairs(tbl_upv_1) do if value_16.ProxyModel and value_16.ProxyModel.Parent then value_16.ProxyModel:Destroy() end value_16.ProxyModel = nil value_16.ProxyExpiresAt = nil if not (value_16.SourceModel) or not (value_16.SourceModel.Parent) then tbl_upv_1[key_4] = nil continue end for _, value_17 in ipairs(value_16.SourceModel:GetDescendants()) do if value_17:IsA("BasePart") then value_17.LocalTransparencyModifier = 0 end end tbl_upv_1[key_4] = nil end end )