diff --git a/jRandomSkills - SRC Files/src/jRandomSkills.cs b/jRandomSkills - SRC Files/src/jRandomSkills.cs index 9e52685..41b5729 100644 --- a/jRandomSkills - SRC Files/src/jRandomSkills.cs +++ b/jRandomSkills - SRC Files/src/jRandomSkills.cs @@ -56,7 +56,7 @@ namespace src internal void SkillAction(string skill, string methodName, object[]? param = null) { - string className = $"jRandomSkills.{skill}"; + string className = $"src.player.skills.{skill}"; Type? type = Type.GetType(className); if (type != null && typeof(ISkill).IsAssignableFrom(type)) diff --git a/jRandomSkills - SRC Files/src/lang/en.json b/jRandomSkills - SRC Files/src/lang/en.json index d3b93e4..4ed4dc9 100644 --- a/jRandomSkills - SRC Files/src/lang/en.json +++ b/jRandomSkills - SRC Files/src/lang/en.json @@ -345,7 +345,8 @@ "secondlife_desc": "After death, you respawn with the same amount of health", "shade": "Shade", - "shade_desc": "You teleport behind the back of a hit enemy", + "shade_desc": "You have a random chance to teleport behind the back of a hit enemy", + "shade_desc2": "Your chances of teleporting behind a hit enemy are: {0}%", "shade_nospace": "No space available", "shortbomb": "Short Fuse", diff --git a/jRandomSkills - SRC Files/src/lang/fr.json b/jRandomSkills - SRC Files/src/lang/fr.json index d5548be..bd95294 100644 --- a/jRandomSkills - SRC Files/src/lang/fr.json +++ b/jRandomSkills - SRC Files/src/lang/fr.json @@ -346,6 +346,7 @@ "shade": "Ombre", "shade_desc": "Vous vous téléportez derrière l’ennemi touché", + "shade_desc2": "Vos chances de vous téléporter derrière un ennemi touché sont de: {0}%", "shade_nospace": "Aucun espace disponible", "shortbomb": "Mèche Courte", diff --git a/jRandomSkills - SRC Files/src/lang/pl.json b/jRandomSkills - SRC Files/src/lang/pl.json index 60a9b5f..946e5dc 100644 --- a/jRandomSkills - SRC Files/src/lang/pl.json +++ b/jRandomSkills - SRC Files/src/lang/pl.json @@ -345,7 +345,8 @@ "secondlife_desc": "Po śmierci odradzasz się z taką samą ilością zdrowia", "shade": "Cień", - "shade_desc": "Teleportujesz się za plecy trafionego wroga", + "shade_desc": "Masz losową szansę na teleportację za plecy trafionego wroga", + "shade_desc2": "Twoje szanse na teleportację za trafionego wroga wynoszą: {0}%", "shade_nospace": "Brak miejsca", "shortbomb": "Krótka Bomba", diff --git a/jRandomSkills - SRC Files/src/lang/pt-br.json b/jRandomSkills - SRC Files/src/lang/pt-br.json index 180a374..0e05369 100644 --- a/jRandomSkills - SRC Files/src/lang/pt-br.json +++ b/jRandomSkills - SRC Files/src/lang/pt-br.json @@ -345,7 +345,8 @@ "secondlife_desc": "Após a morte, você renasce com a mesma quantidade de saúde", "shade": "Sombra", - "shade_desc": "Você se teletransporta para trás de um inimigo acertado", + "shade_desc": "Você tem uma chance aleatória de se teletransportar para trás de um inimigo atingido", + "shade_desc2": "Suas chances de se teletransportar para trás de um inimigo atingido são: {0}%", "shade_nospace": "Sem espaço disponível", "shortbomb": "Fusível Curto", diff --git a/jRandomSkills - SRC Files/src/lang/zh.json b/jRandomSkills - SRC Files/src/lang/zh.json index 7b51cba..7a149a9 100644 --- a/jRandomSkills - SRC Files/src/lang/zh.json +++ b/jRandomSkills - SRC Files/src/lang/zh.json @@ -345,7 +345,8 @@ "secondlife_desc": "死亡后你会以相同生命值复活", "shade": "阴影", - "shade_desc": "你会传送到被击中敌人的背后", + "shade_desc": "你存在随机几率将被击中的敌人传送至其身后", + "shade_desc2": "你传送至击中敌人身后的概率为:{0}%", "shade_nospace": "无可用空间", "shortbomb": "短引信", diff --git a/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs b/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs index e5baad9..01ae376 100644 --- a/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs +++ b/jRandomSkills - SRC Files/src/player/skills/AreaReaper.cs @@ -2,7 +2,6 @@ using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Modules.Utils; using static src.jRandomSkills; -using System.Collections.Concurrent; using src.utils; namespace src.player.skills @@ -58,9 +57,7 @@ namespace src.player.skills var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); if (playerInfo == null) return; playerInfo.SkillChance = 0; - - ConcurrentBag<(string, string)> menuItems = [(player.GetTranslation("bombsite_a"), "a"), (player.GetTranslation("bombsite_b"), "b")]; - SkillUtils.CreateMenu(player, menuItems); + SkillUtils.CreateMenu(player, [(player.GetTranslation("bombsite_a"), "a")], (player.GetTranslation("bombsite_b"), "b")); } public static void DisableSkill(CCSPlayerController player) diff --git a/jRandomSkills - SRC Files/src/player/skills/Astronaut.cs b/jRandomSkills - SRC Files/src/player/skills/Astronaut.cs index 289a32b..75d53c8 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Astronaut.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Astronaut.cs @@ -33,7 +33,6 @@ namespace src.player.skills if (playerInfo == null) return; player.PlayerPawn.Value.ActualGravityScale = 1; - playerInfo.SkillChance = 1; } private static void ApplyGravityModifier(CCSPlayerController player) diff --git a/jRandomSkills - SRC Files/src/player/skills/Behind.cs b/jRandomSkills - SRC Files/src/player/skills/Behind.cs index 1bc86ae..ab18152 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Behind.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Behind.cs @@ -33,8 +33,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "ChanceTo") - SkillsInfo.GetValue(skillName, "ChanceFrom")) + SkillsInfo.GetValue(skillName, "ChanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Catapult.cs b/jRandomSkills - SRC Files/src/player/skills/Catapult.cs index ba294bf..a0b00fe 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Catapult.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Catapult.cs @@ -37,8 +37,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "chanceTo") - SkillsInfo.GetValue(skillName, "chanceFrom")) + SkillsInfo.GetValue(skillName, "chanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Chicken.cs b/jRandomSkills - SRC Files/src/player/skills/Chicken.cs index ac07e70..8f24ab8 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Chicken.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Chicken.cs @@ -22,6 +22,9 @@ namespace src.player.skills "weapon_negev" ]; private static readonly ConcurrentDictionary chickens = []; + private static readonly string defaultCTModel = "characters/models/ctm_sas/ctm_sas.vmdl"; + private static readonly string defaultTModel = "characters/models/tm_phoenix/tm_phoenix.vmdl"; + private static readonly ConcurrentDictionary originalModels = []; public static void LoadSkill() { @@ -36,6 +39,7 @@ namespace src.player.skills if (valuePair.Value != null && valuePair.Value.IsValid) valuePair.Value.AcceptInput("Kill"); chickens.Clear(); + originalModels.Clear(); } public static void WeaponPickup(EventItemPickup @event) @@ -61,9 +65,12 @@ namespace src.player.skills SkillUtils.ChangePlayerScale(player, .2f); playerPawn.Render = Color.FromArgb(0, 255, 255, 255); - playerPawn.ShadowStrength = 0.0f; + playerPawn.ShadowStrength = 0f; Utilities.SetStateChanged(playerPawn, "CBaseModelEntity", "m_clrRender"); + if (playerPawn.CBodyComponent != null && playerPawn.CBodyComponent.SceneNode != null) + originalModels.TryAdd(player.SteamID, playerPawn.CBodyComponent.SceneNode.GetSkeletonInstance().ModelState.ModelName); + SetWeaponAttack(player, true); CreateChicken(player); } @@ -77,7 +84,7 @@ namespace src.player.skills { playerPawn.VelocityModifier = 1f; - playerPawn.Health += 50; + playerPawn.Health = Math.Min(playerPawn.Health + 50, 100); Utilities.SetStateChanged(playerPawn, "CBaseEntity", "m_iHealth"); SkillUtils.ChangePlayerScale(player, 1); @@ -95,6 +102,23 @@ namespace src.player.skills chicken.AcceptInput("Kill"); chickens.TryRemove(player, out _); } + + if (originalModels.TryGetValue(player.SteamID, out var model)) + { + var pawn = player.PlayerPawn?.Value; + if (pawn == null) return; + + Server.NextFrame(() => + { + if (string.IsNullOrEmpty(model)) + model = player.Team == CsTeam.Terrorist ? defaultTModel : defaultCTModel; + + pawn.SetModel(model); + var originalRender = pawn.Render; + pawn.Render = Color.FromArgb(255, originalRender.R, originalRender.G, originalRender.B); + originalModels.TryRemove(player.SteamID, out _); + }); + } } private static void SetWeaponAttack(CCSPlayerController player, bool disableWeapon) diff --git a/jRandomSkills - SRC Files/src/player/skills/Deaf.cs b/jRandomSkills - SRC Files/src/player/skills/Deaf.cs index 7f6c65a..65cc5f4 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Deaf.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Deaf.cs @@ -94,8 +94,8 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { - deafPlayers.TryRemove(player, out _); SkillUtils.CloseMenu(player); + deafPlayers.TryRemove(player, out _); } public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#dae01f", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates) diff --git a/jRandomSkills - SRC Files/src/player/skills/Disarmament.cs b/jRandomSkills - SRC Files/src/player/skills/Disarmament.cs index 050c5cb..aa2c06b 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Disarmament.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Disarmament.cs @@ -42,8 +42,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "chanceTo") - SkillsInfo.GetValue(skillName, "chanceFrom")) + SkillsInfo.GetValue(skillName, "chanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Distancer.cs b/jRandomSkills - SRC Files/src/player/skills/Distancer.cs index 0952edb..1e8965b 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Distancer.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Distancer.cs @@ -31,12 +31,6 @@ namespace src.player.skills var playerInfo = jRandomSkills.Instance.SkillPlayer.FirstOrDefault(s => s.SteamID == player?.SteamID); if (playerInfo == null) return; - if (playerInfo.SkillDescriptionHudExpired >= DateTime.Now) - { - playerInfo.PrintHTML = null; - return; - } - var playerPawn = player.PlayerPawn.Value; if (playerPawn == null || !playerPawn.IsValid) return; if (playerPawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; diff --git a/jRandomSkills - SRC Files/src/player/skills/Dwarf.cs b/jRandomSkills - SRC Files/src/player/skills/Dwarf.cs index a8fcc66..79a6ec0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Dwarf.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Dwarf.cs @@ -49,7 +49,6 @@ namespace src.player.skills var playerPawn = player.PlayerPawn?.Value; if (playerPawn != null && playerPawn?.CBodyComponent != null) { - playerInfo.SkillChance = 1; SkillUtils.ChangePlayerScale(player, 1); Utilities.SetStateChanged(playerPawn, "CBaseEntity", "m_CBodyComponent"); } diff --git a/jRandomSkills - SRC Files/src/player/skills/ExplosiveShot.cs b/jRandomSkills - SRC Files/src/player/skills/ExplosiveShot.cs index 7596a2a..816ce41 100644 --- a/jRandomSkills - SRC Files/src/player/skills/ExplosiveShot.cs +++ b/jRandomSkills - SRC Files/src/player/skills/ExplosiveShot.cs @@ -26,8 +26,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "ChanceTo") - SkillsInfo.GetValue(skillName, "ChanceFrom")) + SkillsInfo.GetValue(skillName, "ChanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Impostor.cs b/jRandomSkills - SRC Files/src/player/skills/Impostor.cs index 0910e18..a226fd4 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Impostor.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Impostor.cs @@ -1,3 +1,4 @@ +using System.Collections.Concurrent; using System.Drawing; using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; @@ -11,22 +12,33 @@ namespace src.player.skills { private const Skills skillName = Skills.Impostor; private static readonly string defaultCTModel = "characters/models/ctm_sas/ctm_sas.vmdl"; - private static readonly string defaultTModel = "characters/models/tm_phoenix_heavy/tm_phoenix_heavy.vmdl"; + private static readonly string defaultTModel = "characters/models/tm_phoenix/tm_phoenix.vmdl"; + private static readonly ConcurrentDictionary originalModels = []; public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); } + public static void NewRound() + { + originalModels.Clear(); + } + public static void EnableSkill(CCSPlayerController player) { string model = GetEnemyModel(player); + if (player.PlayerPawn.Value != null && player.PlayerPawn.Value.IsValid && player.PlayerPawn.Value.CBodyComponent != null && player.PlayerPawn.Value.CBodyComponent.SceneNode != null) + originalModels.TryAdd(player.SteamID, player.PlayerPawn.Value.CBodyComponent.SceneNode.GetSkeletonInstance().ModelState.ModelName); SetPlayerModel(player, model); } public static void DisableSkill(CCSPlayerController player) { - SetPlayerModel(player, player.Team == CsTeam.Terrorist ? defaultTModel : defaultCTModel); + var model = originalModels.TryGetValue(player.SteamID, out var originalModel) && !string.IsNullOrEmpty(originalModel) ? originalModel : + player.Team == CsTeam.Terrorist ? defaultTModel : defaultCTModel; + SetPlayerModel(player, model); + originalModels.TryRemove(player.SteamID, out _); } private static string GetEnemyModel(CCSPlayerController player) diff --git a/jRandomSkills - SRC Files/src/player/skills/Jackal.cs b/jRandomSkills - SRC Files/src/player/skills/Jackal.cs index 322a2f2..f5bc9b0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Jackal.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Jackal.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class Jackal : ISkill { private const Skills skillName = Skills.Jackal; + private static readonly ConcurrentDictionary playersInAction = []; private static readonly ConcurrentDictionary> stepBeams = []; public static void LoadSkill() @@ -26,6 +27,7 @@ namespace src.player.skills if (beam != null && beam.IsValid) beam.AcceptInput("Kill"); stepBeams.Clear(); + playersInAction.Clear(); } public static void OnTick() @@ -102,9 +104,10 @@ namespace src.player.skills return beam; } - public static void EnableSkill(CCSPlayerController _) + public static void EnableSkill(CCSPlayerController player) { Event.EnableTransmit(); + playersInAction.TryAdd(player.SteamID, 0); foreach (var _player in Utilities.GetPlayers().Where(p => p.IsValid && !p.IsBot && !p.IsHLTV && p.PawnIsAlive && p.Team is CsTeam.CounterTerrorist or CsTeam.Terrorist)) if (!stepBeams.ContainsKey(_player)) stepBeams.TryAdd(_player, []); @@ -112,11 +115,8 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { - var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); - if (playerInfo == null) return; - - playerInfo.Skill = Skills.None; - if (!Instance.SkillPlayer.Any(s => s.Skill == skillName)) + playersInAction.TryRemove(player.SteamID, out _); + if (playersInAction.IsEmpty) NewRound(); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Jester.cs b/jRandomSkills - SRC Files/src/player/skills/Jester.cs index 6543769..b825824 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Jester.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Jester.cs @@ -2,6 +2,7 @@ using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; using CounterStrikeSharp.API.Modules.Utils; using src.utils; +using System.Collections.Concurrent; using System.Drawing; using static src.jRandomSkills; @@ -12,6 +13,8 @@ namespace src.player.skills private const Skills skillName = Skills.Jester; private static bool jesterMode = false; private static bool jesterStarted = false; + public static bool GetJesterMode() => jesterMode; + private static readonly ConcurrentBag jesters = []; public static void LoadSkill() { @@ -21,11 +24,17 @@ namespace src.player.skills public static void NewRound() { jesterStarted = false; + foreach (var jester in jesters) + if (jester != null && jester.IsValid) + DisableSkill(jester); + jesters.Clear(); } public static void DisableSkill(CCSPlayerController player) { SkillUtils.ResetPrintHTML(player); + if (player.PlayerPawn.Value == null || !player.PlayerPawn.Value.IsValid) return; + SetPlayerColor(player.PlayerPawn.Value, true); } public static void PlayerHurt(EventPlayerHurt @event) @@ -35,10 +44,17 @@ namespace src.player.skills var victim = @event.Userid; int hitgroup = @event.Hitgroup; - if (!Instance.IsPlayerValid(attacker) || !Instance.IsPlayerValid(victim)) return; - var attackerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == attacker?.SteamID); + if (!Instance.IsPlayerValid(victim)) return; var victimInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == victim?.SteamID); + if (!Instance.IsPlayerValid(attacker)) + { + if (victimInfo?.Skill == skillName) + RestoreHealth(victim!, @event.DmgHealth); + return; + } + + var attackerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == attacker?.SteamID); if (attackerInfo?.Skill == skillName || victimInfo?.Skill == skillName) RestoreHealth(victim!, @event.DmgHealth); } @@ -89,9 +105,9 @@ namespace src.player.skills } } - private static void SetPlayerColor(CCSPlayerPawn pawn) + private static void SetPlayerColor(CCSPlayerPawn pawn, bool forceDisable = false) { - var color = jesterMode ? Color.FromArgb(255, 128, 0, 128) : Color.FromArgb(255, 255, 255, 255); + var color = jesterMode && !forceDisable ? Color.FromArgb(255, 128, 0, 128) : Color.FromArgb(255, 255, 255, 255); pawn.Render = color; Utilities.SetStateChanged(pawn, "CBaseModelEntity", "m_clrRender"); } diff --git a/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs b/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs index 9e5e327..553fcb2 100644 --- a/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs +++ b/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs @@ -7,6 +7,7 @@ using CS2TraceRay.Class; using CS2TraceRay.Enum; using CS2TraceRay.Struct; using src.utils; +using System.Collections.Concurrent; using System.Drawing; using System.Numerics; using static src.jRandomSkills; @@ -20,6 +21,7 @@ namespace src.player.skills private static bool hooked = false; private const int actionCode = 503; + private static readonly ConcurrentDictionary playersInAction = []; private static readonly MemoryFunctionVoid Shoot_Secondary = new(GameData.GetSignature("Shoot_Secondary")); public static void LoadSkill() @@ -29,23 +31,23 @@ namespace src.player.skills public static void NewRound() { + playersInAction.Clear(); + hooked = false; Shoot_Secondary.Unhook(ShootSecondary, HookMode.Pre); } - public static void EnableSkill(CCSPlayerController _) + public static void EnableSkill(CCSPlayerController player) { if (hooked) return; hooked = true; Shoot_Secondary.Hook(ShootSecondary, HookMode.Pre); + playersInAction.TryAdd(player.SteamID, 0); } public static void DisableSkill(CCSPlayerController player) { - var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); - if (playerInfo == null) return; - - playerInfo.Skill = Skills.None; - if (!Instance.SkillPlayer.Any(p => p.Skill == skillName)) + playersInAction.TryRemove(player.SteamID, out _); + if (playersInAction.IsEmpty) { Shoot_Secondary.Unhook(ShootSecondary, HookMode.Pre); hooked = false; diff --git a/jRandomSkills - SRC Files/src/player/skills/Phoenix.cs b/jRandomSkills - SRC Files/src/player/skills/Phoenix.cs index eafa0e4..85d1c18 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Phoenix.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Phoenix.cs @@ -41,8 +41,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "ChanceTo") - SkillsInfo.GetValue(skillName, "ChanceFrom")) + SkillsInfo.GetValue(skillName, "ChanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Push.cs b/jRandomSkills - SRC Files/src/player/skills/Push.cs index df8f809..43a8d61 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Push.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Push.cs @@ -37,8 +37,6 @@ namespace src.player.skills if (playerInfo == null) return; float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "ChanceTo") - SkillsInfo.GetValue(skillName, "ChanceFrom")) + SkillsInfo.GetValue(skillName, "ChanceFrom"); playerInfo.SkillChance = newChance; - newChance = (float)Math.Round(newChance, 2) * 100; - newChance = (float)Math.Round(newChance); SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } @@ -56,7 +54,7 @@ namespace src.player.skills player.PlayerPawn.Value.Teleport(currentPosition, currentAngles, newVelocity); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1e9ab0", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, float chanceFrom = 1f, float chanceTo = 1f, float jumpVelocity = 300f, float pushVelocity = 400f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1e9ab0", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, float chanceFrom = .3f, float chanceTo = .4f, float jumpVelocity = 300f, float pushVelocity = 400f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates) { public float ChanceFrom { get; set; } = chanceFrom; public float ChanceTo { get; set; } = chanceTo; diff --git a/jRandomSkills - SRC Files/src/player/skills/Shade.cs b/jRandomSkills - SRC Files/src/player/skills/Shade.cs index 5857f1b..8a2efca 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Shade.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Shade.cs @@ -19,7 +19,7 @@ namespace src.player.skills public static void LoadSkill() { - SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color"), false); } public static void NewRound() @@ -38,7 +38,17 @@ namespace src.player.skills var attackerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == attacker?.SteamID); if (attackerInfo?.Skill == skillName) - TeleportAttackerBehindVictim(attacker!, victim!); + if (Instance.Random.NextDouble() <= attackerInfo.SkillChance) + TeleportAttackerBehindVictim(attacker!, victim!); + } + + public static void EnableSkill(CCSPlayerController player) + { + var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); + if (playerInfo == null) return; + float newChance = (float)Instance.Random.NextDouble() * (SkillsInfo.GetValue(skillName, "ChanceTo") - SkillsInfo.GetValue(skillName, "ChanceFrom")) + SkillsInfo.GetValue(skillName, "ChanceFrom"); + playerInfo.SkillChance = newChance; + SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(skillName)}{ChatColors.Lime}: {player.GetSkillDescription(skillName, newChance)}", false); } public static void DisableSkill(CCSPlayerController player) @@ -109,9 +119,11 @@ namespace src.player.skills noSpace.AddOrUpdate(attacker, Server.TickCount + (64 * 2), (k, v) => Server.TickCount + (64 * 2)); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#4d4d4d", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, float teleportDistance = 100f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#4d4d4d", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, float teleportDistance = 100f, float chanceFrom = .3f, float chanceTo = .45f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates) { public float TeleportDistance { get; set; } = teleportDistance; + public float ChanceFrom { get; set; } = chanceFrom; + public float ChanceTo { get; set; } = chanceTo; } } } diff --git a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs index 631b9ee..ce6892c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class Wallhack : ISkill { private const Skills skillName = Skills.Wallhack; + private static readonly ConcurrentDictionary playersInAction = []; private static readonly ConcurrentBag<(CDynamicProp, CDynamicProp, CsTeam)> glows = []; public static void LoadSkill() @@ -50,22 +51,21 @@ namespace src.player.skills glow.Item2.AcceptInput("Kill"); } glows.Clear(); + playersInAction.Clear(); } - public static void EnableSkill(CCSPlayerController _) + public static void EnableSkill(CCSPlayerController player) { Event.EnableTransmit(); + playersInAction.TryAdd(player.SteamID, 0); if (glows.IsEmpty) SetGlowEffectForAll(); } public static void DisableSkill(CCSPlayerController player) { - var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); - if (playerInfo == null) return; - - playerInfo.Skill = Skills.None; - if (!Instance.SkillPlayer.Any(s => s.Skill == skillName)) + playersInAction.TryRemove(player.SteamID, out _); + if (playersInAction.IsEmpty) NewRound(); } diff --git a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs index 2832385..1cba23b 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs @@ -8,9 +8,9 @@ using CounterStrikeSharp.API.Modules.Utils; using System.Runtime.InteropServices; using WASDMenuAPI.Classes; using WASDSharedAPI; -using static CounterStrikeSharp.API.Core.Listeners; using System.Collections.Concurrent; using src.player; +using src.player.skills; namespace src.utils { @@ -97,6 +97,14 @@ namespace src.utils if (pawn == null || !pawn.IsValid || pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + if (pawn.Controller.Value != null && pawn.Controller.Value.IsValid) + { + var playerInfo = jRandomSkills.Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == pawn.Controller.Value.SteamID); + if (playerInfo == null) return; + if (playerInfo.Skill == Skills.Jester && Jester.GetJesterMode()) + return; + } + int newHealth = (int)(pawn.Health - damage); pawn.Health = newHealth; Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iHealth"); diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/!jRandomSkills.dll b/jRandomSkills - Server Files/plugins/!jRandomSkills/!jRandomSkills.dll index 92ce4ee..87f1aec 100644 Binary files a/jRandomSkills - Server Files/plugins/!jRandomSkills/!jRandomSkills.dll and b/jRandomSkills - Server Files/plugins/!jRandomSkills/!jRandomSkills.dll differ diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/configs/skillsInfo.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/configs/skillsInfo.json index 1b2a293..fe549e8 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/configs/skillsInfo.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/configs/skillsInfo.json @@ -3,292 +3,327 @@ "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#ff0000", + "Color": "#fbff00", "Active": true, - "Name": "Aimbot" + "Name": "Zeus" + }, + { + "Cooldown": 30.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#c7e03a", + "Active": true, + "Name": "WeaponsSwap" + }, + { + "ChangeRoundTime": 10, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ff462e", + "Active": true, + "Name": "Watchmaker" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#5d00ff", + "Active": true, + "Name": "Wallhack" + }, + { + "SmokeDamage": 2, + "SmokeRadius": 180.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#507529", + "Active": true, + "Name": "ToxicSmoke" + }, + { + "HealthTakenScale": 0.3, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#962631", + "Active": true, + "Name": "Thorns" + }, + { + "Distance": 100.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#1b04cc", + "Active": true, + "Name": "ThirdEye" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#adaec7", + "Active": true, + "Name": "Thief" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8A2BE2", + "Active": true, + "Name": "Teleporter" + }, + { + "Cooldown": 30.0, + "CooldownBeforeUse": 10.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "OnlyTeam": 0, + "Color": "#1466F5", + "Active": true, + "Name": "SwapPosition" + }, + { + "Distance": 100.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#42f5da", + "Active": true, + "Name": "Spectator" + }, + { + "Cooldown": 5.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#e3ed8c", + "Active": true, + "Name": "SoundMaker" + }, + { + "ChanceFrom": 1.15, + "ChanceTo": 1.35, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#09ba00", + "Active": true, + "Name": "Soldier" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#e0873a", + "Active": true, + "Name": "SniperElite" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#333333", + "Active": true, + "Name": "Silent" + }, + { + "DetonationTime": 20, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 2, + "Color": "#f5b74c", + "Active": true, + "Name": "ShortBomb" + }, + { + "TeleportDistance": 100.0, + "ChanceFrom": 0.3, + "ChanceTo": 0.45, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#4d4d4d", + "Active": true, + "Name": "Shade" + }, + { + "StartHealth": 50, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#d41c1c", + "Active": true, + "Name": "SecondLife" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8A2BE2", + "Active": true, + "Name": "Saper" + }, + { + "SlownessTime": 2.0, + "SlownessModifier": 0.2, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8B4513", + "Active": true, + "Name": "Rubber" + }, + { + "MoneyMultiplier": 35, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#119125", + "Active": true, + "Name": "RobinHood" + }, + { + "MinMoney": 5000, + "MaxMoney": 15000, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#D4AF37", + "Active": true, + "Name": "RichBoy" + }, + { + "ZombieHealth": 200, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ff5C0A", + "Active": true, + "Name": "ReZombie" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#a68132", + "Active": true, + "Name": "ReturnToSender" }, { - "SecondsInBack": 5, "Cooldown": 15.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, "OnlyTeam": 0, "Color": "#a86eff", "Active": true, - "Name": "Anomaly" - }, - { - "FlashDuration": 7.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#D6E6FF", - "Active": true, - "Name": "AntyFlash" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8B4513", - "Active": true, - "Name": "AntyHead" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 3, - "Color": "#edf5b5", - "Active": true, - "Name": "AreaReaper" - }, - { - "ChanceFrom": 0.65, - "ChanceTo": 0.85, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#d1430a", - "Active": true, - "Name": "Armored" - }, - { - "DamageMultiplier": 2.0, - "ToleranceDeg": 45.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#d9d9d9", - "Active": true, - "Name": "Assassin" - }, - { - "ChanceFrom": 0.1, - "ChanceTo": 0.7, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#7E10AD", - "Active": true, - "Name": "Astronaut" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#abab33", - "Active": true, - "Name": "Bankrupt" - }, - { - "SpeedMultipier": 2.0, - "MaxSpeed": 900.0, - "DamageDeal": 9999.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#2effc7", - "Active": true, - "Name": "Baseball" - }, - { - "ChanceFrom": 0.2, - "ChanceTo": 0.4, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#00FF00", - "Active": true, - "Name": "Behind" - }, - { - "TorseReflectionChance": 0.95, - "LegReflectionChance": 0.8, - "VelocityModifier": 0.85, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#cc7504", - "Active": true, - "Name": "BladeMaster" - }, - { - "MaxSpeed": 500.0, - "JumpVelocity": 300.0, - "JumpBoost": 2.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#d1430a", - "Active": true, - "Name": "BunnyHop" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 2, - "Color": "#00911f", - "Active": true, - "Name": "C4Camouflage" - }, - { - "ChanceFrom": 0.2, - "ChanceTo": 0.4, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#FF4500", - "Active": true, - "Name": "Catapult" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#FF8B42", - "Active": true, - "Name": "Chicken" - }, - { - "BombArmedTime": 10.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 3, - "Color": "#343deb", - "Active": true, - "Name": "ChillOut" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#88a31a", - "Active": true, - "Name": "Cutter" - }, - { - "Brightness": 0.01, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#383838", - "Active": true, - "Name": "Darkness" - }, - { - "JumpVelocity": 150.0, - "PushVelocity": 600.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#42bbfc", - "Active": true, - "Name": "Dash" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#919191", - "Active": true, - "Name": "Deactivator" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#dae01f", - "Active": true, - "Name": "Deaf" - }, - { - "ChanceFrom": 0.2, - "ChanceTo": 0.35, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#FF4500", - "Active": true, - "Name": "Disarmament" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#00f2ff", - "Active": true, - "Name": "Distancer" - }, - { - "HealthRegainScale": 0.3, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#FA050D", - "Active": true, - "Name": "Dracula" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ffb73b", - "Active": true, - "Name": "Duplicator" - }, - { - "MinScale": 0.6, - "MaxScale": 0.95, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ffff00", - "Active": true, - "Name": "Dwarf" - }, - { - "Cooldown": 16.0, - "Amplitude": 15.0, - "Frequency": 500.0, - "Duration": 8.0, - "Radius": 50.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#42f59b", - "Active": false, - "Name": "Earthquake" + "Name": "Retreat" }, { "Cooldown": 15.0, - "CooldownBeforeUse": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, "OnlyTeam": 0, - "Color": "#ff8c92", + "Color": "#a3000b", "Active": true, - "Name": "EnemySpawn" + "Name": "Replicator" }, { - "Damage": 25.0, - "DamageRadius": 210.0, - "ChanceFrom": 0.15, - "ChanceTo": 0.3, + "HealthToAdd": 1, + "Cooldown": 0.25, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#9c0000", + "Color": "#ff462e", "Active": true, - "Name": "ExplosiveShot" + "Name": "Regeneration" }, { - "Distance": 1000.0, + "Cooldown": 15.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#d1f542", + "Color": "#3cded3", "Active": true, - "Name": "FalconEye" + "Name": "ReactiveArmor" + }, + { + "Cooldown": 15.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#e0873a", + "Active": true, + "Name": "RandomWeapon" + }, + { + "MinExtraHealth": 50, + "MaxExtraHealth": 501, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#009905", + "Active": true, + "Name": "Rambo" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#2effcb", + "Active": true, + "Name": "RadarHack" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8a42f5", + "Active": true, + "Name": "QuickShot" + }, + { + "RegenerationMultiplier": 1.5, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#3c47de", + "Active": true, + "Name": "Pyro" + }, + { + "ChanceFrom": 0.3, + "ChanceTo": 0.4, + "JumpVelocity": 300.0, + "PushVelocity": 400.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#1e9ab0", + "Active": true, + "Name": "Push" + }, + { + "MaxDefusingRange": 80.0, + "DefusingTime": 10.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 3, + "Color": "#507529", + "Active": true, + "Name": "PsychicDefusing" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#9c9c9c", + "Active": true, + "Name": "Prosthesis" }, { "NeedsTeammates": false, @@ -296,65 +331,81 @@ "OnlyTeam": 0, "Color": "#ffc061", "Active": true, - "Name": "FastReload" + "Name": "PrimaryBan" }, { - "ChanceFrom": 1.2, - "ChanceTo": 3.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#A31912", - "Active": true, - "Name": "Flash" - }, - { - "Cooldown": 2.0, - "BarricadeHealth": 115, - "PropModel": "models/props/de_aztec/hr_aztec/aztec_scaffolding/aztec_scaffold_wall_support_128.vmdl", + "Damage": 1, + "Cooldown": 1.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, "OnlyTeam": 0, - "Color": "#1b04cc", + "Color": "#902eff", "Active": true, - "Name": "Fortnite" + "Name": "Poison" }, { - "MaxBombHealth": 1000, + "ExtraC4BlowTime": 60, "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 3, - "Color": "#5d00ff", + "DisableOnFreezeTime": true, + "OnlyTeam": 2, + "Color": "#7d7d7d", "Active": true, - "Name": "FragileBomb" + "Name": "Planter" }, { - "HealthMultiplier": 1.5, - "NeedsTeammates": true, - "DisableOnFreezeTime": false, + "MaximumFuel": 150.0, + "FuelConsumption": 0.64, + "Refuelling": 0.1, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, "OnlyTeam": 0, - "Color": "#ff0000", + "Color": "#1466F5", "Active": true, - "Name": "FriendlyFire" + "Name": "Pilot" }, { - "TriggerRadius": 180.0, - "SlownessMultiplier": 5, + "ChanceFrom": 0.2, + "ChanceTo": 0.4, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#00eaff", + "Color": "#ff5C0A", "Active": true, - "Name": "FrozenDecoy" + "Name": "Phoenix" }, { - "RefreshPrice": 150, + "ExtraJumpsMin": 1, + "ExtraJumpsMax": 4, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#7eff47", + "Color": "#FFA500", "Active": true, - "Name": "Gambler" + "Name": "PawelJumper" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#3c47de", + "Active": true, + "Name": "OnlyHead" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ff5CD9", + "Active": true, + "Name": "OneShot" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8a42f5", + "Active": true, + "Name": "NoRecoil" }, { "NeedsTeammates": false, @@ -362,31 +413,15 @@ "OnlyTeam": 0, "Color": "#FFFFFF", "Active": true, - "Name": "Ghost" + "Name": "None" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#5d00ff", + "Color": "#a38c1a", "Active": true, - "Name": "Glaz" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#f542ef", - "Active": true, - "Name": "Glitch" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#fff52e", - "Active": true, - "Name": "Glue" + "Name": "NoNades" }, { "Cooldown": 30.0, @@ -394,79 +429,110 @@ "NeedsTeammates": false, "DisableOnFreezeTime": true, "OnlyTeam": 0, - "Color": "#e0d83a", + "Color": "#44ebd4", "Active": true, - "Name": "GodMode" + "Name": "Noclip" + }, + { + "IdlePercentInvisibility": 0.3, + "DuckPercentInvisibility": 0.3, + "KnifePercentInvisibility": 0.3, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#dedede", + "Active": true, + "Name": "Ninja" + }, + { + "ExplosionRadius": 500.0, + "ExplosionDamage": 999, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#F5CB42", + "Active": true, + "Name": "Muhammed" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#4a6e21", + "Color": "#52f54c", "Active": true, - "Name": "Grenadier" + "Name": "MoneySwap" }, { - "SmokeHeal": 1, - "SmokeRadius": 180.0, + "HealthToAdd": 50, + "HealthShotLimit": 3, + "Cooldown": 1.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "OnlyTeam": 0, + "Color": "#10c212", + "Active": true, + "Name": "Medic" + }, + { + "CustomFOV": 50, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#1fe070", + "Color": "#9ba882", "Active": true, - "Name": "HealingSmoke" + "Name": "Magnifier" }, { - "HealthToAdd": 25, + "MaxDistance": 4096.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#ded678", + "Color": "#6effc7", "Active": true, - "Name": "Hermit" + "Name": "LongZeus" }, { - "DamageMultiplier": 2.0, - "DamageRadiusMultiplier": 2.0, + "MaxDistance": 4096.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#ffdd00", + "Color": "#c9f8ff", "Active": true, - "Name": "HolyHandGrenade" + "Name": "LongKnife" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#99140B", + "Color": "#a3651a", "Active": true, - "Name": "Impostor" + "Name": "LifeSwap" + }, + { + "FlashDuration": 1.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#57bcff", + "Active": true, + "Name": "KillerFlash" + }, + { + "HealthToAdd": 3, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#a86eff", + "Active": true, + "Name": "JumpingJack" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#0000FF", + "Color": "#b01e5d", "Active": true, - "Name": "InfiniteAmmo" - }, - { - "MaxStepBeam": 100, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#f542ef", - "Active": true, - "Name": "Jackal" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#42f5a7", - "Active": true, - "Name": "Jammer" + "Name": "JumpBan" }, { "MinTime": 10.0, @@ -482,102 +548,71 @@ "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#b01e5d", + "Color": "#42f5a7", "Active": true, - "Name": "JumpBan" + "Name": "Jammer" }, { - "HealthToAdd": 3, + "MaxStepBeam": 100, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#a86eff", + "Color": "#f542ef", "Active": true, - "Name": "JumpingJack" - }, - { - "FlashDuration": 1.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#57bcff", - "Active": true, - "Name": "KillerFlash" + "Name": "Jackal" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#a3651a", + "Color": "#0000FF", "Active": true, - "Name": "LifeSwap" - }, - { - "MaxDistance": 4096.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#c9f8ff", - "Active": true, - "Name": "LongKnife" - }, - { - "MaxDistance": 4096.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#6effc7", - "Active": true, - "Name": "LongZeus" - }, - { - "CustomFOV": 50, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#9ba882", - "Active": true, - "Name": "Magnifier" - }, - { - "HealthToAdd": 50, - "HealthShotLimit": 3, - "Cooldown": 1.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#10c212", - "Active": true, - "Name": "Medic" + "Name": "InfiniteAmmo" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#52f54c", + "Color": "#99140B", "Active": true, - "Name": "MoneySwap" + "Name": "Impostor" }, { - "ExplosionRadius": 500.0, - "ExplosionDamage": 999, + "DamageMultiplier": 2.0, + "DamageRadiusMultiplier": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#F5CB42", + "Color": "#ffdd00", "Active": true, - "Name": "Muhammed" + "Name": "HolyHandGrenade" }, { - "IdlePercentInvisibility": 0.3, - "DuckPercentInvisibility": 0.3, - "KnifePercentInvisibility": 0.3, + "HealthToAdd": 25, "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#dedede", + "Color": "#ded678", "Active": true, - "Name": "Ninja" + "Name": "Hermit" + }, + { + "SmokeHeal": 1, + "SmokeRadius": 180.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#1fe070", + "Active": true, + "Name": "HealingSmoke" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#4a6e21", + "Active": true, + "Name": "Grenadier" }, { "Cooldown": 30.0, @@ -585,397 +620,25 @@ "NeedsTeammates": false, "DisableOnFreezeTime": true, "OnlyTeam": 0, - "Color": "#44ebd4", + "Color": "#e0d83a", "Active": true, - "Name": "Noclip" + "Name": "GodMode" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#a38c1a", + "Color": "#fff52e", "Active": true, - "Name": "NoNades" + "Name": "Glue" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#FFFFFF", + "Color": "#f542ef", "Active": true, - "Name": "None" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8a42f5", - "Active": true, - "Name": "NoRecoil" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ff5CD9", - "Active": true, - "Name": "OneShot" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#3c47de", - "Active": true, - "Name": "OnlyHead" - }, - { - "ExtraJumpsMin": 1, - "ExtraJumpsMax": 4, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#FFA500", - "Active": true, - "Name": "PawelJumper" - }, - { - "ChanceFrom": 0.2, - "ChanceTo": 0.4, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ff5C0A", - "Active": true, - "Name": "Phoenix" - }, - { - "MaximumFuel": 150.0, - "FuelConsumption": 0.64, - "Refuelling": 0.1, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#1466F5", - "Active": true, - "Name": "Pilot" - }, - { - "ExtraC4BlowTime": 60, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 2, - "Color": "#7d7d7d", - "Active": true, - "Name": "Planter" - }, - { - "Damage": 1, - "Cooldown": 1.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#902eff", - "Active": true, - "Name": "Poison" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ffc061", - "Active": true, - "Name": "PrimaryBan" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#9c9c9c", - "Active": true, - "Name": "Prosthesis" - }, - { - "MaxDefusingRange": 80.0, - "DefusingTime": 10.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 3, - "Color": "#507529", - "Active": true, - "Name": "PsychicDefusing" - }, - { - "ChanceFrom": 1.0, - "ChanceTo": 1.0, - "JumpVelocity": 300.0, - "PushVelocity": 400.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#1e9ab0", - "Active": true, - "Name": "Push" - }, - { - "RegenerationMultiplier": 1.5, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#3c47de", - "Active": true, - "Name": "Pyro" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8a42f5", - "Active": true, - "Name": "QuickShot" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#2effcb", - "Active": true, - "Name": "RadarHack" - }, - { - "MinExtraHealth": 50, - "MaxExtraHealth": 501, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#009905", - "Active": true, - "Name": "Rambo" - }, - { - "Cooldown": 15.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#e0873a", - "Active": true, - "Name": "RandomWeapon" - }, - { - "Cooldown": 15.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#3cded3", - "Active": true, - "Name": "ReactiveArmor" - }, - { - "HealthToAdd": 1, - "Cooldown": 0.25, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ff462e", - "Active": true, - "Name": "Regeneration" - }, - { - "Cooldown": 15.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#a3000b", - "Active": true, - "Name": "Replicator" - }, - { - "Cooldown": 15.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#a86eff", - "Active": true, - "Name": "Retreat" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#a68132", - "Active": true, - "Name": "ReturnToSender" - }, - { - "ZombieHealth": 200, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ff5C0A", - "Active": true, - "Name": "ReZombie" - }, - { - "MinMoney": 5000, - "MaxMoney": 15000, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#D4AF37", - "Active": true, - "Name": "RichBoy" - }, - { - "MoneyMultiplier": 35, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#119125", - "Active": true, - "Name": "RobinHood" - }, - { - "SlownessTime": 2.0, - "SlownessModifier": 0.2, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8B4513", - "Active": true, - "Name": "Rubber" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8A2BE2", - "Active": true, - "Name": "Saper" - }, - { - "StartHealth": 50, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#d41c1c", - "Active": true, - "Name": "SecondLife" - }, - { - "TeleportDistance": 100.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#4d4d4d", - "Active": true, - "Name": "Shade" - }, - { - "DetonationTime": 20, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 2, - "Color": "#f5b74c", - "Active": true, - "Name": "ShortBomb" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#333333", - "Active": true, - "Name": "Silent" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#e0873a", - "Active": true, - "Name": "SniperElite" - }, - { - "ChanceFrom": 1.15, - "ChanceTo": 1.35, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#09ba00", - "Active": true, - "Name": "Soldier" - }, - { - "Cooldown": 5.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#e3ed8c", - "Active": true, - "Name": "SoundMaker" - }, - { - "Distance": 100.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#42f5da", - "Active": true, - "Name": "Spectator" - }, - { - "Cooldown": 30.0, - "CooldownBeforeUse": 10.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": true, - "OnlyTeam": 0, - "Color": "#1466F5", - "Active": true, - "Name": "SwapPosition" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#8A2BE2", - "Active": true, - "Name": "Teleporter" - }, - { - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#adaec7", - "Active": true, - "Name": "Thief" - }, - { - "Distance": 100.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#1b04cc", - "Active": true, - "Name": "ThirdEye" - }, - { - "HealthTakenScale": 0.3, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#962631", - "Active": true, - "Name": "Thorns" - }, - { - "SmokeDamage": 2, - "SmokeRadius": 180.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#507529", - "Active": true, - "Name": "ToxicSmoke" + "Name": "Glitch" }, { "NeedsTeammates": false, @@ -983,32 +646,371 @@ "OnlyTeam": 0, "Color": "#5d00ff", "Active": true, - "Name": "Wallhack" - }, - { - "ChangeRoundTime": 10, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#ff462e", - "Active": true, - "Name": "Watchmaker" - }, - { - "Cooldown": 30.0, - "NeedsTeammates": false, - "DisableOnFreezeTime": false, - "OnlyTeam": 0, - "Color": "#c7e03a", - "Active": true, - "Name": "WeaponsSwap" + "Name": "Glaz" }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, "OnlyTeam": 0, - "Color": "#fbff00", + "Color": "#FFFFFF", "Active": true, - "Name": "Zeus" + "Name": "Ghost" + }, + { + "RefreshPrice": 150, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#7eff47", + "Active": true, + "Name": "Gambler" + }, + { + "TriggerRadius": 180.0, + "SlownessMultiplier": 5, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#00eaff", + "Active": true, + "Name": "FrozenDecoy" + }, + { + "HealthMultiplier": 1.5, + "NeedsTeammates": true, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ff0000", + "Active": true, + "Name": "FriendlyFire" + }, + { + "MaxBombHealth": 1000, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 3, + "Color": "#5d00ff", + "Active": true, + "Name": "FragileBomb" + }, + { + "Cooldown": 2.0, + "BarricadeHealth": 115, + "PropModel": "models/props/de_aztec/hr_aztec/aztec_scaffolding/aztec_scaffold_wall_support_128.vmdl", + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "OnlyTeam": 0, + "Color": "#1b04cc", + "Active": true, + "Name": "Fortnite" + }, + { + "ChanceFrom": 1.2, + "ChanceTo": 3.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#A31912", + "Active": true, + "Name": "Flash" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ffc061", + "Active": true, + "Name": "FastReload" + }, + { + "Distance": 1000.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#d1f542", + "Active": true, + "Name": "FalconEye" + }, + { + "Damage": 25.0, + "DamageRadius": 210.0, + "ChanceFrom": 0.15, + "ChanceTo": 0.3, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#9c0000", + "Active": true, + "Name": "ExplosiveShot" + }, + { + "Cooldown": 15.0, + "CooldownBeforeUse": 10.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "OnlyTeam": 0, + "Color": "#ff8c92", + "Active": true, + "Name": "EnemySpawn" + }, + { + "Cooldown": 16.0, + "Amplitude": 15.0, + "Frequency": 500.0, + "Duration": 8.0, + "Radius": 50.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#42f59b", + "Active": false, + "Name": "Earthquake" + }, + { + "MinScale": 0.6, + "MaxScale": 0.95, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ffff00", + "Active": true, + "Name": "Dwarf" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ffb73b", + "Active": true, + "Name": "Duplicator" + }, + { + "HealthRegainScale": 0.3, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#FA050D", + "Active": true, + "Name": "Dracula" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#00f2ff", + "Active": true, + "Name": "Distancer" + }, + { + "ChanceFrom": 0.2, + "ChanceTo": 0.35, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#FF4500", + "Active": true, + "Name": "Disarmament" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#dae01f", + "Active": true, + "Name": "Deaf" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#919191", + "Active": true, + "Name": "Deactivator" + }, + { + "JumpVelocity": 150.0, + "PushVelocity": 600.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#42bbfc", + "Active": true, + "Name": "Dash" + }, + { + "Brightness": 0.01, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#383838", + "Active": true, + "Name": "Darkness" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#88a31a", + "Active": true, + "Name": "Cutter" + }, + { + "BombArmedTime": 10.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 3, + "Color": "#343deb", + "Active": true, + "Name": "ChillOut" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#FF8B42", + "Active": true, + "Name": "Chicken" + }, + { + "ChanceFrom": 0.2, + "ChanceTo": 0.4, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#FF4500", + "Active": true, + "Name": "Catapult" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 2, + "Color": "#00911f", + "Active": true, + "Name": "C4Camouflage" + }, + { + "MaxSpeed": 500.0, + "JumpVelocity": 300.0, + "JumpBoost": 2.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#d1430a", + "Active": true, + "Name": "BunnyHop" + }, + { + "TorseReflectionChance": 0.95, + "LegReflectionChance": 0.8, + "VelocityModifier": 0.85, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#cc7504", + "Active": true, + "Name": "BladeMaster" + }, + { + "ChanceFrom": 0.2, + "ChanceTo": 0.4, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#00FF00", + "Active": true, + "Name": "Behind" + }, + { + "SpeedMultipier": 2.0, + "MaxSpeed": 900.0, + "DamageDeal": 9999.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#2effc7", + "Active": true, + "Name": "Baseball" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#abab33", + "Active": true, + "Name": "Bankrupt" + }, + { + "ChanceFrom": 0.1, + "ChanceTo": 0.7, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#7E10AD", + "Active": true, + "Name": "Astronaut" + }, + { + "DamageMultiplier": 2.0, + "ToleranceDeg": 45.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#d9d9d9", + "Active": true, + "Name": "Assassin" + }, + { + "ChanceFrom": 0.65, + "ChanceTo": 0.85, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#d1430a", + "Active": true, + "Name": "Armored" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 3, + "Color": "#edf5b5", + "Active": true, + "Name": "AreaReaper" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#8B4513", + "Active": true, + "Name": "AntyHead" + }, + { + "FlashDuration": 7.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#D6E6FF", + "Active": true, + "Name": "AntyFlash" + }, + { + "SecondsInBack": 5, + "Cooldown": 15.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "OnlyTeam": 0, + "Color": "#a86eff", + "Active": true, + "Name": "Anomaly" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "OnlyTeam": 0, + "Color": "#ff0000", + "Active": true, + "Name": "Aimbot" } ] \ No newline at end of file diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/en.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/en.json index d3b93e4..4ed4dc9 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/en.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/en.json @@ -345,7 +345,8 @@ "secondlife_desc": "After death, you respawn with the same amount of health", "shade": "Shade", - "shade_desc": "You teleport behind the back of a hit enemy", + "shade_desc": "You have a random chance to teleport behind the back of a hit enemy", + "shade_desc2": "Your chances of teleporting behind a hit enemy are: {0}%", "shade_nospace": "No space available", "shortbomb": "Short Fuse", diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/fr.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/fr.json index d5548be..bd95294 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/fr.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/fr.json @@ -346,6 +346,7 @@ "shade": "Ombre", "shade_desc": "Vous vous téléportez derrière l’ennemi touché", + "shade_desc2": "Vos chances de vous téléporter derrière un ennemi touché sont de: {0}%", "shade_nospace": "Aucun espace disponible", "shortbomb": "Mèche Courte", diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pl.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pl.json index 60a9b5f..946e5dc 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pl.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pl.json @@ -345,7 +345,8 @@ "secondlife_desc": "Po śmierci odradzasz się z taką samą ilością zdrowia", "shade": "Cień", - "shade_desc": "Teleportujesz się za plecy trafionego wroga", + "shade_desc": "Masz losową szansę na teleportację za plecy trafionego wroga", + "shade_desc2": "Twoje szanse na teleportację za trafionego wroga wynoszą: {0}%", "shade_nospace": "Brak miejsca", "shortbomb": "Krótka Bomba", diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pt-br.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pt-br.json index 180a374..0e05369 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pt-br.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/pt-br.json @@ -345,7 +345,8 @@ "secondlife_desc": "Após a morte, você renasce com a mesma quantidade de saúde", "shade": "Sombra", - "shade_desc": "Você se teletransporta para trás de um inimigo acertado", + "shade_desc": "Você tem uma chance aleatória de se teletransportar para trás de um inimigo atingido", + "shade_desc2": "Suas chances de se teletransportar para trás de um inimigo atingido são: {0}%", "shade_nospace": "Sem espaço disponível", "shortbomb": "Fusível Curto", diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/test.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/test.json deleted file mode 100644 index 98be7e8..0000000 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/test.json +++ /dev/null @@ -1,458 +0,0 @@ -{ - "none": "Brak", - "none_desc": "Nie posiadasz żadnej supermocy", - - "aimbot": "Aimbot", - "aimbot_desc": "Każdy twój trafiony pocisk liczy się jako strzał w głowę", - - "anomaly": "Anomalia", - "anomaly_desc": "Cofasz się o kilka sekund do tyłu", - - "antyflash": "Anty Flash", - "antyflash_desc": "Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund", - - "antyhead": "Żelazna Głowa", - "antyhead_desc": "Nie otrzymujesz obrażeń w głowę", - - "areareaper": "Niszczyciel Stref", - "areareaper_desc": "Możesz wybrać strefę detonacji, którą chcesz dezaktywować", - "areareaper_incorrect_site": "Nie znaleziono takiej strefy detonacji.", - "areareaper_no_site": "Nie znaleziono żadnej strefy detonacji.", - "areareaper_select_info": "Wybierz strefę do dezaktyw.:", - "areareaper_site_disabled": "Strefa detonacji {0} została dezaktywowana - nie można na niej podłożyć bomby!", - "areareaper_used_info": "Twoja moc została już wykorzystana.", - - "armored": "Gruby", - "armored_desc": "Masz losowy mnożnik otrzymywanych obrażeń", - "armored_desc2": "Twój mnożnik otrzymywanych obrażeń wynosi: {0}x", - - "assassin": "Skrytobójca", - "assassin_desc": "Zadajesz większe obrażenia przeciwnikowi od tyłu", - - "astronaut": "Astronauta", - "astronaut_desc": "Na początku rundy otrzymujesz losową wartość grawitacji", - "astronaut_desc2": "Twoja losowa grawitacja wynosi: {0}x", - - "bankrupt": "Bankrut", - "bankrupt_desc": "Wybierz gracza, który straci wszystkie swoje pieniądze", - "bankrupt_enemy_info": "Stałeś się bankrutem.", - "bankrupt_player_info": "Gracz '{0}' zbankrutował.", - "bankrupt_select_info": "Wybierz gracza do bankrucji:", - - "baseball": "Bejsbolista", - "baseball_desc": "Twój wabik odbija się od ścian i natychmiastowo zabija wroga po trafieniu", - - "behind": "Obrót Wroga", - "behind_desc": "Masz losową szansę na obrócenie wroga o 180 stopni po trafieniu go", - "behind_desc2": "Twoje szanse na obrócenie wroga po trafieniu to: {0}%", - - "blademaster": "Mistrz Ostrza", - "blademaster_desc": "Trzymając nóż, masz duże szanse na odparcie strzału", - - "bunnyhop": "Królik", - "bunnyhop_desc": "Otrzymujesz auto \"BunnyHopa\"", - - "c4camouflage": "C4 Kamuflaż", - "c4camouflage_desc": "Kiedy trzymasz bombę, jesteś niewidzialny", - - "catapult": "Katapulta", - "catapult_desc": "Masz losową szanse na podrzucenie wroga", - "catapult_desc2": "Twoje szanse na podrzucenie wroga po trafieniu to: {0}%", - - "chicken": "Kurczak", - "chicken_desc": "Otrzymujesz model kurczaka + jesteś o 10% szybszy - 50hp", - - "chillout": "Wyluzowany", - "chillout_desc": "Podłożenie bomby zajmuje znacznie więcej czasu", - - "cutter": "Scyzoryk", - "cutter_desc": "Natychmiastowe zabójstwo nożem", - - "darkness": "Mrok", - "darkness_desc": "Nadaje efekt ciemności wybranemu przeciwnikowi", - "darkness_enemy_info": "Niech zgasną światła.", - "darkness_player_info": "Ciemność opanowała gracza '{0}'.", - "darkness_select_info": "Nałóż efekt ciemności:", - - "deactivator": "Deaktywator", - "deactivator_desc": "Wybierasz gracza, którego supermoc chcesz wyłączyć", - "deactivator_enemy_info": "Twoja supermoc została wyłączona.", - "deactivator_player_info": "Moc gracza '{0}' została wyłączona.", - "deactivator_select_info": "Wyłącz moc gracza:", - - "deaf": "Głuchy", - "deaf_desc": "Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki", - "deaf_enemy_info": "Słuchawki opuściły grę.", - "deaf_player_info": "Dźwięk został wyłączony dla gracza '{0}'.", - "deaf_select_info": "Wycisz dźwięki gracza:", - - "disarmament": "Rozbrojenie", - "disarmament_desc": "Masz losową szanse na wyrzucenie broni wroga po trafieniu", - "disarmament_desc2": "Twoje szanse na wyrzucenie broni wroga to: {0}%", - - "distancer": "Odległościomierz", - "distancer_desc": "Możesz zobaczyć odległość do najbliższego przeciwnika", - - "dash": "Doskok", - "dash_desc": "Wykonaj drugi skok, aby wykonać doskok", - - "dracula": "Drakula", - "dracula_desc": "Po trafieniu ofiary odzyskujesz zdrowie równe pewnemu procentowi zadanych obrażeń", - - "duplicator": "Duplikator", - "duplicator_desc": "Wybierasz gracza, od którego chcesz skopiować supermoc", - "duplicator_player_info": "Moc gracza '{0}' została skopiowana.", - "duplicator_select_info": "Skopiuj moc gracza:", - - "dwarf": "Mini Majk ({0}%)", - "dwarf_desc": "Losowa wielkość postaci na początku rundy", - "dwarf_desc2": "Twój mnożnik wielkości to {0}%", - - "enemyspawn": "Resp Wroga", - "enemyspawn_desc": "Kliknij [css_useSkill], aby teleportować się na resp wroga", - - "explosiveshot": "Strzał Wybuchowy", - "explosiveshot_desc": "Losowa szansa wystrzelenia pocisku wybuchowego podczas strzelania", - "explosiveshot_desc2": "Twoja szansa na wystrzelenie pocisku wybuchowego: {0}%", - - "falconeye": "Oko Sokoła", - "falconeye_desc": "Kliknij [css_useSkill], aby aktywować kamerę z lotu ptaka", - - "fastreload": "Szybkie Rączki", - "fastreload_desc": "Kliknij [css_useSkill], aby przeładować broń, którą obecnie trzymasz", - - "flash": "Flash", - "flash_desc": "Losowa prędkośc postaci na początku rundy", - "flash_desc2": "Twój mnożnik prędkości to {0}x", - - "fortnite": "Fortnite", - "fortnite_desc": "Kliknij [css_useSkill], aby stworzyć barykadę, którą można zniszczyć", - - "fragilebomb": "Krucha Bomba", - "fragilebomb_desc": "Strzelanie do bomby powoduje jej uszkodzenie", - "fragilebomb_bomb_health": "Zdrowie bomby", - - "friendlyfire": "Ogień Przyjacielski", - "friendlyfire_desc": "Strzelanie do członków drużyny leczy ich", - - "frozendecoy": "Zamrażający Wabik", - "frozendecoy_desc": "Twój decoy zamraża wszystkich graczy w pobliżu", - - "gambler": "Hazardzista", - "gambler_desc": "Wybierz umiejętność z podanej listy.", - "gambler_select_info": "Wybierz umiejętność:", - "gambler_more": "#00FF00|Odśwież za ${0}", - - "ghost": "Duszek", - "ghost_desc": "Jesteś całkowicie niewidzialny", - - "glaz": "Glaz", - "glaz_desc": "Nie widzisz granatów dymnych", - - "glitch": "Glitch", - "glitch_desc": "Wyłączasz radar wybranemu przeciwnikowi", - "glitch_enemy_info": "Twój radar został wyłączony.", - "glitch_player_info": "Radar gracza '{0}' został wyłączony.", - "glitch_select_info": "Wyłącz radar dla gracza:", - - "glue": "Klej", - "glue_desc": "Twoje granaty przyklejają się do ścian", - - "godmode": "Nieśmiertelność", - "godmode_desc": "Kliknij [css_useSkill], aby stać się nieśmiertelnym na krótką chwilę", - "godmode_off": "Nieśmiertelność wyłączona", - "godmode_on": "Nieśmiertelność włączona", - - "grenadier": "Granatnik", - "grenadier_desc": "Masz nieskończone granaty odłamkowe", - - "healingsmoke": "Leczący Dym", - "healingsmoke_desc": "Twoje granaty dymne leczą", - - "hermit": "Pustelnik", - "hermit_desc": "Zabijanie przywraca amunicję i część zdrowia", - - "holyhandgrenade": "Święty Granat Ręczny", - "holyhandgrenade_desc": "Twoje granaty uderzeniowe zadają podwójne obrażenia i mają podwójny zasięg", - - "impostor": "Szpieg", - "impostor_desc": "Na początku rundy otrzymujesz model postaci przeciwnika", - - "infiniteammo": "Nieskończone Ammo", - "infiniteammo_desc": "Otrzymujesz nieskończoną ilość amunicji do wszystkich broni", - - "jackal": "Stópkarz", - "jackal_desc": "Każdy przeciwnik pozostawia za sobą ślad", - - "jammer": "Zakłócacz", - "jammer_desc": "Wybierasz gracza, dla którego chcesz wyłączyć celownik", - "jammer_enemy_info": "Twój celownik został wyłączony.", - "jammer_player_info": "Celownik gracza '{0}' została wyłączona.", - "jammer_select_info": "Wyłącz celownik dla gracza:", - - "jester": "Błazen", - "jester_desc": "W trybie błazna nie możesz zadawać ani otrzymywać obrażeń. Tryb zmienia się co kilka sekund.", - "jester_mode": "Tryb Błazna", - "jester_on": "WŁ.", - "jester_off": "WYŁ.", - - "jumpban": "Beznogi", - "jumpban_desc": "Wybierasz gracza, który nie będzie mógł skakać", - "jumpban_enemy_info": "Ktoś odciął ci nogi.", - "jumpban_player_info": "Gracz '{0}' nie może teraz skakać.", - "jumpban_select_info": "Zablokuj skok dla gracza:", - - "jumpingjack": "Pajacyk", - "jumpingjack_desc": "Skakanie przywraca zdrowie", - - "killerflash": "Zabójczy Flash", - "killerflash_desc": "Każdy całkowicie oślepiony twoim granatem umiera (również ty)", - - "lifeswap": "Zamiana Żyć", - "lifeswap_desc": "Wybierasz gracza, z którym chcesz wymienić się zdrowiem", - "lifeswap_enemy_info": "Ktoś pożyczył sobie twoje zdrowie.", - "lifeswap_player_info": "Wymieniłeś się zdrowiem z graczem '{0}'.", - "lifeswap_select_info": "Zamień się zdrowiem z graczem:", - - "longknife": "Długi Nóż", - "longknife_desc": "Podstawowy atak nożem zadaje obrażenia niezależnie od odległości", - - "longzeus": "Długi Zeus", - "longzeus_desc": "Zeus zadaje obrażenia niezależnie od odległości", - - "magnifier": "Lupa", - "magnifier_desc": "Przybiżasz ekran wybranemu przeciwnikowi", - "magnifier_enemy_info": "Twoje pole widzenia zostało zniekształcone!", - "magnifier_player_info": "Gracz '{0}' został zmuszony do przejścia w tryb powiększenia.", - "magnifier_select_info": "Powiększ ekran gracza:", - - "medic": "Medyk", - "medic_desc": "Kliknij [css_useSkill], aby użyć ładunku leczniczego, który przywraca 50 punktów zdrowia", - - "moneyswap": "Skarbówka", - "moneyswap_desc": "Wybierasz gracza, z którym chcesz zamienić się pieniędzmi", - "moneyswap_enemy_info": "Urząd skarbowy cię dopadł.", - "moneyswap_player_info": "Wymieniłeś swoje pieniądze z graczem '{0}'.", - "moneyswap_select_info": "Zamień się kasą z graczem:", - - "muhammed": "Muhammed", - "muhammed_desc": "Po śmierci eksplodujesz i zabijasz graczy znajdujących się w zasięgu", - - "ninja": "Ninja", - "ninja_desc": "Stojąc nieruchomo zwiększasz swoją niewidzialność o 33%, kucając o 33%, a trzymając nóż o 33%", - - "nonades": "Pancernik", - "nonades_desc": "Granaty nie zadają Ci obrażeń", - - "norecoil": "Skupienie", - "norecoil_desc": "Brak odrzutu podczas strzelania", - - "noclip": "NoClip", - "noclip_desc": "Kliknij [css_useSkill], aby włączyć noclip na krótki czas", - - "oneshot": "Jednostrzałowiec", - "oneshot_desc": "Po trafieniu natychmiast zabijasz przeciwnika", - - "onlyhead": "Tylko Głowa", - "onlyhead_desc": "Otrzymujesz obrażenia tylko w głowę", - - "paweljumper": "Pawel Jumper", - "paweljumper_desc": "Otrzymujesz losową liczbę dodatkowych skoków", - "paweljumper_desc2": "Otrzymujesz {0} dodatkowych skoków", - - "phoenix": "Feniks", - "phoenix_desc": "Masz losową szans na odrodzenie się po śmierci", - "phoenix_desc2": "Twoje szanse na odrodzenie się po śmierci: {0}%", - "phoenix_respawn": "Zostałeś odrodzony z popiołów dzięki mocy: CHATCOLORS.REDPhoenix", - - "psychicdefusing": "Zdalne Rozbrajanie", - "psychicdefusing_desc": "Kiedy jesteś blisko bomby, zaczynasz ją rozbrajać", - "psychicdefusing_hud_info": "Pozostało {0} sekund do rozbrojenia", - - "pilot": "Pilot", - "pilot_desc": "Latanie przez określony czas. Przytrzymaj [USE - E], aby latać", - "pilot_hud_info": "Paliwo", - - "planter": "Samowolka", - "planter_desc": "Bombę można podłożyć w dowolnym miejscu, a czas detonacji wynosi 60 sekund.", - - "poison": "Trutka", - "poison_desc": "Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia", - "poison_enemy_info": "Zostałeś otruty.", - "poison_player_info": "Gracz '{0}' został otruty.", - "poison_select_info": "Zatruj gracza:", - - "primaryban": "Brak Karabinów", - "primaryban_desc": "Wybierasz gracza, który nie może używać karabinów", - "primaryban_enemy_info": "Nie możesz już używać karabinów.", - "primaryban_player_info": "Gracz '{0}' nie może już używać karabinów.", - "primaryban_select_info": "Zablokuj karabiny dla gracza:", - - "prosthesis": "Proteza", - "prosthesis_desc": "Ramiona i nogi są kuloodporne", - - "push": "Odpychacz", - "push_desc": "Masz losową szansę na odepchnięcie wroga po trafieniu go", - "push_desc2": "Twoje szanse na odepchnięcie wroga to: {0}%", - - "pyro": "Pyro", - "pyro_desc": "Molotow przywraca zdrowie", - - "quickshot": "Szybkostrzelność", - "quickshot_desc": "Wszystkie pociski są wystrzeliwane bardzo szybko", - - "radarhack": "Radarowiec", - "radarhack_desc": "Na radarze widać wrogów", - - "rambo": "Rambo", - "rambo_desc": "Na początku rundy otrzymujesz losową ilość zdrowia", - - "randomweapon": "Losowa Broń", - "randomweapon_desc": "Kliknij [css_useSkill], aby otrzymać losową broń", - - "rezombie": "Re-Zombie", - "rezombie_desc": "Po śmierci odradzasz się jako zombie z większym zdrowiem i bez broni", - - "reactivearmor": "Pancerz Reaktywny", - "reactivearmor_desc": "Pancerz pochłania pierwsze otrzymane obrażenia", - - "regeneration": "Regeneracja", - "regeneration_desc": "Co kilka sekund odnawiasz zdrowie", - - "replicator": "Replikator", - "replicator_desc": "Kliknij [css_useSkill], aby stworzyć swoją replikę, która zadaje obrażenia po trafieniu", - - "retreat": "Odwrót", - "retreat_desc": "Kliknij [css_useSkill], aby powrócić na resp", - - "returntosender": "Zwrot do Nadawcy", - "returntosender_desc": "Pierwsze trafienie wroga powoduje, że wraca on na swój resp", - - "richboy": "Bogacz", - "richboy_desc": "Na początku rundy otrzymujesz losową kwotę gotówki", - - "robinhood": "Robin Hood", - "robinhood_desc": "Zadanie obrażeń przeciwnikowi powoduje kradzież jego pieniędzy", - - "rubber": "Gumowe Kule", - "rubber_desc": "Twoje pociski znacznie spowalniają graczy", - - "saper": "Saper", - "saper_desc": "Możesz szybciej podłożyć bombę i ją rozbroić", - - "secondlife": "Druga Szansa", - "secondlife_desc": "Po śmierci odradzasz się z taką samą ilością zdrowia", - - "shade": "Cień", - "shade_desc": "Teleportujesz się za plecy trafionego wroga", - "shade_nospace": "Brak miejsca", - - "shortbomb": "Krótka Bomba", - "shortbomb_desc": "Bomba wybucha znacznie szybciej", - - "silent": "Cichociemny", - "silent_desc": "Twoje kroki i skoki są niesłyszalne dla INNYCH graczy", - - "sniperelite": "SzeliS", - "sniperelite_desc": "Kliknij [css_useSkill], aby zamienić aktualną broń na AWP", - - "soldier": "Żołnierz {0}%", - "soldier_desc": "Masz losowy mnożnik obrażeń", - "soldier_desc2": "A AAAAAAAAAAAAAAAAAAAAAA", - - "soundmaker": "Dźwiękowiec", - "soundmaker_desc": "Kliknij [css_useSkill], aby wywołać dzwięk u każdego przeciwnika", - - "spectator": "Obserwator", - "spectator_desc": "Kliknij [css_useSkill], aby obserwować losowego przeciwnika", - - "swapposition": "Zamiana Miejsc", - "swapposition_desc": "Kliknij [css_useSkill], aby zamienić się miejscami z losowym przeciwnikiem", - - "teleporter": "Teleporter", - "teleporter_desc": "Zamieniasz się miejscami z trafionym przeciwnikiem", - - "thief": "Złodziej", - "thief_desc": "Możesz ukraść supermoc wybranemu graczowi", - "thief_enemy_info": "Twoja supermoc została skradziona.", - "thief_player_info": "Moc gracza '{0}' została skradziona.", - "thief_select_info": "Ukradnij moc gracza:", - "thief_incorrect_skill": "Tej umiejętności nie można wybrać!", - - "thirdeye": "Trzecie Oko", - "thirdeye_desc": "Kliknij [css_useSkill], aby aktywować trzecią osobę", - - "thorns": "Ciernie", - "thorns_desc": "Twój przeciwnik otrzymuje część obrażeń, które zadał ci", - - "toxicsmoke": "Toksyczny Dym", - "toxicsmoke_desc": "Twoje granaty dymny zadają obrażenia", - - "wallhack": "Wallhack", - "wallhack_desc": "Widzisz wrogów przez ściany", - - "watchmaker": "Zegarmistrz", - "watchmaker_desc": "Każdy rzut granatem zmienia czas rundy", - "watchmaker_ct": "Czas rundy został skrócony o {0} sekund.", - "watchmaker_tt": "Czas rundy został wydłużony o {0} sekund", - - "weaponsswap": "Zamiana Broni", - "weaponsswap_desc": "Kliknij [css_useSkill], aby zamienić się bronią z losowym przeciwnikiem", - "weaponsswap_hud_info2": "Nie posiadasz broni na zamiane", - - "zeus": "Zeus", - "zeus_desc": "Zeus x27 natychmiastowo się odnawia", - - "your_skill": "", - "enemy_skill": "Supermoc przeciwnika", - "observer_skill": "Moc gracza", - "welcome_message": "Witaj {PLAYER} na serwerze {SERVER_NAME}!\nAktualna wersja jRandomSkills: {VERSION} ({SKILLS_COUNT} supermocy).\n\nPierwotnie plugin stworzona przez:\n{AUTHOR1}\nZmodyfikowany i ulepszony przez:\n{AUTHOR2}\nOficjalny discord: https://discord.gg/9H8EZYBpPF", - "drawing_skill": "", - "disabled_weapon": "Nie możesz używać tej broni", - - "hud_info": "Poczekaj jeszcze {0} sekund", - "hud_info_no_enemy": "Nie znaleziono przeciwnika", - "active_hud_info": "Działa jeszcze przez {0} milisekund", - - "skills_menu": "Lista Super Mocy", - "no_player": "Nie znaleziono pasującego gracza.", - "duplicate_player": "Znaleziono więcej niż jednego gracza o tej samej nazwie.", - "selectplayerskill_command": "Wpisz /t", - "selectplayerskill_incorrect_enemy_index": "Nie znaleziono graczy do wyboru.", - - "skill_not_found_setskill": "Nie znaleziono takiej CHATCOLORS.REDsupermocy", - "player_not_found_setskill": "Nie znaleziono takiego CHATCOLORS.REDgracza", - "correct_form_setskill": "Poprawne użycie: CHATCOLORS.RED!setskill ", - "correct_form_setscore": "Poprawne użycie: CHATCOLORS.RED!setscore ", - "done_setskill": "Ustawiono Supermoc", - "error_setskill": "Nie udało się ustawić CHATCOLORS.REDsupermocy", - "for_setskill": "dla", - - "invalid_map": "Nazwa mapy została wprowadzona nieprawidłowo!", - "loading_map": "Ładowanie nowej mapy", - - "pause": "Mecz został wstrzymany.", - "unpause": "Mecz został wznowiony.", - "healed": "Zostałeś uleczony.", - "game_start": "Gra rozpoczęta!", - "reload": "Tłumaczenia i konfigi zostały ponownie załadowane.", - - "vote_started": "Głosowanie rozpoczęte: '{0}'", - "vote_timeout": "Głosowanie '{0}' przekroczyło limit czasu!", - "vote_wait": "Musisz poczekać, zanim rozpoczniesz kolejne głosowanie!", - "vote_same_wait": "Musisz poczekać, zanim ponownie rozpoczniesz to samo głosowanie!", - "vote_not_enough_players": "Za mało graczy, aby rozpocząć głosowanie!", - "vote_alredy_voted": "Już zagłosowałeś!", - "vote_vote": "Głosowanie", - - "bombsite_a": "Strefa detonacji A", - "bombsite_b": "Strefa detonacji B", - - "teammate_skills": "Supermoce twoich sojuszników", - "summary_start": "======PODSUMOWANIE=Z=OSTATNIEJ=RUNDY======", - "summary_end": "============================================", - - "menu_controlls_scroll": "W/S - Scroll", - "menu_controlls_padding": " | ", - "menu_controlls_select": "E - Select" -} \ No newline at end of file diff --git a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/zh.json b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/zh.json index 7b51cba..7a149a9 100644 --- a/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/zh.json +++ b/jRandomSkills - Server Files/plugins/!jRandomSkills/languages/zh.json @@ -345,7 +345,8 @@ "secondlife_desc": "死亡后你会以相同生命值复活", "shade": "阴影", - "shade_desc": "你会传送到被击中敌人的背后", + "shade_desc": "你存在随机几率将被击中的敌人传送至其身后", + "shade_desc2": "你传送至击中敌人身后的概率为:{0}%", "shade_nospace": "无可用空间", "shortbomb": "短引信", diff --git a/readme.md b/readme.md index 3c90cfa..b9b74bb 100644 --- a/readme.md +++ b/readme.md @@ -312,8 +312,12 @@ This plugin uses content from the following projects: - #### Skill improvements: - ##### Long Knife: - ###### A secondary knife attack also deals damage. + - ###### Fixed a mistake where the player's skill was shown as `None` after death. - ##### Wallhack: - ###### Glows are created just once, instead of being created again for each player. + - ###### Fixed a mistake where the player's skill was shown as `None` after death. + - ##### Jackal: + - ###### Fixed a mistake where the player's skill was shown as `None` after death. - ##### Position Swap: - ###### Added a configurable cooldown at the start of the round. - ##### Spectator: @@ -338,12 +342,23 @@ This plugin uses content from the following projects: - ##### Chicken: - ###### The method used to attach the chicken has changed. - ###### Player with skill can see a model of your chicken. + - ###### Fixed hitboxes after returning to normal model. + - ###### Fixed a bug that added extra health after deactivating skill. - ##### C4 Camouflage: - ###### Fixed an issue with weapons not being visible after death. - ##### Blade Master: - ###### Movement speed with a knife has been reduced by 10% (configurable). - ##### AntyFlash: - ###### Added the option in config to change the flash duration of your flashes. + - ##### Jester: + - ###### Fixed an issue where you could take damage from other skills or bombs. + - ###### Fixed a bug where the player was always purple. + - ##### Shade: + - ###### Added an option to set the chance of teleportation after hitting an enemy in the config. + - ##### Impostor: + - ###### Setting the player model after deactivating the skill. + - ###### The default model for terrorists has been changed. +