-- ModuleScript Player (via decompile) local ReplicatedStorage_1 = game:GetService("ReplicatedStorage") local CollectionService_upv_1 = game:GetService("CollectionService") local Server_upv_1 = ReplicatedStorage_1.Server local Config_upv_1 = require(game.ReplicatedStorage.Config) local Leaderboard_upv_1 = require(ReplicatedStorage_1.Components.Leaderboard) local Challenges_upv_1 = require(ReplicatedStorage_1.Components.Challenges) local Map_Cache_upv_1 = game.Workspace:WaitForChild("Map_Cache") local tbl_1 = {} function tbl_1.AddAccessory(a1, a2) --[[ name: AddAccessory line: 12 ]] a1.Humanoid:AddAccessory(a2:Clone()) end function tbl_1.AddClothing(a1, a2) --[[ name: AddClothing line: 18 ]] end function tbl_1.SetUpCharacter(a1, a2) --[[ name: SetUpCharacter line: 22 ]] end function tbl_1.UpdatePlayerStats(a1, a2, a3) --[[ name: UpdatePlayerStats line: 26 upvalues: Server_upv_1 (copy, index: 1) Config_upv_1 (copy, index: 2) Challenges_upv_1 (copy, index: 3) Leaderboard_upv_1 (copy, index: 4) ]] if a1 ~= nil then if Server_upv_1:GetAttribute("GameMode") ~= "Custom" then local v1 = nil if a3 ~= true then local Stats_1 = a1.PlayerData.Stats local v2 = 1 local v3 = (Config_upv_1.CheckPlayerBoostActive(a1, "Cash") and 2) or v2 local v4 = (Config_upv_1.CheckPlayerBoostActive(a1, "Experience") and 2) or 1 Stats_1:SetAttribute("Cash", Stats_1:GetAttribute("Cash") + (a2.Cash * v3)) Stats_1:SetAttribute("Experience", Stats_1:GetAttribute("Experience") + (a2.Experience * v4)) Stats_1:SetAttribute("Kills", Stats_1:GetAttribute("Kills") + a2.Kills) Stats_1:SetAttribute("Deaths", Stats_1:GetAttribute("Deaths") + a2.Deaths) Stats_1:SetAttribute("Headshots", Stats_1:GetAttribute("Headshots") + a2.Headshots) Stats_1:SetAttribute("Damage", Stats_1:GetAttribute("Damage") + a2.Damage) Stats_1:SetAttribute("KDR", (Stats_1:GetAttribute("Kills") or 0) / math.max(Stats_1:GetAttribute("Deaths") or 0, 1)) Stats_1:SetAttribute("KDRScore", (math.floor((Stats_1:GetAttribute("KDR") or 0) * 10))) if a2.EventPoints then Stats_1:SetAttribute("EventPoints", Stats_1:GetAttribute("EventPoints") + a2.EventPoints) end if Server_upv_1:GetAttribute("GameMode") == "Ranked" then Stats_1:SetAttribute("RankedKills", Stats_1:GetAttribute("RankedKills") + a2.Kills) Stats_1:SetAttribute("RankedDeaths", Stats_1:GetAttribute("RankedDeaths") + a2.Deaths) Stats_1:SetAttribute("RankedHeadshots", Stats_1:GetAttribute("RankedHeadshots") + a2.Headshots) Stats_1:SetAttribute("RankedDamage", Stats_1:GetAttribute("RankedDamage") + a2.Damage) Stats_1:SetAttribute("KDRRanked", (Stats_1:GetAttribute("RankedKills") or 0) / math.max(Stats_1:GetAttribute("RankedDeaths") or 0, 1)) end Challenges_upv_1.UpdateMetric(a1, "DamageDealt", a2.Damage) if Leaderboard_upv_1.IsWeeklyLeaderboardActive() == true then v1 = Leaderboard_upv_1.EnsureWeeklyEntry(a1.PlayerData.WeeklyLeaderboard, Leaderboard_upv_1.GetCurrentWeek()) if v1 then v1:SetAttribute("WeeklyKills", (v1:GetAttribute("WeeklyKills") or 0) + (a2.Kills or 0)) end end for _, value_1 in pairs({"Cash", "Experience"}) do local v5 = a1.ServerData.MatchReward:FindFirstChild(value_1) if v5 ~= nil then v3 = v5 else local v6 = Instance.new("Folder", a1.ServerData.MatchReward) v6.Name = value_1 v6:SetAttribute("Type", value_1) v6:SetAttribute("Value", 0) v3 = v6 end local v7 = ((Config_upv_1.CheckPlayerBoostActive(a1, value_1)) and 2) or 1 v3:SetAttribute("Value", v3:GetAttribute("Value") + (a2[value_1] * v7)) end end end local ServerData_1 = a1.ServerData ServerData_1:SetAttribute("Kills", ServerData_1:GetAttribute("Kills") + a2.Kills) ServerData_1:SetAttribute("Deaths", ServerData_1:GetAttribute("Deaths") + a2.Deaths) ServerData_1:SetAttribute("Headshots", ServerData_1:GetAttribute("Headshots") + a2.Headshots) ServerData_1:SetAttribute("Damage", ServerData_1:GetAttribute("Damage") + a2.Damage) ServerData_1:SetAttribute("Points", ServerData_1:GetAttribute("Points") + a2.Points) end end local function ShouldIgnoreRoundEndedHumanoidHit(a1) --[[ name: ShouldIgnoreRoundEndedHumanoidHit line: 101 upvalues: Server_upv_1 (copy, index: 1) ]] if Server_upv_1:GetAttribute("Phase") == "Round Ended" and a1 ~= nil and a1.Parent ~= nil then local v8 = a1.Parent:FindFirstChild("Humanoid") ~= nil return v8 end return false end function tbl_1.BulletRayCast(a1, a2, a3, a4) --[[ name: BulletRayCast line: 112 upvalues: Config_upv_1 (copy, index: 1) Map_Cache_upv_1 (copy, index: 2) Server_upv_1 (copy, index: 3) CollectionService_upv_1 (copy, index: 4) ]] local tbl_2 = {} local v9 = 0 table.insert(a4, Map_Cache_upv_1) local v10 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) if v10 and v10.Instance then local v11 = nil while v9 < (Config_upv_1.RaycastRetryLimit or 12) do if v10 then local Instance_1 = v10.Instance if Instance_1 then local Instance_2 = v10.Instance if Server_upv_1:GetAttribute("Phase") == "Round Ended" then if Instance_2 == nil or Instance_2.Parent == nil then v11 = false if v10 and v10.Instance and (v10.Instance.Transparency >= 1 or CollectionService_upv_1:HasTag(v10.Instance, "IgnoreBullet") or v10.Instance.Name == "Glass_Breakable" or v11) then table.insert(a4, v10.Instance) v9 = v9 + 1 if v10.Instance.Name == "Glass_Breakable" then table.insert(tbl_2, {Instance = v10.Instance, Position = v10.Position, Normal = v10.Normal, Material = v10.Material}) end v10 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) if v10 ~= nil and v10.Instance ~= nil then continue end end break end v11 = Instance_2.Parent:FindFirstChild("Humanoid") ~= nil else v11 = false end else v11 = Instance_1 end else v11 = v10 end if v10 then if v10.Instance and (v10.Instance.Transparency >= 1 or CollectionService_upv_1:HasTag(v10.Instance, "IgnoreBullet") or v10.Instance.Name == "Glass_Breakable" or v11) then table.insert(a4, v10.Instance) v9 = v9 + 1 if v10.Instance.Name == "Glass_Breakable" then table.insert(tbl_2, {Instance = v10.Instance, Position = v10.Position, Normal = v10.Normal, Material = v10.Material}) end v10 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) if v10 ~= nil and v10.Instance ~= nil then continue end end break else continue end end end if not v10 then return nil, tbl_2 end local tbl_3 = {} tbl_3.Instance = v10.Instance tbl_3.Position = v10.Position tbl_3.Normal = v10.Normal tbl_3.Material = v10.Material tbl_3.Distance = v10.Distance return tbl_3, tbl_2 end function tbl_1.KnifeRayCast(a1, a2, a3, a4) --[[ name: KnifeRayCast line: 157 upvalues: Config_upv_1 (copy, index: 1) Map_Cache_upv_1 (copy, index: 2) CollectionService_upv_1 (copy, index: 3) ]] local tbl_4 = {} local v12 = 0 local v13 = Config_upv_1.RaycastRetryLimit or 12 table.insert(a4, Map_Cache_upv_1) local v14 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) if v14 and v14.Instance then local v15 = v13 while v12 < v15 do if v14 then if v14.Instance and (v14.Instance.Transparency >= 1 or CollectionService_upv_1:HasTag(v14.Instance, "IgnoreBullet")) then table.insert(a4, v14.Instance) v12 = v12 + 1 v14 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) if v14 ~= nil and v14.Instance ~= nil then continue end break end break else continue end end end if not v14 then return nil, tbl_4 end local tbl_5 = {} tbl_5.Instance = v14.Instance tbl_5.Position = v14.Position tbl_5.Normal = v14.Normal tbl_5.Material = v14.Material tbl_5.Distance = v14.Distance return tbl_5, tbl_4 end function tbl_1.VaultRayCast(a1, a2, a3, a4) --[[ name: VaultRayCast line: 193 upvalues: Config_upv_1 (copy, index: 1) Map_Cache_upv_1 (copy, index: 2) CollectionService_upv_1 (copy, index: 3) ]] local v16 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) table.insert(a4, Map_Cache_upv_1) if v16 and v16.Instance then while v16 and (v16.Instance) and (v16.Instance.Transparency >= 1) do local v17 = CollectionService_upv_1:HasTag(v16.Instance, "Window") if v17 then break else table.insert(a4, v16.Instance) local v18 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) v16 = v18 end end end if not v16 then return nil end local tbl_6 = {} tbl_6.Instance = v16.Instance tbl_6.Position = v16.Position tbl_6.Normal = v16.Normal tbl_6.Material = v16.Material tbl_6.Distance = v16.Distance return tbl_6 end function tbl_1.ClimbRayCast(a1, a2, a3, a4) --[[ name: ClimbRayCast line: 219 upvalues: Config_upv_1 (copy, index: 1) Map_Cache_upv_1 (copy, index: 2) CollectionService_upv_1 (copy, index: 3) ]] local v19 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) table.insert(a4, Map_Cache_upv_1) if v19 and v19.Instance then while v19 and (v19.Instance) and (v19.Instance.Transparency >= 1) do local v20 = CollectionService_upv_1:HasTag(v19.Instance, "Climb") if v20 then break else table.insert(a4, v19.Instance) local v21 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) v19 = v21 end end end if not v19 then return nil end local tbl_7 = {} tbl_7.Instance = v19.Instance tbl_7.Position = v19.Position tbl_7.Normal = v19.Normal tbl_7.Material = v19.Material tbl_7.Distance = v19.Distance return tbl_7 end function tbl_1.LaserRayCast(a1, a2, a3, a4) --[[ name: LaserRayCast line: 245 upvalues: Config_upv_1 (copy, index: 1) Map_Cache_upv_1 (copy, index: 2) ]] local v22 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) local v23 = 0 table.insert(a4, Map_Cache_upv_1) if v22 and v22.Instance then while v23 < 8 and (v22.Instance.Transparency >= 1) do table.insert(a4, v22.Instance) v22 = Config_upv_1.RegularRayCast(a1, a2, a3, a4) v23 = v23 + 1 if v22 == nil or v22.Instance == nil then break else continue end end end if not v22 then return nil end local tbl_8 = {} tbl_8.Instance = v22.Instance tbl_8.Position = v22.Position tbl_8.Normal = v22.Normal tbl_8.Material = v22.Material tbl_8.Distance = v22.Distance return tbl_8 end function tbl_1.FindHumanoidFromBulletHit(a1) --[[ name: FindHumanoidFromBulletHit line: 274 ]] if a1 and a1.Parent then return a1.Parent:FindFirstChild("Humanoid") end return nil end return tbl_1