From 42e5453fd48bd99c5489d6cf6b4c6eac5fc5e108 Mon Sep 17 00:00:00 2001 From: Juzlus Date: Mon, 29 Jun 2026 16:10:59 +0200 Subject: [PATCH] v1.2.2.b4 - #### General: - ###### Updated the GitHub source code to implement the changes introduced in merge request (https://github.com/Juzlus/jRandomSkills/pull/32). - #### Skill improvements: - ###### Ninja: - ###### Removed debug chat messages that were used for testing. --- .github/en.md | 12 + .github/pl.md | 12 + .../jRandomSkills.csproj | 5 +- .../src/command/Command.cs | 7 +- .../src/jRandomSkills.cs | 58 ++-- jRandomSkills - SRC Files/src/lang/tr.json | 10 + .../src/player/PlayerEvents.cs | 264 +++++------------- .../src/player/skills/AreaReaper.cs | 4 + .../src/player/skills/Darkness.cs | 4 + .../src/player/skills/Deaf.cs | 1 + .../src/player/skills/Glitch.cs | 4 + .../src/player/skills/JumpBan.cs | 1 + .../src/player/skills/Magnifier.cs | 5 + .../src/player/skills/Ninja.cs | 2 - .../src/player/skills/Poison.cs | 1 + .../src/player/skills/PrimaryBan.cs | 1 + .../src/player/skills/Wallhack.cs | 3 + jRandomSkills - SRC Files/src/utils/Config.cs | 3 - .../src/utils/Localization.cs | 14 +- .../src/utils/RayTrace.cs | 10 +- .../src/utils/SkillUtils.cs | 10 +- .../src/utils/SkillsInfo.cs | 49 ++-- .../plugins/jRandomSkills/WASDMenuAPI.dll | Bin 16896 -> 16896 bytes .../plugins/jRandomSkills/jRandomSkills.dll | Bin 559104 -> 559104 bytes .../plugins/jRandomSkills/languages/zh.json | Bin 26822 -> 27926 bytes 25 files changed, 212 insertions(+), 268 deletions(-) diff --git a/.github/en.md b/.github/en.md index 22a77a8..ad7ab51 100644 --- a/.github/en.md +++ b/.github/en.md @@ -357,6 +357,18 @@ This plugin uses content from the following projects: ## 📋 Changelog +
+v1.2.2.b4 + +- #### General: + - ###### Updated the GitHub source code to implement the changes introduced in merge request (https://github.com/Juzlus/jRandomSkills/pull/32). + +- #### Skill improvements: + - ###### Ninja: + - ###### Removed debug chat messages that were used for testing. + +
+
v1.2.2.b3 diff --git a/.github/pl.md b/.github/pl.md index d72859c..5f548ac 100644 --- a/.github/pl.md +++ b/.github/pl.md @@ -355,6 +355,18 @@ Plugin korzysta z zawartości następujących projektów: ## 📋 Lista Zmian +
+v1.2.2.b4 + +- #### General: + - Ogólne Uaktualizowano kod źródłowy na GitHubie, aby uwzględniał zmiany wprowadzone w merge request: https://github.com/Juzlus/jRandomSkills/pull/32. + +- #### Poprawki mocy: + - ###### Ninja: + - ###### Usunięto wiadomości z czatu używane do celów testowych. + +
+
v1.2.2.b3 diff --git a/jRandomSkills - SRC Files/jRandomSkills.csproj b/jRandomSkills - SRC Files/jRandomSkills.csproj index ad9f274..33a5330 100644 --- a/jRandomSkills - SRC Files/jRandomSkills.csproj +++ b/jRandomSkills - SRC Files/jRandomSkills.csproj @@ -12,9 +12,6 @@ - - - @@ -53,7 +50,7 @@ $(MSBuildProjectDirectory)\src\lang $(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\plugins\jRandomSkills\languages - $(MSBuildProjectDirectory)\bin\Debug\net10.0 + $(MSBuildProjectDirectory)\bin\$(Configuration)\$(TargetFramework) $(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\plugins\jRandomSkills $(MSBuildProjectDirectory)\src\gamedata $(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\gamedata diff --git a/jRandomSkills - SRC Files/src/command/Command.cs b/jRandomSkills - SRC Files/src/command/Command.cs index db40d62..f49cbc5 100644 --- a/jRandomSkills - SRC Files/src/command/Command.cs +++ b/jRandomSkills - SRC Files/src/command/Command.cs @@ -2,7 +2,6 @@ using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Commands; -using CounterStrikeSharp.API.Modules.Commands.Targeting; using CounterStrikeSharp.API.Modules.Entities.Constants; using CounterStrikeSharp.API.Modules.Utils; using src.menu; @@ -24,7 +23,7 @@ namespace src.command public static void Load() { config = Config.LoadedConfig; - if (config == null || config == null) return; + if (config == null) return; lock (setLock) { @@ -201,7 +200,7 @@ namespace src.command private static void ChangeMap(CommandInfo command) { - string map = command.GetArg(1).ToLower(); + string map = command.GetArg(1).ToLowerInvariant(); if (string.IsNullOrEmpty(map)) { @@ -549,7 +548,7 @@ namespace src.command if (langInfo.IsoCodes.Contains(newLangCode)) fileName = langInfo.FileName; if (Localization.HasTranslation(newLangCode)) - fileName = newLangCode.ToLower(); + fileName = newLangCode.ToLowerInvariant(); Localization.ChangePlayerLanguage(player, fileName); } diff --git a/jRandomSkills - SRC Files/src/jRandomSkills.cs b/jRandomSkills - SRC Files/src/jRandomSkills.cs index 160b1c6..d90254b 100644 --- a/jRandomSkills - SRC Files/src/jRandomSkills.cs +++ b/jRandomSkills - SRC Files/src/jRandomSkills.cs @@ -28,7 +28,7 @@ namespace src public override string ModuleName => "[CS2] [ jRandomSkills ]"; public override string ModuleAuthor => "D3X, Juzlus"; public override string ModuleDescription => "Plugin adds random skills every round for CS2 by D3X. Modified by Juzlus."; - public override string ModuleVersion => "1.2.2.b2"; + public override string ModuleVersion => "1.2.2.b4"; public override void Load(bool hotReload) { @@ -78,43 +78,38 @@ namespace src Debug.WriteToDebug($"Loaded: {skill.Skill}"); } + private static readonly ConcurrentDictionary<(string Skill, string Method), MethodInfo?> _skillMethodCache = new(); + internal object? SkillAction(string skill, string methodName, object[]? param = null) { if (string.IsNullOrEmpty(skill)) return null; - string className = $"src.player.skills.{skill}"; - - Type? type = Type.GetType(className) - ?? Assembly.GetExecutingAssembly().GetType(className) - ?? AppDomain.CurrentDomain.GetAssemblies() - .SelectMany(a => - { - try { return a.GetTypes(); } - catch (ReflectionTypeLoadException ex) { return ex.Types.Where(t => t!= null)!; } - catch { return []; } - }) - .FirstOrDefault(t => t != null && string.Equals(t.FullName, className, StringComparison.Ordinal)); - - if (type != null && typeof(ISkill).IsAssignableFrom(type)) + var method = _skillMethodCache.GetOrAdd((skill, methodName), key => { - MethodInfo? method = type.GetMethod(methodName, BindingFlags.Static | BindingFlags.Public); - return method?.Invoke(null, param); - } - else - Server.PrintToConsole($"Could not find or load {className}"); + string className = $"src.player.skills.{key.Skill}"; - return null; - } + Type? type = Type.GetType(className) + ?? Assembly.GetExecutingAssembly().GetType(className) + ?? AppDomain.CurrentDomain.GetAssemblies() + .SelectMany(a => + { + try { return a.GetTypes(); } + catch (ReflectionTypeLoadException ex) { return ex.Types.Where(t => t != null)!; } + catch { return []; } + }) + .FirstOrDefault(t => t != null && string.Equals(t.FullName, className, StringComparison.Ordinal)); - internal void RegisterListener(Action onTick, HookMode pre) - { - throw new NotImplementedException(); - } + if (type == null || !typeof(ISkill).IsAssignableFrom(type)) + { + Server.PrintToConsole($"Could not find or load {className}"); + return null; + } - internal void RegisterListener(Action value, HookMode pre) - { - throw new NotImplementedException(); + return type.GetMethod(key.Method, BindingFlags.Static | BindingFlags.Public); + }); + + return method?.Invoke(null, param); } internal new void AddCommand(string name, string description, CommandInfo.CommandCallback handler) @@ -328,10 +323,7 @@ namespace src public string Color { get; set; } = color; public bool Display { get; } = display; - public static implicit operator Skills(jSkill_SkillInfo v) - { - throw new NotImplementedException(); - } + public static implicit operator Skills(jSkill_SkillInfo v) => v?.Skill ?? Skills.None; } public static class SkillData diff --git a/jRandomSkills - SRC Files/src/lang/tr.json b/jRandomSkills - SRC Files/src/lang/tr.json index 25e1f9b..87d07ef 100644 --- a/jRandomSkills - SRC Files/src/lang/tr.json +++ b/jRandomSkills - SRC Files/src/lang/tr.json @@ -24,6 +24,7 @@ "areareaper_select_info": "Kapatılacak bomba alanını seç:", "areareaper_site_disabled": "{0} alanı mühürlendi - artık buraya bomba kurulamaz!", "areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma", + "areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.", "areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!", "armored": "Zırhlı", @@ -62,6 +63,7 @@ "carefulbullets": "Dikkatli Mermiler", "carefulbullets_desc": "Düşman mermi kaçırırsa hasar alır", "carefulbullets_enemy_info": "Mermi kaçırmak canını yakacak", + "carefulbullets_disable_info": "Artık mermi kaçırmak can yakmayacak.", "carefulbullets_player_info": "'{0}' artık mermi sıkarken iki kere düşünecek", "carefulbullets_select_info": "İsabetsiz atışların hasar vereceği oyuncu:", @@ -85,6 +87,7 @@ "darkness": "Karanlık", "darkness_desc": "Bir düşmanın ekranını karart", "darkness_enemy_info": "Işıklar sönsün", + "darkness_disable_info": "Işıklar geldi.", "darkness_player_info": "'{0}' isimli oyuncunun dünyasını kararttın", "darkness_select_info": "Karanlık bir oyuncuyu seç:", @@ -97,6 +100,7 @@ "deaf": "Sağır", "deaf_desc": "Bir düşmanın kulağını kapat ve sesleri duymaz hale getir", "deaf_enemy_info": "Kulaklıkların tıkandı", + "deaf_disable_info": "Kulakların açıldı.", "deaf_player_info": "'{0}' isimli oyuncu için sesler kapatıldı.", "deaf_select_info": "Sağır bir oyuncuyu seç:", @@ -167,6 +171,7 @@ "glitch": "Glitç", "glitch_desc": "Seçilen bir düşmanın radarını kapatır", "glitch_enemy_info": "Radarın kapandı", + "glitch_disable_info": "Radarın açıldı", "glitch_player_info": "'{0}' isimli oyuncunun radarı devre dışı bırakıldı.", "glitch_select_info": "Radarı kapatılacak oyuncuyu seç:", @@ -219,6 +224,7 @@ "jammer": "Sinyal Kesici", "jammer_desc": "Bir oyuncunun nişangahını (crosshair) kapatmak için seç", "jammer_enemy_info": "Nişangahın kapatıldı.", + "jammer_disable_info": "Nişangahın açıldı", "jammer_player_info": "'{0}' isimli oyuncunun nişangahı kapatıldı.", "jammer_select_info": "Nişangahı kapatılacak oyuncuyu seç:", @@ -231,6 +237,7 @@ "jumpban": "Bacaksız", "jumpban_desc": "Zıplayamayacak bir oyuncu seç", "jumpban_enemy_info": "Bacakların kesildi", + "jumpban_disable_info": "Bacaklarına kavuştun", "jumpban_player_info": "'{0}' artık zıplayamaz.", "jumpban_select_info": "Zıplaması yasaklanacak oyuncu:", @@ -261,6 +268,7 @@ "magnifier": "Büyüteç", "magnifier_desc": "Düşmanın ekranını yakınlaştırarak görüş alanını daraltır", "magnifier_enemy_info": "Görüşün bozuldu!", + "magnifier_disable_info": "Görüşün düzeldi", "magnifier_player_info": "'{0}' isimli oyuncunun ekranı yakınlaştırıldı.", "magnifier_select_info": "Ekranı büyütülecek oyuncuyu seç:", @@ -322,12 +330,14 @@ "poison": "Zehir", "poison_desc": "Birkaç saniyede bir hasar alacak bir oyuncu seç", "poison_enemy_info": "Zehirlendin.", + "poison_disable_info": "Zehire bağışıklık kazandın", "poison_player_info": "'{0}' isimli oyuncu zehirlendi.", "poison_select_info": "Zehirlenecek oyuncuyu seç:", "primaryban": "Tüfek Yasak", "primaryban_desc": "Tüfek kullanamayacak bir oyuncu seç", "primaryban_enemy_info": "Tüfek kullanmayı unuttun", + "primaryban_disable_info": "Tüfek kullanabilirsin", "primaryban_player_info": "'{0}' artık tüfek kullanamaz.", "primaryban_select_info": "Tüfek kullanımı yasaklanacak oyuncu:", diff --git a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs index c897992..676cfb4 100644 --- a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs +++ b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs @@ -46,7 +46,7 @@ namespace src.player Instance.RegisterEventHandler(PlayerSpawned); Instance.RegisterEventHandler(RoundStart); Instance.RegisterEventHandler(RoundEnd); - + Instance.RegisterEventHandler(PlayerDeath); Instance.RegisterEventHandler(PlayerBlind); Instance.RegisterEventHandler(PlayerHurt); @@ -138,17 +138,21 @@ namespace src.player return candidates[Random.Shared.Next(candidates.Count)]; } + private static void DispatchToActiveSkills(string methodName, params object[] args) + { + var seen = new HashSet(); + foreach (var p in Instance.SkillPlayer) + { + if (p.IsDrawing || !seen.Add(p.Skill)) continue; + Instance.SkillAction(p.Skill.ToString(), methodName, args); + } + } + private static HookResult PlayerMakeSound(UserMessage um) { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "PlayerMakeSound", [um]); + DispatchToActiveSkills("PlayerMakeSound", um); return HookResult.Continue; } } @@ -157,13 +161,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "WeaponFire", [@event]); + DispatchToActiveSkills("WeaponFire", @event); return HookResult.Continue; } } @@ -172,13 +170,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "WeaponEquip", [@event]); + DispatchToActiveSkills("WeaponEquip", @event); return HookResult.Continue; } } @@ -187,13 +179,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "WeaponPickup", [@event]); + DispatchToActiveSkills("WeaponPickup", @event); return HookResult.Continue; } } @@ -202,13 +188,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "WeaponReload", [@event]); + DispatchToActiveSkills("WeaponReload", @event); return HookResult.Continue; } } @@ -217,13 +197,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "GrenadeThrown", [@event]); + DispatchToActiveSkills("GrenadeThrown", @event); return HookResult.Continue; } } @@ -232,13 +206,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "BombBeginplant", [@event]); + DispatchToActiveSkills("BombBeginplant", @event); return HookResult.Continue; } } @@ -247,13 +215,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "BombAbortplant", [@event]); + DispatchToActiveSkills("BombAbortplant", @event); return HookResult.Continue; } } @@ -262,13 +224,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "BombPlanted", [@event]); + DispatchToActiveSkills("BombPlanted", @event); return HookResult.Continue; } } @@ -277,13 +233,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "BombBegindefuse", [@event]); + DispatchToActiveSkills("BombBegindefuse", @event); return HookResult.Continue; } } @@ -292,13 +242,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "DecoyStarted", [@event]); + DispatchToActiveSkills("DecoyStarted", @event); return HookResult.Continue; } } @@ -307,13 +251,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "DecoyDetonate", [@event]); + DispatchToActiveSkills("DecoyDetonate", @event); return HookResult.Continue; } } @@ -322,13 +260,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "SmokegrenadeDetonate", [@event]); + DispatchToActiveSkills("SmokegrenadeDetonate", @event); return HookResult.Continue; } } @@ -337,13 +269,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "SmokegrenadeExpired", [@event]); + DispatchToActiveSkills("SmokegrenadeExpired", @event); return HookResult.Continue; } } @@ -352,13 +278,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "PlayerHurt", [@event]); + DispatchToActiveSkills("PlayerHurt", @event); return HookResult.Continue; } } @@ -367,13 +287,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "PlayerJump", [@event]); + DispatchToActiveSkills("PlayerJump", @event); return HookResult.Continue; } } @@ -391,13 +305,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "PlayerBlind", [@event]); + DispatchToActiveSkills("PlayerBlind", @event); return HookResult.Continue; } } @@ -406,15 +314,10 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); + DispatchToActiveSkills("OnTakeDamage", h); - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "OnTakeDamage", [h]); - - if (Fortnite.skillInThisRound == true && !activeSkills.Any(s => s == "Fortnite")) + if (Fortnite.skillInThisRound == true && + !Instance.SkillPlayer.Any(p => !p.IsDrawing && p.Skill == Skills.Fortnite)) Instance.SkillAction("Fortnite", "OnTakeDamage", [h]); return HookResult.Continue; @@ -428,13 +331,7 @@ namespace src.player CBaseTrigger trigger = hook.GetParam(0); CBaseEntity entity = hook.GetParam(1); - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "OnTriggerEnter", [trigger, entity]); + DispatchToActiveSkills("OnTriggerEnter", trigger, entity); return HookResult.Continue; } } @@ -446,13 +343,7 @@ namespace src.player CBaseTrigger trigger = hook.GetParam(0); CBaseEntity entity = hook.GetParam(1); - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "OnTriggerExit", [trigger, entity]); + DispatchToActiveSkills("OnTriggerExit", trigger, entity); return HookResult.Continue; } } @@ -539,9 +430,9 @@ namespace src.player foreach (var skill in activeSkills) if (SkillsInfo.GetValue(skill, "disableOnFreezeTime") && SkillUtils.IsFreezeTime()) - continue; - else - Instance.SkillAction(skill.ToString(), "OnTick"); + continue; + else + Instance.SkillAction(skill.ToString(), "OnTick"); } } @@ -555,6 +446,13 @@ namespace src.player if (player.IsBot && !Config.LoadedConfig.EnableBotSkills) return; + var existing = Instance.SkillPlayer.FirstOrDefault(p => p.PlayerIndex == player.Index); + if (existing != null) + { + PlayerManager.Register(existing); + return; + } + var playerInfo = new jSkill_PlayerInfo { IsBot = player.IsBot, @@ -617,11 +515,11 @@ namespace src.player { var userID = @event.Userid; if (userID == 0 || string.IsNullOrEmpty(@event.Text)) return HookResult.Continue; - + string text = @event.Text.Split(' ')[0].Trim(); string commandName = text.StartsWith('!') || text.StartsWith('/') ? text[1..] : text; - + var player = Utilities.GetPlayerFromUserid(userID); if (player == null || !player.IsValid) return HookResult.Continue; @@ -630,7 +528,7 @@ namespace src.player var temp = skillPlayer.SkillHudExpired; skillPlayer.SkillHudExpired = DateTime.MinValue; -; + ; Instance.AddTimer(5f, () => { if (skillPlayer.SkillHudExpired == DateTime.MinValue) @@ -709,7 +607,6 @@ namespace src.player if (playerInfo == null) continue; Instance.SkillAction(playerInfo.Skill.ToString(), "DisableSkill", [player]); - Instance.SkillAction(playerInfo.Skill.ToString(), "NewRound"); playerInfo.Skill = noneSkill.Skill; playerInfo.SpecialSkill = noneSkill.Skill; @@ -719,6 +616,9 @@ namespace src.player RestorePlayer(player); } + + foreach (var skill in SkillData.Skills) + Instance.SkillAction(skill.Skill.ToString(), "NewRound"); } } @@ -743,23 +643,24 @@ namespace src.player lock (setLock) { isTransmitRegistered = false; - - Instance.AddTimer(.1f, () => { - DisableAll(); - ConVar.Find("sv_legacy_jump")?.SetValue("1"); - - }, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); - Instance.RemoveListener(CheckTransmit); - + + Fortnite.skillInThisRound = false; + EntityManager.DestroyAllTracked(); + foreach (var skill in SkillData.Skills) + Instance.SkillAction(skill.Skill.ToString(), "NewRound"); + playersSkills.Clear(); staticSkills.Clear(); - + ctSkill = noneSkill; tSkill = noneSkill; allSkill = noneSkill; - + + Instance.SkillPlayer.Clear(); PlayerManager.Clear(); + + ConVar.Find("sv_legacy_jump")?.SetValue("1"); } } @@ -813,13 +714,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "PlayerDeath", [@event]); + DispatchToActiveSkills("PlayerDeath", @event); var victim = PlayerManager.GetPlayerEvent(@event.Userid); var attacker = PlayerManager.GetPlayerEvent(@event.Attacker); @@ -840,7 +735,7 @@ namespace src.player if (skillData == null || specialSkillData == null) return HookResult.Continue; string skillDesc = victim.GetSkillDescription(skillData.Skill); - SkillUtils.PrintToChat(victim, + SkillUtils.PrintToChat(victim, $"{ChatColors.DarkRed}{(attackerInfo.SpecialSkill == Skills.None ? victim.GetSkillName(skillData.Skill) : $"{victim.GetSkillName(specialSkillData.Skill)} -> {victim.GetSkillName(skillData.Skill)}")}{ChatColors.Lime} - {skillDesc}", title: $"{victim.GetTranslation("enemy_skill")} {ChatColors.DarkRed}\u202A{attacker.PlayerName}\u202C{ChatColors.Lime}"); } @@ -858,11 +753,13 @@ namespace src.player string? button = Config.LoadedConfig.AlternativeSkillButton; if (string.IsNullOrEmpty(button) || button.Length < 2) return; - string buttonName = $"{char.ToUpper(button[0])}{button[1..].ToLower()}"; + string buttonName = $"{char.ToUpperInvariant(button[0])}{button[1..].ToLowerInvariant()}"; if (!Enum.TryParse(buttonName, out var skillButton)) return; if ((pressed & skillButton) == 0) return; + if (SkillUtils.HasMenu(player)) return; + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); if (playerInfo == null || playerInfo.IsDrawing) return; @@ -903,13 +800,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "OnEntitySpawned", [entity]); + DispatchToActiveSkills("OnEntitySpawned", entity); } } @@ -917,13 +808,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "BulletImpact", [@event]); + DispatchToActiveSkills("BulletImpact", @event); return HookResult.Continue; } } @@ -1059,7 +944,7 @@ namespace src.player Instance?.AddTimer(.2f, () => { - if(player == null || !player.IsValid) return; + if (player == null || !player.IsValid) return; if (randomSkill.Display) SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(randomSkill.Skill)}{ChatColors.Lime}: {player.GetSkillDescription(randomSkill.Skill)}", @@ -1084,7 +969,7 @@ namespace src.player float descriptionHudExpired = Config.LoadedConfig.SkillDescriptionDuration; skillPlayer.SkillDescriptionHudExpired = descriptionHudExpired == -1 ? DateTime.MaxValue : DateTime.Now.AddSeconds(descriptionHudExpired); - + if (Config.LoadedConfig.TeamMateSkillChatInfo) { Instance?.AddTimer(.6f, () => @@ -1200,6 +1085,7 @@ namespace src.player } } + Instance?.SkillAction(skillPlayer.Skill.ToString(), "DisableSkill", [player]); skillPlayer.Skill = randomSkill.Skill; skillPlayer.SpecialSkill = Skills.None; @@ -1231,13 +1117,7 @@ namespace src.player { lock (setLock) { - var activeSkills = Instance.SkillPlayer - .Where(p => !p.IsDrawing) - .Select(p => p.Skill.ToString()) - .Distinct(); - - foreach (string skillName in activeSkills) - Instance.SkillAction(skillName, "CheckTransmit", [infoList]); + DispatchToActiveSkills("CheckTransmit", infoList); } } @@ -1285,4 +1165,4 @@ namespace src.player public static DateTime GetFreezeTimeEnd() => freezeTimeEnd; } -} +} \ No newline at end of file diff --git a/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs b/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs index 88dd9b3..ae03ed1 100644 --- a/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs +++ b/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs @@ -63,6 +63,10 @@ namespace src.player.skills playerInfo.SkillUsed = true; playersToTarget[player.Index] = targetSite.Index; + + string siteLetter = site == 0 ? "A" : "B"; + foreach (var ct in Utilities.GetPlayers().Where(p => p != null && p.IsValid && !p.IsHLTV && p.Team == CsTeam.CounterTerrorist)) + ct.PrintToChat($" {ChatColors.Green}" + ct.GetTranslation("areareaper_teammates_info", siteLetter)); } } } diff --git a/jRandomSkills - SRC Files/src/player/skills/Darkness.cs b/jRandomSkills - SRC Files/src/player/skills/Darkness.cs index f836faf..378f7e6 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Darkness.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Darkness.cs @@ -133,7 +133,11 @@ namespace src.player.skills { var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); if (target != null && target.IsValid) + { SetUpPostProcessing(target, true); + if (target.PawnIsAlive && !SkillUtils.IsFreezeTime()) + target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("darkness_disable_info")); + } playersInDark.TryRemove(targetIndex, out _); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Deaf.cs b/jRandomSkills - SRC Files/src/player/skills/Deaf.cs index 13d974a..d2beffa 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Deaf.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Deaf.cs @@ -123,6 +123,7 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { if (playersToTarget.TryRemove(player.Index, out uint targetIndex)) + { deafPlayers.TryRemove(targetIndex, out _); var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); diff --git a/jRandomSkills - SRC Files/src/player/skills/Glitch.cs b/jRandomSkills - SRC Files/src/player/skills/Glitch.cs index b5f450f..d32f123 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Glitch.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Glitch.cs @@ -130,7 +130,11 @@ namespace src.player.skills { var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); if (target != null && target.IsValid) + { target.ReplicateConVar("sv_disable_radar", "0"); + if (target.PawnIsAlive && !SkillUtils.IsFreezeTime()) + target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("glitch_disable_info")); + } glitchedPlayers.TryRemove(targetIndex, out _); } diff --git a/jRandomSkills - SRC Files/src/player/skills/JumpBan.cs b/jRandomSkills - SRC Files/src/player/skills/JumpBan.cs index 041c75a..377d7b0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/JumpBan.cs +++ b/jRandomSkills - SRC Files/src/player/skills/JumpBan.cs @@ -131,6 +131,7 @@ namespace src.player.skills return; if (playersToTarget.TryRemove(player.Index, out uint targetIndex)) + { bannedPlayers.TryRemove(targetIndex, out _); var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); diff --git a/jRandomSkills - SRC Files/src/player/skills/Magnifier.cs b/jRandomSkills - SRC Files/src/player/skills/Magnifier.cs index cf3a60c..1dfb529 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Magnifier.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Magnifier.cs @@ -134,11 +134,16 @@ namespace src.player.skills { var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); if (target != null && target.IsValid) + { if (playersFOV.TryGetValue(targetIndex, out uint fov)) { target.DesiredFOV = fov; Utilities.SetStateChanged(target, "CBasePlayerController", "m_iDesiredFOV"); } + + if (target.PawnIsAlive && !SkillUtils.IsFreezeTime()) + target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("magnifier_disable_info")); + } playersFOV.TryRemove(targetIndex, out _); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs index 396d7d6..96ec055 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs @@ -184,8 +184,6 @@ namespace src.player.skills if (player.PlayerPawn?.Value?.Health <= 0) return; - Server.PrintToChatAll($"Update ninja for {player.PlayerName}"); - var playerEvent = PlayerManager.GetPlayerEvent(player); if (playerEvent == null || !playerEvent.IsValid) return; diff --git a/jRandomSkills - SRC Files/src/player/skills/Poison.cs b/jRandomSkills - SRC Files/src/player/skills/Poison.cs index ed2b072..fdf02d0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Poison.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Poison.cs @@ -130,6 +130,7 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { if (playersToTarget.TryRemove(player.Index, out uint targetIndex)) + { poisonedPlayers.TryRemove(targetIndex, out _); var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); diff --git a/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs b/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs index 5179091..58bb8db 100644 --- a/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs +++ b/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs @@ -132,6 +132,7 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { if (playersToTarget.TryRemove(player.Index, out uint targetIndex)) + { bannedPlayers.TryRemove(targetIndex, out _); var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); diff --git a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs index 6f15728..98c6563 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs @@ -112,7 +112,10 @@ namespace src.player.skills playersInAction.TryRemove(player.Index, out _); if (playersInAction.IsEmpty) + { NewRound(); + return; + } SkillUtils.ForceFullUpdateToAll(); } diff --git a/jRandomSkills - SRC Files/src/utils/Config.cs b/jRandomSkills - SRC Files/src/utils/Config.cs index f25b19c..a333f40 100644 --- a/jRandomSkills - SRC Files/src/utils/Config.cs +++ b/jRandomSkills - SRC Files/src/utils/Config.cs @@ -71,9 +71,6 @@ namespace src.utils public class SettingsModel { - [DisplayName("Game Mode")] - [Description("TESTfafw..")] - [Range(0, 5)] public string ConfigName { get; set; } public int GameMode { get; set; } public bool YourSkillChatInfo { get; set; } diff --git a/jRandomSkills - SRC Files/src/utils/Localization.cs b/jRandomSkills - SRC Files/src/utils/Localization.cs index f61b72a..d90a39b 100644 --- a/jRandomSkills - SRC Files/src/utils/Localization.cs +++ b/jRandomSkills - SRC Files/src/utils/Localization.cs @@ -50,7 +50,7 @@ namespace src.utils if (!File.Exists(langPath)) return; - var code = Path.GetFileNameWithoutExtension(langPath).ToLower(); + var code = Path.GetFileNameWithoutExtension(langPath).ToLowerInvariant(); var jsonText = File.ReadAllText(langPath); var translations = JsonConvert.DeserializeObject>(jsonText); @@ -60,7 +60,7 @@ namespace src.utils public static bool HasTranslation(string code) { - return _translations.ContainsKey(code.ToLower()); + return _translations.ContainsKey(code.ToLowerInvariant()); } public static string GetSkillName(this CCSPlayerController player, Skills skill, float? chance = null) @@ -68,7 +68,7 @@ namespace src.utils string langCode = GetLangCode(player); if (chance == null) { - var translation = GetTranslation(skill.ToString().ToLower(), langCode); + var translation = GetTranslation(skill.ToString().ToLowerInvariant(), langCode); if (!translation.Contains("{0}")) return translation; @@ -81,7 +81,7 @@ namespace src.utils } var value = Math.Round((double)(chance ?? 1), 2); - var skillNameText = GetTranslation(skill.ToString().ToLower(), langCode, player, value); + var skillNameText = GetTranslation(skill.ToString().ToLowerInvariant(), langCode, player, value); if (skillNameText.Contains('%')) skillNameText = skillNameText.Replace(value.ToString(), Math.Round(value * 100, 0).ToString()); return skillNameText; } @@ -91,7 +91,7 @@ namespace src.utils string langCode = GetLangCode(player); if (chance == null) { - var translation = GetTranslation($"{skill.ToString().ToLower()}_desc", langCode); + var translation = GetTranslation($"{skill.ToString().ToLowerInvariant()}_desc", langCode); if (!translation.Contains("{0}")) return translation; @@ -103,12 +103,12 @@ namespace src.utils return string.Join(' ', filtered); } - var skillName = $"{skill.ToString().ToLower()}_desc2"; + var skillName = $"{skill.ToString().ToLowerInvariant()}_desc2"; var value = Math.Round((double)(chance ?? 1), 2); var desc2 = GetTranslation(skillName, langCode, player, value); var skilLDescription = desc2 == skillName - ? player.GetTranslation($"{skill.ToString().ToLower()}_desc") + ? player.GetTranslation($"{skill.ToString().ToLowerInvariant()}_desc") : desc2.Contains('%') ? desc2.Replace(value.ToString(), Math.Round(value * 100, 0).ToString()) : desc2; return skilLDescription; } diff --git a/jRandomSkills - SRC Files/src/utils/RayTrace.cs b/jRandomSkills - SRC Files/src/utils/RayTrace.cs index 5b67078..96bd90e 100644 --- a/jRandomSkills - SRC Files/src/utils/RayTrace.cs +++ b/jRandomSkills - SRC Files/src/utils/RayTrace.cs @@ -28,7 +28,10 @@ namespace src.utils playerPawn.CBodyComponent?.SceneNode == null) return null; - var rayTrace = RayTraceInterface.Get(); + CRayTraceInterface? rayTrace; + try { rayTrace = RayTraceInterface.Get(); } + catch { return null; } + if (rayTrace == null) return null; @@ -111,7 +114,10 @@ namespace src.utils playerPawn.CBodyComponent?.SceneNode == null) return null; - var rayTrace = RayTraceInterface.Get(); + CRayTraceInterface? rayTrace; + try { rayTrace = RayTraceInterface.Get(); } + catch { return null; } + if (rayTrace == null) return null; diff --git a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs index d95ce2f..c1a26ef 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs @@ -524,7 +524,7 @@ namespace src.utils ? $"\u202A{Illiterate.GetRandomText(player.GetSkillName(skillData.Skill))}\u202C
" : $"\u202A{player.GetSkillName(skillData.Skill)}\u202C
"; - var skill_select_info = player.GetTranslation($"{playerInfo.Skill.ToString().ToLower()}_select_info"); + var skill_select_info = player.GetTranslation($"{playerInfo.Skill.ToString().ToLowerInvariant()}_select_info"); string remainingLine = string.IsNullOrWhiteSpace(skill_select_info) ? "" : $"{skill_select_info}
"; @@ -585,8 +585,8 @@ namespace src.utils { if (jRandomSkills.Instance == null || jRandomSkills.Instance.GameRules == null) return; var teams = Utilities.FindAllEntitiesByDesignerName("cs_team_manager"); - var ctTeam = teams.First(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.CounterTerrorist); - var tTeams = teams.First(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.Terrorist); + var ctTeam = teams.FirstOrDefault(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.CounterTerrorist); + var tTeams = teams.FirstOrDefault(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.Terrorist); if (ctTeam == null || tTeams == null) return; short ctScore = (short)(winnerTeam == CsTeam.CounterTerrorist ? ctTeam.Score + 1 : ctTeam.Score); @@ -686,8 +686,8 @@ namespace src.utils private static void UpdateClientTeamScores(MCCSMatch match) { var teams = Utilities.FindAllEntitiesByDesignerName("cs_team_manager"); - var ctTeam = teams.First(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.CounterTerrorist); - var tTeams = teams.First(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.Terrorist); + var ctTeam = teams.FirstOrDefault(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.CounterTerrorist); + var tTeams = teams.FirstOrDefault(t => t.IsValid && (CsTeam)t.TeamNum == CsTeam.Terrorist); if (ctTeam != null && tTeams != null) { diff --git a/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs b/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs index 72381f0..04a1f01 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs @@ -18,6 +18,10 @@ namespace src.utils private static SkillsInfoModel config = LoadSkillsInfo(); public static SkillsInfoModel LoadedConfig => config; + private static SkillsInfoModel? _indexedConfig; + private static ConcurrentDictionary _byName = new(); + private static readonly ConcurrentDictionary<(Type Type, string Key), MemberInfo?> _memberCache = new(); + public static SkillsInfoModel LoadSkillsInfo() { lock (fileLock) @@ -84,26 +88,39 @@ namespace src.utils { if (config == null) return default!; - var skillConfig = LoadedConfig.FirstOrDefault(s => s.Name == skill.ToString()); - if (skillConfig == null) return default!; + EnsureIndex(); + if (!_byName.TryGetValue(skill.ToString()!, out var skillConfig) || skillConfig == null) + return default!; - var prop = skillConfig.GetType().GetProperty(key, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); - if (prop != null) + var member = _memberCache.GetOrAdd((skillConfig.GetType(), key), k => { - var value = prop.GetValue(skillConfig); - if (value == null) return default!; - else return (T)Convert.ChangeType(value, typeof(T)); - } + MemberInfo? m = k.Type.GetProperty(k.Key, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); + m ??= k.Type.GetField(k.Key, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); + return m; + }); - var field = skillConfig.GetType().GetField(key, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); - if (field != null) + object? value = member switch { - var value = field.GetValue(skillConfig); - if (value == null) return default!; - else return (T)Convert.ChangeType(value, typeof(T)); - } + PropertyInfo p => p.GetValue(skillConfig), + FieldInfo f => f.GetValue(skillConfig), + _ => null + }; - return default!; + if (value == null) return default!; + return (T)Convert.ChangeType(value, typeof(T)); + } + + private static void EnsureIndex() + { + if (ReferenceEquals(_indexedConfig, config)) return; + + var dict = new ConcurrentDictionary(); + foreach (var s in config) + dict[s.Name] = s; + + _byName = dict; + _indexedConfig = config; + _memberCache.Clear(); } public class SkillsInfoModel : ConcurrentBag @@ -124,7 +141,7 @@ namespace src.utils .Where(instance => instance != null) .Cast()) Add(skill); - } + } } public class DefaultSkillInfo(Skills skill, bool active = true, string color = "#ffffff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", int maxPerServer = -1, Rarity rarity = Rarity.Common) diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll index b6f84f2db30a621a6e4d644effa9eeef3c57c2f5..f18b2738325eeedb53df8cf917c12e09b6e79690 100644 GIT binary patch delta 236 zcmZo@VQgq&oY27%vgTm##vTo0fyc5T*;AL!@mclx$e|mT?bSCQG3I5}Fg8m{u`o?d zGcYqvHZd?UNKQ_+urxF_Pcut3H!?FeGcz(ZF*P-?nEcb?IP;+u1(Oe31`4e5imJW0 z|Dx}rPYgSP-~QB|tYTHH02SQ(2r39vtnXv6thk+-?}&$J^|j60t!!ERjTy`sk{D7L zEEr4~QW?@141j!7hGYg4APa<(!O()ilEIL{n86&V!VIX+oWTf4gY=pKS*Adhra)-G LV6oZRelHUMKhR71 delta 236 zcmZo@VQgq&oY29-F>lhgjXfI10=jyeKZ?%3@4MyB;iQf}Eyc}8jCol#k_=NUQ!NZq z(hLj?%`KA?(+m^MlFThFlMR#2EiBAU%~MQ`5)F;bCjYcJ&MY=Na`IuzK!Fva^Os+) z_~zSCb7sZo6YaYut5_8)Km}tRpn^cf`a9PuPL5dL)4V6+o7m>R diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll index 1fdf43fa23f2a209e22565a49b72d26520406ddf..87a83aec2d72a047d1d81d69567f97f64ecd2f38 100644 GIT binary patch delta 98829 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 bb#b?? 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