From b2d2c5bf9a9fb432c6e5e0509415883a96625f81 Mon Sep 17 00:00:00 2001 From: ByDexter Date: Sun, 9 Aug 2026 00:37:02 +0300 Subject: [PATCH] v1.2.3.b6 New skills (9) - Bounty: put a cash price on an enemy's head, the killer collects it. - EmpGrenade: grenade victims lose radar and crosshair for a while. - GravityDecoy: the decoy alters gravity for everyone in its radius. - Heavyweight: immune to push and slow effects from other skills. - Nemesis: the marked player takes extra damage from everyone. - Punisher: banks part of the damage you take and releases it on your next hit. - Rewind: drop a marker and teleport back to it shortly after. - TrueArmor: armor absorbs part of incoming damage instead of health. - Voodoo: the marked enemy shares the damage you take. Shared systems - DecoyRing: reusable ground ring so decoy skills show their real area of effect. Adopted by FireRain, FrozenDecoy, GravityDecoy and MagneticDecoy. - WeaponPool: single cached weapon classification (rifle/pistol/grenade) with a normalizing lookup, backed by the new config Weapons section. Replaces the duplicated hardcoded arrays in Assassin, Chicken, Ghost, NoNades, PrimaryBan, RandomWeapon, SniperElite and WeaponsSwap. [because of compatibility with WeaponRestrict] - HUD suppression registry in SkillUtils: crosshair and radar hiding is now refcounted per owner, so overlapping skills (Glitch, Jammer, EmpGrenade) cannot restore each other's state early. - SkillUtils.ResolveHiddenPawns: shared invisible-pawn resolution for C4Camouflage, Ghost and Ninja. - Config gained a Weapons section with automatic migration for existing installs, plus a per-skill DisableOnPistolRound switch honoured by both the round draw and css_setskill. Sound - Volume rebalance - Add SkillUtils.EmitSoundToPlayer with a private RecipientFilter. A null filter had been broadcasting every skill sound to all clients. Migrated 16 call sites: Poison, DemonEye, ToxicSmoke, CarefulBullets, Thorns, HotBomb, LastGasp, LongKnife, Nightmare, Jester, Tripwire, Medic, HealingSmoke, Rewind, Watchmaker. - New effects: LongKnife knife-hit feedback (Weapon_Knife.Hit.Heavy/Light), Grapple hook impact, Fortnite barricade placement, Ricochet bounce, Nightmare cursed tone, Replicator/Illusionist spawn, PsychicDefusing defuse cue, TakeAmmo pickup, Tripwire and Jammer trigger tones. - 29 skills gained a configurable SoundVolume, LongKnife also HitSoundVolume. - Grapple: emit the hook impact at the hook entity instead of at the owner so the enemy team can locate it. - PawelJumper: the engine already plays the first jump, only extra jumps emit. Models and visuals - Grapple: real hook model with configurable hookScale and hookEmbed so the hook sits in the surface it hit. - Pilot: glowing exhaust trail parented to the pawn, active only while airborne. Performance - SkillsInfo.GetValue now resolves through a ConcurrentDictionary cache instead of reflecting on every call; invalidated on config reload. - HUD render cache keyed on player, config, description flag and the three source lines; identical frames skip the rebuild. - Glaz.CheckTransmit: hoist smoke index resolution out of the per-viewer loop and build the pawn-owner map lazily. - playersSkills switched from ConcurrentBag to HashSet, turning the NoRepeat filter from an O(n) scan into a set lookup. Fixes - NoRepeat could hand a player two or three skills in one round because the history bag was never deduplicated; the HashSet rewrite closes it. - SniperElite: restore the saved weapon after the halftime team swap instead of dropping it on the pistol round. - Illiterate: the holder alert now reaches chat and is exempt from its own scrambler via PrintToChat(ignoreIlliterate). - EntityManager.DestroyBeam: zero out width and render colour before the kill so beams cannot linger visibly, with a next-frame Remove fallback. - Ricochet: drop all 18 diagnostic Trace calls and the Trace helper; the skill measured stable over 48h and the tracing dominated the debug log. Debug - Tag round start, round end and freeze-time-end lines with [WARMUP] so warmup load is separable from live rounds. --- .../src/jRandomSkills.cs | 14 +- jRandomSkills - SRC Files/src/lang/de.json | 39 +++ jRandomSkills - SRC Files/src/lang/en.json | 39 +++ jRandomSkills - SRC Files/src/lang/fr.json | 39 +++ jRandomSkills - SRC Files/src/lang/pl.json | 39 +++ jRandomSkills - SRC Files/src/lang/pt-br.json | 39 +++ jRandomSkills - SRC Files/src/lang/ru.json | 39 +++ jRandomSkills - SRC Files/src/lang/tr.json | 39 +++ jRandomSkills - SRC Files/src/lang/zh.json | 39 +++ jRandomSkills - SRC Files/src/player/Debug.cs | 13 +- .../src/player/ISkill.cs | 9 + .../src/player/PlayerEvents.cs | 33 +- .../src/player/RoundEvents.cs | 27 +- .../src/player/skills/Assassin.cs | 10 +- .../src/player/skills/Bounty.cs | 175 ++++++++++ .../src/player/skills/C4Camouflage.cs | 28 +- .../src/player/skills/CarefulBullets.cs | 6 +- .../src/player/skills/Catapult.cs | 2 + .../src/player/skills/Chicken.cs | 11 +- .../src/player/skills/Cypher.cs | 5 +- .../src/player/skills/Dash.cs | 5 +- .../src/player/skills/DeathBomb.cs | 8 +- .../src/player/skills/DemonEye.cs | 5 +- .../src/player/skills/EmpGrenade.cs | 154 +++++++++ .../src/player/skills/FireRain.cs | 14 +- .../src/player/skills/Fortnite.cs | 5 +- .../src/player/skills/FrozenDecoy.cs | 14 +- .../src/player/skills/Ghost.cs | 46 ++- .../src/player/skills/Glaz.cs | 47 ++- .../src/player/skills/Glitch.cs | 9 +- .../src/player/skills/Grapple.cs | 121 +++++-- .../src/player/skills/GravityDecoy.cs | 189 ++++++++++ .../src/player/skills/HealingSmoke.cs | 5 +- .../src/player/skills/Heavyweight.cs | 55 +++ .../src/player/skills/Hermit.cs | 20 +- .../src/player/skills/HotBomb.cs | 6 +- .../src/player/skills/Iana.cs | 5 +- .../src/player/skills/Illiterate.cs | 12 +- .../src/player/skills/Illusionist.cs | 5 +- .../src/player/skills/Jammer.cs | 10 +- .../src/player/skills/Jester.cs | 6 +- .../src/player/skills/JetKick.cs | 2 + .../src/player/skills/LastGasp.cs | 6 +- .../src/player/skills/LongKnife.cs | 10 +- .../src/player/skills/MagneticDecoy.cs | 14 +- .../src/player/skills/Medic.cs | 5 +- .../src/player/skills/Miner.cs | 5 +- .../src/player/skills/Nemesis.cs | 156 +++++++++ .../src/player/skills/Nightmare.cs | 7 +- .../src/player/skills/Ninja.cs | 30 +- .../src/player/skills/NoNades.cs | 5 +- .../src/player/skills/PawelJumper.cs | 7 +- .../src/player/skills/Pilot.cs | 94 ++++- .../src/player/skills/Planter.cs | 4 +- .../src/player/skills/Poison.cs | 6 +- .../src/player/skills/PrimaryBan.cs | 11 +- .../src/player/skills/PsychicDefusing.cs | 5 +- .../src/player/skills/Punisher.cs | 110 ++++++ .../src/player/skills/Push.cs | 2 + .../src/player/skills/RandomWeapon.cs | 41 ++- .../src/player/skills/Replicator.cs | 5 +- .../src/player/skills/Rewind.cs | 205 +++++++++++ .../src/player/skills/Ricochet.cs | 104 +++--- .../src/player/skills/Rubber.cs | 2 + .../src/player/skills/SniperElite.cs | 10 +- .../src/player/skills/SoundMaker.cs | 13 +- .../src/player/skills/TakeAmmo.cs | 5 +- .../src/player/skills/Thorns.cs | 5 +- .../src/player/skills/ToxicSmoke.cs | 5 +- .../src/player/skills/Tripwire.cs | 6 +- .../src/player/skills/TrueArmor.cs | 116 +++++++ .../src/player/skills/Voodoo.cs | 157 +++++++++ .../src/player/skills/Watchmaker.cs | 5 +- .../src/player/skills/WeaponsSwap.cs | 7 +- jRandomSkills - SRC Files/src/utils/Config.cs | 48 +++ .../src/utils/DecoyRing.cs | 204 +++++++++++ .../src/utils/EntityManager.cs | 34 ++ .../src/utils/KillfeedIcons.cs | 2 +- .../src/utils/SkillUtils.cs | 122 ++++++- .../src/utils/SkillsInfo.cs | 16 +- .../src/utils/WeaponPool.cs | 84 +++++ .../plugins/jRandomSkills/WASDMenuAPI.dll | Bin 16384 -> 16384 bytes .../plugins/jRandomSkills/configs/config.json | 48 +++ .../jRandomSkills/configs/skillsInfo.json | 322 ++++++++++++++++++ .../plugins/jRandomSkills/jRandomSkills.dll | Bin 695808 -> 741376 bytes .../plugins/jRandomSkills/languages/de.json | 39 +++ .../plugins/jRandomSkills/languages/en.json | 39 +++ .../plugins/jRandomSkills/languages/fr.json | 39 +++ .../plugins/jRandomSkills/languages/pl.json | 39 +++ .../jRandomSkills/languages/pt-br.json | 39 +++ .../plugins/jRandomSkills/languages/ru.json | 39 +++ .../plugins/jRandomSkills/languages/tr.json | 39 +++ .../plugins/jRandomSkills/languages/zh.json | 39 +++ 93 files changed, 3414 insertions(+), 329 deletions(-) create mode 100644 jRandomSkills - SRC Files/src/player/skills/Bounty.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/EmpGrenade.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/GravityDecoy.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/Heavyweight.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/Nemesis.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/Punisher.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/Rewind.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/TrueArmor.cs create mode 100644 jRandomSkills - SRC Files/src/player/skills/Voodoo.cs create mode 100644 jRandomSkills - SRC Files/src/utils/DecoyRing.cs create mode 100644 jRandomSkills - SRC Files/src/utils/WeaponPool.cs diff --git a/jRandomSkills - SRC Files/src/jRandomSkills.cs b/jRandomSkills - SRC Files/src/jRandomSkills.cs index 7e778e3..e56b522 100644 --- a/jRandomSkills - SRC Files/src/jRandomSkills.cs +++ b/jRandomSkills - SRC Files/src/jRandomSkills.cs @@ -31,7 +31,7 @@ namespace src public override string ModuleName => "[CS2] [ jRandomSkills ]"; public override string ModuleAuthor => "D3X (Original), Juzlus (Modifier), ByDexterTR (Contributor)"; public override string ModuleDescription => "Plugin adds random skills every round for CS2 by D3X. Modified by Juzlus."; - public override string ModuleVersion => "1.2.3.b5"; + public override string ModuleVersion => "1.2.3.b6"; public override void Load(bool hotReload) { @@ -371,6 +371,18 @@ namespace src public int HideHUD { get; set; } public bool SkillUsed = false; public bool? HudOnDeathBlocked { get; set; } + public HudCacheEntry? HudCache { get; set; } + } + + public sealed class HudCacheEntry + { + public uint PlayerIndex; + public object? Config; + public string? Header; + public string? Center; + public string? Extra; + public bool IsDescription; + public string? Content; } public class jSkill_SkillInfo(Skills skill, string color, bool display) diff --git a/jRandomSkills - SRC Files/src/lang/de.json b/jRandomSkills - SRC Files/src/lang/de.json index bbe6411..d72dadf 100644 --- a/jRandomSkills - SRC Files/src/lang/de.json +++ b/jRandomSkills - SRC Files/src/lang/de.json @@ -60,6 +60,13 @@ "blastshot": "Explosivschuss", "blastshot_desc": "Drücke Attack2 mit der MP5, um eine HE-Granate abzufeuern", + "bounty": "Kopfgeld", + "bounty_desc": "Setze ein Kopfgeld auf einen Gegner aus; wer ihn tötet, bekommt das Geld", + "bounty_select_info": "Wähle einen Spieler:", + "bounty_player_info": "Du hast {1}$ Kopfgeld auf '{0}' ausgesetzt.", + "bounty_enemy_info": "Auf deinen Kopf wurden {0}$ ausgesetzt.", + "bounty_claimed_info": "Du hast '{0}' getötet und {1}$ kassiert.", + "bunnyhop": "Hase", "bunnyhop_desc": "Du erhältst automatisch bunnyhop", @@ -144,6 +151,10 @@ "dwarf_desc": "Zufällige Charaktergröße zu Beginn der Runde", "dwarf_desc2": "Dein Größenmultiplikator beträgt: {0}x", + "empgrenade": "EMP-Granate", + "empgrenade_desc": "Wer von deiner Granate getroffen wird, verliert kurzzeitig Radar und Fadenkreuz", + "empgrenade_enemy_info": "Eine EMP-Granate hat dein Radar und Fadenkreuz lahmgelegt.", + "enemyspawn": "Feindes-Spawn", "enemyspawn_desc": "Klicke auf [css_useSkill], um zum Feindes-Spawn zu teleportieren", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Keine Oberfläche zum Einhaken.", "grapple_pulling_info": "ZUG", + "gravitydecoy": "Schwerkraft-Ablenker", + "gravitydecoy_desc": "Dein Ablenkungsköder verändert die Schwerkraft aller in der Nähe", + "grenadier": "Grenadier", "grenadier_desc": "Du hast unendlich viele Granaten", @@ -239,6 +253,9 @@ "healingchicken": "Heilendes Huhn", "healingchicken_desc": "Deine Hühner heilen dich, solange du in ihrer Nähe bist", + "heavyweight": "Schwergewicht", + "heavyweight_desc": "Fähigkeiten, die dich stoßen oder verlangsamen, wirken nicht auf dich", + "hermit": "Einsiedler", "hermit_desc": "Durch das Töten von Gegnern werden Munition und ein Teil der Gesundheit wiederhergestellt", @@ -360,6 +377,12 @@ "bankrupt_player_info": "Der Spieler ‚{0}‘ ist bankrott.", "bankrupt_select_info": "Wähle einen Spieler aus, der bankrott gehen soll:", + "nemesis": "Nemesis", + "nemesis_desc": "Der von dir markierte Spieler erleidet zusätzlichen Schaden", + "nemesis_select_info": "Wähle einen Spieler:", + "nemesis_player_info": "Du hast '{0}' markiert.", + "nemesis_enemy_info": "Du wurdest als Nemesis markiert und erleidest jetzt von allen zusätzlichen Schaden.", + "nightmare": "Albtraum", "nightmare_desc": "Lass einen ausgewählten Gegner eine schreckliche Vision erleben", "nightmare_disable_info": "Der Albtraum ist vorbei.", @@ -423,6 +446,10 @@ "prosthesis": "Prothese", "prosthesis_desc": "Arme und Beine sind kugelsicher", + "punisher": "Bestrafer", + "punisher_desc": "Du sammelst einen Teil des erlittenen Schadens und legst ihn auf deinen nächsten Treffer", + "punisher_released_info": "Du hast {0} zusätzlichen Schaden verursacht und ebenso viel Leben erhalten.", + "push": "Pusher", "push_desc": "Du hast eine zufällige Chance, einen Gegner zurückzustoßen, wenn du ihn triffst", "push_desc2": "Deine Chancen, den Gegner zurückzustoßen, betragen: {0} %", @@ -460,6 +487,10 @@ "returntosender": "Zurück zum Absender", "returntosender_desc": "Der erste Treffer eines Gegners schickt ihn zurück zu seinem Spawn", + "rewind": "Rückspulen", + "rewind_desc": "Drücke [css_useSkill], um hier eine Marke zu setzen und kurz darauf dorthin zurückzukehren", + "rewind_pending_info": "RÜCKKEHR: {0}", + "richboy": "Rich Boy", "richboy_desc": "Du erhältst zu Beginn der Runde einen zufälligen Geldbetrag", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Stolperdraht platziert.", "tripwire_triggered_info": "'{0}' hat deinen Stolperdraht ausgelöst.", + "truearmor": "Echte Rüstung", + "truearmor_desc": "Ein Teil des Schadens geht auf deine Rüstung statt auf dein Leben", + + "voodoo": "Voodoo", + "voodoo_desc": "Der markierte Gegner erleidet einen Teil des Schadens, den du erleidest", + "voodoo_select_info": "Wähle einen Spieler:", + "voodoo_player_info": "Du hast '{0}' an deinen Voodoo gebunden.", + "wallhack": "Wallhack", "wallhack_desc": "Du kannst Feinde durch Wände hindurch sehen", diff --git a/jRandomSkills - SRC Files/src/lang/en.json b/jRandomSkills - SRC Files/src/lang/en.json index b86306c..4175258 100644 --- a/jRandomSkills - SRC Files/src/lang/en.json +++ b/jRandomSkills - SRC Files/src/lang/en.json @@ -60,6 +60,13 @@ "blastshot": "Blast Shot", "blastshot_desc": "Press Attack2 with the MP5 to fire an HE grenade", + "bounty": "Bounty", + "bounty_desc": "Put a price on an enemy's head; whoever kills them takes the money", + "bounty_select_info": "Choose a player:", + "bounty_player_info": "You put a {1}$ bounty on '{0}'.", + "bounty_enemy_info": "A {0}$ bounty was placed on your head.", + "bounty_claimed_info": "You killed '{0}' and claimed {1}$.", + "bunnyhop": "Bunny", "bunnyhop_desc": "You get auto \"BunnyHop\"", @@ -137,6 +144,10 @@ "dwarf_desc": "Random character size at the start of the round", "dwarf_desc2": "Your size multiplier is: {0}x", + "empgrenade": "EMP Grenade", + "empgrenade_desc": "Anyone hurt by your grenade loses their radar and crosshair for a while", + "empgrenade_enemy_info": "An EMP grenade knocked out your radar and crosshair.", + "enemyspawn": "Enemy Spawn", "enemyspawn_desc": "Click [css_useSkill] to teleport to the enemy spawn", @@ -223,6 +234,9 @@ "grapple_no_anchor_info": "No surface to hook onto.", "grapple_pulling_info": "PULLING", + "gravitydecoy": "Gravity Decoy", + "gravitydecoy_desc": "Your decoy changes the gravity of everyone nearby", + "grenadier": "Grenadier", "grenadier_desc": "You have infinite hegrenade", @@ -232,6 +246,9 @@ "healingsmoke": "Healing Smoke", "healingsmoke_desc": "Your smoke grenades heal", + "heavyweight": "Heavyweight", + "heavyweight_desc": "Skills that push or slow you down have no effect on you", + "hermit": "Hermit", "hermit_desc": "Killing restores ammo and a portion of health", @@ -360,6 +377,12 @@ "demoneye": "Demon Eye", "demoneye_desc": "You deal damage to every enemy you are looking at", + "nemesis": "Nemesis", + "nemesis_desc": "The player you mark takes extra damage", + "nemesis_select_info": "Choose a player:", + "nemesis_player_info": "You marked '{0}'.", + "nemesis_enemy_info": "You have been marked as a nemesis, you now take extra damage from everyone.", + "nightmare": "Nightmare", "nightmare_desc": "Force a chosen enemy to experience a terrifying vision", "nightmare_disable_info": "The nightmare has faded.", @@ -423,6 +446,10 @@ "prosthesis": "Prosthesis", "prosthesis_desc": "Arms and legs are bulletproof", + "punisher": "Punisher", + "punisher_desc": "You bank part of the damage you take and add it to your next hit", + "punisher_released_info": "You dealt {0} extra damage and healed for the same amount.", + "push": "Pusher", "push_desc": "You have a random chance to push an enemy back when hitting them", "push_desc2": "Your chances of pushing back the enemy are: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Return to Sender", "returntosender_desc": "The first hit on an enemy sends them back to their spawn", + "rewind": "Rewind", + "rewind_desc": "Click [css_useSkill] to drop a marker where you stand and return to it shortly after", + "rewind_pending_info": "RETURN: {0}", + "richboy": "Rich Boy", "richboy_desc": "You receive a random amount of money at the start of the round", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Tripwire placed.", "tripwire_triggered_info": "'{0}' triggered your tripwire.", + "truearmor": "True Armor", + "truearmor_desc": "Part of the damage you take is paid by your armor instead of your health", + + "voodoo": "Voodoo", + "voodoo_desc": "The enemy you mark also takes part of the damage you take", + "voodoo_select_info": "Choose a player:", + "voodoo_player_info": "You bound '{0}' to your voodoo.", + "wallhack": "Wallhack", "wallhack_desc": "You can see enemies through walls", diff --git a/jRandomSkills - SRC Files/src/lang/fr.json b/jRandomSkills - SRC Files/src/lang/fr.json index 722d442..bb99783 100644 --- a/jRandomSkills - SRC Files/src/lang/fr.json +++ b/jRandomSkills - SRC Files/src/lang/fr.json @@ -60,6 +60,13 @@ "blastshot": "Tir explosif", "blastshot_desc": "Appuyez sur Attack2 avec le MP5 pour tirer une grenade HE", + "bounty": "Prime", + "bounty_desc": "Mets une prime sur la tête d'un ennemi ; celui qui le tue empoche l'argent", + "bounty_select_info": "Choisis un joueur :", + "bounty_player_info": "Tu as mis une prime de {1}$ sur '{0}'.", + "bounty_enemy_info": "Une prime de {0}$ a été mise sur ta tête.", + "bounty_claimed_info": "Tu as tué '{0}' et empoché {1}$.", + "bunnyhop": "Lapin", "bunnyhop_desc": "Vous obtenez l’auto « BunnyHop »", @@ -144,6 +151,10 @@ "dwarf_desc": "Taille du personnage aléatoire au début du round", "dwarf_desc2": "Votre multiplicateur de taille est : {0}x", + "empgrenade": "Grenade EMP", + "empgrenade_desc": "Ceux que ta grenade blesse perdent leur radar et leur viseur un moment", + "empgrenade_enemy_info": "Une grenade EMP a coupé ton radar et ton viseur.", + "enemyspawn": "Spawn Ennemi", "enemyspawn_desc": "Appuyez sur [css_useSkill] pour vous téléporter au spawn ennemi", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Aucune surface pour accrocher le grappin.", "grapple_pulling_info": "TRACTION", + "gravitydecoy": "Leurre gravitationnel", + "gravitydecoy_desc": "Ton leurre modifie la gravité de tous ceux qui sont à proximité", + "grenadier": "Grenadier", "grenadier_desc": "Tu as des grenades HE infinies", @@ -239,6 +253,9 @@ "healingchicken": "Poulet guérisseur", "healingchicken_desc": "Vos poulets vous soignent lorsque vous êtes à proximité", + "heavyweight": "Poids lourd", + "heavyweight_desc": "Les compétences qui te poussent ou te ralentissent n'ont aucun effet sur toi", + "hermit": "Ermite", "hermit_desc": "Tuer restaure des munitions et une partie de vos PV", @@ -360,6 +377,12 @@ "bankrupt_player_info": "Le joueur « {0} » est en faillite.", "bankrupt_select_info": "Mettre un joueur en faillite :", + "nemesis": "Némésis", + "nemesis_desc": "Le joueur que tu marques subit des dégâts supplémentaires", + "nemesis_select_info": "Choisis un joueur :", + "nemesis_player_info": "Tu as marqué '{0}'.", + "nemesis_enemy_info": "Vous avez été marqué comme némésis, vous subissez désormais des dégâts supplémentaires de la part de tous.", + "nightmare": "Cauchemar", "nightmare_desc": "Faites subir une vision terrifiante à un ennemi choisi", "nightmare_disable_info": "Le cauchemar s'est dissipé.", @@ -423,6 +446,10 @@ "prosthesis": "Prothèses", "prosthesis_desc": "Les bras et les jambes sont pare-balles", + "punisher": "Punisseur", + "punisher_desc": "Tu accumules une partie des dégâts subis et l'ajoutes à ton prochain tir", + "punisher_released_info": "Tu as infligé {0} dégâts en plus et récupéré autant de vie.", + "push": "Pousseur", "push_desc": "Vous avez une chance aléatoire de repousser un ennemi en le touchant", "push_desc2": "Votre chance de repousser l’ennemi est : {0}%", @@ -460,6 +487,10 @@ "returntosender": "Retour à l’Expéditeur", "returntosender_desc": "Le premier coup porté à un ennemi le renvoie à son spawn", + "rewind": "Rembobinage", + "rewind_desc": "Appuie sur [css_useSkill] pour poser un repère ici et y revenir peu après", + "rewind_pending_info": "RETOUR : {0}", + "richboy": "Gosse de Riche", "richboy_desc": "Vous recevez une somme d’argent aléatoire au début du round", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Fil-piège placé.", "tripwire_triggered_info": "'{0}' a déclenché votre fil-piège.", + "truearmor": "Vraie armure", + "truearmor_desc": "Une partie des dégâts est absorbée par ton armure au lieu de ta vie", + + "voodoo": "Vaudou", + "voodoo_desc": "L'ennemi que tu marques subit aussi une partie des dégâts que tu reçois", + "voodoo_select_info": "Choisis un joueur :", + "voodoo_player_info": "Tu as lié '{0}' à ton vaudou.", + "wallhack": "Wallhack", "wallhack_desc": "Vous pouvez voir les ennemis à travers les murs", diff --git a/jRandomSkills - SRC Files/src/lang/pl.json b/jRandomSkills - SRC Files/src/lang/pl.json index fbce5ea..2659a45 100644 --- a/jRandomSkills - SRC Files/src/lang/pl.json +++ b/jRandomSkills - SRC Files/src/lang/pl.json @@ -60,6 +60,13 @@ "blastshot": "Mocne Uderzenie", "blastshot_desc": "Naciśnij Attack2 na MP5, aby wystrzelić granat HE", + "bounty": "Nagroda", + "bounty_desc": "Wyznacz nagrodę za głowę wroga; kto go zabije, dostaje pieniądze", + "bounty_select_info": "Wybierz gracza:", + "bounty_player_info": "Wyznaczyłeś nagrodę {1}$ za '{0}'.", + "bounty_enemy_info": "Za twoją głowę wyznaczono {0}$.", + "bounty_claimed_info": "Zabiłeś '{0}' i zgarnąłeś {1}$.", + "bunnyhop": "Królik", "bunnyhop_desc": "Otrzymujesz auto \"BunnyHopa\"", @@ -144,6 +151,10 @@ "dwarf_desc": "Losowa wielkość postaci na początku rundy", "dwarf_desc2": "Twój mnożnik wielkości to {0}x", + "empgrenade": "Granat EMP", + "empgrenade_desc": "Kto oberwie twoim granatem, na chwilę traci radar i celownik", + "empgrenade_enemy_info": "Granat EMP wyłączył twój radar i celownik.", + "enemyspawn": "Resp Wroga", "enemyspawn_desc": "Kliknij [css_useSkill], aby teleportować się na resp wroga", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Brak powierzchni do zaczepienia haka.", "grapple_pulling_info": "PRZYCIĄGANIE", + "gravitydecoy": "Grawitacyjna wabik", + "gravitydecoy_desc": "Twój wabik zmienia grawitację wszystkich w pobliżu", + "grenadier": "Granatnik", "grenadier_desc": "Masz nieskończone granaty odłamkowe", @@ -239,6 +253,9 @@ "healingchicken": "Lecząca Kura", "healingchicken_desc": "Twoje kury leczą Cię, gdy jesteś w pobliżu", + "heavyweight": "Waga ciężka", + "heavyweight_desc": "Umiejętności, które cię popychają lub spowalniają, nie działają na ciebie", + "hermit": "Pustelnik", "hermit_desc": "Zabijanie przywraca amunicję i część zdrowia", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Wymieniłeś swoje pieniądze z graczem '{0}'.", "moneyswap_select_info": "Zamień się kasą z graczem:", + "nemesis": "Nemezis", + "nemesis_desc": "Oznaczony gracz otrzymuje dodatkowe obrażenia", + "nemesis_select_info": "Wybierz gracza:", + "nemesis_player_info": "Oznaczyłeś '{0}'.", + "nemesis_enemy_info": "Zostałeś oznaczony jako nemezis, teraz otrzymujesz dodatkowe obrażenia od wszystkich.", + "nightmare": "Koszmar", "nightmare_desc": "Wywołaj u wybranego przeciwnika przerażającą wizję", "nightmare_disable_info": "Koszmar minął.", @@ -423,6 +446,10 @@ "prosthesis": "Proteza", "prosthesis_desc": "Ramiona i nogi są kuloodporne", + "punisher": "Karzyciel", + "punisher_desc": "Gromadzisz część otrzymanych obrażeń i dodajesz je do następnego trafienia", + "punisher_released_info": "Zadałeś {0} dodatkowych obrażeń i odzyskałeś tyle samo życia.", + "push": "Odpychacz", "push_desc": "Masz losową szansę na odepchnięcie wroga po trafieniu go", "push_desc2": "Twoje szanse na odepchnięcie wroga to: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Zwrot do Nadawcy", "returntosender_desc": "Pierwsze trafienie wroga powoduje, że wraca on na swój resp", + "rewind": "Przewijanie", + "rewind_desc": "Naciśnij [css_useSkill], aby zostawić znacznik i wkrótce do niego wrócić", + "rewind_pending_info": "POWRÓT: {0}", + "richboy": "Bogacz", "richboy_desc": "Na początku rundy otrzymujesz losową kwotę gotówki", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Linka została rozstawiona.", "tripwire_triggered_info": "'{0}' uruchomił Twoją linkę.", + "truearmor": "Prawdziwy pancerz", + "truearmor_desc": "Część obrażeń pokrywa twój pancerz zamiast zdrowia", + + "voodoo": "Voodoo", + "voodoo_desc": "Oznaczony wróg również otrzymuje część obrażeń, które ty dostajesz", + "voodoo_select_info": "Wybierz gracza:", + "voodoo_player_info": "Związałeś '{0}' swoim voodoo.", + "wallhack": "Wallhack", "wallhack_desc": "Widzisz wrogów przez ściany", diff --git a/jRandomSkills - SRC Files/src/lang/pt-br.json b/jRandomSkills - SRC Files/src/lang/pt-br.json index 14fc109..c477c18 100644 --- a/jRandomSkills - SRC Files/src/lang/pt-br.json +++ b/jRandomSkills - SRC Files/src/lang/pt-br.json @@ -60,6 +60,13 @@ "blastshot": "Tiro Explosivo", "blastshot_desc": "Pressione Attack2 com a MP5 para disparar uma granada HE", + "bounty": "Recompensa", + "bounty_desc": "Coloque um preço na cabeça de um inimigo; quem o matar leva o dinheiro", + "bounty_select_info": "Escolha um jogador:", + "bounty_player_info": "Você colocou {1}$ de recompensa em '{0}'.", + "bounty_enemy_info": "Puseram {0}$ de recompensa na sua cabeça.", + "bounty_claimed_info": "Você matou '{0}' e levou {1}$.", + "bunnyhop": "Coelho", "bunnyhop_desc": "Você ganha \"BunnyHop\" automático", @@ -144,6 +151,10 @@ "dwarf_desc": "Sua altura agora é aleatória", "dwarf_desc2": "Seu multiplicador de altura é: {0}x", + "empgrenade": "Granada EMP", + "empgrenade_desc": "Quem se ferir com sua granada perde o radar e a mira por um tempo", + "empgrenade_enemy_info": "Uma granada EMP derrubou seu radar e sua mira.", + "enemyspawn": "Spawn Inimigo", "enemyspawn_desc": "Clique em [css_useSkill] para se teletransportar para a base inimiga", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Nenhuma superfície para prender o gancho.", "grapple_pulling_info": "PUXANDO", + "gravitydecoy": "Chamariz Gravitacional", + "gravitydecoy_desc": "Seu chamariz muda a gravidade de todos que estão por perto", + "grenadier": "Bomberman", "grenadier_desc": "Você tem HEs infinitas", @@ -239,6 +253,9 @@ "healingchicken": "Galinha Curadora", "healingchicken_desc": "Suas galinhas curam você enquanto você estiver por perto", + "heavyweight": "Peso Pesado", + "heavyweight_desc": "Habilidades que empurram ou te deixam lento não fazem efeito em você", + "hermit": "Sanguessuga", "hermit_desc": "Matar restaura munição e uma parte da sua vida", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Você trocou dinheiro com o jogador '{0}'.", "moneyswap_select_info": "Trocar dinheiro c/ jogador:", + "nemesis": "Nêmesis", + "nemesis_desc": "O jogador que você marcar recebe dano extra", + "nemesis_select_info": "Escolha um jogador:", + "nemesis_player_info": "Você marcou '{0}'.", + "nemesis_enemy_info": "Você foi marcado como nêmesis, agora recebe dano extra de todos.", + "nightmare": "Pesadelo", "nightmare_desc": "Faça um inimigo escolhido ter uma visão aterrorizante", "nightmare_disable_info": "O pesadelo desapareceu.", @@ -423,6 +446,10 @@ "prosthesis": "Prótese", "prosthesis_desc": "Braços e pernas são à prova de balas", + "punisher": "Punidor", + "punisher_desc": "Você guarda parte do dano recebido e soma no seu próximo tiro", + "punisher_released_info": "Você causou {0} de dano extra e recuperou a mesma vida.", + "push": "Empurrão", "push_desc": "Você tem uma chance aleatória de empurrar um inimigo ao acertá-lo", "push_desc2": "Suas chances de empurrar o inimigo são: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Devolução ao Remetente", "returntosender_desc": "O primeiro tiro em um inimigo o envia de volta a sua base", + "rewind": "Retroceder", + "rewind_desc": "Clique em [css_useSkill] para deixar uma marca aqui e voltar a ela logo depois", + "rewind_pending_info": "RETORNO: {0}", + "richboy": "Filhinho de Papai", "richboy_desc": "Você recebe uma quantidade aleatória de dinheiro no início da rodada", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Fio de armadilha colocado.", "tripwire_triggered_info": "'{0}' acionou seu fio.", + "truearmor": "Armadura Real", + "truearmor_desc": "Parte do dano que você recebe sai do colete em vez da vida", + + "voodoo": "Vodu", + "voodoo_desc": "O inimigo que você marcar também recebe parte do dano que você leva", + "voodoo_select_info": "Escolha um jogador:", + "voodoo_player_info": "Você ligou '{0}' ao seu vodu.", + "wallhack": "Wallhack", "wallhack_desc": "Você pode ver inimigos através das paredes", diff --git a/jRandomSkills - SRC Files/src/lang/ru.json b/jRandomSkills - SRC Files/src/lang/ru.json index 7e5148e..19f2012 100644 --- a/jRandomSkills - SRC Files/src/lang/ru.json +++ b/jRandomSkills - SRC Files/src/lang/ru.json @@ -60,6 +60,13 @@ "blastshot": "Взрывной выстрел", "blastshot_desc": "Нажмите Attack2 на MP5, чтобы выстрелить гранатой HE", + "bounty": "Награда", + "bounty_desc": "Назначь награду за голову врага; тот, кто убьёт его, получит деньги", + "bounty_select_info": "Выберите игрока:", + "bounty_player_info": "Вы назначили награду {1}$ за '{0}'.", + "bounty_enemy_info": "За вашу голову назначили {0}$.", + "bounty_claimed_info": "Вы убили '{0}' и получили {1}$.", + "bunnyhop": "Заяц", "bunnyhop_desc": "Вы получаете автоматический «БанниХоп»", @@ -144,6 +151,10 @@ "dwarf_desc": "Случайный размер персонажа в начале раунда", "dwarf_desc2": "Ваш множитель размера: {0}x", + "empgrenade": "ЭМИ-граната", + "empgrenade_desc": "Тот, кто пострадал от вашей гранаты, на время теряет радар и прицел", + "empgrenade_enemy_info": "ЭМИ-граната вывела из строя ваш радар и прицел.", + "enemyspawn": "Спавн врагов", "enemyspawn_desc": "Нажмите [css_useSkill], чтобы телепортироваться на спавн врагов", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Нет поверхности для зацепа.", "grapple_pulling_info": "ПРИТЯГИВАНИЕ", + "gravitydecoy": "Гравитационная обманка", + "gravitydecoy_desc": "Ваша обманка меняет гравитацию всех, кто рядом", + "grenadier": "Гренадёр", "grenadier_desc": "У вас бесконечные осколочные гранаты", @@ -239,6 +253,9 @@ "healingsmoke": "Лечащий дым", "healingsmoke_desc": "Ваши дымовые гранаты лечат", + "heavyweight": "Тяжеловес", + "heavyweight_desc": "Способности, которые толкают или замедляют, на вас не действуют", + "hermit": "Отшельник", "hermit_desc": "Убийства восстанавливают боеприпасы и часть здоровья", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Вы обменялись деньгами с игроком '{0}'.", "moneyswap_select_info": "Обменять деньги с игроком:", + "nemesis": "Немезида", + "nemesis_desc": "Отмеченный вами игрок получает больше урона", + "nemesis_select_info": "Выберите игрока:", + "nemesis_player_info": "Вы отметили '{0}'.", + "nemesis_enemy_info": "Вы отмечены как немезида и теперь получаете больше урона от всех.", + "nightmare": "Кошмар", "nightmare_desc": "Заставьте выбранного противника увидеть кошмарное видение", "nightmare_disable_info": "Кошмар рассеялся.", @@ -423,6 +446,10 @@ "prosthesis": "Протез", "prosthesis_desc": "Руки и ноги защищены от пуль", + "punisher": "Каратель", + "punisher_desc": "Вы копите часть полученного урона и добавляете его к следующему попаданию", + "punisher_released_info": "Вы нанесли {0} дополнительного урона и восстановили столько же здоровья.", + "push": "Толкач", "push_desc": "Есть шанс оттолкнуть врага назад при попадании", "push_desc2": "Ваш шанс оттолкнуть врага: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Вернуть отправителю", "returntosender_desc": "Первое попадание по врагу отправляет его обратно на спавн", + "rewind": "Перемотка", + "rewind_desc": "Нажмите [css_useSkill], чтобы оставить метку здесь и вскоре вернуться к ней", + "rewind_pending_info": "ВОЗВРАТ: {0}", + "richboy": "Богач", "richboy_desc": "Вы получаете случайную сумму денег в начале раунда", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Растяжка установлена.", "tripwire_triggered_info": "'{0}' задел вашу растяжку.", + "truearmor": "Настоящая броня", + "truearmor_desc": "Часть урона принимает броня, а не здоровье", + + "voodoo": "Вуду", + "voodoo_desc": "Отмеченный враг тоже получает часть урона, который получаете вы", + "voodoo_select_info": "Выберите игрока:", + "voodoo_player_info": "Вы привязали '{0}' к своему вуду.", + "wallhack": "Воллхак", "wallhack_desc": "Вы видите врагов сквозь стены", diff --git a/jRandomSkills - SRC Files/src/lang/tr.json b/jRandomSkills - SRC Files/src/lang/tr.json index 0a6a3ce..617a3dd 100644 --- a/jRandomSkills - SRC Files/src/lang/tr.json +++ b/jRandomSkills - SRC Files/src/lang/tr.json @@ -60,6 +60,13 @@ "blastshot": "Patlama Atışı", "blastshot_desc": "MP5 ile sağ tıklayarak el bombası fırlat", + "bounty": "Ödül Avı", + "bounty_desc": "Bir düşmana ödül koy, onu öldüren parayı alır", + "bounty_select_info": "Birini seçin:", + "bounty_player_info": "'{0}' için {1}$ ödül koydun.", + "bounty_enemy_info": "Başına {0}$ ödül kondu.", + "bounty_claimed_info": "'{0}' oyuncusunu öldürdün ve {1}$ kazandın.", + "bunnyhop": "Tavşan", "bunnyhop_desc": "Otomatik BunnyHop yaparsın", @@ -137,6 +144,10 @@ "dwarf_desc": "Rastgele karakter boyutu", "dwarf_desc2": "Boyutun: {0}x", + "empgrenade": "EMP Bombası", + "empgrenade_desc": "El bomban, hasar verdiğin düşmanın radarını ve nişangahını kapatır", + "empgrenade_enemy_info": "Radarın ve nişangahın kapandı.", + "enemyspawn": "Base Baskını", "enemyspawn_desc": "[css_useSkill] tuşuna basarak düşman doğma noktasına ışınlan", @@ -223,6 +234,9 @@ "grapple_no_anchor_info": "Kanca atılacak yüzey yok", "grapple_pulling_info": "ÇEKİLİYOR", + "gravitydecoy": "Yerçekimi Yanıltıcısı", + "gravitydecoy_desc": "Yanıltıcı bomban yakındaki herkesin yerçekimini değiştirir", + "grenadier": "Bombacı", "grenadier_desc": "El bomban sınırsız", @@ -232,6 +246,9 @@ "healingsmoke": "Şifalı Sis", "healingsmoke_desc": "Sis bomban iyileştirir", + "heavyweight": "Ağır Sıklet", + "heavyweight_desc": "Seni iten ve yavaşlatan yetenekler işlemez", + "hermit": "Münzevi", "hermit_desc": "Birini öldürünce mermin ve canın yenilenir", @@ -360,6 +377,12 @@ "demoneye": "Şeytani Göz", "demoneye_desc": "Baktığın tüm düşmana hasar verirsin", + "nemesis": "Ezeli Rakip", + "nemesis_desc": "İşaretlediğin düşman herkesten daha fazla hasar alır", + "nemesis_select_info": "Birini seçin:", + "nemesis_player_info": "'{0}' artık herkesten daha fazla hasar alacak.", + "nemesis_enemy_info": "İşaretlendin, artık herkesten daha fazla hasar alıyorsun.", + "nightmare": "Kabus", "nightmare_desc": "Seçtiğin rakibe kabus gördür", "nightmare_disable_info": "Kabus sona erdi.", @@ -423,6 +446,10 @@ "prosthesis": "Protez", "prosthesis_desc": "Kolların ve bacakların kurşun geçirmez", + "punisher": "İntikam", + "punisher_desc": "Aldığın hasarı biriktirir, sonraki vuruşunda geri verirsin", + "punisher_released_info": "{0} ekstra hasar verdin ve o kadar can kazandın.", + "push": "İtici", "push_desc": "Düşmana vurduğunda onu geri itme şansın olur", "push_desc2": "Geri itme şansın: %{0}", @@ -460,6 +487,10 @@ "returntosender": "İade", "returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıcına ışınlar", + "rewind": "Geri Sarma", + "rewind_desc": "[css_useSkill] tuşuna basarak iz bırak, birazdan oraya geri dön", + "rewind_pending_info": "DÖNÜŞ: {0}", + "richboy": "Zengin Çocuk", "richboy_desc": "Rastgele miktarda paran olur", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Tel gerildi.", "tripwire_triggered_info": "'{0}' teline takıldı.", + "truearmor": "Gerçek Zırh", + "truearmor_desc": "Aldığın hasarın bir kısmını canın yerine zırhın karşılar", + + "voodoo": "Vudu", + "voodoo_desc": "Aldığın hasarın bir kısmını işaretlediğin düşman da alır", + "voodoo_select_info": "Birini seçin:", + "voodoo_player_info": "'{0}' oyuncusunu kendine bağladın.", + "wallhack": "Wallhack", "wallhack_desc": "Düşmanları duvar arkasından görürsün", diff --git a/jRandomSkills - SRC Files/src/lang/zh.json b/jRandomSkills - SRC Files/src/lang/zh.json index ecccbf0..8726bc7 100644 --- a/jRandomSkills - SRC Files/src/lang/zh.json +++ b/jRandomSkills - SRC Files/src/lang/zh.json @@ -54,6 +54,13 @@ "blademaster": "我的刀能档子弹!", "blademaster_desc": "持刀时,你有很高几率格挡子弹", + "bounty": "悬赏", + "bounty_desc": "对一名敌人悬赏,击杀他的人可以获得赏金", + "bounty_select_info": "选择一名玩家:", + "bounty_player_info": "你对 '{0}' 悬赏了 {1}$。", + "bounty_enemy_info": "有人对你悬赏了 {0}$。", + "bounty_claimed_info": "你击杀了 '{0}',获得 {1}$。", + "bunnyhop": "连跳大佬", "bunnyhop_desc": "你获得自动连跳的能力", @@ -131,6 +138,10 @@ "dwarf_desc": "回合开始时获得随机角色大小", "dwarf_desc2": "你的体型倍率是:{0}x", + "empgrenade": "电磁脉冲手雷", + "empgrenade_desc": "被你的手雷伤到的人会暂时失去雷达和准星", + "empgrenade_enemy_info": "电磁脉冲手雷让你的雷达和准星失效了。", + "enemyspawn": "传送敌人出生点", "enemyspawn_desc": "点击 [css_useSkill] 传送到敌人出生点", @@ -211,12 +222,18 @@ "grapple_no_anchor_info": "没有可以钩住的表面。", "grapple_pulling_info": "拉动中", + "gravitydecoy": "重力诱饵", + "gravitydecoy_desc": "你的诱饵会改变附近所有人的重力", + "grenadier": "投弹手", "grenadier_desc": "你拥有无限高爆手雷", "healingsmoke": "治疗烟雾", "healingsmoke_desc": "你的烟雾弹会治疗", + "heavyweight": "重量级", + "heavyweight_desc": "推开你或让你减速的技能对你无效", + "hermit": "隐士", "hermit_desc": "击杀敌人会恢复弹药和部分生命值", @@ -330,6 +347,12 @@ "deathbomb_desc": "你死亡时会爆炸,杀死附近的玩家", "deathbomb_explosion": "砰!", + "nemesis": "宿敌", + "nemesis_desc": "被你标记的玩家会受到额外伤害", + "nemesis_select_info": "选择一名玩家:", + "nemesis_player_info": "你标记了 '{0}'。", + "nemesis_enemy_info": "你被标记为宿敌,现在会受到所有人的额外伤害。", + "nightmare": "nightmare", "nightmare_desc": "nightmare_desc", "nightmare_disable_info": "nightmare_disable_info", @@ -393,6 +416,10 @@ "prosthesis": "假肢", "prosthesis_desc": "手臂和腿部防弹", + "punisher": "惩罚者", + "punisher_desc": "你会积攒受到伤害的一部分,并加到下一次命中上", + "punisher_released_info": "你造成了 {0} 点额外伤害,并回复了同样的生命值。", + "push": "推力者", "push_desc": "你有随机几率在击中敌人时将其推回", "push_desc2": "你击退敌人的几率为:{0}%", @@ -430,6 +457,10 @@ "returntosender": "发送他们房子!!!", "returntosender_desc": "首次击中敌人会将其送回出生点", + "rewind": "回溯", + "rewind_desc": "按 [css_useSkill] 在原地留下标记,稍后回到那里", + "rewind_pending_info": "回溯:{0}", + "richboy": "富少", "richboy_desc": "回合开始时你获得随机数量的钱", @@ -507,6 +538,14 @@ "tripwire_placed_info": "tripwire_placed_info", "tripwire_triggered_info": "tripwire_triggered_info: {0}", + "truearmor": "真实护甲", + "truearmor_desc": "你受到的一部分伤害由护甲承担,而不是生命值", + + "voodoo": "巫毒", + "voodoo_desc": "被你标记的敌人也会受到你所受伤害的一部分", + "voodoo_select_info": "选择一名玩家:", + "voodoo_player_info": "你把 '{0}' 绑到了你的巫毒上。", + "wallhack": "透视", "wallhack_desc": "你可以通过墙壁看到敌人", diff --git a/jRandomSkills - SRC Files/src/player/Debug.cs b/jRandomSkills - SRC Files/src/player/Debug.cs index 7e743cb..c977778 100644 --- a/jRandomSkills - SRC Files/src/player/Debug.cs +++ b/jRandomSkills - SRC Files/src/player/Debug.cs @@ -45,13 +45,13 @@ namespace src.player var teams = Utilities.FindAllEntitiesByDesignerName("cs_team_manager").Where(t => t != null).ToList(); var tTeam = teams.FirstOrDefault(t => t.TeamNum == (int)CsTeam.Terrorist); var ctTeam = teams.FirstOrDefault(t => t.TeamNum == (int)CsTeam.CounterTerrorist); - WriteToDebug($"Round #{tTeam?.Score + ctTeam?.Score + 1} (CT {ctTeam?.Score} : {tTeam?.Score} TT) started."); + WriteToDebug($"Round #{tTeam?.Score + ctTeam?.Score + 1} (CT {ctTeam?.Score} : {tTeam?.Score} TT) started.{WarmupTag()}"); return HookResult.Continue; }); Instance.RegisterEventHandler((@event, info) => { - WriteToDebug($"Freeze time ended."); + WriteToDebug($"Freeze time ended.{WarmupTag()}"); return HookResult.Continue; }); @@ -60,7 +60,7 @@ namespace src.player var teams = Utilities.FindAllEntitiesByDesignerName("cs_team_manager").Where(t => t != null).ToList(); var tTeam = teams.FirstOrDefault(t => t.TeamNum == (int)CsTeam.Terrorist); var ctTeam = teams.FirstOrDefault(t => t.TeamNum == (int)CsTeam.CounterTerrorist); - WriteToDebug($"Round #{tTeam?.Score + ctTeam?.Score} (CT {ctTeam?.Score} : {tTeam?.Score} TT) ended."); + WriteToDebug($"Round #{tTeam?.Score + ctTeam?.Score} (CT {ctTeam?.Score} : {tTeam?.Score} TT) ended.{WarmupTag()}"); return HookResult.Continue; }); @@ -137,6 +137,13 @@ namespace src.player return HookResult.Continue; } + private static string WarmupTag() + { + var gameRules = Instance?.GameRules; + if (gameRules == null || gameRules.Handle == IntPtr.Zero) return " [gamerules unavailable]"; + return gameRules.WarmupPeriod ? " [WARMUP]" : string.Empty; + } + public static void WriteToDebug(string message) { if (Config.LoadedConfig.DebugMode != true) diff --git a/jRandomSkills - SRC Files/src/player/ISkill.cs b/jRandomSkills - SRC Files/src/player/ISkill.cs index d90bc21..f69d2f5 100644 --- a/jRandomSkills - SRC Files/src/player/ISkill.cs +++ b/jRandomSkills - SRC Files/src/player/ISkill.cs @@ -76,6 +76,7 @@ public enum Skills BladeMaster, BunnyHop, BlastShot, + Bounty, C4Camouflage, CarefulBullets, Catapult, @@ -95,6 +96,7 @@ public enum Skills Dracula, Duplicator, Dwarf, + EmpGrenade, EnemySpawn, ExpensiveAmmo, ExplodingBarrel, @@ -116,9 +118,11 @@ public enum Skills Glue, GodMode, Grapple, + GravityDecoy, Grenadier, HealingChicken, HealingSmoke, + Heavyweight, Hermit, HolyHandGrenade, HomingNades, @@ -148,6 +152,7 @@ public enum Skills Medic, Miner, MoneySwap, + Nemesis, Nightmare, Ninja, NoNades, @@ -163,6 +168,7 @@ public enum Skills Poison, PrimaryBan, Prosthesis, + Punisher, Push, Pyro, QuickShot, @@ -175,6 +181,7 @@ public enum Skills Replicator, Retreat, ReturnToSender, + Rewind, RichBoy, Ricochet, RobinHood, @@ -199,6 +206,8 @@ public enum Skills ThrowingKnife, ToxicSmoke, Tripwire, + TrueArmor, + Voodoo, Wallhack, Watchmaker, WeaponsSwap, diff --git a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs index c82dcfe..9e966c9 100644 --- a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs +++ b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs @@ -33,7 +33,7 @@ namespace src.player public static readonly SkillsInfo.DefaultSkillInfo[] counterterroristSkills = [.. SkillsInfo.LoadedConfig.Where(s => s.OnlyTeam == (int)CsTeam.CounterTerrorist)]; private static readonly SkillsInfo.DefaultSkillInfo[] allTeamsSkills = [.. SkillsInfo.LoadedConfig.Where(s => s.OnlyTeam == 0)]; - private static readonly ConcurrentDictionary> playersSkills = []; + private static readonly ConcurrentDictionary> playersSkills = []; public static readonly ConcurrentDictionary staticSkills = []; public static readonly ConcurrentDictionary playersCustomFOV = []; private static readonly object setLock = new(); @@ -564,6 +564,7 @@ namespace src.player PlayerManager.UnregisterPlayer(player.Index); EntityManager.DestroyPlayerEntities(player.Index); + SkillUtils.ClearHudSuppression(player.Index); return HookResult.Continue; } @@ -602,6 +603,8 @@ namespace src.player var pawn = player.PlayerPawn?.Value; if (pawn == null || !pawn.IsValid) return; + SkillUtils.ClearHudSuppression(player.Index); + pawn.HideHUD = (uint)(pawn.HideHUD & ~(1 << 8)); Utilities.SetStateChanged(pawn, "CBasePlayerPawn", "m_iHideHUD"); @@ -768,6 +771,21 @@ namespace src.player } var config = Config.LoadedConfig.HtmlHudCustomisation; + + var cache = skillPlayer?.HudCache; + if (cache != null + && cache.Content != null + && cache.PlayerIndex == player.Index + && ReferenceEquals(cache.Config, config) + && cache.IsDescription == isDescription + && string.Equals(cache.Header, headerLine, StringComparison.Ordinal) + && string.Equals(cache.Center, centerLine, StringComparison.Ordinal) + && string.Equals(cache.Extra, extraLine, StringComparison.Ordinal)) + { + player.PrintToCenterHtml(cache.Content); + return; + } + var emptySymbol = $" "; var emptySymbol2 = $" "; @@ -782,6 +800,19 @@ namespace src.player : $"
{emptySymbol}{extraLine}{emptySymbol}"; var hudContent = "" + infoLine + skillLine + remainingLine; + + if (skillPlayer != null) + { + cache ??= skillPlayer.HudCache = new HudCacheEntry(); + cache.PlayerIndex = player.Index; + cache.Config = config; + cache.Header = headerLine; + cache.Center = centerLine; + cache.Extra = extraLine; + cache.IsDescription = isDescription; + cache.Content = hudContent; + } + player.PrintToCenterHtml(hudContent); } } diff --git a/jRandomSkills - SRC Files/src/player/RoundEvents.cs b/jRandomSkills - SRC Files/src/player/RoundEvents.cs index 62a7a38..f43b976 100644 --- a/jRandomSkills - SRC Files/src/player/RoundEvents.cs +++ b/jRandomSkills - SRC Files/src/player/RoundEvents.cs @@ -195,6 +195,8 @@ namespace src.player SkillsUsedThisMap.Clear(); nextRoundPicks.Clear(); + SkillUtils.ClearAllHudSuppression(); + playersCustomFOV.Clear(); playersSkills.Clear(); staticSkills.Clear(); @@ -275,6 +277,7 @@ namespace src.player public required HashSet NeedsTeammates { get; init; } public required HashSet CtOnly { get; init; } public required HashSet TOnly { get; init; } + public required HashSet PistolRoundBanned { get; init; } public required int TerroristCount { get; init; } public required int CounterTerroristCount { get; init; } } @@ -296,6 +299,9 @@ namespace src.player NeedsTeammates = ToSkillSet(SkillsInfo.LoadedConfig.Where(s => s.NeedsTeammates).Select(s => s.Name)), CtOnly = ToSkillSet(counterterroristSkills.Select(s => s.Name)), TOnly = ToSkillSet(terroristSkills.Select(s => s.Name)), + PistolRoundBanned = SkillUtils.IsPistolRound() + ? ToSkillSet(SkillsInfo.LoadedConfig.Where(s => s.DisableOnPistolRound).Select(s => s.Name)) + : [], TerroristCount = validPlayers.Count(p => p.Team == CsTeam.Terrorist), CounterTerroristCount = validPlayers.Count(p => p.Team == CsTeam.CounterTerrorist), }; @@ -328,9 +334,12 @@ namespace src.player else skillList.RemoveAll(s => ctx.TOnly.Contains(s.Skill)); - if (gameMode == Config.GameModes.NoRepeat && playersSkills.TryGetValue(player.Index, out ConcurrentBag? skills)) + if (ctx.PistolRoundBanned.Count != 0) + skillList.RemoveAll(s => ctx.PistolRoundBanned.Contains(s.Skill)); + + if (gameMode == Config.GameModes.NoRepeat && playersSkills.TryGetValue(player.Index, out HashSet? skills)) { - skillList.RemoveAll(s => skills.Any(s2 => s2.Skill == s.Skill)); + skillList.RemoveAll(s => skills.Contains(s.Skill)); if (skillList.Count == 0) skills.Clear(); } @@ -338,10 +347,10 @@ namespace src.player if (gameMode == Config.GameModes.NoRepeat) { - if (playersSkills.TryGetValue(player.Index, out ConcurrentBag? value)) - value.Add(randomSkill); + if (playersSkills.TryGetValue(player.Index, out HashSet? value)) + value.Add(randomSkill.Skill); else - playersSkills.TryAdd(player.Index, [randomSkill]); + playersSkills.TryAdd(player.Index, [randomSkill.Skill]); } return randomSkill; @@ -358,6 +367,7 @@ namespace src.player var def = SkillsInfo.LoadedConfig.FirstOrDefault(d => d.Name == name); if (def == null) return false; + if (def.DisableOnPistolRound && SkillUtils.IsPistolRound()) return false; if (def.NeedsTeammates && validPlayers.Count(p => p.Team == player.Team) == 1) return false; if (def.MaxPerServer >= 0 && assignmentCounts.TryGetValue(pick.Skill, out var c) && c >= def.MaxPerServer) return false; @@ -648,9 +658,12 @@ namespace src.player else skillList.RemoveAll(s => terroristSkills.Any(s2 => s2.Name == s.Skill.ToString())); - if (gameMode == Config.GameModes.NoRepeat && playersSkills.TryGetValue(player.Index, out ConcurrentBag? skills)) + if (SkillUtils.IsPistolRound()) + skillList.RemoveAll(s => SkillsInfo.GetValue(s.Skill, "disableOnPistolRound")); + + if (gameMode == Config.GameModes.NoRepeat && playersSkills.TryGetValue(player.Index, out HashSet? skills)) { - skillList.RemoveAll(s => skills.Any(s2 => s2.Skill == s.Skill)); + skillList.RemoveAll(s => skills.Contains(s.Skill)); if (skillList.Count == 0) skills.Clear(); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Assassin.cs b/jRandomSkills - SRC Files/src/player/skills/Assassin.cs index fb170c3..767ce50 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Assassin.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Assassin.cs @@ -8,11 +8,9 @@ namespace src.player.skills public class Assassin : ISkill { private const Skills skillName = Skills.Assassin; - private static readonly string[] nadeWeapons = - [ - "weapon_inferno", "weapon_molotov", "weapon_incgrenade", "weapon_flashbang", - "weapon_smokegrenade", "weapon_decoy", "weapon_hegrenade" - ]; + private const string infernoWeapon = "weapon_inferno"; + + private static bool IsNade(string? weapon) => weapon == infernoWeapon || WeaponPool.IsGrenade(weapon); public static void LoadSkill() { @@ -46,7 +44,7 @@ namespace src.player.skills var weapon = param2.Ability?.Value; if (weapon == null || !weapon.IsValid) return; - if (nadeWeapons.Contains(weapon.DesignerName)) return; + if (IsNade(weapon.DesignerName)) return; if (IsBehind(attacker, victim)) param2.Damage *= SkillsInfo.GetValue(skillName, "damageMultiplier"); diff --git a/jRandomSkills - SRC Files/src/player/skills/Bounty.cs b/jRandomSkills - SRC Files/src/player/skills/Bounty.cs new file mode 100644 index 0000000..48b55d3 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Bounty.cs @@ -0,0 +1,175 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Cvars; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class Bounty : ISkill + { + private const Skills skillName = Skills.Bounty; + + private static readonly ConcurrentDictionary bountyTargets = []; + private static readonly ConcurrentDictionary ownerToTarget = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + bountyTargets.Clear(); + ownerToTarget.Clear(); + + foreach (var player in PlayerManager.GetTickPlayers()) + SkillUtils.CloseMenu(player); + } + + public static void PlayerDisconnect(uint playerIndex) + { + bountyTargets.TryRemove(playerIndex, out _); + ownerToTarget.TryRemove(playerIndex, out _); + + foreach (var kvp in ownerToTarget) + if (kvp.Value == playerIndex) + ownerToTarget.TryRemove(kvp.Key, out _); + } + + public static void EnableSkill(CCSPlayerController player) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null) return; + playerInfo.SkillUsed = false; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + if (enemies.Length > 0) + { + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.CreateMenu(player, menuItems); + } + else + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + if (ownerToTarget.TryRemove(player.Index, out uint targetIndex)) + bountyTargets.TryRemove(targetIndex, out _); + + SkillUtils.CloseMenu(player); + } + + public static void OnTick() + { + if (Server.TickCount % 32 != 0) return; + + foreach (var player in PlayerManager.GetTickPlayers()) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null || playerInfo.Skill != skillName) continue; + if (!SkillUtils.HasMenu(player)) continue; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.UpdateMenu(player, menuItems); + } + } + + public static void TypeSkill(CCSPlayerController player, string[] commands) + { + if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + if (playerInfo.SkillUsed) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}"); + return; + } + + if (commands.Length == 0 || !uint.TryParse(commands[0], out uint enemyIndex)) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex); + if (enemy == null || !enemy.IsValid) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + bountyTargets[enemy.Index] = 0; + ownerToTarget[player.Index] = enemy.Index; + playerInfo.SkillUsed = true; + + int reward = SkillsInfo.GetValue(skillName, "reward"); + + playerEvent.PrintToChat($" {ChatColors.Green}{playerEvent.GetTranslation("bounty_player_info", enemy.PlayerName, reward)}"); + + var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy); + if (enemyEvent != null && enemyEvent.IsValid) + enemyEvent.PrintToChat($" {ChatColors.Red}{enemyEvent.GetTranslation("bounty_enemy_info", reward)}"); + } + + public static void PlayerDeath(EventPlayerDeath @event) + { + if (bountyTargets.IsEmpty) return; + + var victim = PlayerManager.GetPlayerEvent(@event.Userid); + if (victim == null || !victim.IsValid) return; + + if (!bountyTargets.TryRemove(victim.Index, out _)) return; + + foreach (var kvp in ownerToTarget) + if (kvp.Value == victim.Index) + ownerToTarget.TryRemove(kvp.Key, out _); + + var killer = PlayerManager.GetPlayerEvent(@event.Attacker); + if (killer == null || !killer.IsValid) return; + if (killer.Index == victim.Index) return; + if (killer.Team == victim.Team) return; + + int reward = SkillsInfo.GetValue(skillName, "reward"); + if (!GiveMoney(killer, reward)) return; + + var killerEvent = PlayerManager.GetPlayerFromEvent(killer); + if (killerEvent != null && killerEvent.IsValid) + killerEvent.PrintToChat($" {ChatColors.Green}{killerEvent.GetTranslation("bounty_claimed_info", victim.PlayerName, reward)}"); + } + + private static int GetMaxMoney() => ConVar.Find("mp_maxmoney")?.GetPrimitiveValue() ?? 16000; + + private static bool GiveMoney(CCSPlayerController player, int amount) + { + var moneyServices = player.InGameMoneyServices; + if (moneyServices == null) return false; + + int maxMoney = GetMaxMoney(); + if (moneyServices.Account >= maxMoney) return false; + + moneyServices.Account = Math.Clamp(moneyServices.Account + amount, 0, maxMoney); + Utilities.SetStateChanged(player, "CCSPlayerController", "m_pInGameMoneyServices"); + return true; + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#f2c14e", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int reward = 300) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public int Reward { get; set; } = reward; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs b/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs index 89a5437..21d4963 100644 --- a/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs +++ b/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs @@ -105,35 +105,27 @@ namespace src.player.skills var bomb = PlayerManager.GetTickBomb(); + var hidden = SkillUtils.ResolveHiddenPawns(invisiblePlayers.Keys, null); + if (hidden.Count == 0) return; + foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; - foreach (var playerIndex in invisiblePlayers.Keys) + foreach (var target in hidden) { - var playerController = PlayerManager.GetPlayerEvent(Utilities.GetPlayerFromIndex((int)playerIndex)); - if (playerController == null || !playerController.IsValid || playerController.Index == player.Index) - continue; - - if (player.Team == playerController.Team) - continue; - - var playerPawn = playerController.PlayerPawn.Value; - if (playerPawn == null || !playerPawn.IsValid) continue; + if (target.Index == player.Index) continue; + if (player.Team == target.Team) continue; // Only the actively spectated pawn stays transmitted; hiding it breaks the camera. - if (targetHandle != nint.Zero && playerPawn.Handle == targetHandle) - continue; + if (targetHandle != nint.Zero && target.Pawn.Handle == targetHandle) continue; - var entity = Utilities.GetEntityFromIndex((int)playerPawn.Index); - if (entity == null || !entity.IsValid) continue; + if (info.TransmitEntities.Contains(target.Pawn.Index)) + info.TransmitEntities.Remove(target.Pawn.Index); - if (info.TransmitEntities.Contains(entity.Index)) - info.TransmitEntities.Remove(entity.Index); - - SkillUtils.HideCarriedEntities(info, playerPawn); + SkillUtils.HideCarriedEntities(info, target.Pawn); if (bomb == null) continue; diff --git a/jRandomSkills - SRC Files/src/player/skills/CarefulBullets.cs b/jRandomSkills - SRC Files/src/player/skills/CarefulBullets.cs index 742cd65..2f29a87 100644 --- a/jRandomSkills - SRC Files/src/player/skills/CarefulBullets.cs +++ b/jRandomSkills - SRC Files/src/player/skills/CarefulBullets.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class CarefulBullets : ISkill { private const Skills skillName = Skills.CarefulBullets; + private const string hurtSound = "Player.DamageBody.Victim"; private static readonly ConcurrentDictionary targetPlayers = []; private static readonly ConcurrentDictionary lastShot = []; private static readonly ConcurrentDictionary hitPlayer = []; @@ -153,7 +154,7 @@ namespace src.player.skills { if (lastShot.TryRemove(playerIndex, out bool didHit) && !didHit) { - eventPlayer.ExecuteClientCommand($"play player/player_damagebody_0{Instance.Random.Next(4, 8)}"); + SkillUtils.EmitSoundToPlayer(eventPlayer, hurtSound, SkillsInfo.GetValue(skillName, "soundVolume")); SkillUtils.TakeHealth(playerPawn, SkillsInfo.GetValue(skillName, "damageAfterMiss"), GetSkillOwner(playerIndex), KillfeedIcons.Fist); } @@ -257,8 +258,9 @@ namespace src.player.skills targetToPlayer.TryRemove(index, out _); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#db6c35", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int damageAfterMiss = 5) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#db6c35", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int damageAfterMiss = 5, float soundVolume = .35f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int DamageAfterMiss { get; set; } = damageAfterMiss; } } diff --git a/jRandomSkills - SRC Files/src/player/skills/Catapult.cs b/jRandomSkills - SRC Files/src/player/skills/Catapult.cs index 53c17b2..585be94 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Catapult.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Catapult.cs @@ -23,6 +23,8 @@ namespace src.player.skills if (!Instance.IsPlayerValid(attacker) || !Instance.IsPlayerValid(victim) || attacker == victim) return; var attackerInfo = PlayerManager.GetPlayerByIndex(attacker!.Index); + if (Heavyweight.Resists(victim)) return; + if (attackerInfo?.Skill == skillName && victim!.PawnIsAlive) if (Instance.Random.NextDouble() <= attackerInfo.SkillChance) { diff --git a/jRandomSkills - SRC Files/src/player/skills/Chicken.cs b/jRandomSkills - SRC Files/src/player/skills/Chicken.cs index 3932272..2ce7bb0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Chicken.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Chicken.cs @@ -10,16 +10,7 @@ namespace src.player.skills public class Chicken : ISkill { private const Skills skillName = Skills.Chicken; - private static readonly HashSet disabledWeapons = - [ - "weapon_ak47", "weapon_m4a4", "weapon_m4a1", "weapon_m4a1_silencer", - "weapon_famas", "weapon_galilar", "weapon_aug", "weapon_sg556", - "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", - "weapon_ump45", "weapon_p90", "weapon_mp5sd", "weapon_ssg08", - "weapon_awp", "weapon_scar20", "weapon_g3sg1", "weapon_nova", - "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", - "weapon_negev" - ]; + private static HashSet disabledWeapons => WeaponPool.Rifles; private const string chickenModelPath = "models/chicken/chicken.vmdl"; private static readonly ConcurrentDictionary chickens = []; diff --git a/jRandomSkills - SRC Files/src/player/skills/Cypher.cs b/jRandomSkills - SRC Files/src/player/skills/Cypher.cs index 7bc4e51..e9d6ffc 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Cypher.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Cypher.cs @@ -88,7 +88,7 @@ namespace src.player.skills { var cameraProp = Utilities.GetEntityFromIndex((int)playerSkill.CameraProp); if (cameraProp != null && cameraProp.IsValid) - cameraProp.EmitSound("SolidMetal.BulletImpact"); + cameraProp.EmitSound("SolidMetal.BulletImpact", volume: SkillsInfo.GetValue(skillName, "soundVolume")); SkillUtils.SafeKillEntity(playerSkill.CameraProp); playerSkill.CameraProp = null; @@ -414,8 +414,9 @@ namespace src.player.skills public required QAngle LastCameraAngle { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#34ebd5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#34ebd5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; } } diff --git a/jRandomSkills - SRC Files/src/player/skills/Dash.cs b/jRandomSkills - SRC Files/src/player/skills/Dash.cs index f68c06f..3a4d54c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Dash.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Dash.cs @@ -143,6 +143,8 @@ namespace src.player.skills eventPlayerPawn.AbsVelocity.X = newVelocity.X; eventPlayerPawn.AbsVelocity.Y = newVelocity.Y; eventPlayerPawn.AbsVelocity.Z = newVelocity.Z; + + eventPlayerPawn.EmitSound("Default.WalkJump", volume: SkillsInfo.GetValue(skillName, "soundVolume")); } } @@ -164,8 +166,9 @@ namespace src.player.skills public int JumpReleasedTicks { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#42bbfc", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float jumpVelocity = 150f, float pushVelocity = 600f, bool anyDirection = true, float cooldown = 2f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#42bbfc", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float jumpVelocity = 150f, float pushVelocity = 600f, bool anyDirection = true, float cooldown = 2f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float JumpVelocity { get; set; } = jumpVelocity; public float PushVelocity { get; set; } = pushVelocity; public bool AnyDirection { get; set; } = anyDirection; diff --git a/jRandomSkills - SRC Files/src/player/skills/DeathBomb.cs b/jRandomSkills - SRC Files/src/player/skills/DeathBomb.cs index 6064c0a..70cfa46 100644 --- a/jRandomSkills - SRC Files/src/player/skills/DeathBomb.cs +++ b/jRandomSkills - SRC Files/src/player/skills/DeathBomb.cs @@ -13,6 +13,7 @@ namespace src.player.skills public class DeathBomb : ISkill { private const Skills skillName = Skills.DeathBomb; + private static readonly string[] voiceLines = ["balkan.radiobotfallback01", "balkan.radiobotfallback02", "balkan.radiobotfallback04"]; private static readonly QAngle angle = new(10, -5, 9); private static readonly ConcurrentDictionary nades = []; @@ -61,9 +62,7 @@ namespace src.player.skills SkillUtils.PrintToChat(_p, $"{ChatColors.DarkRed}\u202A{player.PlayerName}\u202C: {ChatColors.Lime}{_p.GetTranslation("deathbomb_explosion")}", border: !PlayerManager.GetTickPlayers().Any(p => p.Team == player.Team && p != player) ? "tb" : "t"); - var fileNames = new[] { "radiobotfallback01", "radiobotfallback02", "radiobotfallback04" }; - var randomFile = fileNames[new Random().Next(fileNames.Length)]; - player.ExecuteClientCommand($"play vo/agents/balkan/{randomFile}.vsnd"); + player.EmitSound(voiceLines[Random.Shared.Next(voiceLines.Length)], volume: SkillsInfo.GetValue(skillName, "soundVolume")); nades.AddOrUpdate(Server.TickCount, (player.TeamNum, player.Index), (_, _) => (player.TeamNum, player.Index)); } @@ -136,8 +135,9 @@ namespace src.player.skills return player != null && player.IsValid && player.PlayerPawn?.Value != null; } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#F5CB42", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float explosionRadius = 500.0f, int explosionDamage = 999, float dmgReductionForTeamates = 0.5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#F5CB42", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float explosionRadius = 500.0f, int explosionDamage = 999, float dmgReductionForTeamates = 0.5f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float ExplosionRadius { get; set; } = explosionRadius; public int ExplosionDamage { get; set; } = explosionDamage; public float DmgReductionForTeamates { get; set; } = dmgReductionForTeamates; diff --git a/jRandomSkills - SRC Files/src/player/skills/DemonEye.cs b/jRandomSkills - SRC Files/src/player/skills/DemonEye.cs index 8059a0d..f4847dd 100644 --- a/jRandomSkills - SRC Files/src/player/skills/DemonEye.cs +++ b/jRandomSkills - SRC Files/src/player/skills/DemonEye.cs @@ -66,13 +66,14 @@ namespace src.player.skills if (playerSeesEnemy) { SkillUtils.TakeHealth(enemyPawn, damage, player, KillfeedIcons.Fist); - enemyEvent.EmitSound("Player.DamageBody.Onlooker"); + SkillUtils.EmitSoundToPlayer(enemyEvent, "Player.DamageBody.Victim", SkillsInfo.GetValue(skillName, "soundVolume")); } } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#c91243", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float secondCooldown = 1f, int damage = 5) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#c91243", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float secondCooldown = 1f, int damage = 5, float soundVolume = .3f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float SecondCooldown { get; set; } = secondCooldown; public int Damage { get; set; } = damage; } diff --git a/jRandomSkills - SRC Files/src/player/skills/EmpGrenade.cs b/jRandomSkills - SRC Files/src/player/skills/EmpGrenade.cs new file mode 100644 index 0000000..1b24cf5 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/EmpGrenade.cs @@ -0,0 +1,154 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Entities.Constants; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class EmpGrenade : ISkill + { + private const Skills skillName = Skills.EmpGrenade; + + private const string ownerTag = "EmpGrenade"; + + private static readonly ConcurrentDictionary jammedUntilTick = []; + private static readonly ConcurrentDictionary playersWithSkill = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + RestoreAll(); + jammedUntilTick.Clear(); + } + + public static void RoundEnd() + { + RestoreAll(); + jammedUntilTick.Clear(); + } + + public static void PlayerDisconnect(uint playerIndex) + { + jammedUntilTick.TryRemove(playerIndex, out _); + playersWithSkill.TryRemove(playerIndex, out _); + } + + public static void PlayerDeath(EventPlayerDeath @event) + { + var victim = PlayerManager.GetPlayerEvent(@event.Userid); + if (victim == null || !victim.IsValid) return; + + if (jammedUntilTick.TryRemove(victim.Index, out _)) + SetHud(victim.Index, false); + } + + public static void PlayerHurt(EventPlayerHurt @event) + { + if (@event.Weapon != "hegrenade") return; + + var attacker = PlayerManager.GetPlayerEvent(@event.Attacker); + if (attacker == null || !attacker.IsValid) return; + + var attackerInfo = PlayerManager.GetPlayerByIndex(attacker.Index); + if (attackerInfo?.Skill != skillName) return; + + var victim = PlayerManager.GetPlayerEvent(@event.Userid); + if (victim == null || !victim.IsValid) return; + + float duration = SkillsInfo.GetValue(skillName, "jamSeconds"); + jammedUntilTick[victim.Index] = Server.TickCount + (int)(duration * 64); + SetHud(victim.Index, true); + + var victimEvent = PlayerManager.GetPlayerFromEvent(victim); + if (victimEvent != null && victimEvent.IsValid) + victimEvent.PrintToChat($" {ChatColors.Red}{victimEvent.GetTranslation("empgrenade_enemy_info")}"); + } + + public static void OnTick() + { + if (jammedUntilTick.IsEmpty) return; + + int now = Server.TickCount; + + foreach (var kvp in jammedUntilTick) + { + if (now < kvp.Value) continue; + if (!jammedUntilTick.TryRemove(kvp.Key, out _)) continue; + + SetHud(kvp.Key, false); + } + } + + private static void RestoreAll() + { + foreach (var playerIndex in jammedUntilTick.Keys) + SetHud(playerIndex, false); + } + + private static void SetHud(uint playerIndex, bool jam) + { + var player = Utilities.GetPlayerFromIndex((int)playerIndex); + if (player == null || !player.IsValid) return; + + ApplyHud(player, jam); + ApplyHud(PlayerManager.GetPlayerFromEvent(player), jam); + } + + private static void ApplyHud(CCSPlayerController? player, bool jam) + { + if (player == null || !player.IsValid) return; + + SkillUtils.SetCrosshairHidden(player, ownerTag, jam); + SkillUtils.SetRadarDisabled(player, ownerTag, jam); + } + + public static void GrenadeThrown(EventGrenadeThrown @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + if (@event.Weapon != "hegrenade") return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player.Index); + if (playerInfo?.Skill != skillName) return; + + if (playersWithSkill.TryGetValue(player.Index, out int grenadesLeft) && grenadesLeft > 1) + { + playersWithSkill[player.Index] = grenadesLeft - 1; + player!.GiveNamedItem("weapon_hegrenade"); + SkillUtils.UpdateGrenadeCount(player, CsItem.HEGrenade, grenadesLeft - 1); + } + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + int grenadeLimit = SkillsInfo.GetValue(skillName, "grenadeLimit"); + playersWithSkill[player.Index] = grenadeLimit; + + SkillUtils.TryGiveWeapon(player, CsItem.HEGrenade); + SkillUtils.UpdateGrenadeCount(player, CsItem.HEGrenade, grenadeLimit); + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + playersWithSkill.TryRemove(player.Index, out _); + SkillUtils.UpdateGrenadeCount(player, CsItem.HEGrenade, 1); + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#3ad6e8", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Uncommon, float jamSeconds = 3f, int grenadeLimit = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float JamSeconds { get; set; } = jamSeconds; + public int GrenadeLimit { get; set; } = grenadeLimit; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/FireRain.cs b/jRandomSkills - SRC Files/src/player/skills/FireRain.cs index b71e0a2..0f38d47 100644 --- a/jRandomSkills - SRC Files/src/player/skills/FireRain.cs +++ b/jRandomSkills - SRC Files/src/player/skills/FireRain.cs @@ -19,12 +19,14 @@ namespace src.player.skills public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + DecoyRing.PreloadAssets(); } public static void NewRound() { KillAllDecoys(); rainMolotovs.Clear(); + DecoyRing.ClearAll(skillName); } private static void KillAllDecoys() @@ -276,7 +278,14 @@ namespace src.player.skills if (decoy != null && decoy.IsValid) decoy.AddEntityIOEvent("Kill", decoy, delay: 0.1f); decoys.TryRemove(key, out _); - SpawnRain(player, new Vector(@event.X, @event.Y, @event.Z)); + + Vector impact = new(@event.X, @event.Y, @event.Z); + SpawnRain(player, impact); + + DecoyRing.Show(skillName, key, impact, 130f); + jRandomSkills.Instance.AddTimer(SkillsInfo.GetValue(skillName, "markerSeconds"), + () => DecoyRing.Hide(skillName, key), + CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); } } @@ -286,8 +295,9 @@ namespace src.player.skills SkillUtils.TryGiveWeapon(player, CsItem.DecoyGrenade); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffbf47", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Epic) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffbf47", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Epic, float markerSeconds = 4f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float MarkerSeconds { get; set; } = markerSeconds; } } } \ No newline at end of file diff --git a/jRandomSkills - SRC Files/src/player/skills/Fortnite.cs b/jRandomSkills - SRC Files/src/player/skills/Fortnite.cs index 1a5f8fe..384eb3e 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Fortnite.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Fortnite.cs @@ -154,7 +154,7 @@ namespace src.player.skills var box = param.As(); if (box == null || !box.IsValid) return; - box.EmitSound("Wood_Plank.BulletImpact", volume: 1f); + box.EmitSound("Wood_Plank.BulletImpact", volume: SkillsInfo.GetValue(skillName, "soundVolume")); if (barricades.TryGetValue(box.Index, out int health)) { @@ -178,8 +178,9 @@ namespace src.player.skills public DateTime Cooldown { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1b04cc", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 5, Rarity rarity = Rarity.Common, float cooldown = 2f, int barricadeHealth = 115, string propModel = "models/props/de_aztec/hr_aztec/aztec_scaffolding/aztec_scaffold_wall_support_128.vmdl") : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1b04cc", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 5, Rarity rarity = Rarity.Common, float cooldown = 2f, int barricadeHealth = 115, string propModel = "models/props/de_aztec/hr_aztec/aztec_scaffolding/aztec_scaffold_wall_support_128.vmdl", float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public int BarricadeHealth { get; set; } = barricadeHealth; public string PropModel { get; set; } = propModel; diff --git a/jRandomSkills - SRC Files/src/player/skills/FrozenDecoy.cs b/jRandomSkills - SRC Files/src/player/skills/FrozenDecoy.cs index 24af06a..1d86e6c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/FrozenDecoy.cs +++ b/jRandomSkills - SRC Files/src/player/skills/FrozenDecoy.cs @@ -16,11 +16,19 @@ namespace src.player.skills public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + DecoyRing.PreloadAssets(); } public static void NewRound() { decoys.Clear(); + DecoyRing.ClearAll(skillName); + } + + public static void RoundEnd() + { + decoys.Clear(); + DecoyRing.ClearAll(skillName); } public static void DecoyStarted(EventDecoyStarted @event) @@ -31,7 +39,9 @@ namespace src.player.skills var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); if (playerInfo?.Skill != skillName) return; - decoys.TryAdd(new Vector(@event.X, @event.Y, @event.Z), 0); + Vector pos = new(@event.X, @event.Y, @event.Z); + decoys.TryAdd(pos, 0); + DecoyRing.Show(skillName, (uint)@event.Entityid, pos, SkillsInfo.GetValue(skillName, "triggerRadius")); } public static void DecoyDetonate(EventDecoyDetonate @event) @@ -44,6 +54,8 @@ namespace src.player.skills foreach (var decoy in decoys.Keys.Where(v => v.X == @event.X && v.Y == @event.Y && v.Z == @event.Z)) decoys.TryRemove(decoy, out _); + + DecoyRing.Hide(skillName, (uint)@event.Entityid); } public static void OnTick() diff --git a/jRandomSkills - SRC Files/src/player/skills/Ghost.cs b/jRandomSkills - SRC Files/src/player/skills/Ghost.cs index 46f7900..9994fd5 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ghost.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ghost.cs @@ -13,9 +13,13 @@ namespace src.player.skills public class Ghost : ISkill { private const Skills skillName = Skills.Ghost; - private static readonly string[] allowedWeapons = [ - "weapon_molotov", "weapon_incgrenade", "weapon_flashbang", "weapon_smokegrenade", "weapon_decoy", "weapon_hegrenade", "weapon_knife", "weapon_bayonet", "weapon_c4" - ]; + private static readonly HashSet alwaysAllowed = new(StringComparer.Ordinal) + { + "weapon_knife", "weapon_bayonet", "weapon_c4" + }; + + private static bool IsAllowed(string? weapon) => + weapon != null && (alwaysAllowed.Contains(weapon) || WeaponPool.IsGrenade(weapon)); private static readonly ConcurrentDictionary invisiblePlayers = []; private const string bloodParticle = "particles/blood_impact/blood_impact_high.vpcf"; private const string cameraViewModel = "models/sprays/spray_plane.vmdl"; @@ -61,38 +65,30 @@ namespace src.player.skills var bomb = PlayerManager.GetTickBomb(); uint? bombOwnerIndex = bomb != null && bomb.IsValid ? bomb.OwnerEntity?.Index : null; + var hidden = SkillUtils.ResolveHiddenPawns(invisiblePlayers.Keys, bombOwnerIndex); + if (hidden.Count == 0) return; + foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; - foreach (var playerIndex in invisiblePlayers.Keys) + foreach (var target in hidden) { - var playerController = Utilities.GetPlayerFromIndex((int)playerIndex); - if (playerController == null || !playerController.IsValid || playerController.Index == player.Index) - continue; - - if (player.Team == playerController.Team) - continue; - - var playerPawn = playerController.PlayerPawn.Value; - if (playerPawn == null || !playerPawn.IsValid) continue; + if (target.Index == player.Index) continue; + if (player.Team == target.Team) continue; // Only the actively spectated pawn stays transmitted; hiding it breaks the camera. - if (targetHandle != nint.Zero && playerPawn.Handle == targetHandle) - continue; + if (targetHandle != nint.Zero && target.Pawn.Handle == targetHandle) continue; - var entity = Utilities.GetEntityFromIndex((int)playerPawn.Index); - if (entity == null || !entity.IsValid) continue; + if (info.TransmitEntities.Contains(target.Pawn.Index)) + info.TransmitEntities.Remove(target.Pawn.Index); - if (info.TransmitEntities.Contains(entity.Index)) - info.TransmitEntities.Remove(entity.Index); - - SkillUtils.HideCarriedEntities(info, playerPawn); + SkillUtils.HideCarriedEntities(info, target.Pawn); // Hide the bomb as well, but only while this hidden player is the one holding it. - if (bomb == null || bombOwnerIndex != playerController.Index) continue; + if (bomb == null || !target.HoldsBomb) continue; if (info.TransmitEntities.Contains(bomb.Index)) info.TransmitEntities.Remove(bomb.Index); @@ -156,7 +152,7 @@ namespace src.player.skills foreach (var player in PlayerManager.GetTickPlayers()) { var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); - if (playerInfo?.Skill == skillName) + if (playerInfo?.Skill == skillName && SkillUtils.IsHudFrame()) UpdateHUD(player); if (player.LifeState != (byte)LifeState_t.LIFE_ALIVE) @@ -206,7 +202,7 @@ namespace src.player.skills if (weapon != null && weapon.IsValid && weapon.Value != null && weapon.Value.IsValid && !string.IsNullOrEmpty(weapon.Value.DesignerName)) { string weaponName = weapon.Value.DesignerName; - if (!allowedWeapons.Contains(weaponName)) + if (!IsAllowed(weaponName)) { weapon.Value.NextPrimaryAttackTick = disableWeapon ? int.MaxValue : Server.TickCount; weapon.Value.NextSecondaryAttackTick = disableWeapon ? int.MaxValue : Server.TickCount; @@ -227,7 +223,7 @@ namespace src.player.skills if (playerInfo == null) return; var weapon = pawn.WeaponServices.ActiveWeapon.Value; - if (weapon == null || !weapon.IsValid || allowedWeapons.Contains(weapon.DesignerName)) + if (weapon == null || !weapon.IsValid || IsAllowed(weapon.DesignerName)) { playerInfo.PrintHTML = null; return; diff --git a/jRandomSkills - SRC Files/src/player/skills/Glaz.cs b/jRandomSkills - SRC Files/src/player/skills/Glaz.cs index 7cf3f90..671845b 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Glaz.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Glaz.cs @@ -41,6 +41,18 @@ namespace src.player.skills { if (smokes.IsEmpty || playersWithSkill.IsEmpty) return; + List smokeIndexes = new(smokes.Count); + foreach (var entityIndex in smokes.Keys) + { + var entity = Utilities.GetEntityFromIndex((int)entityIndex); + if (entity == null || !entity.IsValid) continue; + smokeIndexes.Add(entity.Index); + } + + if (smokeIndexes.Count == 0) return; + + Dictionary? pawnOwners = null; + foreach (var (info, player) in infoList) { if (player == null || !player.IsValid) continue; @@ -51,23 +63,36 @@ namespace src.player.skills var observerTarget = player.Pawn?.Value?.ObserverServices?.ObserverTarget?.Value?.Handle ?? nint.Zero; if (observerTarget == nint.Zero) continue; - var observedPlayer = PlayerManager.GetTickPlayers().FirstOrDefault(p => p?.Pawn?.Value?.Handle == observerTarget); - if (observedPlayer == null) continue; + pawnOwners ??= BuildPawnOwners(); - if (PlayerManager.GetPlayerByIndex(observedPlayer.Index)?.Skill != skillName) continue; + if (!pawnOwners.TryGetValue(observerTarget, out uint observedIndex)) continue; + if (PlayerManager.GetPlayerByIndex(observedIndex)?.Skill != skillName) continue; } - foreach (var entityIndex in smokes.Keys) - { - var entity = Utilities.GetEntityFromIndex((int)entityIndex); - if (entity == null || !entity.IsValid) continue; - - if (info.TransmitEntities.Contains(entity.Index)) - info.TransmitEntities.Remove(entity.Index); - } + foreach (var index in smokeIndexes) + if (info.TransmitEntities.Contains(index)) + info.TransmitEntities.Remove(index); } } + private static Dictionary BuildPawnOwners() + { + var players = PlayerManager.GetTickPlayers(); + Dictionary owners = new(players.Count); + + foreach (var p in players) + { + if (p == null || !p.IsValid) continue; + + nint handle = p.Pawn?.Value?.Handle ?? nint.Zero; + if (handle == nint.Zero) continue; + + owners.TryAdd(handle, p.Index); + } + + return owners; + } + public static void GrenadeThrown(EventGrenadeThrown @event) { var player = PlayerManager.GetPlayerEvent(@event.Userid); diff --git a/jRandomSkills - SRC Files/src/player/skills/Glitch.cs b/jRandomSkills - SRC Files/src/player/skills/Glitch.cs index c8fe078..2291daa 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Glitch.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Glitch.cs @@ -9,6 +9,7 @@ namespace src.player.skills public class Glitch : ISkill { private const Skills skillName = Skills.Glitch; + private const string ownerTag = "Glitch"; private static readonly ConcurrentDictionary glitchedPlayers = []; private static readonly ConcurrentDictionary playersToTarget = []; private static readonly object setLock = new(); @@ -100,7 +101,7 @@ namespace src.player.skills var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy); if (enemyEvent == null || !enemyEvent.IsValid) return; - enemyEvent.ReplicateConVar("sv_disable_radar", "1"); + SkillUtils.SetRadarDisabled(enemyEvent, ownerTag, true); playerInfo.SkillUsed = true; playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("glitch_player_info", enemy.PlayerName)); @@ -117,7 +118,7 @@ namespace src.player.skills if (!glitchedPlayers.ContainsKey(bot.Index)) return; - player.ReplicateConVar("sv_disable_radar", "1"); + SkillUtils.SetRadarDisabled(player, ownerTag, true); } public static void EnableSkill(CCSPlayerController player) @@ -146,7 +147,7 @@ namespace src.player.skills var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex)); if (target != null && target.IsValid) { - target.ReplicateConVar("sv_disable_radar", "0"); + SkillUtils.SetRadarDisabled(target, ownerTag, false); if (target.PawnIsAlive && !SkillUtils.IsFreezeTime()) target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("glitch_disable_info")); } @@ -161,7 +162,7 @@ namespace src.player.skills var player = @event.Userid; if (player == null || !player.IsValid) return; - player.ReplicateConVar("sv_disable_radar", "0"); + SkillUtils.SetRadarDisabled(player, ownerTag, false); glitchedPlayers.TryRemove(player.Index, out _); SkillUtils.CloseMenu(player); } diff --git a/jRandomSkills - SRC Files/src/player/skills/Grapple.cs b/jRandomSkills - SRC Files/src/player/skills/Grapple.cs index 081817b..f8c82d7 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Grapple.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Grapple.cs @@ -20,10 +20,13 @@ namespace src.player.skills private static readonly Color counterTerroristRope = Color.FromArgb(255, 52, 92, 138); private const double attemptCooldown = .3; + private const string hookModel = "models/generic/grapplinghook_01/grapplinghook_hook_01_open.vmdl"; + private const string hookSound = "SolidMetal.BulletImpact"; public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + jRandomSkills.Instance.AddToManifest(hookModel); } public static void NewRound() @@ -131,6 +134,8 @@ namespace src.player.skills skillInfo.Anchor = anchor; skillInfo.EndTick = Server.TickCount + (int)(SkillsInfo.GetValue(skillName, "maxPullSeconds") * 64); + SpawnHook(player, skillInfo, anchor, result.Value.NormalX, result.Value.NormalY, result.Value.NormalZ); + if (!EntityManager.OverBudget()) { Color ropeColor = player.Team == CsTeam.Terrorist ? terroristRope : counterTerroristRope; @@ -155,15 +160,102 @@ namespace src.player.skills } } - player.EmitSound("SolidMetal.BulletImpact"); return true; } + private static void EmitHookSound(CBaseEntity? source, CCSPlayerController player) + { + float volume = SkillsInfo.GetValue(skillName, "soundVolume"); + + if (source != null && source.IsValid) + { + source.EmitSound(hookSound, volume: volume); + return; + } + + var pawn = player.PlayerPawn?.Value; + if (pawn != null && pawn.IsValid) + pawn.EmitSound(hookSound, volume: volume); + } + + private static void SpawnHook(CCSPlayerController player, PlayerSkillInfo skillInfo, Vector anchor, float normalX, float normalY, float normalZ) + { + float length = MathF.Sqrt(normalX * normalX + normalY * normalY + normalZ * normalZ); + if (length < .0001f) + { + EmitHookSound(null, player); + return; + } + + normalX /= length; + normalY /= length; + normalZ /= length; + + var hook = EntityManager.CreateTrackedPropOverride(player.Index); + if (hook == null || !hook.IsValid) + { + EmitHookSound(null, player); + return; + } + + float pitch = -MathF.Asin(Math.Clamp(-normalZ, -1f, 1f)) * 180f / MathF.PI; + float yaw = MathF.Atan2(-normalY, -normalX) * 180f / MathF.PI; + QAngle angle = new(pitch, yaw, 0); + + float scale = SkillsInfo.GetValue(skillName, "hookScale"); + float embed = SkillsInfo.GetValue(skillName, "hookEmbed") * scale; + Vector pos = new(anchor.X + normalX * embed, anchor.Y + normalY * embed, anchor.Z + normalZ * embed); + + uint hookIndex = hook.Index; + skillInfo.HookIndex = hookIndex; + + Server.NextFrame(() => + { + var prop = Utilities.GetEntityFromIndex((int)hookIndex); + if (prop == null || !prop.IsValid) + { + EmitHookSound(null, player); + return; + } + + var node = prop.CBodyComponent?.SceneNode?.Owner?.Entity; + if (node != null) + node.Flags = (uint)(node.Flags & ~(1 << 2)); + + prop.SetModel(hookModel); + prop.Teleport(pos, angle); + prop.DispatchSpawn(); + + EmitHookSound(prop, player); + + var skeleton = prop.CBodyComponent?.SceneNode?.GetSkeletonInstance(); + if (skeleton != null) + { + skeleton.Scale = scale; + prop.AcceptInput("SetScale", null, null, scale.ToString(System.Globalization.CultureInfo.InvariantCulture)); + } + + Utilities.SetStateChanged(prop, "CBaseEntity", "m_CBodyComponent"); + }); + } + + private static void DestroyHook(PlayerSkillInfo skillInfo) + { + if (skillInfo.HookIndex == null) return; + + uint hookIndex = skillInfo.HookIndex.Value; + skillInfo.HookIndex = null; + + EntityManager.DestroyEntity(hookIndex); + } + private static void DestroyRope(PlayerSkillInfo skillInfo) { skillInfo.Anchor = null; skillInfo.EndTick = 0; + DestroyHook(skillInfo); + if (skillInfo.RopeIndex == null) return; uint ropeIndex = skillInfo.RopeIndex.Value; @@ -176,26 +268,7 @@ namespace src.player.skills { if (!liveRopes.TryRemove(ropeIndex, out _)) return; - var rope = Utilities.GetEntityFromIndex((int)ropeIndex); - if (rope != null && rope.IsValid) - { - rope.Width = 0; - rope.EndWidth = 0; - rope.Render = Color.FromArgb(0, 0, 0, 0); - - Utilities.SetStateChanged(rope, "CBeam", "m_fWidth"); - Utilities.SetStateChanged(rope, "CBeam", "m_fEndWidth"); - Utilities.SetStateChanged(rope, "CBaseModelEntity", "m_clrRender"); - } - - EntityManager.DestroyEntity(ropeIndex); - - Server.NextFrame(() => - { - var leftover = Utilities.GetEntityFromIndex((int)ropeIndex); - if (leftover != null && leftover.IsValid) - leftover.Remove(); - }); + EntityManager.DestroyBeam(ropeIndex); } private static void SweepOrphanRopes() @@ -299,11 +372,13 @@ namespace src.player.skills public DateTime LastAttempt { get; set; } public Vector? Anchor { get; set; } public uint? RopeIndex { get; set; } + public uint? HookIndex { get; set; } public int EndTick { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#38e0c4", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, float cooldown = 10f, float maxDistance = 1500f, float minDistance = 150f, float stopDistance = 90f, float pullSpeed = 850f, float maxPullSeconds = 3f, float ropeWidth = 0.8f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#38e0c4", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, float cooldown = 10f, float maxDistance = 1500f, float minDistance = 150f, float stopDistance = 90f, float pullSpeed = 850f, float maxPullSeconds = 3f, float ropeWidth = 0.8f, float hookEmbed = 8f, float hookScale = .4f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public float MaxDistance { get; set; } = maxDistance; public float MinDistance { get; set; } = minDistance; @@ -311,6 +386,8 @@ namespace src.player.skills public float PullSpeed { get; set; } = pullSpeed; public float MaxPullSeconds { get; set; } = maxPullSeconds; public float RopeWidth { get; set; } = ropeWidth; + public float HookEmbed { get; set; } = hookEmbed; + public float HookScale { get; set; } = hookScale; } } } diff --git a/jRandomSkills - SRC Files/src/player/skills/GravityDecoy.cs b/jRandomSkills - SRC Files/src/player/skills/GravityDecoy.cs new file mode 100644 index 0000000..668ff84 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/GravityDecoy.cs @@ -0,0 +1,189 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Entities.Constants; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class GravityDecoy : ISkill + { + private const Skills skillName = Skills.GravityDecoy; + + private const float defaultGravity = 1f; + + private static readonly ConcurrentDictionary decoys = []; + private static readonly ConcurrentDictionary playersWithSkill = []; + private static readonly ConcurrentDictionary affected = []; + private static readonly ConcurrentDictionary restoreOnRespawn = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + DecoyRing.PreloadAssets(); + } + + public static void NewRound() + { + RestoreAll(); + decoys.Clear(); + DecoyRing.ClearAll(skillName); + } + + public static void RoundEnd() + { + RestoreAll(); + decoys.Clear(); + DecoyRing.ClearAll(skillName); + } + + public static void DecoyStarted(EventDecoyStarted @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + Vector pos = new(@event.X, @event.Y, @event.Z); + decoys.TryAdd(pos, 0); + DecoyRing.Show(skillName, (uint)@event.Entityid, pos, SkillsInfo.GetValue(skillName, "triggerRadius")); + } + + public static void DecoyDetonate(EventDecoyDetonate @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + foreach (var decoy in decoys.Keys.Where(v => v.X == @event.X && v.Y == @event.Y && v.Z == @event.Z)) + decoys.TryRemove(decoy, out _); + + DecoyRing.Hide(skillName, (uint)@event.Entityid); + + if (decoys.IsEmpty) RestoreAll(); + } + + public static void OnTick() + { + if (decoys.IsEmpty && affected.IsEmpty && restoreOnRespawn.IsEmpty) return; + + if (decoys.IsEmpty && !affected.IsEmpty) RestoreAll(); + + float radius = SkillsInfo.GetValue(skillName, "triggerRadius"); + float gravity = SkillsInfo.GetValue(skillName, "gravityScale"); + + foreach (var player in PlayerManager.GetTickPlayers()) + { + if (player == null || !player.IsValid) continue; + if (player.Team is not (CsTeam.CounterTerrorist or CsTeam.Terrorist)) continue; + + var eventPlayer = PlayerManager.GetPlayerEvent(player); + if (eventPlayer == null || !eventPlayer.IsValid) continue; + + var pawn = eventPlayer.PlayerPawn.Value; + if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null) continue; + if (pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) continue; + + if (restoreOnRespawn.TryRemove(eventPlayer.Index, out _)) + pawn.ActualGravityScale = defaultGravity; + + bool inside = !decoys.IsEmpty && decoys.Keys.Any(d => SkillUtils.GetDistance(d, pawn.AbsOrigin) <= radius); + + if (inside) + { + if (!affected.TryAdd(eventPlayer.Index, 0)) continue; + pawn.ActualGravityScale = gravity; + } + else if (affected.TryRemove(eventPlayer.Index, out _)) + pawn.ActualGravityScale = defaultGravity; + } + } + + public static void PlayerDeath(EventPlayerDeath @event) + { + var victim = PlayerManager.GetPlayerEvent(@event.Userid); + if (victim == null || !victim.IsValid) return; + + if (!affected.TryRemove(victim.Index, out _)) return; + + Restore(victim.Index); + restoreOnRespawn[victim.Index] = 0; + } + + public static void PlayerDisconnect(uint playerIndex) + { + affected.TryRemove(playerIndex, out _); + restoreOnRespawn.TryRemove(playerIndex, out _); + playersWithSkill.TryRemove(playerIndex, out _); + } + + private static void RestoreAll() + { + foreach (uint playerIndex in affected.Keys) + Restore(playerIndex); + + foreach (uint playerIndex in restoreOnRespawn.Keys) + Restore(playerIndex); + + affected.Clear(); + restoreOnRespawn.Clear(); + } + + private static void Restore(uint playerIndex) + { + var player = Utilities.GetPlayerFromIndex((int)playerIndex); + var pawn = player?.PlayerPawn?.Value; + + if (pawn != null && pawn.IsValid) + pawn.ActualGravityScale = defaultGravity; + } + + public static void GrenadeThrown(EventGrenadeThrown @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + if (@event.Weapon != "decoy") return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + if (playersWithSkill.TryGetValue(player.Index, out int grenadesLeft) && grenadesLeft > 1) + { + playersWithSkill[player.Index] = grenadesLeft - 1; + player!.GiveNamedItem("weapon_decoy"); + SkillUtils.UpdateGrenadeCount(player, CsItem.DecoyGrenade, grenadesLeft - 1); + } + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + int grenadeLimit = SkillsInfo.GetValue(skillName, "grenadeLimit"); + playersWithSkill[player.Index] = grenadeLimit; + + SkillUtils.TryGiveWeapon(player, CsItem.DecoyGrenade); + SkillUtils.UpdateGrenadeCount(player, CsItem.DecoyGrenade, grenadeLimit); + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + playersWithSkill.TryRemove(player.Index, out _); + SkillUtils.UpdateGrenadeCount(player, CsItem.DecoyGrenade, 1); + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#a06cd5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float triggerRadius = 180f, float gravityScale = .5f, int grenadeLimit = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float TriggerRadius { get; set; } = triggerRadius; + public float GravityScale { get; set; } = gravityScale; + public int GrenadeLimit { get; set; } = grenadeLimit; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/HealingSmoke.cs b/jRandomSkills - SRC Files/src/player/skills/HealingSmoke.cs index a88370c..069b5cb 100644 --- a/jRandomSkills - SRC Files/src/player/skills/HealingSmoke.cs +++ b/jRandomSkills - SRC Files/src/player/skills/HealingSmoke.cs @@ -92,7 +92,7 @@ namespace src.player.skills if (SkillUtils.GetDistance(smokePos, pawn.AbsOrigin) <= smokeRadius) if (SkillUtils.AddHealth(pawn, smokeHeal)) - player.EmitSound("Healthshot.Success"); + SkillUtils.EmitSoundToPlayer(player, "Healthshot.Success", SkillsInfo.GetValue(skillName, "soundVolume")); } } @@ -156,8 +156,9 @@ namespace src.player.skills SkillUtils.UpdateGrenadeCount(player, CsItem.SmokeGrenade, 1); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1fe070", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int smokeHeal = 1, float smokeRadius = 180, int tickCooldown = 16, int grenadeLimit = 1) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1fe070", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int smokeHeal = 1, float smokeRadius = 180, int tickCooldown = 16, int grenadeLimit = 1, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int SmokeHeal { get; set; } = smokeHeal; public float SmokeRadius { get; set; } = smokeRadius; public int TickCooldown { get; set; } = tickCooldown; diff --git a/jRandomSkills - SRC Files/src/player/skills/Heavyweight.cs b/jRandomSkills - SRC Files/src/player/skills/Heavyweight.cs new file mode 100644 index 0000000..92e7842 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Heavyweight.cs @@ -0,0 +1,55 @@ +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class Heavyweight : ISkill + { + private const Skills skillName = Skills.Heavyweight; + + private static readonly ConcurrentDictionary holders = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + holders.Clear(); + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + holders[player.Index] = 0; + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null) return; + holders.TryRemove(player.Index, out _); + } + + public static void PlayerDisconnect(uint playerIndex) + { + holders.TryRemove(playerIndex, out _); + } + + public static bool Resists(CCSPlayerController? player) + { + if (player == null || !player.IsValid || holders.IsEmpty) return false; + + if (holders.ContainsKey(player.Index)) return true; + + uint routedIndex = PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index; + return routedIndex != player.Index && holders.ContainsKey(routedIndex); + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#8d6e63", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Uncommon) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Hermit.cs b/jRandomSkills - SRC Files/src/player/skills/Hermit.cs index c8430de..8375144 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Hermit.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Hermit.cs @@ -10,19 +10,7 @@ namespace src.player.skills public class Hermit : ISkill { private const Skills skillName = Skills.Hermit; - private static readonly ConcurrentDictionary ConcurrentDictionary = new( - [ - new KeyValuePair("weapon_glock", 3), new KeyValuePair("weapon_usp_silencer", 2), new KeyValuePair("weapon_hkp2000", 4), new KeyValuePair("weapon_p250", 3), - new KeyValuePair("weapon_cz75", 2), new KeyValuePair("weapon_deagle", 3), new KeyValuePair("weapon_fiveseven", 2), new KeyValuePair("weapon_elite", 2), - new KeyValuePair("weapon_tec9", 3), new KeyValuePair("weapon_revolver", 2), new KeyValuePair("weapon_mac10", 3), new KeyValuePair("weapon_mp9", 2), - new KeyValuePair("weapon_mp7", 3), new KeyValuePair("weapon_mp5", 3), new KeyValuePair("weapon_mp5sd", 3), new KeyValuePair("weapon_ump45", 3), - new KeyValuePair("weapon_p90", 2), new KeyValuePair("weapon_bizon", 2), new KeyValuePair("weapon_ak47", 3), new KeyValuePair("weapon_m4a1", 4), - new KeyValuePair("weapon_m4a1_silencer", 3), new KeyValuePair("weapon_galilar", 4), new KeyValuePair("weapon_famas", 4), new KeyValuePair("weapon_aug", 3), - new KeyValuePair("weapon_sg556", 3), new KeyValuePair("weapon_ssg08", 2), new KeyValuePair("weapon_awp", 2), new KeyValuePair("weapon_scar20", 2), - new KeyValuePair("weapon_g3sg1", 2), new KeyValuePair("weapon_nova", 32), new KeyValuePair("weapon_xm1014", 32), new KeyValuePair("weapon_sawedoff", 32), - new KeyValuePair("weapon_mag7", 3), new KeyValuePair("weapon_m249", 2), new KeyValuePair("weapon_negev", 2) - ]); - private static readonly ConcurrentDictionary maxReserveAmmo = ConcurrentDictionary; + private const int fallbackReserveAmmo = 100; public static void LoadSkill() { @@ -43,9 +31,11 @@ namespace src.player.skills var weapon = pawn.WeaponServices.ActiveWeapon.Value; if (weapon == null || !weapon.IsValid || weapon.VData == null) return; - var maxReserveAmmoClip = maxReserveAmmo.TryGetValue(weapon.DesignerName, out var reserve) ? reserve : 100; + int reserve = weapon.As().GetVData()?.PrimaryReserveAmmoMax ?? 0; + if (reserve <= 0) reserve = fallbackReserveAmmo; + weapon.Clip1 = weapon.VData.MaxClip1; - weapon.ReserveAmmo.Fill(maxReserveAmmoClip); + weapon.ReserveAmmo.Fill(reserve); Utilities.SetStateChanged(weapon, "CBasePlayerWeapon", "m_iClip1"); Utilities.SetStateChanged(weapon, "CBasePlayerWeapon", "m_pReserveAmmo"); diff --git a/jRandomSkills - SRC Files/src/player/skills/HotBomb.cs b/jRandomSkills - SRC Files/src/player/skills/HotBomb.cs index 0f984d4..50c3170 100644 --- a/jRandomSkills - SRC Files/src/player/skills/HotBomb.cs +++ b/jRandomSkills - SRC Files/src/player/skills/HotBomb.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class HotBomb : ISkill { private const Skills skillName = Skills.HotBomb; + private const string hurtSound = "Player.DamageBody.Victim"; private readonly static ConcurrentDictionary players = []; public static void LoadSkill() @@ -41,7 +42,7 @@ namespace src.player.skills if (!hasC4) continue; SkillUtils.TakeHealth(pawn, damage, owner, KillfeedIcons.C4); - playerEvent?.ExecuteClientCommand($"play player/player_damagebody_0{jRandomSkills.Instance.Random.Next(4, 8)}"); + SkillUtils.EmitSoundToPlayer(playerEvent, hurtSound, SkillsInfo.GetValue(skillName, "soundVolume")); } } @@ -121,8 +122,9 @@ namespace src.player.skills } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#baf081", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 1, Rarity rarity = Rarity.Common, float cooldown = 1, int damage = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#baf081", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 1, Rarity rarity = Rarity.Common, float cooldown = 1, int damage = 2, float soundVolume = .35f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public int Damage { get; set; } = damage; } diff --git a/jRandomSkills - SRC Files/src/player/skills/Iana.cs b/jRandomSkills - SRC Files/src/player/skills/Iana.cs index 5285049..d272ae1 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Iana.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Iana.cs @@ -112,7 +112,7 @@ namespace src.player.skills var player = Utilities.GetPlayerFromIndex((int)playerSkill.PlayerIndex); if (player == null || !player.IsValid) return; - player.EmitSound("SolidMetal.BulletImpact"); + player.EmitSound("SolidMetal.BulletImpact", volume: SkillsInfo.GetValue(skillName, "soundVolume")); CDynamicProp? cloneProp = null; if (playerSkill.CloneProp != null) @@ -468,8 +468,9 @@ namespace src.player.skills public List Weapons { get; set; } = []; } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#d0d930", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30, float duration = 10) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#d0d930", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30, float duration = 10, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public float Duration { get; set; } = duration; } diff --git a/jRandomSkills - SRC Files/src/player/skills/Illiterate.cs b/jRandomSkills - SRC Files/src/player/skills/Illiterate.cs index f2660de..090c06d 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Illiterate.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Illiterate.cs @@ -50,11 +50,19 @@ namespace src.player.skills private static void SendAlertToAll() { + holdersTick = int.MinValue; + foreach (var player in PlayerManager.GetTickPlayers()) { if (!CheckIlliterateSkill(player)) continue; - player.PrintToCenterAlert(player.GetTranslationWithoutIlliterate("illiterate_alert")); - } + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) continue; + + string alert = playerEvent.GetTranslationWithoutIlliterate("illiterate_alert"); + playerEvent.PrintToCenterAlert(alert); + SkillUtils.PrintToChat(playerEvent, $"{ChatColors.Red}{alert}", ignoreIlliterate: true); + } } public static bool CheckIlliterateSkill(CCSPlayerController? player) diff --git a/jRandomSkills - SRC Files/src/player/skills/Illusionist.cs b/jRandomSkills - SRC Files/src/player/skills/Illusionist.cs index f10d426..45ae2a3 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Illusionist.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Illusionist.cs @@ -199,7 +199,7 @@ namespace src.player.skills if (!consumedReplicas.TryAdd(replica.Index, 0)) return; - replica.EmitSound("GlassBottle.BulletImpact", volume: 1f); + replica.EmitSound("GlassBottle.BulletImpact", volume: SkillsInfo.GetValue(skillName, "soundVolume")); if (ActiveTimers.TryRemove((int)replica.Index, out var timer)) timer?.Kill(); var owner = GetReplicaOwner(replica.Index); @@ -230,8 +230,9 @@ namespace src.player.skills public DateTime Cooldown { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#42f5ef", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = 30f, float durationRun = 5, float durationCrouch = 12, int yourTeamDamage = 10, int enemyTeamDamage = 20) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#42f5ef", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = 30f, float durationRun = 5, float durationCrouch = 12, int yourTeamDamage = 10, int enemyTeamDamage = 20, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public float DurationRun { get; set; } = durationRun; public float DurationCrouch { get; set; } = durationCrouch; diff --git a/jRandomSkills - SRC Files/src/player/skills/Jammer.cs b/jRandomSkills - SRC Files/src/player/skills/Jammer.cs index 3e2e511..69666d3 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Jammer.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Jammer.cs @@ -9,6 +9,7 @@ namespace src.player.skills public class Jammer : ISkill { private const Skills skillName = Skills.Jammer; + private const string ownerTag = "Jammer"; private static readonly ConcurrentDictionary jammedPlayers = []; private static readonly ConcurrentDictionary jammerToTarget = []; private static readonly object setLock = new(); @@ -118,14 +119,7 @@ namespace src.player.skills private static void SetCrosshair(CCSPlayerController player, bool enabled) { - var pawn = player.PlayerPawn.Value; - if (pawn == null || !pawn.IsValid) return; - - pawn.HideHUD = (uint)(enabled - ? (pawn.HideHUD & ~(1 << 8)) - : (pawn.HideHUD | (1 << 8))); - - Utilities.SetStateChanged(pawn, "CBasePlayerPawn", "m_iHideHUD"); + SkillUtils.SetCrosshairHidden(player, ownerTag, !enabled); } public static void BotTakeover(EventBotTakeover @event) diff --git a/jRandomSkills - SRC Files/src/player/skills/Jester.cs b/jRandomSkills - SRC Files/src/player/skills/Jester.cs index 9d70d78..c14a74d 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Jester.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Jester.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class Jester : ISkill { private const Skills skillName = Skills.Jester; + private const string toggleSound = "Weapon_Taser.ChargeReady"; private static readonly ConcurrentDictionary jesters = []; public static void LoadSkill() @@ -196,7 +197,7 @@ namespace src.player.skills var playerEvent = PlayerManager.GetPlayerFromEvent(player); if (playerEvent != null && playerEvent.IsValid) - playerEvent.ExecuteClientCommand("play sounds/weapons/taser/taser_charge_ready"); + SkillUtils.EmitSoundToPlayer(playerEvent, toggleSound, SkillsInfo.GetValue(skillName, "soundVolume")); } var minTime = SkillsInfo.GetValue(skillName, "minTime"); @@ -275,8 +276,9 @@ namespace src.player.skills public Timer? Timer { get; set; } = null; } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#8f108f", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float minTime = 10f, float maxTime = 25f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#8f108f", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float minTime = 10f, float maxTime = 25f, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float MinTime { get; set; } = minTime; public float MaxTime { get; set; } = maxTime; } diff --git a/jRandomSkills - SRC Files/src/player/skills/JetKick.cs b/jRandomSkills - SRC Files/src/player/skills/JetKick.cs index 5dc4e38..94602e8 100644 --- a/jRandomSkills - SRC Files/src/player/skills/JetKick.cs +++ b/jRandomSkills - SRC Files/src/player/skills/JetKick.cs @@ -166,6 +166,8 @@ namespace src.player.skills private static void PushPlayer(CCSPlayerController player) { + if (Heavyweight.Resists(player)) return; + var playerPawn = player.PlayerPawn.Value; if (playerPawn == null || !playerPawn.IsValid || playerPawn.Health <= 0) return; diff --git a/jRandomSkills - SRC Files/src/player/skills/LastGasp.cs b/jRandomSkills - SRC Files/src/player/skills/LastGasp.cs index 8baa7dd..ae3ba86 100644 --- a/jRandomSkills - SRC Files/src/player/skills/LastGasp.cs +++ b/jRandomSkills - SRC Files/src/player/skills/LastGasp.cs @@ -9,6 +9,7 @@ namespace src.player.skills public class LastGasp : ISkill { private const Skills skillName = Skills.LastGasp; + private const string hurtSound = "Player.DamageBody.Victim"; public static void LoadSkill() { @@ -45,11 +46,12 @@ namespace src.player.skills } SkillUtils.TakeHealth(attackerPawn, damageAfterDeath, victim, KillfeedIcons.Fist); - PlayerManager.GetPlayerFromEvent(attacker)?.ExecuteClientCommand($"play player/player_damagebody_0{jRandomSkills.Instance.Random.Next(4, 8)}"); + SkillUtils.EmitSoundToPlayer(attacker, hurtSound, SkillsInfo.GetValue(skillName, "soundVolume")); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#88bdba", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, int damageAfterDeath = 30, bool canKill = true) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#88bdba", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, int damageAfterDeath = 30, bool canKill = true, float soundVolume = .35f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int DamageAfterDeath { get; set; } = damageAfterDeath; public bool CanKill { get; set; } = canKill; diff --git a/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs b/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs index 5c04b36..a15c9df 100644 --- a/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs +++ b/jRandomSkills - SRC Files/src/player/skills/LongKnife.cs @@ -12,6 +12,9 @@ namespace src.player.skills public class LongKnife : ISkill { private const Skills skillName = Skills.LongKnife; + private const string victimSound = "Player.DamageBody.Victim"; + private const string heavyHitSound = "Weapon_Knife.Hit.Heavy.Flesh"; + private const string lightHitSound = "Weapon_Knife.Hit.Light.Flesh"; private static bool hooked = false; private const int actionCode = 503; @@ -121,12 +124,15 @@ namespace src.player.skills if (!SkillsInfo.GetValue(skillName, "friendlyFire") && player.Team == target.Team) return; - target.PlayerPawn.Value.EmitSound("Player.DamageBody.Onlooker"); + SkillUtils.EmitSoundToPlayer(target, victimSound, SkillsInfo.GetValue(skillName, "soundVolume")); + SkillUtils.EmitSoundToPlayer(player, heavyHit ? heavyHitSound : lightHitSound, SkillsInfo.GetValue(skillName, "hitSoundVolume")); SkillUtils.TakeHealth(target.PlayerPawn.Value, heavyHit ? Instance.Random.Next(45, 55) : Instance.Random.Next(21, 34), player, killfeedIcon ?? KillfeedIcons.Knife); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#c9f8ff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maxDistance = 4096f, bool friendlyFire = true) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#c9f8ff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maxDistance = 4096f, bool friendlyFire = true, float soundVolume = .35f, float hitSoundVolume = .35f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; + public float HitSoundVolume { get; set; } = hitSoundVolume; public float MaxDistance { get; set; } = maxDistance; public bool FriendlyFire { get; set; } = friendlyFire; } diff --git a/jRandomSkills - SRC Files/src/player/skills/MagneticDecoy.cs b/jRandomSkills - SRC Files/src/player/skills/MagneticDecoy.cs index a5a4a1a..116cab5 100644 --- a/jRandomSkills - SRC Files/src/player/skills/MagneticDecoy.cs +++ b/jRandomSkills - SRC Files/src/player/skills/MagneticDecoy.cs @@ -16,11 +16,19 @@ namespace src.player.skills public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + DecoyRing.PreloadAssets(); } public static void NewRound() { decoys.Clear(); + DecoyRing.ClearAll(skillName); + } + + public static void RoundEnd() + { + decoys.Clear(); + DecoyRing.ClearAll(skillName); } public static void DecoyStarted(EventDecoyStarted @event) @@ -31,7 +39,9 @@ namespace src.player.skills var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); if (playerInfo?.Skill != skillName) return; - decoys.TryAdd(new Vector(@event.X, @event.Y, @event.Z), 0); + Vector pos = new(@event.X, @event.Y, @event.Z); + decoys.TryAdd(pos, 0); + DecoyRing.Show(skillName, (uint)@event.Entityid, pos, SkillsInfo.GetValue(skillName, "triggerRadius")); } public static void DecoyDetonate(EventDecoyDetonate @event) @@ -44,6 +54,8 @@ namespace src.player.skills foreach (var decoy in decoys.Keys.Where(v => v.X == @event.X && v.Y == @event.Y && v.Z == @event.Z)) decoys.TryRemove(decoy, out _); + + DecoyRing.Hide(skillName, (uint)@event.Entityid); } public static void OnTick() diff --git a/jRandomSkills - SRC Files/src/player/skills/Medic.cs b/jRandomSkills - SRC Files/src/player/skills/Medic.cs index 058a1b6..fecc9be 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Medic.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Medic.cs @@ -93,7 +93,7 @@ namespace src.player.skills skillInfo.Cooldown = DateTime.Now; skillInfo.Count -= 1; SkillUtils.AddHealth(playerPawn, SkillsInfo.GetValue(skillName, "healthToAdd")); - player.EmitSound("Healthshot.Success"); + SkillUtils.EmitSoundToPlayer(player, "Healthshot.Success", SkillsInfo.GetValue(skillName, "soundVolume")); } } } @@ -106,8 +106,9 @@ namespace src.player.skills public DateTime Cooldown { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#10c212", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int healthToAdd = 50, int healthShotLimit = 3, float cooldown = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#10c212", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int healthToAdd = 50, int healthShotLimit = 3, float cooldown = 1f, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int HealthToAdd { get; set; } = healthToAdd; public int HealthShotLimit { get; set; } = healthShotLimit; public float Cooldown { get; set; } = cooldown; diff --git a/jRandomSkills - SRC Files/src/player/skills/Miner.cs b/jRandomSkills - SRC Files/src/player/skills/Miner.cs index 3c8d452..c8adb83 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Miner.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Miner.cs @@ -68,7 +68,7 @@ namespace src.player.skills position.Z += 60; grenade.Teleport(position); - grenade.EmitSound("IncGrenade.Bounce_M"); + grenade.EmitSound("IncGrenade.Bounce_M", volume: SkillsInfo.GetValue(skillName, "soundVolume")); grenade.DetonateTime = Server.CurrentTime + .5f; Utilities.SetStateChanged(grenade, "CBaseGrenade", "m_flDetonateTime"); @@ -161,8 +161,9 @@ namespace src.player.skills SkillUtils.UpdateGrenadeCount(player, CsItem.HEGrenade, 1); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#adf542", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float detonationRange = 130, int grenadeLimit = 3) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#adf542", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float detonationRange = 130, int grenadeLimit = 3, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float DetonationRange { get; set; } = detonationRange; public int GrenadeLimit { get; set; } = grenadeLimit; } diff --git a/jRandomSkills - SRC Files/src/player/skills/Nemesis.cs b/jRandomSkills - SRC Files/src/player/skills/Nemesis.cs new file mode 100644 index 0000000..278211c --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Nemesis.cs @@ -0,0 +1,156 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; +using static src.jRandomSkills; + +namespace src.player.skills +{ + public class Nemesis : ISkill + { + private const Skills skillName = Skills.Nemesis; + + private static readonly ConcurrentDictionary markedPlayers = []; + private static readonly ConcurrentDictionary ownerToTarget = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + markedPlayers.Clear(); + ownerToTarget.Clear(); + + foreach (var player in PlayerManager.GetTickPlayers()) + SkillUtils.CloseMenu(player); + } + + public static void PlayerDisconnect(uint playerIndex) + { + markedPlayers.TryRemove(playerIndex, out _); + ownerToTarget.TryRemove(playerIndex, out _); + + foreach (var kvp in ownerToTarget) + if (kvp.Value == playerIndex) + ownerToTarget.TryRemove(kvp.Key, out _); + } + + public static void EnableSkill(CCSPlayerController player) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null) return; + playerInfo.SkillUsed = false; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + if (enemies.Length > 0) + { + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.CreateMenu(player, menuItems); + } + else + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + if (ownerToTarget.TryRemove(player.Index, out uint targetIndex)) + markedPlayers.TryRemove(targetIndex, out _); + + SkillUtils.CloseMenu(player); + } + + public static void OnTick() + { + if (Server.TickCount % 32 != 0) return; + + foreach (var player in PlayerManager.GetTickPlayers()) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null || playerInfo.Skill != skillName) continue; + if (!SkillUtils.HasMenu(player)) continue; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.UpdateMenu(player, menuItems); + } + } + + public static void TypeSkill(CCSPlayerController player, string[] commands) + { + if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + if (playerInfo.SkillUsed) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}"); + return; + } + + if (commands.Length == 0 || !uint.TryParse(commands[0], out uint enemyIndex)) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex); + if (enemy == null || !enemy.IsValid) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + markedPlayers[enemy.Index] = 0; + ownerToTarget[player.Index] = enemy.Index; + playerInfo.SkillUsed = true; + + playerEvent.PrintToChat($" {ChatColors.Green}{playerEvent.GetTranslation("nemesis_player_info", enemy.PlayerName)}"); + + var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy); + if (enemyEvent != null && enemyEvent.IsValid) + enemyEvent.PrintToChat($" {ChatColors.Red}{enemyEvent.GetTranslation("nemesis_enemy_info")}"); + } + + public static void OnTakeDamage(DynamicHook h) + { + if (markedPlayers.IsEmpty) return; + + CEntityInstance param = h.GetParam(0); + CTakeDamageInfo param2 = h.GetParam(1); + if (param == null || !param.IsValid || param2 == null) return; + + var victimPawn = param.As(); + if (victimPawn == null || !victimPawn.IsValid || victimPawn.DesignerName != "player") return; + + var victimController = victimPawn.Controller.Value; + if (victimController == null || !victimController.IsValid) return; + + var victim = victimController.As(); + if (victim == null || !victim.IsValid) return; + + uint victimIndex = PlayerManager.GetPlayerEvent(victim)?.Index ?? victim.Index; + if (!markedPlayers.ContainsKey(victimIndex)) return; + + param2.Damage *= 1f + SkillsInfo.GetValue(skillName, "extraDamagePercent"); + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#b8003a", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Rare, float extraDamagePercent = .25f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float ExtraDamagePercent { get; set; } = extraDamagePercent; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs b/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs index 207d968..d564014 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs @@ -10,6 +10,7 @@ namespace src.player.skills public class Nightmare : ISkill { private const Skills skillName = Skills.Nightmare; + private const string cursedSound = "UI.ArmsRace.FinalKill_Tone"; private static readonly ConcurrentDictionary playersToTarget = []; private static readonly ConcurrentDictionary targetVolumes = []; private static readonly object setLock = new(); @@ -129,7 +130,10 @@ namespace src.player.skills playerEvent.PrintToChat($" {ChatColors.Green}" + playerEvent.GetTranslation("nightmare_player_info", enemy.PlayerName)); if (enemyEvent != null && enemyEvent.IsValid) + { enemyEvent.PrintToChat($" {ChatColors.Red}" + enemyEvent.GetTranslation("nightmare_enemy_info")); + SkillUtils.EmitSoundToPlayer(enemyEvent, cursedSound, SkillsInfo.GetValue(skillName, "soundVolume")); + } } public static void DisableSkill(CCSPlayerController player) @@ -227,8 +231,9 @@ namespace src.player.skills EntityManager.DestroyEntity(volumeIndex); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#5b2c6f", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, string postProcessing = "lighting/postprocessing/effects/death_cam_phase1_low_violence.vpost", float fadeTime = .25f, float minExposure = .5f, float maxExposure = 2f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#5b2c6f", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, string postProcessing = "lighting/postprocessing/effects/death_cam_phase1_low_violence.vpost", float fadeTime = .25f, float minExposure = .5f, float maxExposure = 2f, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public string PostProcessing { get; set; } = postProcessing; public float FadeTime { get; set; } = fadeTime; public float MinExposure { get; set; } = minExposure; diff --git a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs index 604c32a..cb881b6 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs @@ -63,37 +63,29 @@ namespace src.player.skills var bomb = PlayerManager.GetTickBomb(); uint? bombOwnerIndex = bomb != null && bomb.IsValid ? bomb.OwnerEntity?.Index : null; + var hidden = SkillUtils.ResolveHiddenPawns(invisiblePlayers.Keys, bombOwnerIndex); + if (hidden.Count == 0) return; + foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; - foreach (var playerIndex in invisiblePlayers.Keys) + foreach (var target in hidden) { - var playerController = PlayerManager.GetPlayerEvent(Utilities.GetPlayerFromIndex((int)playerIndex)); - if (playerController == null || !playerController.IsValid || playerController.Index == player.Index) - continue; - - if (player.Team == playerController.Team) - continue; - - var playerPawn = playerController.PlayerPawn.Value; - if (playerPawn == null || !playerPawn.IsValid) continue; + if (target.Index == player.Index) continue; + if (player.Team == target.Team) continue; // Only the actively spectated pawn stays transmitted; hiding it breaks the camera. - if (targetHandle != nint.Zero && playerPawn.Handle == targetHandle) - continue; + if (targetHandle != nint.Zero && target.Pawn.Handle == targetHandle) continue; - var entity = Utilities.GetEntityFromIndex((int)playerPawn.Index); - if (entity == null || !entity.IsValid) continue; + if (info.TransmitEntities.Contains(target.Pawn.Index)) + info.TransmitEntities.Remove(target.Pawn.Index); - if (info.TransmitEntities.Contains(entity.Index)) - info.TransmitEntities.Remove(entity.Index); + SkillUtils.HideCarriedEntities(info, target.Pawn); - SkillUtils.HideCarriedEntities(info, playerPawn); - - if (bomb == null || bombOwnerIndex != playerController.Index) continue; + if (bomb == null || !target.HoldsBomb) continue; if (info.TransmitEntities.Contains(bomb.Index)) info.TransmitEntities.Remove(bomb.Index); diff --git a/jRandomSkills - SRC Files/src/player/skills/NoNades.cs b/jRandomSkills - SRC Files/src/player/skills/NoNades.cs index ead6b21..be3d6be 100644 --- a/jRandomSkills - SRC Files/src/player/skills/NoNades.cs +++ b/jRandomSkills - SRC Files/src/player/skills/NoNades.cs @@ -15,15 +15,14 @@ namespace src.player.skills SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); } - private static readonly HashSet blockedWeapons = - ["hegrenade", "inferno", "decoy", "flashbang", "smokegrenade", "molotov"]; + private const string infernoDamage = "inferno"; public static bool PlayerHurtPre(EventPlayerHurt @event) { var player = PlayerManager.GetPlayerEvent(@event.Userid); if (!Instance.IsPlayerValid(player)) return false; - if (!blockedWeapons.Contains(@event.Weapon)) return false; + if (@event.Weapon != infernoDamage && !WeaponPool.IsGrenade(@event.Weapon)) return false; if (PlayerManager.GetPlayerByIndex(player!.Index)?.Skill != skillName) return false; SkillUtils.RestoreHealth(player); diff --git a/jRandomSkills - SRC Files/src/player/skills/PawelJumper.cs b/jRandomSkills - SRC Files/src/player/skills/PawelJumper.cs index 66c8270..b81da67 100644 --- a/jRandomSkills - SRC Files/src/player/skills/PawelJumper.cs +++ b/jRandomSkills - SRC Files/src/player/skills/PawelJumper.cs @@ -9,6 +9,7 @@ namespace src.player.skills public class PawelJumper : ISkill { private const Skills skillName = Skills.PawelJumper; + private const string jumpSound = "Default.WalkJump"; private static readonly int?[] J = new int?[64]; private static readonly PlayerButtons[] LB = new PlayerButtons[64]; @@ -73,13 +74,17 @@ namespace src.player.skills { J[player.Slot]++; playerEventPawn.AbsVelocity.Z = 300; + + if (J[player.Slot] > 1) + playerEventPawn.EmitSound(jumpSound, volume: SkillsInfo.GetValue(skillName, "soundVolume")); } LB[player.Slot] = buttons; } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#FFA500", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int extraJumpsMin = 1, int extraJumpsMax = 4) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#FFA500", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int extraJumpsMin = 1, int extraJumpsMax = 4, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int ExtraJumpsMin { get; set; } = extraJumpsMin; public int ExtraJumpsMax { get; set; } = extraJumpsMax; } diff --git a/jRandomSkills - SRC Files/src/player/skills/Pilot.cs b/jRandomSkills - SRC Files/src/player/skills/Pilot.cs index 0f162d3..39f818c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Pilot.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Pilot.cs @@ -15,13 +15,29 @@ namespace src.player.skills public static void LoadSkill() { SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + Instance.AddToManifest(SkillsInfo.GetValue(skillName, "particleName")); } public static void NewRound() { + foreach (var pilotInfo in PlayerPilotInfo.Values) + ClearTrail(pilotInfo); + PlayerPilotInfo.Clear(); } + public static void PlayerDeath(EventPlayerDeath @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + if (PlayerPilotInfo.TryGetValue(player.Index, out var pilotInfo)) + { + ClearTrail(pilotInfo); + pilotInfo.IsFlying = false; + } + } + public static void OnTick() { foreach (var player in PlayerManager.GetTickPlayers()) @@ -39,7 +55,9 @@ namespace src.player.skills public static void DisableSkill(CCSPlayerController player) { - PlayerPilotInfo.TryRemove(player.Index, out _); + if (PlayerPilotInfo.TryRemove(player.Index, out var pilotInfo)) + ClearTrail(pilotInfo); + SkillUtils.ResetPrintHTML(player); } @@ -96,9 +114,18 @@ namespace src.player.skills ); if (inUse) + { ApplyPilotEffect(player); - else if (pilotInfo.Fuel <= 0) - pilotInfo.IsFlying = false; + StartTrail(player, playerPawn, pilotInfo); + } + else + { + if (pilotInfo.TrailIndex != null) + ClearTrail(pilotInfo); + + if (pilotInfo.Fuel <= 0) + pilotInfo.IsFlying = false; + } pilotInfo.LastButtons = buttons; UpdateHUD(player, pilotInfo); @@ -132,6 +159,62 @@ namespace src.player.skills return "#FF0000"; } + private static void StartTrail(CCSPlayerController player, CCSPlayerPawn pawn, Pilot_PlayerInfo pilotInfo) + { + if (pilotInfo.TrailIndex != null) + { + var existing = Utilities.GetEntityFromIndex((int)pilotInfo.TrailIndex.Value); + if (existing != null && existing.IsValid) return; + pilotInfo.TrailIndex = null; + } + + if (pawn.AbsOrigin == null) return; + + var particle = EntityManager.CreateTrackedParticleSystem(player.Index, SkillsInfo.GetValue(skillName, "particleName")); + if (particle == null || !particle.IsValid) return; + + float offset = SkillsInfo.GetValue(skillName, "particleOffset"); + particle.Teleport(new Vector(pawn.AbsOrigin.X, pawn.AbsOrigin.Y, pawn.AbsOrigin.Z + offset)); + particle.AcceptInput("SetParent", pawn, particle, "!activator"); + particle.AcceptInput("Start"); + + pilotInfo.TrailIndex = particle.Index; + } + + private static void StopTrail(Pilot_PlayerInfo pilotInfo) + { + if (pilotInfo.TrailIndex == null) return; + + uint index = pilotInfo.TrailIndex.Value; + pilotInfo.TrailIndex = null; + + var particle = Utilities.GetEntityFromIndex((int)index); + if (particle != null && particle.IsValid) + { + particle.AcceptInput("Stop"); + particle.AcceptInput("DestroyImmediately"); + } + + EntityManager.DestroyEntity(index); + + if (EntityManager.SuppressKills) return; + + Server.NextFrame(() => + { + var leftover = Utilities.GetEntityFromIndex((int)index); + if (leftover != null && leftover.IsValid) + leftover.Remove(); + }); + } + + private static void ClearTrail(Pilot_PlayerInfo pilotInfo) + { + StopTrail(pilotInfo); + + foreach (var leftover in EntityManager.GetPlayerEntities((uint)pilotInfo.SteamID, "particle_system")) + EntityManager.DestroyEntity(leftover); + } + private static void ApplyPilotEffect(CCSPlayerController player) { var playerPawn = player.PlayerPawn.Value; @@ -168,10 +251,13 @@ namespace src.player.skills public int JumpCount { get; set; } = 0; public float LastJumpTime { get; set; } = 0; public bool IsFlying { get; set; } = false; + public uint? TrailIndex { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1466F5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maximumFuel = 150f, float fuelConsumption = .64f, float refuelling = .1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#1466F5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maximumFuel = 150f, float fuelConsumption = .64f, float refuelling = .1f, string particleName = "particles/inferno_fx/incgrenade_thrown_trail.vpcf", float particleOffset = 0f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public string ParticleName { get; set; } = particleName; + public float ParticleOffset { get; set; } = particleOffset; public float MaximumFuel { get; set; } = maximumFuel; public float FuelConsumption { get; set; } = fuelConsumption; public float Refuelling { get; set; } = refuelling; diff --git a/jRandomSkills - SRC Files/src/player/skills/Planter.cs b/jRandomSkills - SRC Files/src/player/skills/Planter.cs index 48de162..ee1acb3 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Planter.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Planter.cs @@ -94,6 +94,8 @@ namespace src.player.skills public static void OnTick() { float currentTime = Server.CurrentTime; + bool hudFrame = SkillUtils.IsHudFrame(); + foreach (var player in PlayerManager.GetTickPlayers().Where(p => p.Team == CsTeam.Terrorist)) { if (!Instance.IsPlayerValid(player)) continue; @@ -111,7 +113,7 @@ namespace src.player.skills pawn.InBombZone = true; Schema.SetSchemaValue(pawn.Handle, "CCSPlayerPawn", "m_bInBombZone", true); - if (plantingPlayers.TryGetValue(player.Index, out float plantTime)) + if (hudFrame && plantingPlayers.TryGetValue(player.Index, out float plantTime)) { float remaining = plantTime + 3f - currentTime; playerInfo.PrintHTML = $"{player.GetTranslation("planter_planting", $"{Math.Max(0, remaining):0.0}s")}"; diff --git a/jRandomSkills - SRC Files/src/player/skills/Poison.cs b/jRandomSkills - SRC Files/src/player/skills/Poison.cs index fc433f2..5b46fc5 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Poison.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Poison.cs @@ -10,6 +10,7 @@ namespace src.player.skills public class Poison : ISkill { private const Skills skillName = Skills.Poison; + private const string poisonSound = "Player.DamageBody.Victim"; private static readonly ConcurrentDictionary poisonedPlayers = []; private static readonly ConcurrentDictionary playersToTarget = []; private static readonly ConcurrentDictionary targetToPlayer = []; @@ -69,7 +70,7 @@ namespace src.player.skills SkillUtils.TakeHealth(pawn, SkillsInfo.GetValue(skillName, "Damage"), GetSkillOwner(playerIndex), KillfeedIcons.Spray); if (Server.TickCount % cooldown2 == 0) - PlayerManager.GetPlayerFromEvent(player)?.ExecuteClientCommand($"play player/player_damagebody_0{jRandomSkills.Instance.Random.Next(4, 8)}"); + SkillUtils.EmitSoundToPlayer(player, poisonSound, SkillsInfo.GetValue(skillName, "soundVolume")); } } @@ -186,8 +187,9 @@ namespace src.player.skills SkillUtils.CloseMenu(player); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#902eff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = .85f, int damage = 1, int minHealth = 30) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#902eff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = .85f, int damage = 1, int minHealth = 30, float soundVolume = .3f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int Damage { get; set; } = damage; public float Cooldown { get; set; } = cooldown; public int MinHealth { get; set; } = minHealth; diff --git a/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs b/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs index d2e6fdb..d26a8cc 100644 --- a/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs +++ b/jRandomSkills - SRC Files/src/player/skills/PrimaryBan.cs @@ -12,16 +12,7 @@ namespace src.player.skills private static readonly ConcurrentDictionary bannedPlayers = []; private static readonly ConcurrentDictionary playersToTarget = []; private static readonly object setLock = new(); - private static readonly string[] disabledWeapons = - [ - "weapon_ak47", "weapon_m4a4", "weapon_m4a1", "weapon_m4a1_silencer", - "weapon_famas", "weapon_galilar", "weapon_aug", "weapon_sg556", - "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", - "weapon_ump45", "weapon_p90", "weapon_mp5sd", "weapon_ssg08", - "weapon_awp", "weapon_scar20", "weapon_g3sg1", "weapon_nova", - "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", - "weapon_negev" - ]; + private static HashSet disabledWeapons => WeaponPool.Rifles; public static void LoadSkill() { diff --git a/jRandomSkills - SRC Files/src/player/skills/PsychicDefusing.cs b/jRandomSkills - SRC Files/src/player/skills/PsychicDefusing.cs index a3bc7ce..51a5066 100644 --- a/jRandomSkills - SRC Files/src/player/skills/PsychicDefusing.cs +++ b/jRandomSkills - SRC Files/src/player/skills/PsychicDefusing.cs @@ -69,7 +69,7 @@ namespace src.player.skills } if (!info.Defusing) - pawn.EmitSound("c4.disarmstart"); + pawn.EmitSound("c4.disarmstart", volume: SkillsInfo.GetValue(skillName, "soundVolume")); info.Defusing = true; info.DefusingTime -= (1f / tickRate); @@ -128,8 +128,9 @@ namespace src.player.skills public float DefusingTime { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#507529", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maxDefusingRange = 80f, float defusingTime = 10f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#507529", CsTeam onlyTeam = CsTeam.CounterTerrorist, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float maxDefusingRange = 80f, float defusingTime = 10f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float MaxDefusingRange { get; set; } = maxDefusingRange; public float DefusingTime { get; set; } = defusingTime; } diff --git a/jRandomSkills - SRC Files/src/player/skills/Punisher.cs b/jRandomSkills - SRC Files/src/player/skills/Punisher.cs new file mode 100644 index 0000000..3b4bf02 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Punisher.cs @@ -0,0 +1,110 @@ +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class Punisher : ISkill + { + private const Skills skillName = Skills.Punisher; + + private static readonly ConcurrentDictionary storedDamage = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + storedDamage.Clear(); + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + storedDamage[player.Index] = 0f; + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null) return; + + storedDamage.TryRemove(player.Index, out _); + SkillUtils.ResetPrintHTML(player); + } + + public static void PlayerDisconnect(uint playerIndex) + { + storedDamage.TryRemove(playerIndex, out _); + } + + public static void PlayerDeath(EventPlayerDeath @event) + { + var victim = PlayerManager.GetPlayerEvent(@event.Userid); + if (victim == null || !victim.IsValid) return; + + if (storedDamage.ContainsKey(victim.Index)) + storedDamage[victim.Index] = 0f; + } + + public static void OnTakeDamage(DynamicHook h) + { + if (storedDamage.IsEmpty) return; + + CEntityInstance param = h.GetParam(0); + CTakeDamageInfo param2 = h.GetParam(1); + if (param == null || !param.IsValid || param2 == null) return; + + var victimPawn = param.As(); + if (victimPawn == null || !victimPawn.IsValid || victimPawn.DesignerName != "player") return; + + var victimController = victimPawn.Controller.Value; + if (victimController == null || !victimController.IsValid) return; + + var victim = victimController.As(); + if (victim == null || !victim.IsValid) return; + + uint victimIndex = PlayerManager.GetPlayerEvent(victim)?.Index ?? victim.Index; + + var attacker = param2.Attacker?.Value?.As(); + var attackerController = attacker?.Controller?.Value?.As(); + uint? attackerIndex = attackerController != null && attackerController.IsValid + ? PlayerManager.GetPlayerEvent(attackerController)?.Index ?? attackerController.Index + : null; + + if (attackerIndex.HasValue && attackerIndex.Value != victimIndex && storedDamage.TryGetValue(attackerIndex.Value, out float banked) && banked > 0f) + { + storedDamage[attackerIndex.Value] = 0f; + param2.Damage += banked; + + var puncher = CounterStrikeSharp.API.Utilities.GetPlayerFromIndex((int)attackerIndex.Value); + var puncherPawn = puncher?.PlayerPawn?.Value; + + if (puncherPawn != null && puncherPawn.IsValid && puncherPawn.Health > 0) + SkillUtils.SetHealth(puncherPawn, puncherPawn.Health + (int)MathF.Round(banked)); + + var puncherEvent = PlayerManager.GetPlayerFromEvent(puncher); + if (puncherEvent != null && puncherEvent.IsValid) + puncherEvent.PrintToChat($" {ChatColors.Green}{puncherEvent.GetTranslation("punisher_released_info", (int)MathF.Round(banked))}"); + } + + if (!storedDamage.ContainsKey(victimIndex)) return; + if (attackerIndex.HasValue && attackerIndex.Value == victimIndex) return; + + float ratio = SkillsInfo.GetValue(skillName, "storePercent"); + float cap = SkillsInfo.GetValue(skillName, "maxStored"); + + float stored = storedDamage[victimIndex] + (param2.Damage * ratio); + storedDamage[victimIndex] = MathF.Min(stored, cap); + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffb347", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float storePercent = .5f, float maxStored = 100f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float StorePercent { get; set; } = storePercent; + public float MaxStored { get; set; } = maxStored; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Push.cs b/jRandomSkills - SRC Files/src/player/skills/Push.cs index 28bf9ab..d5e9115 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Push.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Push.cs @@ -23,6 +23,8 @@ namespace src.player.skills if (!Instance.IsPlayerValid(attacker) || !Instance.IsPlayerValid(victim) || attacker == victim) return; + if (Heavyweight.Resists(victim)) return; + var playerInfo = PlayerManager.GetPlayerByIndex(attacker!.Index); if (playerInfo?.Skill == skillName && victim!.PawnIsAlive) diff --git a/jRandomSkills - SRC Files/src/player/skills/RandomWeapon.cs b/jRandomSkills - SRC Files/src/player/skills/RandomWeapon.cs index d5578d4..a7a9b3c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/RandomWeapon.cs +++ b/jRandomSkills - SRC Files/src/player/skills/RandomWeapon.cs @@ -13,19 +13,8 @@ namespace src.player.skills private static readonly ConcurrentDictionary SkillPlayerInfo = new(); private static readonly object setLock = new(); - private static readonly HashSet pistols = new(StringComparer.Ordinal) - { - "weapon_deagle", "weapon_revolver", "weapon_glock", "weapon_usp_silencer", - "weapon_cz75a", "weapon_fiveseven", "weapon_p250", "weapon_tec9", "weapon_elite", "weapon_hkp2000" - }; - - private static readonly HashSet rifles = new(StringComparer.Ordinal) - { - "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", "weapon_ump45", "weapon_p90", - "weapon_mp5sd", "weapon_famas", "weapon_galilar", "weapon_m4a1", "weapon_m4a1_silencer", "weapon_ak47", - "weapon_aug", "weapon_sg556", "weapon_ssg08", "weapon_awp", "weapon_scar20", "weapon_g3sg1", - "weapon_nova", "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", "weapon_negev" - }; + private static HashSet pistols => WeaponPool.Pistols; + private static HashSet rifles => WeaponPool.Rifles; public static void LoadSkill() { @@ -104,6 +93,19 @@ namespace src.player.skills RemoveAndGiveWeapon(player); } + private static bool RollPistol(bool pistolAvailable, bool rifleAvailable) + { + if (!rifleAvailable) return true; + if (!pistolAvailable) return false; + + float pistolChance = Math.Max(SkillsInfo.GetValue(skillName, "pistolChance"), 0); + float rifleChance = Math.Max(SkillsInfo.GetValue(skillName, "rifleChance"), 0); + float total = pistolChance + rifleChance; + + if (total <= 0) return Instance.Random.Next(2) == 0; + return Instance.Random.NextDouble() * total < pistolChance; + } + private static void RemoveAndGiveWeapon(CCSPlayerController player) { var pawn = player.PlayerPawn.Value; @@ -117,12 +119,15 @@ namespace src.player.skills if (playerWeapons.Count == 0) return; - var available = pistols.Concat(rifles).Where(w => !playerWeapons.Contains(w)).ToArray(); - if (available.Length == 0) + var availablePistols = pistols.Where(w => !playerWeapons.Contains(w)).ToArray(); + var availableRifles = rifles.Where(w => !playerWeapons.Contains(w)).ToArray(); + if (availablePistols.Length == 0 && availableRifles.Length == 0) return; + bool isPistol = RollPistol(availablePistols.Length > 0, availableRifles.Length > 0); + var available = isPistol ? availablePistols : availableRifles; + string newWeapon = available[Instance.Random.Next(available.Length)]; - bool isPistol = pistols.Contains(newWeapon); string? weaponToRemove = null; foreach (var item in pawn.WeaponServices.MyWeapons) @@ -163,9 +168,11 @@ namespace src.player.skills public DateTime Cooldown { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#e0873a", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 15f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#e0873a", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 15f, float pistolChance = 60f, float rifleChance = 40f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { public float Cooldown { get; set; } = cooldown; + public float PistolChance { get; set; } = pistolChance; + public float RifleChance { get; set; } = rifleChance; } } } \ No newline at end of file diff --git a/jRandomSkills - SRC Files/src/player/skills/Replicator.cs b/jRandomSkills - SRC Files/src/player/skills/Replicator.cs index 7eea00c..e07b2ad 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Replicator.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Replicator.cs @@ -152,7 +152,7 @@ namespace src.player.skills if (!consumedReplicas.TryAdd(replica.Index, 0)) return; - replica.EmitSound("GlassBottle.BulletImpact", volume: 1f); + replica.EmitSound("GlassBottle.BulletImpact", volume: SkillsInfo.GetValue(skillName, "soundVolume")); var owner = GetReplicaOwner(replica.Index); EntityManager.DestroyEntity(replica.Index); @@ -183,8 +183,9 @@ namespace src.player.skills public DateTime Cooldown { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#a3000b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = 15f, int yourTeamDamage = 10, int enemyTeamDamage = 20) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#a3000b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Common, float cooldown = 15f, int yourTeamDamage = 10, int enemyTeamDamage = 20, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; public int YourTeamDamage { get; set; } = yourTeamDamage; public int EnemyTeamDamage { get; set; } = enemyTeamDamage; diff --git a/jRandomSkills - SRC Files/src/player/skills/Rewind.cs b/jRandomSkills - SRC Files/src/player/skills/Rewind.cs new file mode 100644 index 0000000..09713b1 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Rewind.cs @@ -0,0 +1,205 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; +using System.Drawing; + +namespace src.player.skills +{ + public class Rewind : ISkill + { + private const Skills skillName = Skills.Rewind; + + private static readonly ConcurrentDictionary SkillPlayerInfo = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + foreach (var skillInfo in SkillPlayerInfo.Values) + DestroyMarker(skillInfo); + + SkillPlayerInfo.Clear(); + } + + public static void RoundEnd() + { + foreach (var skillInfo in SkillPlayerInfo.Values) + DestroyMarker(skillInfo); + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + SkillPlayerInfo[player.Index] = new PlayerSkillInfo + { + CanUse = true, + Cooldown = DateTime.MinValue, + }; + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null) return; + + if (SkillPlayerInfo.TryRemove(player.Index, out var skillInfo)) + DestroyMarker(skillInfo); + + SkillUtils.ResetPrintHTML(player); + } + + public static void PlayerDisconnect(uint playerIndex) + { + if (SkillPlayerInfo.TryRemove(playerIndex, out var skillInfo)) + DestroyMarker(skillInfo); + } + + public static void PlayerDeath(EventPlayerDeath @event) + { + var player = PlayerManager.GetPlayerEvent(@event.Userid); + if (player == null || !player.IsValid) return; + + if (SkillPlayerInfo.TryGetValue(player.Index, out var skillInfo)) + { + skillInfo.ReturnTick = 0; + DestroyMarker(skillInfo); + } + } + + public static void UseSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + if (!SkillPlayerInfo.TryGetValue(player.Index, out var skillInfo)) return; + if (!skillInfo.CanUse || skillInfo.ReturnTick != 0) return; + + var pawn = player.PlayerPawn?.Value; + if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null) return; + + skillInfo.Mark = new Vector(pawn.AbsOrigin.X, pawn.AbsOrigin.Y, pawn.AbsOrigin.Z); + skillInfo.MarkAngle = new QAngle(0, pawn.V_angle.Y, 0); + skillInfo.ReturnTick = Server.TickCount + (int)(SkillsInfo.GetValue(skillName, "returnDelay") * 64); + skillInfo.CanUse = false; + skillInfo.Cooldown = DateTime.Now; + + SpawnMarker(player, skillInfo); + SkillUtils.EmitSoundToPlayer(player, "UIPanorama.buttonclick", SkillsInfo.GetValue(skillName, "soundVolume")); + } + + public static void OnTick() + { + if (SkillPlayerInfo.IsEmpty) return; + + bool hudFrame = SkillUtils.IsHudFrame(); + + foreach (var player in PlayerManager.GetTickPlayers()) + { + if (player == null || !player.IsValid) continue; + if (!SkillPlayerInfo.TryGetValue(player.Index, out var skillInfo)) continue; + if (PlayerManager.GetPlayerByIndex(player.Index)?.Skill != skillName) continue; + + if (skillInfo.ReturnTick != 0 && Server.TickCount >= skillInfo.ReturnTick) + { + skillInfo.ReturnTick = 0; + Teleport(player, skillInfo); + DestroyMarker(skillInfo); + } + + if (hudFrame) + UpdateHUD(player, skillInfo); + } + } + + private static void Teleport(CCSPlayerController player, PlayerSkillInfo skillInfo) + { + if (skillInfo.Mark == null) return; + + var pawn = player.PlayerPawn?.Value; + if (pawn == null || !pawn.IsValid || pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) + { + skillInfo.Mark = null; + return; + } + + pawn.Teleport(skillInfo.Mark, skillInfo.MarkAngle, new Vector(0, 0, 0)); + skillInfo.Mark = null; + } + + private static void SpawnMarker(CCSPlayerController player, PlayerSkillInfo skillInfo) + { + if (skillInfo.Mark == null) return; + if (EntityManager.OverBudget()) return; + + Color color = Color.White; + try { color = ColorTranslator.FromHtml(SkillsInfo.GetValue(skillName, "color")); } + catch { } + + Vector bottom = new(skillInfo.Mark.X, skillInfo.Mark.Y, skillInfo.Mark.Z + 2); + Vector top = new(skillInfo.Mark.X, skillInfo.Mark.Y, skillInfo.Mark.Z + 68); + + var beam = EntityManager.CreateTrackedBeam(player.Index, bottom, top, color); + if (beam == null || !beam.IsValid) return; + + beam.Width = .6f; + beam.EndWidth = .6f; + + Utilities.SetStateChanged(beam, "CBeam", "m_fWidth"); + Utilities.SetStateChanged(beam, "CBeam", "m_fEndWidth"); + + skillInfo.MarkerIndex = beam.Index; + } + + private static void DestroyMarker(PlayerSkillInfo skillInfo) + { + if (skillInfo.MarkerIndex == null) return; + + uint markerIndex = skillInfo.MarkerIndex.Value; + skillInfo.MarkerIndex = null; + + EntityManager.DestroyBeam(markerIndex); + } + + private static void UpdateHUD(CCSPlayerController player, PlayerSkillInfo skillInfo) + { + float time = (int)Math.Ceiling((skillInfo.Cooldown.AddSeconds(SkillsInfo.GetValue(skillName, "cooldown")) - DateTime.Now).TotalSeconds); + float cooldown = Math.Max(time, 0); + + if (cooldown == 0 && !skillInfo.CanUse) + skillInfo.CanUse = true; + + var playerInfo = PlayerManager.GetPlayerByIndex(player.Index); + if (playerInfo == null) return; + + if (skillInfo.ReturnTick != 0) + { + int remaining = (int)Math.Ceiling((skillInfo.ReturnTick - Server.TickCount) / 64f); + playerInfo.PrintHTML = $"{player.GetTranslation("rewind_pending_info", Math.Max(remaining, 0))}"; + } + else if (cooldown == 0) + playerInfo.PrintHTML = null; + else + playerInfo.PrintHTML = $"{player.GetTranslation("hud_info", $"{cooldown}")}"; + } + + public class PlayerSkillInfo + { + public bool CanUse { get; set; } + public DateTime Cooldown { get; set; } + public Vector? Mark { get; set; } + public QAngle? MarkAngle { get; set; } + public uint? MarkerIndex { get; set; } + public int ReturnTick { get; set; } + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#4fc3f7", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = true, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Uncommon, float returnDelay = 4f, float cooldown = 30f, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float SoundVolume { get; set; } = soundVolume; + public float ReturnDelay { get; set; } = returnDelay; + public float Cooldown { get; set; } = cooldown; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs index d59de9a..1982f5f 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs @@ -14,6 +14,7 @@ namespace src.player.skills public class Ricochet : ISkill { private const Skills skillName = Skills.Ricochet; + private const string bounceSound = "FX_RicochetSound.Ricochet_Legacy"; private static readonly ConcurrentDictionary impactBudgets = []; private static readonly HashSet ownedTracers = []; @@ -57,18 +58,10 @@ namespace src.player.skills if (PlayerManager.GetPlayerByIndex(player.Index)?.Skill != skillName) return; - if (!RayTrace.IsAvailable) - { - Trace("RayTrace module unavailable"); - return; - } + if (!RayTrace.IsAvailable) return; var pawn = player.PlayerPawn?.Value; - if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null || pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) - { - Trace("shooter pawn invalid or dead"); - return; - } + if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null || pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; if (!TryConsumeBudget(player.Index)) return; @@ -76,32 +69,14 @@ namespace src.player.skills Vector3 impact = new(@event.X, @event.Y, @event.Z); Vector3 toImpact = impact - eyePos; - if (toImpact.LengthSquared() < 1f) - { - Trace("impact too close to eye"); - return; - } + if (toImpact.LengthSquared() < 1f) return; Vector3 direction = Vector3.Normalize(toImpact); var surface = RayTrace.TraceShape(player, ToVector(eyePos), ToVector(impact + direction * 8f), worldOnlyMask, 0); - if (surface == null) - { - Trace("surface trace returned null"); - return; - } + if (surface == null || !surface.Value.DidHit) return; - if (!surface.Value.DidHit) - { - Trace($"surface trace missed (fraction={surface.Value.Fraction:0.###})"); - return; - } - - if (!TryResolveNormal(player, surface.Value, direction, out Vector3 normal)) - { - Trace("could not resolve surface normal"); - return; - } + if (!TryResolveNormal(player, surface.Value, direction, out Vector3 normal)) return; Bounce(player, pawn, surface.Value.EndPos, direction, normal); } @@ -118,31 +93,28 @@ namespace src.player.skills KillfeedIcons? killfeedIcon = KillfeedIconsExtensions.FromWeaponName(SkillUtils.GetDesignerName(pawn.WeaponServices?.ActiveWeapon?.Value)); List path = []; + List soundAt = []; for (int i = 0; i < bounces; i++) { direction = Vector3.Reflect(direction, normal); Vector3 start = point + normal * 2f; - if (path.Count == 0) path.Add(start); + if (path.Count == 0) + { + path.Add(start); + soundAt.Add(0); + } Vector3 end = start + direction * segmentDistance; var hit = RayTrace.TraceShape(player, ToVector(start), ToVector(end)); - if (hit == null) - { - Trace($"bounce {i + 1}: segment trace returned null"); - break; - } + if (hit == null) break; Vector3 stop = hit.Value.DidHit ? hit.Value.EndPos : end; path.Add(stop); - if (!hit.Value.DidHit) - { - Trace($"bounce {i + 1}: no surface, len={Vector3.Distance(start, stop):0.#}"); - break; - } + if (!hit.Value.DidHit) break; if (hit.Value.HitPlayer(out var victim)) { @@ -150,17 +122,14 @@ namespace src.player.skills break; } - if (!TryResolveNormal(player, hit.Value, direction, out normal)) - { - Trace($"bounce {i + 1}: could not resolve normal"); - break; - } + if (!TryResolveNormal(player, hit.Value, direction, out normal)) break; + soundAt.Add(path.Count - 1); point = hit.Value.EndPos; damage *= damageFalloff; } - StartFlight(player, path); + StartFlight(player, path, soundAt); } public static void OnTick() @@ -191,11 +160,12 @@ namespace src.player.skills float tail = MathF.Max(head - trail, flight.Cumulative[segment]); UpdateTracer(flight, PointAt(flight, tail), PointAt(flight, head)); + EmitBounceSound(flight, tail); } } } - private static void StartFlight(CCSPlayerController player, List path) + private static void StartFlight(CCSPlayerController player, List path, List soundAt) { if (path.Count < 2) return; if (!SkillsInfo.GetValue(skillName, "showTracer")) return; @@ -223,10 +193,27 @@ namespace src.player.skills Cumulative = cumulative, TotalLength = total, DeadlineTick = Server.TickCount + (int)(total / speed * 64f) + 128, + SoundAt = [.. soundAt.Where(index => index < points.Length)], }); } } + private static void EmitBounceSound(Flight flight, float tail) + { + if (flight.NextSound >= flight.SoundAt.Length) return; + if (tail < flight.Cumulative[flight.SoundAt[flight.NextSound]]) return; + + while (flight.NextSound < flight.SoundAt.Length && tail >= flight.Cumulative[flight.SoundAt[flight.NextSound]]) + flight.NextSound++; + + if (flight.BeamIndex == null) return; + + var beam = ResolveTracer(flight.BeamIndex.Value); + if (beam == null) return; + + beam.EmitSound(bounceSound, volume: SkillsInfo.GetValue(skillName, "soundVolume")); + } + private static int SegmentAt(Flight flight, float distance) { for (int i = flight.Points.Length - 2; i >= 0; i--) @@ -332,9 +319,8 @@ namespace src.player.skills beam.DispatchSpawn(); return beam; } - catch (Exception ex) + catch { - Trace($"beam create failed: {ex.Message}"); return null; } } @@ -352,7 +338,6 @@ namespace src.player.skills if (beam == null) { ownedTracers.Remove(beamIndex); - Trace($"tracer {beamIndex} vanished before release"); return; } @@ -395,9 +380,6 @@ namespace src.player.skills if (beam != null) HideTracer(beam); } - if (ownedTracers.Count > 0) - Trace($"pool reset: {ownedTracers.Count} tracer(s) released"); - tracerPool.Clear(); ownedTracers.Clear(); } @@ -454,7 +436,6 @@ namespace src.player.skills int finalDamage = (int)MathF.Round(damage); if (finalDamage <= 0) return; - Trace($"hit {victimEvent.PlayerName} for {finalDamage}"); SkillUtils.TakeHealth(victimPawn, finalDamage, attacker, killfeedIcon ?? KillfeedIcons.Leg); } @@ -466,7 +447,6 @@ namespace src.player.skills if (TryRefineNormal(player, result.EndPos, direction, rough, out normal)) return true; - Trace("surface refine failed, using rough normal"); normal = rough; return true; } @@ -600,11 +580,6 @@ namespace src.player.skills return Vector3.Distance(point, baseHit) <= tolerance; } - private static void Trace(string message) - { - Debug.WriteToDebug($"[Ricochet] {message}"); - } - private static bool TryConsumeBudget(uint playerIndex) { int tick = Server.TickCount; @@ -637,12 +612,15 @@ namespace src.player.skills public required float[] Cumulative { get; set; } public required float TotalLength { get; set; } public required int DeadlineTick { get; set; } + public required int[] SoundAt { get; set; } public float Travelled { get; set; } + public int NextSound { get; set; } public uint? BeamIndex { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffd75e", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Rare, int bounces = 3, float segmentDistance = 1200f, float damageMultiplier = .5f, float fallbackDamage = 25f, bool respectArmor = true, float damageFalloff = .75f, int maxImpactsPerTick = 2, bool showTracer = true, float tracerWidth = 0.5f, float tracerSpeed = 2600f, float tracerLength = 220f, int maxActiveTracers = 12, float normalProbeOffset = 6f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ffd75e", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Rare, int bounces = 3, float segmentDistance = 1200f, float damageMultiplier = .5f, float fallbackDamage = 25f, bool respectArmor = true, float damageFalloff = .75f, int maxImpactsPerTick = 2, bool showTracer = true, float tracerWidth = 0.5f, float tracerSpeed = 2600f, float tracerLength = 220f, int maxActiveTracers = 12, float normalProbeOffset = 6f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int Bounces { get; set; } = bounces; public float SegmentDistance { get; set; } = segmentDistance; public float DamageMultiplier { get; set; } = damageMultiplier; diff --git a/jRandomSkills - SRC Files/src/player/skills/Rubber.cs b/jRandomSkills - SRC Files/src/player/skills/Rubber.cs index 80d1b6f..61c426a 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Rubber.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Rubber.cs @@ -30,6 +30,8 @@ namespace src.player.skills if (!Instance.IsPlayerValid(attacker) || !Instance.IsPlayerValid(victim) || attacker == victim) return; var attackerInfo = PlayerManager.GetPlayerByIndex(attacker!.Index); + if (Heavyweight.Resists(victim)) return; + var victimPawn = victim!.PlayerPawn.Value; if (victimPawn == null || !victimPawn.IsValid) return; diff --git a/jRandomSkills - SRC Files/src/player/skills/SniperElite.cs b/jRandomSkills - SRC Files/src/player/skills/SniperElite.cs index fd8b9eb..1b3d204 100644 --- a/jRandomSkills - SRC Files/src/player/skills/SniperElite.cs +++ b/jRandomSkills - SRC Files/src/player/skills/SniperElite.cs @@ -16,13 +16,7 @@ namespace src.player.skills private static readonly object setLock = new(); private const string weapon_awp = "weapon_awp"; - private static readonly string[] rifles = - [ - "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", "weapon_ump45", "weapon_p90", - "weapon_mp5sd", "weapon_famas", "weapon_galilar", "weapon_m4a1", "weapon_m4a1_silencer", "weapon_ak47", - "weapon_aug", "weapon_sg556", "weapon_ssg08", "weapon_awp", "weapon_scar20", "weapon_g3sg1", - "weapon_nova", "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", "weapon_negev" - ]; + private static HashSet rifles => WeaponPool.Rifles; public static void LoadSkill() { @@ -81,7 +75,7 @@ namespace src.player.skills foreach (var index in AWPs.ToList()) SkillUtils.SafeKillEntity(index); - if (savedWeapons.TryGetValue(player.Index, out string? savedWeapon) && !string.IsNullOrWhiteSpace(savedWeapon)) + if (!SkillUtils.IsPistolRound() && savedWeapons.TryGetValue(player.Index, out string? savedWeapon) && !string.IsNullOrWhiteSpace(savedWeapon)) Server.NextFrame(() => { if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; diff --git a/jRandomSkills - SRC Files/src/player/skills/SoundMaker.cs b/jRandomSkills - SRC Files/src/player/skills/SoundMaker.cs index 19aa0d2..5ba9dc0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/SoundMaker.cs +++ b/jRandomSkills - SRC Files/src/player/skills/SoundMaker.cs @@ -100,9 +100,13 @@ namespace src.player.skills { if (SkillPlayerInfo.IsEmpty) return; + if (Server.TickCount % 60 != 0) return; + int cooldown = SkillsInfo.GetValue(skillName, "cooldown"); if (cooldown < 1) cooldown = 1; - if (Server.TickCount % (60 * cooldown) != 0) return; + if ((Server.TickCount / 60) % cooldown != 0) return; + + float volume = SkillsInfo.GetValue(skillName, "soundVolume"); foreach (var player in PlayerManager.GetTickPlayers() .Where(p => p != null && p.IsValid && p.PlayerPawn.Value != null && p.PlayerPawn.Value.IsValid && p.PlayerPawn.Value.Health > 0)) @@ -111,18 +115,19 @@ namespace src.player.skills if (entities.Count == 0) { - player.PlayerPawn.Value!.EmitSound(soundEventName, volume: 1f); + player.PlayerPawn.Value!.EmitSound(soundEventName, volume: volume); continue; } var entity = Utilities.GetEntityFromIndex((int)entities[0]); if (entity != null && entity.IsValid) - entity.EmitSound(soundEventName, volume: 1f); + entity.EmitSound(soundEventName, volume: volume); } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#e3ed8c", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int cooldown = 2) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#e3ed8c", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int cooldown = 2, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int Cooldown { get; set; } = cooldown; } } diff --git a/jRandomSkills - SRC Files/src/player/skills/TakeAmmo.cs b/jRandomSkills - SRC Files/src/player/skills/TakeAmmo.cs index 9a02f1f..7f61d18 100644 --- a/jRandomSkills - SRC Files/src/player/skills/TakeAmmo.cs +++ b/jRandomSkills - SRC Files/src/player/skills/TakeAmmo.cs @@ -167,7 +167,7 @@ namespace src.player.skills SetMagazines(player, playerMagazines + enemyMagazines); SetMagazines(enemy, 0); - PlayerManager.GetPlayerFromEvent(enemy)?.ExecuteClientCommand($"play sounds/weapons/g3sg1/g3sg1_clipout"); + player.PlayerPawn?.Value?.EmitSound("BaseCombatCharacter.AmmoPickup", volume: SkillsInfo.GetValue(skillName, "soundVolume")); var enemyEvent = PlayerManager.GetPlayerFromEvent(enemy); if (enemyEvent == null || !enemyEvent.IsValid) return; @@ -299,8 +299,9 @@ namespace src.player.skills public required int Reserve { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#5eb8b0", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#5eb8b0", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float cooldown = 30f, float soundVolume = 1f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float Cooldown { get; set; } = cooldown; } } diff --git a/jRandomSkills - SRC Files/src/player/skills/Thorns.cs b/jRandomSkills - SRC Files/src/player/skills/Thorns.cs index 150e41e..22c5063 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Thorns.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Thorns.cs @@ -40,12 +40,13 @@ namespace src.player.skills damage = Math.Min(damage, SkillsInfo.GetValue(skillName, "maxTakenDamagePerShot")); SkillUtils.TakeHealth(attackerEvent.PlayerPawn.Value, damage, victimEvent, KillfeedIcons.Armor); - attackerEvent.EmitSound("Player.DamageBody.Onlooker"); + SkillUtils.EmitSoundToPlayer(attackerEvent, "Player.DamageBody.Victim", SkillsInfo.GetValue(skillName, "soundVolume")); } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#962631", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float healthTakenScale = .3f, int maxTakenDamagePerShot = 37) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#962631", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, float healthTakenScale = .3f, int maxTakenDamagePerShot = 37, float soundVolume = .35f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float HealthTakenScale { get; set; } = healthTakenScale; public int MaxTakenDamagePerShot { get; set; } = maxTakenDamagePerShot; } diff --git a/jRandomSkills - SRC Files/src/player/skills/ToxicSmoke.cs b/jRandomSkills - SRC Files/src/player/skills/ToxicSmoke.cs index 57a2320..c1d4c1e 100644 --- a/jRandomSkills - SRC Files/src/player/skills/ToxicSmoke.cs +++ b/jRandomSkills - SRC Files/src/player/skills/ToxicSmoke.cs @@ -105,7 +105,7 @@ namespace src.player.skills } if (SkillUtils.TakeHealth(pawn, damage, thrower, KillfeedIcons.Smokegrenade)) - player.EmitSound("Player.DamageBody.Onlooker"); + SkillUtils.EmitSoundToPlayer(eventPlayer, "Player.DamageBody.Victim", SkillsInfo.GetValue(skillName, "soundVolume")); } } } @@ -170,8 +170,9 @@ namespace src.player.skills SkillUtils.UpdateGrenadeCount(player, CsItem.SmokeGrenade, 1); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#507529", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int smokeDamage = 2, float smokeRadius = 180, int tickCooldown = 17, int grenadeLimit = 1, float dmgReductionForTeamates = 0.5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#507529", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, int smokeDamage = 2, float smokeRadius = 180, int tickCooldown = 17, int grenadeLimit = 1, float dmgReductionForTeamates = 0.5f, float soundVolume = .3f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int SmokeDamage { get; set; } = smokeDamage; public float SmokeRadius { get; set; } = smokeRadius; public int TickCooldown { get; set; } = tickCooldown; diff --git a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs index c901253..7fc5f34 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs @@ -12,6 +12,7 @@ namespace src.player.skills public class Tripwire : ISkill { private const Skills skillName = Skills.Tripwire; + private const string triggerSound = "Weapon_Taser.ChargeReady"; private static readonly ConcurrentDictionary wires = []; private static readonly ConcurrentDictionary SkillPlayerInfo = []; @@ -267,7 +268,7 @@ namespace src.player.skills var ownerEvent = PlayerManager.GetPlayerFromEvent(owner); if (ownerEvent != null && ownerEvent.IsValid) { - ownerEvent.ExecuteClientCommand("play sounds/weapons/taser/taser_charge_ready"); + SkillUtils.EmitSoundToPlayer(ownerEvent, triggerSound, SkillsInfo.GetValue(skillName, "soundVolume")); ownerEvent.PrintToChat($" {ChatColors.Red}" + ownerEvent.GetTranslation("tripwire_triggered_info", enemyEvent.PlayerName)); } } @@ -314,8 +315,9 @@ namespace src.player.skills public DateTime LastAttempt { get; set; } } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ff3b3b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, float radarDuration = 5f, float triggerRadius = 24f, float wireHeight = 30f, float wireWidth = 0.7f, float maxWallDistance = 400f, float cooldown = 20f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ff3b3b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Rare, float radarDuration = 5f, float triggerRadius = 24f, float wireHeight = 30f, float wireWidth = 0.7f, float maxWallDistance = 400f, float cooldown = 20f, float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public float RadarDuration { get; set; } = radarDuration; public float TriggerRadius { get; set; } = triggerRadius; public float WireHeight { get; set; } = wireHeight; diff --git a/jRandomSkills - SRC Files/src/player/skills/TrueArmor.cs b/jRandomSkills - SRC Files/src/player/skills/TrueArmor.cs new file mode 100644 index 0000000..6219996 --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/TrueArmor.cs @@ -0,0 +1,116 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Memory.DynamicFunctions; +using CounterStrikeSharp.API.Modules.Utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class TrueArmor : ISkill + { + private const Skills skillName = Skills.TrueArmor; + + private static readonly ConcurrentDictionary holders = []; + private static readonly ConcurrentDictionary pending = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + pending.Clear(); + } + + public static void EnableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + holders[player.Index] = 0; + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null) return; + holders.TryRemove(player.Index, out _); + pending.TryRemove(player.Index, out _); + } + + public static void PlayerDisconnect(uint playerIndex) + { + holders.TryRemove(playerIndex, out _); + pending.TryRemove(playerIndex, out _); + } + + public static void OnTakeDamage(DynamicHook h) + { + if (holders.IsEmpty) return; + + if (!TryResolveVictim(h, out var victim, out var victimPawn, out var info)) return; + if (!holders.ContainsKey(victim!.Index)) return; + + int armor = victimPawn!.ArmorValue; + if (armor <= 0) return; + + float damage = info!.Damage; + if (damage <= 0) return; + + float ratio = SkillsInfo.GetValue(skillName, "armorShare"); + float absorbed = MathF.Min(damage * ratio, armor); + if (absorbed <= 0) return; + + info.Damage = damage - absorbed; + + pending[victim.Index] = (int)MathF.Round(armor - absorbed); + victimPawn.ArmorValue = 0; + + Utilities.SetStateChanged(victimPawn, "CCSPlayerPawn", "m_ArmorValue"); + + Debug.WriteToDebug($"[TrueArmor] {victim.PlayerName}: raw={damage:0.#} absorbed={absorbed:0.#} " + + $"passed={info.Damage:0.#} armor={armor}->{pending[victim.Index]} hp={victimPawn.Health}"); + } + + public static void OnTakeDamagePost(DynamicHook h) + { + if (pending.IsEmpty) return; + + if (!TryResolveVictim(h, out var victim, out var victimPawn, out _)) return; + if (!pending.TryRemove(victim!.Index, out int restored)) return; + + victimPawn!.ArmorValue = restored; + Utilities.SetStateChanged(victimPawn, "CCSPlayerPawn", "m_ArmorValue"); + } + + private static bool TryResolveVictim(DynamicHook h, out CCSPlayerController? victim, out CCSPlayerPawn? pawn, out CTakeDamageInfo? info) + { + victim = null; + pawn = null; + info = null; + + CEntityInstance param = h.GetParam(0); + CTakeDamageInfo param2 = h.GetParam(1); + if (param == null || !param.IsValid || param2 == null) return false; + + var victimPawn = param.As(); + if (victimPawn == null || !victimPawn.IsValid || victimPawn.DesignerName != "player") return false; + + var controller = victimPawn.Controller.Value; + if (controller == null || !controller.IsValid) return false; + + var resolved = controller.As(); + if (resolved == null || !resolved.IsValid) return false; + + var routed = PlayerManager.GetPlayerEvent(resolved); + victim = routed != null && routed.IsValid ? routed : resolved; + pawn = victimPawn; + info = param2; + return true; + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#9ad3f5", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Uncommon, float armorShare = .33f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float ArmorShare { get; set; } = armorShare; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Voodoo.cs b/jRandomSkills - SRC Files/src/player/skills/Voodoo.cs new file mode 100644 index 0000000..ddaf66c --- /dev/null +++ b/jRandomSkills - SRC Files/src/player/skills/Voodoo.cs @@ -0,0 +1,157 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Utils; +using jRandomSkills.src.utils; +using src.utils; +using System.Collections.Concurrent; + +namespace src.player.skills +{ + public class Voodoo : ISkill + { + private const Skills skillName = Skills.Voodoo; + + private static readonly ConcurrentDictionary ownerToVictim = []; + private static readonly ConcurrentDictionary reflecting = []; + + public static void LoadSkill() + { + SkillUtils.RegisterSkill(skillName, SkillsInfo.GetValue(skillName, "color")); + } + + public static void NewRound() + { + ownerToVictim.Clear(); + reflecting.Clear(); + + foreach (var player in PlayerManager.GetTickPlayers()) + SkillUtils.CloseMenu(player); + } + + public static void PlayerDisconnect(uint playerIndex) + { + ownerToVictim.TryRemove(playerIndex, out _); + reflecting.TryRemove(playerIndex, out _); + + foreach (var kvp in ownerToVictim) + if (kvp.Value == playerIndex) + ownerToVictim.TryRemove(kvp.Key, out _); + } + + public static void EnableSkill(CCSPlayerController player) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null) return; + playerInfo.SkillUsed = false; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + if (enemies.Length > 0) + { + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.CreateMenu(player, menuItems); + } + else + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + } + + public static void DisableSkill(CCSPlayerController player) + { + if (player == null || !player.IsValid) return; + + ownerToVictim.TryRemove(player.Index, out _); + SkillUtils.CloseMenu(player); + } + + public static void OnTick() + { + if (Server.TickCount % 32 != 0) return; + + foreach (var player in PlayerManager.GetTickPlayers()) + { + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo == null || playerInfo.Skill != skillName) continue; + if (!SkillUtils.HasMenu(player)) continue; + + var enemies = SkillUtils.GetSelectableEnemies(player, true); + + ConcurrentBag<(string, string)> menuItems = new(enemies.Select(e => (e.PlayerName, e.Index.ToString()))); + SkillUtils.UpdateMenu(player, menuItems); + } + } + + public static void TypeSkill(CCSPlayerController player, string[] commands) + { + if (player == null || !player.IsValid || player.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + + var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index); + if (playerInfo?.Skill != skillName) return; + + var playerEvent = PlayerManager.GetPlayerFromEvent(player); + if (playerEvent == null || !playerEvent.IsValid) return; + + if (playerInfo.SkillUsed) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("areareaper_used_info")}"); + return; + } + + if (commands.Length == 0 || !uint.TryParse(commands[0], out uint enemyIndex)) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + var enemy = Utilities.GetPlayerFromIndex((int)enemyIndex); + if (enemy == null || !enemy.IsValid) + { + playerEvent.PrintToChat($" {ChatColors.Red}{playerEvent.GetTranslation("selectplayerskill_incorrect_enemy_index")}"); + return; + } + + ownerToVictim[player.Index] = enemy.Index; + playerInfo.SkillUsed = true; + + playerEvent.PrintToChat($" {ChatColors.Green}{playerEvent.GetTranslation("voodoo_player_info", enemy.PlayerName)}"); + } + + public static void PlayerHurt(EventPlayerHurt @event) + { + if (ownerToVictim.IsEmpty) return; + + var owner = PlayerManager.GetPlayerEvent(@event.Userid); + if (owner == null || !owner.IsValid) return; + + if (!ownerToVictim.TryGetValue(owner.Index, out uint victimIndex)) return; + if (@event.DmgHealth <= 0) return; + + if (!reflecting.TryAdd(owner.Index, 0)) return; + + try + { + var victim = Utilities.GetPlayerFromIndex((int)victimIndex); + if (victim == null || !victim.IsValid) return; + + var victimPawn = victim.PlayerPawn?.Value; + if (victimPawn == null || !victimPawn.IsValid || victimPawn.Health <= 0) return; + if (victimPawn.LifeState != (byte)LifeState_t.LIFE_ALIVE) return; + + int reflected = (int)MathF.Round(@event.DmgHealth * SkillsInfo.GetValue(skillName, "reflectPercent")); + if (reflected < 1) return; + + SkillUtils.TakeHealth(victimPawn, reflected, owner, KillfeedIcons.Fist); + } + finally + { + reflecting.TryRemove(owner.Index, out _); + } + } + + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#7b2d8b", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 2, Rarity rarity = Rarity.Rare, float reflectPercent = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + { + public float ReflectPercent { get; set; } = reflectPercent; + } + } +} diff --git a/jRandomSkills - SRC Files/src/player/skills/Watchmaker.cs b/jRandomSkills - SRC Files/src/player/skills/Watchmaker.cs index 38e74d8..4780a02 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Watchmaker.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Watchmaker.cs @@ -50,15 +50,16 @@ namespace src.player.skills else Localization.PrintTranslationToChatAll($" {ChatColors.LightBlue}{{0}}", ["watchmaker_ct"], true, [roundTime]); - player.EmitSound(SkillsInfo.GetValue(skillName, "SoundEvent")); + SkillUtils.EmitSoundToPlayer(player, SkillsInfo.GetValue(skillName, "SoundEvent"), SkillsInfo.GetValue(skillName, "soundVolume")); var proxy = Utilities.FindAllEntitiesByDesignerName("cs_gamerules").FirstOrDefault(); if (proxy == null) return; Utilities.SetStateChanged(proxy, "CCSGameRulesProxy", "m_pGameRules"); } - public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ff462e", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 1, Rarity rarity = Rarity.Common, int changeRoundTime = 7, string soundEvent = "UIPanorama.sidemenu_select") : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) + public class SkillConfig(Skills skill = skillName, bool active = true, string color = "#ff462e", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = 1, Rarity rarity = Rarity.Common, int changeRoundTime = 7, string soundEvent = "UIPanorama.sidemenu_select", float soundVolume = .5f) : SkillsInfo.DefaultSkillInfo(skill, active, color, onlyTeam, disableOnFreezeTime, needsTeammates, requiredPermission, hudDuration, descriptionHudDuration, maxPerServer, rarity) { + public float SoundVolume { get; set; } = soundVolume; public int ChangeRoundTime { get; set; } = changeRoundTime; public string SoundEvent { get; set; } = soundEvent; } diff --git a/jRandomSkills - SRC Files/src/player/skills/WeaponsSwap.cs b/jRandomSkills - SRC Files/src/player/skills/WeaponsSwap.cs index 872f8d1..89466f0 100644 --- a/jRandomSkills - SRC Files/src/player/skills/WeaponsSwap.cs +++ b/jRandomSkills - SRC Files/src/player/skills/WeaponsSwap.cs @@ -13,12 +13,7 @@ namespace src.player.skills private static readonly ConcurrentDictionary SkillPlayerInfo = []; private static readonly object setLock = new(); - private static readonly HashSet weapons = [ "weapon_deagle", "weapon_revolver", "weapon_glock", "weapon_usp_silencer", - "weapon_cz75a", "weapon_fiveseven", "weapon_p250", "weapon_tec9", "weapon_elite", "weapon_hkp2000", - "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", "weapon_ump45", "weapon_p90", "weapon_sg556", - "weapon_mp5sd", "weapon_famas", "weapon_galilar", "weapon_m4a4", "weapon_m4a1_silencer", "weapon_ak47", - "weapon_aug", "weapon_sg556", "weapon_ssg08", "weapon_awp", "weapon_scar20", "weapon_g3sg1", - "weapon_nova", "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", "weapon_negev" ]; + private static HashSet weapons => WeaponPool.All; public static void LoadSkill() { diff --git a/jRandomSkills - SRC Files/src/utils/Config.cs b/jRandomSkills - SRC Files/src/utils/Config.cs index 270e4f5..b523cf5 100644 --- a/jRandomSkills - SRC Files/src/utils/Config.cs +++ b/jRandomSkills - SRC Files/src/utils/Config.cs @@ -33,6 +33,9 @@ namespace src.utils using (var sr = new StreamReader(fs)) json = sr.ReadToEnd(); newConfig = JsonConvert.DeserializeObject(json) ?? new SettingsModel(); + + if (IsSectionMissing(json, nameof(SettingsModel.Weapons))) + SaveConfig(newConfig); } catch { @@ -45,6 +48,18 @@ namespace src.utils } } + private static bool IsSectionMissing(string json, string section) + { + try + { + return Newtonsoft.Json.Linq.JObject.Parse(json)[section] == null; + } + catch + { + return false; + } + } + public static void SaveConfig(SettingsModel config) { lock (fileLock) @@ -92,6 +107,7 @@ namespace src.utils public string DisableHUDOnDeathPermission { get; set; } public bool DisableSkillsOnRoundEnd { get; set; } public int? CurseSkillPerPlayer { get; set; } + public WeaponPools Weapons { get; set; } public LanguageSystem LanguageSystem { get; set; } public HtmlHudCustomisation HtmlHudCustomisation { get; set; } public ChatMessage ChatMessage { get; set; } @@ -124,6 +140,31 @@ namespace src.utils DisableSkillsOnRoundEnd = false; CurseSkillPerPlayer = null; + Weapons = new WeaponPools + { + Rifle = + [ + "weapon_ak47", "weapon_m4a1", "weapon_m4a1_silencer", + "weapon_famas", "weapon_galilar", "weapon_aug", "weapon_sg556", + "weapon_mp9", "weapon_mac10", "weapon_bizon", "weapon_mp7", + "weapon_ump45", "weapon_p90", "weapon_mp5sd", "weapon_ssg08", + "weapon_awp", "weapon_scar20", "weapon_g3sg1", "weapon_nova", + "weapon_xm1014", "weapon_mag7", "weapon_sawedoff", "weapon_m249", + "weapon_negev" + ], + Pistol = + [ + "weapon_deagle", "weapon_revolver", "weapon_glock", "weapon_usp_silencer", + "weapon_cz75a", "weapon_fiveseven", "weapon_p250", "weapon_tec9", + "weapon_elite", "weapon_hkp2000" + ], + Grenade = + [ + "weapon_hegrenade", "weapon_flashbang", "weapon_smokegrenade", + "weapon_molotov", "weapon_incgrenade", "weapon_decoy" + ], + }; + LanguageSystem = new LanguageSystem { DefaultLangCode = "en", @@ -204,6 +245,13 @@ namespace src.utils } } + public class WeaponPools + { + public required List Rifle { get; set; } + public required List Pistol { get; set; } + public required List Grenade { get; set; } + } + public class ChatMessage { public required float MaxWidth { get; set; } diff --git a/jRandomSkills - SRC Files/src/utils/DecoyRing.cs b/jRandomSkills - SRC Files/src/utils/DecoyRing.cs new file mode 100644 index 0000000..5e33782 --- /dev/null +++ b/jRandomSkills - SRC Files/src/utils/DecoyRing.cs @@ -0,0 +1,204 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Entities.Constants; +using CounterStrikeSharp.API.Modules.Timers; +using CounterStrikeSharp.API.Modules.Utils; +using src.player; +using System.Collections.Concurrent; +using System.Drawing; +using System.Globalization; + +namespace src.utils +{ + public static class DecoyRing + { + private const string discModel = "models/dev/grenade_trajectory/grenade_target.vmdl"; + + private const float discBaseRadius = 13.462f; + private const int discAlpha = 178; + + private const int outerSegments = 24; + private const int innerSegments = 18; + private const float ringHeight = 3f; + + private const float maxLifetime = 25f; + + private static readonly ConcurrentDictionary rings = []; + + private sealed class Ring + { + public uint? Disc { get; set; } + public List Beams { get; } = []; + } + + public static void PreloadAssets() + { + jRandomSkills.Instance.AddToManifest(discModel); + } + + public static void Show(Skills skill, uint id, Vector center, float radius) + { + if (radius <= 0) return; + + string key = MakeKey(skill, id); + var ring = new Ring(); + if (!rings.TryAdd(key, ring)) return; + + SpawnDisc(center, radius, ring); + + if (!EntityManager.OverBudget()) + { + Color color = GetSkillColor(skill); + SpawnRing(center, radius, outerSegments, color, ring); + SpawnRing(center, radius * .5f, innerSegments, color, ring); + } + + jRandomSkills.Instance.AddTimer(maxLifetime, () => Hide(skill, id), TimerFlags.STOP_ON_MAPCHANGE); + } + + public static void Hide(Skills skill, uint id) + { + if (!rings.TryRemove(MakeKey(skill, id), out var ring)) return; + Destroy(ring); + } + + public static void ClearAll(Skills skill) + { + string prefix = skill + "|"; + + foreach (var key in rings.Keys) + { + if (!key.StartsWith(prefix, StringComparison.Ordinal)) continue; + if (!rings.TryRemove(key, out var ring)) continue; + + Destroy(ring); + } + } + + private static void Destroy(Ring ring) + { + foreach (uint beamIndex in ring.Beams) + EntityManager.DestroyBeam(beamIndex); + + ring.Beams.Clear(); + + if (ring.Disc == null) return; + + uint discIndex = ring.Disc.Value; + ring.Disc = null; + + EntityManager.DestroyEntity(discIndex, 0f); + } + + private static string MakeKey(Skills skill, uint id) + { + return string.Create(CultureInfo.InvariantCulture, $"{skill}|{id}"); + } + + private static Color GetSkillColor(Skills skill) + { + try + { + string hex = SkillsInfo.GetValue(skill, "color"); + if (!string.IsNullOrEmpty(hex)) + return ColorTranslator.FromHtml(hex); + } + catch { } + + return Color.White; + } + + private static void SpawnDisc(Vector center, float radius, Ring ring) + { + var disc = EntityManager.CreateTrackedPropOverride(EntityManager.SystemOwnerIndex); + if (disc == null || !disc.IsValid) return; + + uint discIndex = disc.Index; + ring.Disc = discIndex; + + float scale = radius / discBaseRadius; + Vector pos = new(center.X, center.Y, center.Z + 1f); + + Server.NextFrame(() => + { + var prop = Utilities.GetEntityFromIndex((int)discIndex); + if (prop == null || !prop.IsValid) return; + + var node = prop.CBodyComponent?.SceneNode?.Owner?.Entity; + if (node != null) + node.Flags = (uint)(node.Flags & ~(1 << 2)); + + MakeNonSolid(prop); + + prop.SetModel(discModel); + prop.Teleport(pos, new QAngle(0, 0, 0)); + prop.DispatchSpawn(); + + prop.Render = Color.FromArgb(discAlpha, 255, 255, 255); + Utilities.SetStateChanged(prop, "CBaseModelEntity", "m_clrRender"); + + var skeleton = prop.CBodyComponent?.SceneNode?.GetSkeletonInstance(); + if (skeleton != null) + { + skeleton.Scale = scale; + prop.AcceptInput("SetScale", null, null, scale.ToString(CultureInfo.InvariantCulture)); + } + + Utilities.SetStateChanged(prop, "CBaseEntity", "m_CBodyComponent"); + }); + } + + private static void MakeNonSolid(CDynamicProp prop) + { + var collision = prop.Collision; + if (collision == null) return; + + collision.SolidType = SolidType_t.SOLID_NONE; + collision.SolidFlags = 12; + + var attribute = collision.CollisionAttribute; + if (attribute == null) return; + + attribute.CollisionGroup = (byte)CollisionGroup.COLLISION_GROUP_NEVER; + attribute.CollisionFunctionMask = 0; + attribute.InteractsAs = 0; + attribute.InteractsWith = 0; + attribute.InteractsExclude = 0; + } + + private static void SpawnRing(Vector center, float radius, int segments, Color color, Ring ring) + { + if (segments < 3 || radius <= 0) return; + + float step = MathF.Tau / segments; + Vector previous = PointOn(center, radius, 0); + + for (int i = 1; i <= segments; i++) + { + Vector next = PointOn(center, radius, step * i); + + var beam = EntityManager.CreateTrackedBeam(EntityManager.SystemOwnerIndex, previous, next, color); + if (beam != null && beam.IsValid) + { + beam.Width = 1.2f; + beam.EndWidth = 1.2f; + + Utilities.SetStateChanged(beam, "CBeam", "m_fWidth"); + Utilities.SetStateChanged(beam, "CBeam", "m_fEndWidth"); + + ring.Beams.Add(beam.Index); + } + + previous = next; + } + } + + private static Vector PointOn(Vector center, float radius, float angle) + { + return new Vector( + center.X + MathF.Cos(angle) * radius, + center.Y + MathF.Sin(angle) * radius, + center.Z + ringHeight); + } + } +} diff --git a/jRandomSkills - SRC Files/src/utils/EntityManager.cs b/jRandomSkills - SRC Files/src/utils/EntityManager.cs index b965cd5..463ed5a 100644 --- a/jRandomSkills - SRC Files/src/utils/EntityManager.cs +++ b/jRandomSkills - SRC Files/src/utils/EntityManager.cs @@ -273,6 +273,40 @@ namespace src.utils return false; } + public static bool DestroyBeam(uint entityIndex) + { + try + { + var beam = Utilities.GetEntityFromIndex((int)entityIndex); + if (beam != null && beam.IsValid) + { + beam.Width = 0; + beam.EndWidth = 0; + beam.Render = Color.FromArgb(0, 0, 0, 0); + + Utilities.SetStateChanged(beam, "CBeam", "m_fWidth"); + Utilities.SetStateChanged(beam, "CBeam", "m_fEndWidth"); + Utilities.SetStateChanged(beam, "CBaseModelEntity", "m_clrRender"); + } + } + catch (Exception ex) + { + Server.PrintToConsole($"[EntityManager] DestroyBeam {entityIndex}: {ex.Message}"); + } + + bool killed = DestroyEntity(entityIndex); + + if (!SuppressKills) + Server.NextFrame(() => + { + var leftover = Utilities.GetEntityFromIndex((int)entityIndex); + if (leftover != null && leftover.IsValid) + leftover.Remove(); + }); + + return killed; + } + public static bool DestroyEntity(uint? entityIndex) where T : CBaseEntity { if (entityIndex == null) return false; diff --git a/jRandomSkills - SRC Files/src/utils/KillfeedIcons.cs b/jRandomSkills - SRC Files/src/utils/KillfeedIcons.cs index 4292c0c..fb04dbb 100644 --- a/jRandomSkills - SRC Files/src/utils/KillfeedIcons.cs +++ b/jRandomSkills - SRC Files/src/utils/KillfeedIcons.cs @@ -281,7 +281,7 @@ namespace jRandomSkills.src.utils "weapon_sg556" => KillfeedIcons.Sg556, "weapon_famas" => KillfeedIcons.Famas, "weapon_galilar" => KillfeedIcons.Galilar, - "weapon_m4a4" => KillfeedIcons.M4A4, + "weapon_m4a1" => KillfeedIcons.M4A4, "weapon_m4a1_silencer" => KillfeedIcons.M4A1, "weapon_ak47" => KillfeedIcons.Ak47, "weapon_aug" => KillfeedIcons.Aug, diff --git a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs index f2c2517..295acc6 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs @@ -40,7 +40,7 @@ namespace src.utils LazySig>("SnapViewAngles", s => new(s)); // private static readonly int collisionRulesChangedOffset = GameData.GetOffset("CBaseEntity_CollisionRulesChanged"); - public static void PrintToChat(CCSPlayerController player, string? msg, string border = "tb", string? title = null) + public static void PrintToChat(CCSPlayerController player, string? msg, string border = "tb", string? title = null, bool ignoreIlliterate = false) { if (!player.IsValid) return; @@ -49,7 +49,7 @@ namespace src.utils char symbol = config.LineSymbol; if (string.IsNullOrEmpty(title)) title = player.GetTranslation("jRandomSkills"); - if (Illiterate.CheckIlliterateSkill(player)) + if (!ignoreIlliterate && Illiterate.CheckIlliterateSkill(player)) msg = Illiterate.GetRandomText(msg); if (border.Contains('t') && config.LineShow) @@ -60,11 +60,39 @@ namespace src.utils player.PrintToChat($" {MeansureString.GetTextDashed("", maxWidth, symbol, config.LineColor)}"); } + public static void EmitSoundToPlayer(CCSPlayerController? listener, string soundEvent, float volume) + { + var target = PlayerManager.GetPlayerFromEvent(listener); + if (target == null || !target.IsValid) return; + + target.EmitSound(soundEvent, new RecipientFilter(target), volume); + } + public static bool IsFreezeTime() { return jRandomSkills.Instance?.GameRules?.FreezePeriod == true; } + public static bool IsPistolRound() + { + var gameRules = jRandomSkills.Instance?.GameRules; + if (gameRules == null) return false; + + if (gameRules.TotalRoundsPlayed == 0 || gameRules.GameRestart) return true; + + try + { + if (ConVar.Find("mp_halftime")?.GetPrimitiveValue() != true) return false; + + int maxRounds = ConVar.Find("mp_maxrounds")?.GetPrimitiveValue() ?? 0; + return maxRounds > 0 && maxRounds / 2 == gameRules.TotalRoundsPlayed; + } + catch + { + return false; + } + } + public static bool IsHudFrame() => Server.TickCount % 4 == 0; public static void RegisterSkill(Skills skill, string color, bool display = true) @@ -396,7 +424,8 @@ namespace src.utils Skills.Deaf, Skills.ExpensiveAmmo, Skills.Giant, Skills.Glitch, Skills.Jammer, Skills.JumpBan, Skills.JumpCurse, Skills.LifeSwap, Skills.Magnifier, Skills.MoneySwap, Skills.Nightmare, Skills.Poison, - Skills.JetKick, Skills.PrimaryBan, Skills.Thief, Skills.WildThrow + Skills.JetKick, Skills.PrimaryBan, Skills.Thief, Skills.WildThrow, + Skills.Voodoo, Skills.Nemesis, Skills.Bounty ]; private static readonly HashSet curseSkillNames = new(curseSkills.Select(s => s.ToString()), StringComparer.Ordinal); @@ -490,6 +519,73 @@ namespace src.utils else curseCounts[victimIndex] = used - 1; } + private const uint crosshairBit = 1u << 8; + + private static readonly object hudSuppressionLock = new(); + private static readonly Dictionary> crosshairOwners = []; + private static readonly Dictionary> radarOwners = []; + + public static void SetCrosshairHidden(CCSPlayerController? player, string owner, bool hide) + { + if (player == null || !player.IsValid) return; + + var pawn = player.PlayerPawn?.Value; + if (pawn == null || !pawn.IsValid) return; + + if (!TryUpdateOwners(crosshairOwners, player.Index, owner, hide, out bool suppressed)) return; + + if (suppressed) pawn.HideHUD |= crosshairBit; + else pawn.HideHUD &= ~crosshairBit; + + Utilities.SetStateChanged(pawn, "CBasePlayerPawn", "m_iHideHUD"); + } + + public static void SetRadarDisabled(CCSPlayerController? player, string owner, bool disable) + { + if (player == null || !player.IsValid) return; + if (!TryUpdateOwners(radarOwners, player.Index, owner, disable, out bool suppressed)) return; + + player.ReplicateConVar("sv_disable_radar", suppressed ? "1" : "0"); + } + + public static void ClearHudSuppression(uint playerIndex) + { + lock (hudSuppressionLock) + { + crosshairOwners.Remove(playerIndex); + radarOwners.Remove(playerIndex); + } + } + + public static void ClearAllHudSuppression() + { + lock (hudSuppressionLock) + { + crosshairOwners.Clear(); + radarOwners.Clear(); + } + } + + private static bool TryUpdateOwners(Dictionary> registry, uint playerIndex, string owner, bool claim, out bool suppressed) + { + lock (hudSuppressionLock) + { + if (!registry.TryGetValue(playerIndex, out var owners)) + { + owners = []; + registry[playerIndex] = owners; + } + + bool before = owners.Count > 0; + bool changed = claim ? owners.Add(owner) : owners.Remove(owner); + + suppressed = owners.Count > 0; + if (!suppressed) registry.Remove(playerIndex); + + return changed && before != suppressed; + } + } + public static CCSPlayerController[] GetSelectableEnemies(CCSPlayerController player, bool respectCurseLimit = false) { if (player == null || !player.IsValid) return []; @@ -575,6 +671,26 @@ namespace src.utils return true; } + public readonly record struct HiddenPawn(uint Index, CsTeam Team, CCSPlayerPawn Pawn, bool HoldsBomb); + + public static List ResolveHiddenPawns(ICollection playerIndexes, uint? bombOwnerIndex) + { + List hidden = new(playerIndexes.Count); + + foreach (var playerIndex in playerIndexes) + { + var controller = PlayerManager.GetPlayerEvent(Utilities.GetPlayerFromIndex((int)playerIndex)); + if (controller == null || !controller.IsValid) continue; + + var pawn = controller.PlayerPawn.Value; + if (pawn == null || !pawn.IsValid) continue; + + hidden.Add(new HiddenPawn(controller.Index, controller.Team, pawn, bombOwnerIndex == controller.Index)); + } + + return hidden; + } + public static void HideCarriedEntities(CCheckTransmitInfo info, CCSPlayerPawn? pawn) { if (pawn == null || !pawn.IsValid) return; diff --git a/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs b/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs index 63deed9..9dc501c 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillsInfo.cs @@ -21,6 +21,7 @@ namespace src.utils private static SkillsInfoModel? _indexedConfig; private static ConcurrentDictionary _byName = new(); private static readonly ConcurrentDictionary<(Type Type, string Key), MemberInfo?> _memberCache = new(); + private static readonly ConcurrentDictionary<(DefaultSkillInfo Config, string Key, Type Target), object?> _valueCache = new(); public static SkillsInfoModel LoadSkillsInfo() { @@ -92,6 +93,12 @@ namespace src.utils if (!_byName.TryGetValue(skill.ToString()!, out var skillConfig) || skillConfig == null) return default!; + object? cached = _valueCache.GetOrAdd((skillConfig, key, typeof(T)), k => Resolve(k.Config, k.Key, k.Target)); + return cached == null ? default! : (T)cached; + } + + private static object? Resolve(DefaultSkillInfo skillConfig, string key, Type targetType) + { var member = _memberCache.GetOrAdd((skillConfig.GetType(), key), k => { MemberInfo? m = k.Type.GetProperty(k.Key, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); @@ -106,11 +113,10 @@ namespace src.utils _ => null }; - if (value == null) return default!; + if (value == null) return null; - Type targetType = typeof(T); Type? underlyingType = Nullable.GetUnderlyingType(targetType); - return (T)Convert.ChangeType(value, underlyingType ?? targetType); + return Convert.ChangeType(value, underlyingType ?? targetType); } private static void EnsureIndex() @@ -124,6 +130,7 @@ namespace src.utils _byName = dict; _indexedConfig = config; _memberCache.Clear(); + _valueCache.Clear(); } public class SkillsInfoModel : ConcurrentBag @@ -147,10 +154,11 @@ namespace src.utils } } - public class DefaultSkillInfo(Skills skill, bool active = true, string color = "#ffffff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common) + public class DefaultSkillInfo(Skills skill, bool active = true, string color = "#ffffff", CsTeam onlyTeam = CsTeam.None, bool disableOnFreezeTime = false, bool needsTeammates = false, string requiredPermission = "", float? hudDuration = null, float? descriptionHudDuration = null, int maxPerServer = -1, Rarity rarity = Rarity.Common, bool disableOnPistolRound = false) { public bool NeedsTeammates { get; set; } = needsTeammates; public bool DisableOnFreezeTime { get; set; } = disableOnFreezeTime; + public bool DisableOnPistolRound { get; set; } = disableOnPistolRound; public int OnlyTeam { get; set; } = (int)onlyTeam; public string Color { get; set; } = color; public bool Active { get; set; } = active; diff --git a/jRandomSkills - SRC Files/src/utils/WeaponPool.cs b/jRandomSkills - SRC Files/src/utils/WeaponPool.cs new file mode 100644 index 0000000..95301a8 --- /dev/null +++ b/jRandomSkills - SRC Files/src/utils/WeaponPool.cs @@ -0,0 +1,84 @@ +namespace src.utils +{ + public static class WeaponPool + { + private static readonly object buildLock = new(); + private static bool built; + + private static HashSet rifles = new(StringComparer.Ordinal); + private static HashSet pistols = new(StringComparer.Ordinal); + private static HashSet grenades = new(StringComparer.Ordinal); + private static HashSet all = new(StringComparer.Ordinal); + + private static string[] rifleArray = []; + private static string[] pistolArray = []; + private static string[] grenadeArray = []; + private static string[] allArray = []; + + public static HashSet Rifles { get { Build(); return rifles; } } + public static HashSet Pistols { get { Build(); return pistols; } } + public static HashSet Grenades { get { Build(); return grenades; } } + public static HashSet All { get { Build(); return all; } } + + public static string[] RifleList { get { Build(); return rifleArray; } } + public static string[] PistolList { get { Build(); return pistolArray; } } + public static string[] GrenadeList { get { Build(); return grenadeArray; } } + public static string[] AllList { get { Build(); return allArray; } } + + public static bool IsRifle(string? weapon) => weapon != null && Rifles.Contains(Normalize(weapon)); + public static bool IsPistol(string? weapon) => weapon != null && Pistols.Contains(Normalize(weapon)); + public static bool IsGrenade(string? weapon) => weapon != null && Grenades.Contains(Normalize(weapon)); + public static bool IsWeapon(string? weapon) => weapon != null && All.Contains(Normalize(weapon)); + + public static string Normalize(string weapon) + { + if (string.IsNullOrEmpty(weapon)) return string.Empty; + return weapon.StartsWith("weapon_", StringComparison.Ordinal) ? weapon : "weapon_" + weapon; + } + + public static void Invalidate() + { + lock (buildLock) built = false; + } + + private static void Build() + { + if (built) return; + + lock (buildLock) + { + if (built) return; + + var pools = Config.LoadedConfig?.Weapons; + + rifles = Collect(pools?.Rifle); + pistols = Collect(pools?.Pistol); + grenades = Collect(pools?.Grenade); + + all = new HashSet(rifles, StringComparer.Ordinal); + all.UnionWith(pistols); + + rifleArray = [.. rifles]; + pistolArray = [.. pistols]; + grenadeArray = [.. grenades]; + allArray = [.. all]; + + built = true; + } + } + + private static HashSet Collect(List? source) + { + var set = new HashSet(StringComparer.Ordinal); + if (source == null) return set; + + foreach (var entry in source) + { + if (string.IsNullOrWhiteSpace(entry)) continue; + set.Add(Normalize(entry.Trim())); + } + + return set; + } + } +} diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll index 48f49b66f967d36b4fc1defc71e15f1561a9eaf4..8e95270d84c84bb7b05f38f24d9c3f1dc4754e48 100644 GIT binary patch delta 242 zcmZo@U~Fh$oY29dD;U(Zv1f&Wz_G;^ZyG;XIZo@Su-EsoU$WW7@F0tZnW1U2scDi? zN}{2mk#V9yib;yGVX~RAp?RvQaiW=Fa$=fcvZ+zxWL>lUEbrT2eVY8iEI{ z{230@t^`=Rh~CX%WME)$o*ZgktN@iUxCWI0X-WHc^V#%07wlHIz2)Eh!kmZI-;BYK z!IU8xh)o%i7>pQF7!rXZhCr4vkYxbmn*gyfP$Zeb3{0Cdqyp7~WI=k9fpi*}HU;WQ K-0W<-mk9viC`LQ&JL>49v}vERxcUEz&H3@)ib@b5`owP$Tk47jDRx6K)xwZCIu{Gz+lc`23C;-)L{%%nZ{rV)o;OI Ku-VymFB1S-QcoHH diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/configs/config.json b/jRandomSkills - Server Files/plugins/jRandomSkills/configs/config.json index bb77ff6..75e957a 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/configs/config.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/configs/config.json @@ -22,6 +22,54 @@ "DisableHUDOnDeathPermission": "@jRandomSkills/death", "DisableSkillsOnRoundEnd": false, "CurseSkillPerPlayer": null, + "Weapons": { + "Rifle": [ + "weapon_ak47", + "weapon_m4a1", + "weapon_m4a1_silencer", + "weapon_famas", + "weapon_galilar", + "weapon_aug", + "weapon_sg556", + "weapon_mp9", + "weapon_mac10", + "weapon_bizon", + "weapon_mp7", + "weapon_ump45", + "weapon_p90", + "weapon_mp5sd", + "weapon_ssg08", + "weapon_awp", + "weapon_scar20", + "weapon_g3sg1", + "weapon_nova", + "weapon_xm1014", + "weapon_mag7", + "weapon_sawedoff", + "weapon_m249", + "weapon_negev" + ], + "Pistol": [ + "weapon_deagle", + "weapon_revolver", + "weapon_glock", + "weapon_usp_silencer", + "weapon_cz75a", + "weapon_fiveseven", + "weapon_p250", + "weapon_tec9", + "weapon_elite", + "weapon_hkp2000" + ], + "Grenade": [ + "weapon_hegrenade", + "weapon_flashbang", + "weapon_smokegrenade", + "weapon_molotov", + "weapon_incgrenade", + "weapon_decoy" + ] + }, "LanguageSystem": { "DefaultLangCode": "en", "DisableGeoLite": false, diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/configs/skillsInfo.json b/jRandomSkills - Server Files/plugins/jRandomSkills/configs/skillsInfo.json index 55054e5..d85cf3c 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/configs/skillsInfo.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/configs/skillsInfo.json @@ -2,6 +2,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#fbff00", "Active": true, @@ -15,6 +16,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#384728", "Active": true, @@ -29,6 +31,7 @@ "GrenadeLimit": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8f6dc9", "Active": true, @@ -43,6 +46,7 @@ "Cooldown": 30.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#c7e03a", "Active": true, @@ -54,10 +58,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.5, "ChangeRoundTime": 7, "SoundEvent": "UIPanorama.sidemenu_select", "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff462e", "Active": true, @@ -71,6 +77,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5d00ff", "Active": true, @@ -82,6 +89,37 @@ "Rarity": "Epic" }, { + "ReflectPercent": 0.5, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#7b2d8b", + "Active": true, + "Name": "Voodoo", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": 2, + "Rarity": "Rare" + }, + { + "ArmorShare": 0.33, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#9ad3f5", + "Active": true, + "Name": "TrueArmor", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Uncommon" + }, + { + "SoundVolume": 0.5, "RadarDuration": 5.0, "TriggerRadius": 24.0, "WireHeight": 30.0, @@ -90,6 +128,7 @@ "Cooldown": 20.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff3b3b", "Active": true, @@ -101,6 +140,7 @@ "Rarity": "Rare" }, { + "SoundVolume": 0.3, "SmokeDamage": 2, "SmokeRadius": 180.0, "TickCooldown": 17, @@ -108,6 +148,7 @@ "DmgReductionForTeamates": 0.5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#507529", "Active": true, @@ -123,6 +164,7 @@ "Damage": 9999, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8f108f", "Active": true, @@ -134,10 +176,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.35, "HealthTakenScale": 0.3, "MaxTakenDamagePerShot": 37, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#962631", "Active": true, @@ -152,6 +196,7 @@ "Distance": 100.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1b04cc", "Active": true, @@ -165,6 +210,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#adaec7", "Active": true, @@ -180,6 +226,7 @@ "ChanceTo": 0.6, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8A2BE2", "Active": true, @@ -196,6 +243,7 @@ "TeleportDistance": 100.0, "NeedsTeammates": true, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#bcf542", "Active": true, @@ -207,9 +255,11 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 30.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5eb8b0", "Active": true, @@ -225,6 +275,7 @@ "CooldownBeforeUse": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1466F5", "Active": true, @@ -240,6 +291,7 @@ "UseCooldown": 0.5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#42f5da", "Active": true, @@ -251,9 +303,11 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#e3ed8c", "Active": true, @@ -269,6 +323,7 @@ "ChanceTo": 1.35, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#09ba00", "Active": true, @@ -282,6 +337,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#e0873a", "Active": true, @@ -296,6 +352,7 @@ "GrenadeLimit": 1, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#b5ab8f", "Active": true, @@ -309,6 +366,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#333333", "Active": true, @@ -323,6 +381,7 @@ "DetonationTime": 20, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 2, "Color": "#f5b74c", "Active": true, @@ -339,6 +398,7 @@ "ChanceTo": 0.45, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#4d4d4d", "Active": true, @@ -353,6 +413,7 @@ "StartHealth": 50, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d41c1c", "Active": true, @@ -366,6 +427,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8A2BE2", "Active": true, @@ -381,6 +443,7 @@ "SlownessModifier": 0.2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8B4513", "Active": true, @@ -395,6 +458,7 @@ "MoneyMultiplier": 35, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#119125", "Active": true, @@ -406,6 +470,7 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Bounces": 3, "SegmentDistance": 1200.0, "DamageMultiplier": 0.5, @@ -421,6 +486,7 @@ "NormalProbeOffset": 6.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffd75e", "Active": true, @@ -436,6 +502,7 @@ "MaxMoney": 15000, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#D4AF37", "Active": true, @@ -454,6 +521,7 @@ "A": 60, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff5C0A", "Active": true, @@ -464,9 +532,27 @@ "MaxPerServer": -1, "Rarity": "Common" }, + { + "SoundVolume": 0.5, + "ReturnDelay": 4.0, + "Cooldown": 30.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#4fc3f7", + "Active": true, + "Name": "Rewind", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Uncommon" + }, { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a68132", "Active": true, @@ -481,6 +567,7 @@ "Cooldown": 15.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a86eff", "Active": true, @@ -492,11 +579,13 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 15.0, "YourTeamDamage": 10, "EnemyTeamDamage": 20, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a3000b", "Active": true, @@ -512,6 +601,7 @@ "Cooldown": 0.25, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff462e", "Active": true, @@ -526,6 +616,7 @@ "Cooldown": 15.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#3cded3", "Active": true, @@ -538,8 +629,11 @@ }, { "Cooldown": 15.0, + "PistolChance": 60.0, + "RifleChance": 40.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#e0873a", "Active": true, @@ -555,6 +649,7 @@ "MaxExtraHealth": 501, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#009905", "Active": true, @@ -568,6 +663,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#2effcb", "Active": true, @@ -581,6 +677,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8a42f5", "Active": true, @@ -596,6 +693,7 @@ "GrenadeLimit": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#3c47de", "Active": true, @@ -613,6 +711,7 @@ "PushVelocity": 400.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1e9ab0", "Active": true, @@ -624,10 +723,28 @@ "Rarity": "Common" }, { + "StorePercent": 0.5, + "MaxStored": 100.0, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#ffb347", + "Active": true, + "Name": "Punisher", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Common" + }, + { + "SoundVolume": 1.0, "MaxDefusingRange": 80.0, "DefusingTime": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 3, "Color": "#507529", "Active": true, @@ -641,6 +758,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#9c9c9c", "Active": true, @@ -654,6 +772,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffc061", "Active": true, @@ -665,11 +784,13 @@ "Rarity": "Common" }, { + "SoundVolume": 0.3, "Damage": 1, "Cooldown": 0.85, "MinHealth": 30, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#902eff", "Active": true, @@ -684,6 +805,7 @@ "ExtraC4BlowTime": 60, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 2, "Color": "#7d7d7d", "Active": true, @@ -695,11 +817,14 @@ "Rarity": "Common" }, { + "ParticleName": "particles/inferno_fx/incgrenade_thrown_trail.vpcf", + "ParticleOffset": 0.0, "MaximumFuel": 150.0, "FuelConsumption": 0.64, "Refuelling": 0.1, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1466F5", "Active": true, @@ -715,6 +840,7 @@ "ChanceTo": 0.4, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff5C0A", "Active": true, @@ -726,10 +852,12 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "ExtraJumpsMin": 1, "ExtraJumpsMax": 4, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FFA500", "Active": true, @@ -743,6 +871,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#3c47de", "Active": true, @@ -756,6 +885,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff5CD9", "Active": true, @@ -769,6 +899,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8a42f5", "Active": true, @@ -782,6 +913,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FFFFFF", "Active": true, @@ -795,6 +927,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a38c1a", "Active": true, @@ -811,6 +944,7 @@ "Duration": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#44ebd4", "Active": true, @@ -827,6 +961,7 @@ "KnifePercentInvisibility": 0.3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#dedede", "Active": true, @@ -838,12 +973,14 @@ "Rarity": "Common" }, { + "SoundVolume": 0.5, "PostProcessing": "lighting/postprocessing/effects/death_cam_phase1_low_violence.vpost", "FadeTime": 0.25, "MinExposure": 0.5, "MaxExposure": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5b2c6f", "Active": true, @@ -855,8 +992,24 @@ "Rarity": "Rare" }, { + "ExtraDamagePercent": 0.25, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#b8003a", + "Active": true, + "Name": "Nemesis", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": 2, + "Rarity": "Rare" + }, + { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#52f54c", "Active": true, @@ -868,10 +1021,12 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "DetonationRange": 130.0, "GrenadeLimit": 3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#adf542", "Active": true, @@ -883,11 +1038,13 @@ "Rarity": "Common" }, { + "SoundVolume": 0.5, "HealthToAdd": 50, "HealthShotLimit": 3, "Cooldown": 1.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#10c212", "Active": true, @@ -902,6 +1059,7 @@ "CustomFOV": 50, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#9ba882", "Active": true, @@ -916,6 +1074,7 @@ "Radius": 100.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#f081ec", "Active": true, @@ -932,6 +1091,7 @@ "GrenadeLimit": 3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#81f0c4", "Active": true, @@ -947,6 +1107,7 @@ "FriendlyFire": false, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#6effc7", "Active": true, @@ -958,10 +1119,13 @@ "Rarity": "Uncommon" }, { + "SoundVolume": 0.35, + "HitSoundVolume": 0.35, "MaxDistance": 4096.0, "FriendlyFire": true, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#c9f8ff", "Active": true, @@ -975,6 +1139,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a3651a", "Active": true, @@ -986,10 +1151,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.35, "DamageAfterDeath": 30, "CanKill": true, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#88bdba", "Active": true, @@ -1005,6 +1172,7 @@ "MaxSpeed": 1200.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff8c42", "Active": true, @@ -1021,6 +1189,7 @@ "GrenadeLimit": 1, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#57bcff", "Active": true, @@ -1035,6 +1204,7 @@ "HealthToAdd": 3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a86eff", "Active": true, @@ -1049,6 +1219,7 @@ "JumpVelocity": 301.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#7ad1c4", "Active": true, @@ -1062,6 +1233,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#b01e5d", "Active": true, @@ -1076,6 +1248,7 @@ "PushVelocity": 400.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5a4fd1", "Active": true, @@ -1087,10 +1260,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.5, "MinTime": 10.0, "MaxTime": 25.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8f108f", "Active": true, @@ -1104,6 +1279,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#42f5a7", "Active": true, @@ -1118,6 +1294,7 @@ "ParticleName": "particles/ui/hud/ui_map_def_utility_trail.vpcf", "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#f542ef", "Active": true, @@ -1131,6 +1308,7 @@ { "NeedsTeammates": true, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#c9a227", "Active": true, @@ -1144,6 +1322,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#0000FF", "Active": true, @@ -1157,6 +1336,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#99140B", "Active": true, @@ -1168,6 +1348,7 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 30.0, "DurationRun": 5.0, "DurationCrouch": 12.0, @@ -1175,6 +1356,7 @@ "EnemyTeamDamage": 20, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#42f5ef", "Active": true, @@ -1188,6 +1370,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1466F5", "Active": true, @@ -1199,10 +1382,12 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 30.0, "Duration": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d0d930", "Active": true, @@ -1214,10 +1399,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.35, "Cooldown": 1.0, "Damage": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 3, "Color": "#baf081", "Active": true, @@ -1235,6 +1422,7 @@ "GrenadeLimit": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#384728", "Active": true, @@ -1251,6 +1439,7 @@ "GrenadeLimit": 1, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffdd00", "Active": true, @@ -1266,6 +1455,7 @@ "EffectDuration": 1.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ded678", "Active": true, @@ -1277,12 +1467,28 @@ "Rarity": "Common" }, { + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#8d6e63", + "Active": true, + "Name": "Heavyweight", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Uncommon" + }, + { + "SoundVolume": 0.5, "SmokeHeal": 1, "SmokeRadius": 180.0, "TickCooldown": 16, "GrenadeLimit": 1, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1fe070", "Active": true, @@ -1302,6 +1508,7 @@ "BoostFactor": 2.5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#b5ab8f", "Active": true, @@ -1315,6 +1522,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#4a6e21", "Active": true, @@ -1326,6 +1534,24 @@ "Rarity": "Common" }, { + "TriggerRadius": 180.0, + "GravityScale": 0.5, + "GrenadeLimit": 2, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#a06cd5", + "Active": true, + "Name": "GravityDecoy", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Common" + }, + { + "SoundVolume": 1.0, "Cooldown": 10.0, "MaxDistance": 1500.0, "MinDistance": 150.0, @@ -1333,8 +1559,11 @@ "PullSpeed": 850.0, "MaxPullSeconds": 3.0, "RopeWidth": 0.8, + "HookEmbed": 8.0, + "HookScale": 0.4, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#38e0c4", "Active": true, @@ -1350,6 +1579,7 @@ "Duration": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#e0d83a", "Active": true, @@ -1363,6 +1593,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#fff52e", "Active": true, @@ -1376,6 +1607,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#f542ef", "Active": true, @@ -1390,6 +1622,7 @@ "GrenadeLimit": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5d00ff", "Active": true, @@ -1405,6 +1638,7 @@ "MaxScale": 1.4, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8ad3ff", "Active": true, @@ -1418,6 +1652,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FFFFFF", "Active": true, @@ -1432,6 +1667,7 @@ "RefreshPrice": 150, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#7eff47", "Active": true, @@ -1448,6 +1684,7 @@ "GrenadeLimit": 3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#00eaff", "Active": true, @@ -1462,6 +1699,7 @@ "HealthDamageMultiplier": 0.3, "NeedsTeammates": true, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff0000", "Active": true, @@ -1476,6 +1714,7 @@ "MaxBombHealth": 1000, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 3, "Color": "#5d00ff", "Active": true, @@ -1487,11 +1726,13 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "Cooldown": 2.0, "BarricadeHealth": 115, "PropModel": "models/props/de_aztec/hr_aztec/aztec_scaffolding/aztec_scaffold_wall_support_128.vmdl", "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#1b04cc", "Active": true, @@ -1514,6 +1755,7 @@ "BlindAngle": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a3000b", "Active": true, @@ -1529,6 +1771,7 @@ "ChanceTo": 3.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#A31912", "Active": true, @@ -1540,8 +1783,10 @@ "Rarity": "Common" }, { + "MarkerSeconds": 4.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffbf47", "Active": true, @@ -1555,6 +1800,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffc061", "Active": true, @@ -1569,6 +1815,7 @@ "Distance": 1000.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d1f542", "Active": true, @@ -1587,6 +1834,7 @@ "DmgReductionForTeamates": 0.5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#9c0000", "Active": true, @@ -1605,6 +1853,7 @@ "DmgReductionForTeamates": 0.5, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#c0392b", "Active": true, @@ -1619,6 +1868,7 @@ "MoneyPerShot": 50, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#e0c341", "Active": true, @@ -1634,6 +1884,7 @@ "CooldownBeforeUse": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff8c92", "Active": true, @@ -1644,11 +1895,28 @@ "MaxPerServer": -1, "Rarity": "Common" }, + { + "JamSeconds": 3.0, + "GrenadeLimit": 2, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#3ad6e8", + "Active": true, + "Name": "EmpGrenade", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Uncommon" + }, { "MinScale": 0.6, "MaxScale": 0.95, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffff00", "Active": true, @@ -1662,6 +1930,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ffb73b", "Active": true, @@ -1676,6 +1945,7 @@ "HealthRegainScale": 0.3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FA050D", "Active": true, @@ -1689,6 +1959,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#00f2ff", "Active": true, @@ -1704,6 +1975,7 @@ "ChanceTo": 0.35, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FF4500", "Active": true, @@ -1715,10 +1987,12 @@ "Rarity": "Common" }, { + "SoundVolume": 0.3, "SecondCooldown": 1.0, "Damage": 5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#c91243", "Active": true, @@ -1730,11 +2004,13 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "ExplosionRadius": 500.0, "ExplosionDamage": 999, "DmgReductionForTeamates": 0.5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#F5CB42", "Active": true, @@ -1748,6 +2024,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#dae01f", "Active": true, @@ -1761,6 +2038,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#919191", "Active": true, @@ -1772,12 +2050,14 @@ "Rarity": "Common" }, { + "SoundVolume": 1.0, "JumpVelocity": 150.0, "PushVelocity": 600.0, "AnyDirection": true, "Cooldown": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#42bbfc", "Active": true, @@ -1795,6 +2075,7 @@ "A": 230, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#383838", "Active": true, @@ -1806,9 +2087,11 @@ "Rarity": "Rare" }, { + "SoundVolume": 1.0, "Cooldown": 30.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#34ebd5", "Active": true, @@ -1822,6 +2105,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#88a31a", "Active": true, @@ -1836,6 +2120,7 @@ "BombArmedTime": 10.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 3, "Color": "#343deb", "Active": true, @@ -1849,6 +2134,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FF8B42", "Active": true, @@ -1862,6 +2148,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#5fd98a", "Active": true, @@ -1877,6 +2164,7 @@ "ChanceTo": 0.4, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#FF4500", "Active": true, @@ -1888,9 +2176,11 @@ "Rarity": "Common" }, { + "SoundVolume": 0.35, "DamageAfterMiss": 5, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#db6c35", "Active": true, @@ -1904,6 +2194,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 2, "Color": "#00911f", "Active": true, @@ -1920,6 +2211,7 @@ "JumpBoost": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d1430a", "Active": true, @@ -1930,6 +2222,21 @@ "MaxPerServer": -1, "Rarity": "Common" }, + { + "Reward": 300, + "NeedsTeammates": false, + "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, + "OnlyTeam": 0, + "Color": "#f2c14e", + "Active": true, + "Name": "Bounty", + "HudDuration": null, + "DescriptionHudDuration": null, + "RequiredPermission": "", + "MaxPerServer": -1, + "Rarity": "Common" + }, { "ExplosionRadius": 400.0, "ExplosionDamage": 60, @@ -1938,6 +2245,7 @@ "Force": 1000.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#7740c9", "Active": true, @@ -1954,6 +2262,7 @@ "VelocityModifier": 0.85, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#cc7504", "Active": true, @@ -1969,6 +2278,7 @@ "MaxDamageVelocity": 2.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#cc2929", "Active": true, @@ -1984,6 +2294,7 @@ "ChanceTo": 0.4, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#00FF00", "Active": true, @@ -2001,6 +2312,7 @@ "GrenadeLimit": 3, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#2effc7", "Active": true, @@ -2014,6 +2326,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#abab33", "Active": true, @@ -2029,6 +2342,7 @@ "ChanceTo": 0.7, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#7E10AD", "Active": true, @@ -2044,6 +2358,7 @@ "ToleranceDeg": 45.0, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d9d9d9", "Active": true, @@ -2059,6 +2374,7 @@ "ChanceTo": 0.85, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#d1430a", "Active": true, @@ -2072,6 +2388,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 3, "Color": "#edf5b5", "Active": true, @@ -2085,6 +2402,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#8B4513", "Active": true, @@ -2100,6 +2418,7 @@ "GrenadeLimit": 2, "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#D6E6FF", "Active": true, @@ -2115,6 +2434,7 @@ "Cooldown": 15.0, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#a86eff", "Active": true, @@ -2130,6 +2450,7 @@ "Duration": 0.3, "NeedsTeammates": false, "DisableOnFreezeTime": true, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#fa7b48", "Active": true, @@ -2143,6 +2464,7 @@ { "NeedsTeammates": false, "DisableOnFreezeTime": false, + "DisableOnPistolRound": false, "OnlyTeam": 0, "Color": "#ff0000", "Active": true, diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll index 76bb7a6c411c33fa9211b4b9f885bdd885cd6d04..fa6d86b06c1c854d7379e4f7404b643aab5bcf23 100644 GIT binary patch literal 741376 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

ObM*HsM2=Hwq?g5^E*6wCL}i_)%+ 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�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%0A@Si~OJQ=MG|0xvfRJ1O90g81hS|5HN6wj8? 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 literal 695808 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 BVq(5&pQPzeRbTsy{Hews)Ej%SH|hc3 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

(kV?; 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 OVCMSAfB*ks;C}%D*w*F% diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/de.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/de.json index bbe6411..d72dadf 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/de.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/de.json @@ -60,6 +60,13 @@ "blastshot": "Explosivschuss", "blastshot_desc": "Drücke Attack2 mit der MP5, um eine HE-Granate abzufeuern", + "bounty": "Kopfgeld", + "bounty_desc": "Setze ein Kopfgeld auf einen Gegner aus; wer ihn tötet, bekommt das Geld", + "bounty_select_info": "Wähle einen Spieler:", + "bounty_player_info": "Du hast {1}$ Kopfgeld auf '{0}' ausgesetzt.", + "bounty_enemy_info": "Auf deinen Kopf wurden {0}$ ausgesetzt.", + "bounty_claimed_info": "Du hast '{0}' getötet und {1}$ kassiert.", + "bunnyhop": "Hase", "bunnyhop_desc": "Du erhältst automatisch bunnyhop", @@ -144,6 +151,10 @@ "dwarf_desc": "Zufällige Charaktergröße zu Beginn der Runde", "dwarf_desc2": "Dein Größenmultiplikator beträgt: {0}x", + "empgrenade": "EMP-Granate", + "empgrenade_desc": "Wer von deiner Granate getroffen wird, verliert kurzzeitig Radar und Fadenkreuz", + "empgrenade_enemy_info": "Eine EMP-Granate hat dein Radar und Fadenkreuz lahmgelegt.", + "enemyspawn": "Feindes-Spawn", "enemyspawn_desc": "Klicke auf [css_useSkill], um zum Feindes-Spawn zu teleportieren", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Keine Oberfläche zum Einhaken.", "grapple_pulling_info": "ZUG", + "gravitydecoy": "Schwerkraft-Ablenker", + "gravitydecoy_desc": "Dein Ablenkungsköder verändert die Schwerkraft aller in der Nähe", + "grenadier": "Grenadier", "grenadier_desc": "Du hast unendlich viele Granaten", @@ -239,6 +253,9 @@ "healingchicken": "Heilendes Huhn", "healingchicken_desc": "Deine Hühner heilen dich, solange du in ihrer Nähe bist", + "heavyweight": "Schwergewicht", + "heavyweight_desc": "Fähigkeiten, die dich stoßen oder verlangsamen, wirken nicht auf dich", + "hermit": "Einsiedler", "hermit_desc": "Durch das Töten von Gegnern werden Munition und ein Teil der Gesundheit wiederhergestellt", @@ -360,6 +377,12 @@ "bankrupt_player_info": "Der Spieler ‚{0}‘ ist bankrott.", "bankrupt_select_info": "Wähle einen Spieler aus, der bankrott gehen soll:", + "nemesis": "Nemesis", + "nemesis_desc": "Der von dir markierte Spieler erleidet zusätzlichen Schaden", + "nemesis_select_info": "Wähle einen Spieler:", + "nemesis_player_info": "Du hast '{0}' markiert.", + "nemesis_enemy_info": "Du wurdest als Nemesis markiert und erleidest jetzt von allen zusätzlichen Schaden.", + "nightmare": "Albtraum", "nightmare_desc": "Lass einen ausgewählten Gegner eine schreckliche Vision erleben", "nightmare_disable_info": "Der Albtraum ist vorbei.", @@ -423,6 +446,10 @@ "prosthesis": "Prothese", "prosthesis_desc": "Arme und Beine sind kugelsicher", + "punisher": "Bestrafer", + "punisher_desc": "Du sammelst einen Teil des erlittenen Schadens und legst ihn auf deinen nächsten Treffer", + "punisher_released_info": "Du hast {0} zusätzlichen Schaden verursacht und ebenso viel Leben erhalten.", + "push": "Pusher", "push_desc": "Du hast eine zufällige Chance, einen Gegner zurückzustoßen, wenn du ihn triffst", "push_desc2": "Deine Chancen, den Gegner zurückzustoßen, betragen: {0} %", @@ -460,6 +487,10 @@ "returntosender": "Zurück zum Absender", "returntosender_desc": "Der erste Treffer eines Gegners schickt ihn zurück zu seinem Spawn", + "rewind": "Rückspulen", + "rewind_desc": "Drücke [css_useSkill], um hier eine Marke zu setzen und kurz darauf dorthin zurückzukehren", + "rewind_pending_info": "RÜCKKEHR: {0}", + "richboy": "Rich Boy", "richboy_desc": "Du erhältst zu Beginn der Runde einen zufälligen Geldbetrag", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Stolperdraht platziert.", "tripwire_triggered_info": "'{0}' hat deinen Stolperdraht ausgelöst.", + "truearmor": "Echte Rüstung", + "truearmor_desc": "Ein Teil des Schadens geht auf deine Rüstung statt auf dein Leben", + + "voodoo": "Voodoo", + "voodoo_desc": "Der markierte Gegner erleidet einen Teil des Schadens, den du erleidest", + "voodoo_select_info": "Wähle einen Spieler:", + "voodoo_player_info": "Du hast '{0}' an deinen Voodoo gebunden.", + "wallhack": "Wallhack", "wallhack_desc": "Du kannst Feinde durch Wände hindurch sehen", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/en.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/en.json index b86306c..4175258 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/en.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/en.json @@ -60,6 +60,13 @@ "blastshot": "Blast Shot", "blastshot_desc": "Press Attack2 with the MP5 to fire an HE grenade", + "bounty": "Bounty", + "bounty_desc": "Put a price on an enemy's head; whoever kills them takes the money", + "bounty_select_info": "Choose a player:", + "bounty_player_info": "You put a {1}$ bounty on '{0}'.", + "bounty_enemy_info": "A {0}$ bounty was placed on your head.", + "bounty_claimed_info": "You killed '{0}' and claimed {1}$.", + "bunnyhop": "Bunny", "bunnyhop_desc": "You get auto \"BunnyHop\"", @@ -137,6 +144,10 @@ "dwarf_desc": "Random character size at the start of the round", "dwarf_desc2": "Your size multiplier is: {0}x", + "empgrenade": "EMP Grenade", + "empgrenade_desc": "Anyone hurt by your grenade loses their radar and crosshair for a while", + "empgrenade_enemy_info": "An EMP grenade knocked out your radar and crosshair.", + "enemyspawn": "Enemy Spawn", "enemyspawn_desc": "Click [css_useSkill] to teleport to the enemy spawn", @@ -223,6 +234,9 @@ "grapple_no_anchor_info": "No surface to hook onto.", "grapple_pulling_info": "PULLING", + "gravitydecoy": "Gravity Decoy", + "gravitydecoy_desc": "Your decoy changes the gravity of everyone nearby", + "grenadier": "Grenadier", "grenadier_desc": "You have infinite hegrenade", @@ -232,6 +246,9 @@ "healingsmoke": "Healing Smoke", "healingsmoke_desc": "Your smoke grenades heal", + "heavyweight": "Heavyweight", + "heavyweight_desc": "Skills that push or slow you down have no effect on you", + "hermit": "Hermit", "hermit_desc": "Killing restores ammo and a portion of health", @@ -360,6 +377,12 @@ "demoneye": "Demon Eye", "demoneye_desc": "You deal damage to every enemy you are looking at", + "nemesis": "Nemesis", + "nemesis_desc": "The player you mark takes extra damage", + "nemesis_select_info": "Choose a player:", + "nemesis_player_info": "You marked '{0}'.", + "nemesis_enemy_info": "You have been marked as a nemesis, you now take extra damage from everyone.", + "nightmare": "Nightmare", "nightmare_desc": "Force a chosen enemy to experience a terrifying vision", "nightmare_disable_info": "The nightmare has faded.", @@ -423,6 +446,10 @@ "prosthesis": "Prosthesis", "prosthesis_desc": "Arms and legs are bulletproof", + "punisher": "Punisher", + "punisher_desc": "You bank part of the damage you take and add it to your next hit", + "punisher_released_info": "You dealt {0} extra damage and healed for the same amount.", + "push": "Pusher", "push_desc": "You have a random chance to push an enemy back when hitting them", "push_desc2": "Your chances of pushing back the enemy are: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Return to Sender", "returntosender_desc": "The first hit on an enemy sends them back to their spawn", + "rewind": "Rewind", + "rewind_desc": "Click [css_useSkill] to drop a marker where you stand and return to it shortly after", + "rewind_pending_info": "RETURN: {0}", + "richboy": "Rich Boy", "richboy_desc": "You receive a random amount of money at the start of the round", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Tripwire placed.", "tripwire_triggered_info": "'{0}' triggered your tripwire.", + "truearmor": "True Armor", + "truearmor_desc": "Part of the damage you take is paid by your armor instead of your health", + + "voodoo": "Voodoo", + "voodoo_desc": "The enemy you mark also takes part of the damage you take", + "voodoo_select_info": "Choose a player:", + "voodoo_player_info": "You bound '{0}' to your voodoo.", + "wallhack": "Wallhack", "wallhack_desc": "You can see enemies through walls", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/fr.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/fr.json index 722d442..bb99783 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/fr.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/fr.json @@ -60,6 +60,13 @@ "blastshot": "Tir explosif", "blastshot_desc": "Appuyez sur Attack2 avec le MP5 pour tirer une grenade HE", + "bounty": "Prime", + "bounty_desc": "Mets une prime sur la tête d'un ennemi ; celui qui le tue empoche l'argent", + "bounty_select_info": "Choisis un joueur :", + "bounty_player_info": "Tu as mis une prime de {1}$ sur '{0}'.", + "bounty_enemy_info": "Une prime de {0}$ a été mise sur ta tête.", + "bounty_claimed_info": "Tu as tué '{0}' et empoché {1}$.", + "bunnyhop": "Lapin", "bunnyhop_desc": "Vous obtenez l’auto « BunnyHop »", @@ -144,6 +151,10 @@ "dwarf_desc": "Taille du personnage aléatoire au début du round", "dwarf_desc2": "Votre multiplicateur de taille est : {0}x", + "empgrenade": "Grenade EMP", + "empgrenade_desc": "Ceux que ta grenade blesse perdent leur radar et leur viseur un moment", + "empgrenade_enemy_info": "Une grenade EMP a coupé ton radar et ton viseur.", + "enemyspawn": "Spawn Ennemi", "enemyspawn_desc": "Appuyez sur [css_useSkill] pour vous téléporter au spawn ennemi", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Aucune surface pour accrocher le grappin.", "grapple_pulling_info": "TRACTION", + "gravitydecoy": "Leurre gravitationnel", + "gravitydecoy_desc": "Ton leurre modifie la gravité de tous ceux qui sont à proximité", + "grenadier": "Grenadier", "grenadier_desc": "Tu as des grenades HE infinies", @@ -239,6 +253,9 @@ "healingchicken": "Poulet guérisseur", "healingchicken_desc": "Vos poulets vous soignent lorsque vous êtes à proximité", + "heavyweight": "Poids lourd", + "heavyweight_desc": "Les compétences qui te poussent ou te ralentissent n'ont aucun effet sur toi", + "hermit": "Ermite", "hermit_desc": "Tuer restaure des munitions et une partie de vos PV", @@ -360,6 +377,12 @@ "bankrupt_player_info": "Le joueur « {0} » est en faillite.", "bankrupt_select_info": "Mettre un joueur en faillite :", + "nemesis": "Némésis", + "nemesis_desc": "Le joueur que tu marques subit des dégâts supplémentaires", + "nemesis_select_info": "Choisis un joueur :", + "nemesis_player_info": "Tu as marqué '{0}'.", + "nemesis_enemy_info": "Vous avez été marqué comme némésis, vous subissez désormais des dégâts supplémentaires de la part de tous.", + "nightmare": "Cauchemar", "nightmare_desc": "Faites subir une vision terrifiante à un ennemi choisi", "nightmare_disable_info": "Le cauchemar s'est dissipé.", @@ -423,6 +446,10 @@ "prosthesis": "Prothèses", "prosthesis_desc": "Les bras et les jambes sont pare-balles", + "punisher": "Punisseur", + "punisher_desc": "Tu accumules une partie des dégâts subis et l'ajoutes à ton prochain tir", + "punisher_released_info": "Tu as infligé {0} dégâts en plus et récupéré autant de vie.", + "push": "Pousseur", "push_desc": "Vous avez une chance aléatoire de repousser un ennemi en le touchant", "push_desc2": "Votre chance de repousser l’ennemi est : {0}%", @@ -460,6 +487,10 @@ "returntosender": "Retour à l’Expéditeur", "returntosender_desc": "Le premier coup porté à un ennemi le renvoie à son spawn", + "rewind": "Rembobinage", + "rewind_desc": "Appuie sur [css_useSkill] pour poser un repère ici et y revenir peu après", + "rewind_pending_info": "RETOUR : {0}", + "richboy": "Gosse de Riche", "richboy_desc": "Vous recevez une somme d’argent aléatoire au début du round", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Fil-piège placé.", "tripwire_triggered_info": "'{0}' a déclenché votre fil-piège.", + "truearmor": "Vraie armure", + "truearmor_desc": "Une partie des dégâts est absorbée par ton armure au lieu de ta vie", + + "voodoo": "Vaudou", + "voodoo_desc": "L'ennemi que tu marques subit aussi une partie des dégâts que tu reçois", + "voodoo_select_info": "Choisis un joueur :", + "voodoo_player_info": "Tu as lié '{0}' à ton vaudou.", + "wallhack": "Wallhack", "wallhack_desc": "Vous pouvez voir les ennemis à travers les murs", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pl.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pl.json index fbce5ea..2659a45 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pl.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pl.json @@ -60,6 +60,13 @@ "blastshot": "Mocne Uderzenie", "blastshot_desc": "Naciśnij Attack2 na MP5, aby wystrzelić granat HE", + "bounty": "Nagroda", + "bounty_desc": "Wyznacz nagrodę za głowę wroga; kto go zabije, dostaje pieniądze", + "bounty_select_info": "Wybierz gracza:", + "bounty_player_info": "Wyznaczyłeś nagrodę {1}$ za '{0}'.", + "bounty_enemy_info": "Za twoją głowę wyznaczono {0}$.", + "bounty_claimed_info": "Zabiłeś '{0}' i zgarnąłeś {1}$.", + "bunnyhop": "Królik", "bunnyhop_desc": "Otrzymujesz auto \"BunnyHopa\"", @@ -144,6 +151,10 @@ "dwarf_desc": "Losowa wielkość postaci na początku rundy", "dwarf_desc2": "Twój mnożnik wielkości to {0}x", + "empgrenade": "Granat EMP", + "empgrenade_desc": "Kto oberwie twoim granatem, na chwilę traci radar i celownik", + "empgrenade_enemy_info": "Granat EMP wyłączył twój radar i celownik.", + "enemyspawn": "Resp Wroga", "enemyspawn_desc": "Kliknij [css_useSkill], aby teleportować się na resp wroga", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Brak powierzchni do zaczepienia haka.", "grapple_pulling_info": "PRZYCIĄGANIE", + "gravitydecoy": "Grawitacyjna wabik", + "gravitydecoy_desc": "Twój wabik zmienia grawitację wszystkich w pobliżu", + "grenadier": "Granatnik", "grenadier_desc": "Masz nieskończone granaty odłamkowe", @@ -239,6 +253,9 @@ "healingchicken": "Lecząca Kura", "healingchicken_desc": "Twoje kury leczą Cię, gdy jesteś w pobliżu", + "heavyweight": "Waga ciężka", + "heavyweight_desc": "Umiejętności, które cię popychają lub spowalniają, nie działają na ciebie", + "hermit": "Pustelnik", "hermit_desc": "Zabijanie przywraca amunicję i część zdrowia", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Wymieniłeś swoje pieniądze z graczem '{0}'.", "moneyswap_select_info": "Zamień się kasą z graczem:", + "nemesis": "Nemezis", + "nemesis_desc": "Oznaczony gracz otrzymuje dodatkowe obrażenia", + "nemesis_select_info": "Wybierz gracza:", + "nemesis_player_info": "Oznaczyłeś '{0}'.", + "nemesis_enemy_info": "Zostałeś oznaczony jako nemezis, teraz otrzymujesz dodatkowe obrażenia od wszystkich.", + "nightmare": "Koszmar", "nightmare_desc": "Wywołaj u wybranego przeciwnika przerażającą wizję", "nightmare_disable_info": "Koszmar minął.", @@ -423,6 +446,10 @@ "prosthesis": "Proteza", "prosthesis_desc": "Ramiona i nogi są kuloodporne", + "punisher": "Karzyciel", + "punisher_desc": "Gromadzisz część otrzymanych obrażeń i dodajesz je do następnego trafienia", + "punisher_released_info": "Zadałeś {0} dodatkowych obrażeń i odzyskałeś tyle samo życia.", + "push": "Odpychacz", "push_desc": "Masz losową szansę na odepchnięcie wroga po trafieniu go", "push_desc2": "Twoje szanse na odepchnięcie wroga to: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Zwrot do Nadawcy", "returntosender_desc": "Pierwsze trafienie wroga powoduje, że wraca on na swój resp", + "rewind": "Przewijanie", + "rewind_desc": "Naciśnij [css_useSkill], aby zostawić znacznik i wkrótce do niego wrócić", + "rewind_pending_info": "POWRÓT: {0}", + "richboy": "Bogacz", "richboy_desc": "Na początku rundy otrzymujesz losową kwotę gotówki", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Linka została rozstawiona.", "tripwire_triggered_info": "'{0}' uruchomił Twoją linkę.", + "truearmor": "Prawdziwy pancerz", + "truearmor_desc": "Część obrażeń pokrywa twój pancerz zamiast zdrowia", + + "voodoo": "Voodoo", + "voodoo_desc": "Oznaczony wróg również otrzymuje część obrażeń, które ty dostajesz", + "voodoo_select_info": "Wybierz gracza:", + "voodoo_player_info": "Związałeś '{0}' swoim voodoo.", + "wallhack": "Wallhack", "wallhack_desc": "Widzisz wrogów przez ściany", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pt-br.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pt-br.json index 14fc109..c477c18 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pt-br.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/pt-br.json @@ -60,6 +60,13 @@ "blastshot": "Tiro Explosivo", "blastshot_desc": "Pressione Attack2 com a MP5 para disparar uma granada HE", + "bounty": "Recompensa", + "bounty_desc": "Coloque um preço na cabeça de um inimigo; quem o matar leva o dinheiro", + "bounty_select_info": "Escolha um jogador:", + "bounty_player_info": "Você colocou {1}$ de recompensa em '{0}'.", + "bounty_enemy_info": "Puseram {0}$ de recompensa na sua cabeça.", + "bounty_claimed_info": "Você matou '{0}' e levou {1}$.", + "bunnyhop": "Coelho", "bunnyhop_desc": "Você ganha \"BunnyHop\" automático", @@ -144,6 +151,10 @@ "dwarf_desc": "Sua altura agora é aleatória", "dwarf_desc2": "Seu multiplicador de altura é: {0}x", + "empgrenade": "Granada EMP", + "empgrenade_desc": "Quem se ferir com sua granada perde o radar e a mira por um tempo", + "empgrenade_enemy_info": "Uma granada EMP derrubou seu radar e sua mira.", + "enemyspawn": "Spawn Inimigo", "enemyspawn_desc": "Clique em [css_useSkill] para se teletransportar para a base inimiga", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Nenhuma superfície para prender o gancho.", "grapple_pulling_info": "PUXANDO", + "gravitydecoy": "Chamariz Gravitacional", + "gravitydecoy_desc": "Seu chamariz muda a gravidade de todos que estão por perto", + "grenadier": "Bomberman", "grenadier_desc": "Você tem HEs infinitas", @@ -239,6 +253,9 @@ "healingchicken": "Galinha Curadora", "healingchicken_desc": "Suas galinhas curam você enquanto você estiver por perto", + "heavyweight": "Peso Pesado", + "heavyweight_desc": "Habilidades que empurram ou te deixam lento não fazem efeito em você", + "hermit": "Sanguessuga", "hermit_desc": "Matar restaura munição e uma parte da sua vida", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Você trocou dinheiro com o jogador '{0}'.", "moneyswap_select_info": "Trocar dinheiro c/ jogador:", + "nemesis": "Nêmesis", + "nemesis_desc": "O jogador que você marcar recebe dano extra", + "nemesis_select_info": "Escolha um jogador:", + "nemesis_player_info": "Você marcou '{0}'.", + "nemesis_enemy_info": "Você foi marcado como nêmesis, agora recebe dano extra de todos.", + "nightmare": "Pesadelo", "nightmare_desc": "Faça um inimigo escolhido ter uma visão aterrorizante", "nightmare_disable_info": "O pesadelo desapareceu.", @@ -423,6 +446,10 @@ "prosthesis": "Prótese", "prosthesis_desc": "Braços e pernas são à prova de balas", + "punisher": "Punidor", + "punisher_desc": "Você guarda parte do dano recebido e soma no seu próximo tiro", + "punisher_released_info": "Você causou {0} de dano extra e recuperou a mesma vida.", + "push": "Empurrão", "push_desc": "Você tem uma chance aleatória de empurrar um inimigo ao acertá-lo", "push_desc2": "Suas chances de empurrar o inimigo são: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Devolução ao Remetente", "returntosender_desc": "O primeiro tiro em um inimigo o envia de volta a sua base", + "rewind": "Retroceder", + "rewind_desc": "Clique em [css_useSkill] para deixar uma marca aqui e voltar a ela logo depois", + "rewind_pending_info": "RETORNO: {0}", + "richboy": "Filhinho de Papai", "richboy_desc": "Você recebe uma quantidade aleatória de dinheiro no início da rodada", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Fio de armadilha colocado.", "tripwire_triggered_info": "'{0}' acionou seu fio.", + "truearmor": "Armadura Real", + "truearmor_desc": "Parte do dano que você recebe sai do colete em vez da vida", + + "voodoo": "Vodu", + "voodoo_desc": "O inimigo que você marcar também recebe parte do dano que você leva", + "voodoo_select_info": "Escolha um jogador:", + "voodoo_player_info": "Você ligou '{0}' ao seu vodu.", + "wallhack": "Wallhack", "wallhack_desc": "Você pode ver inimigos através das paredes", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/ru.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/ru.json index 7e5148e..19f2012 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/ru.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/ru.json @@ -60,6 +60,13 @@ "blastshot": "Взрывной выстрел", "blastshot_desc": "Нажмите Attack2 на MP5, чтобы выстрелить гранатой HE", + "bounty": "Награда", + "bounty_desc": "Назначь награду за голову врага; тот, кто убьёт его, получит деньги", + "bounty_select_info": "Выберите игрока:", + "bounty_player_info": "Вы назначили награду {1}$ за '{0}'.", + "bounty_enemy_info": "За вашу голову назначили {0}$.", + "bounty_claimed_info": "Вы убили '{0}' и получили {1}$.", + "bunnyhop": "Заяц", "bunnyhop_desc": "Вы получаете автоматический «БанниХоп»", @@ -144,6 +151,10 @@ "dwarf_desc": "Случайный размер персонажа в начале раунда", "dwarf_desc2": "Ваш множитель размера: {0}x", + "empgrenade": "ЭМИ-граната", + "empgrenade_desc": "Тот, кто пострадал от вашей гранаты, на время теряет радар и прицел", + "empgrenade_enemy_info": "ЭМИ-граната вывела из строя ваш радар и прицел.", + "enemyspawn": "Спавн врагов", "enemyspawn_desc": "Нажмите [css_useSkill], чтобы телепортироваться на спавн врагов", @@ -230,6 +241,9 @@ "grapple_no_anchor_info": "Нет поверхности для зацепа.", "grapple_pulling_info": "ПРИТЯГИВАНИЕ", + "gravitydecoy": "Гравитационная обманка", + "gravitydecoy_desc": "Ваша обманка меняет гравитацию всех, кто рядом", + "grenadier": "Гренадёр", "grenadier_desc": "У вас бесконечные осколочные гранаты", @@ -239,6 +253,9 @@ "healingsmoke": "Лечащий дым", "healingsmoke_desc": "Ваши дымовые гранаты лечат", + "heavyweight": "Тяжеловес", + "heavyweight_desc": "Способности, которые толкают или замедляют, на вас не действуют", + "hermit": "Отшельник", "hermit_desc": "Убийства восстанавливают боеприпасы и часть здоровья", @@ -360,6 +377,12 @@ "moneyswap_player_info": "Вы обменялись деньгами с игроком '{0}'.", "moneyswap_select_info": "Обменять деньги с игроком:", + "nemesis": "Немезида", + "nemesis_desc": "Отмеченный вами игрок получает больше урона", + "nemesis_select_info": "Выберите игрока:", + "nemesis_player_info": "Вы отметили '{0}'.", + "nemesis_enemy_info": "Вы отмечены как немезида и теперь получаете больше урона от всех.", + "nightmare": "Кошмар", "nightmare_desc": "Заставьте выбранного противника увидеть кошмарное видение", "nightmare_disable_info": "Кошмар рассеялся.", @@ -423,6 +446,10 @@ "prosthesis": "Протез", "prosthesis_desc": "Руки и ноги защищены от пуль", + "punisher": "Каратель", + "punisher_desc": "Вы копите часть полученного урона и добавляете его к следующему попаданию", + "punisher_released_info": "Вы нанесли {0} дополнительного урона и восстановили столько же здоровья.", + "push": "Толкач", "push_desc": "Есть шанс оттолкнуть врага назад при попадании", "push_desc2": "Ваш шанс оттолкнуть врага: {0}%", @@ -460,6 +487,10 @@ "returntosender": "Вернуть отправителю", "returntosender_desc": "Первое попадание по врагу отправляет его обратно на спавн", + "rewind": "Перемотка", + "rewind_desc": "Нажмите [css_useSkill], чтобы оставить метку здесь и вскоре вернуться к ней", + "rewind_pending_info": "ВОЗВРАТ: {0}", + "richboy": "Богач", "richboy_desc": "Вы получаете случайную сумму денег в начале раунда", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Растяжка установлена.", "tripwire_triggered_info": "'{0}' задел вашу растяжку.", + "truearmor": "Настоящая броня", + "truearmor_desc": "Часть урона принимает броня, а не здоровье", + + "voodoo": "Вуду", + "voodoo_desc": "Отмеченный враг тоже получает часть урона, который получаете вы", + "voodoo_select_info": "Выберите игрока:", + "voodoo_player_info": "Вы привязали '{0}' к своему вуду.", + "wallhack": "Воллхак", "wallhack_desc": "Вы видите врагов сквозь стены", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/tr.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/tr.json index 0a6a3ce..617a3dd 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/tr.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/tr.json @@ -60,6 +60,13 @@ "blastshot": "Patlama Atışı", "blastshot_desc": "MP5 ile sağ tıklayarak el bombası fırlat", + "bounty": "Ödül Avı", + "bounty_desc": "Bir düşmana ödül koy, onu öldüren parayı alır", + "bounty_select_info": "Birini seçin:", + "bounty_player_info": "'{0}' için {1}$ ödül koydun.", + "bounty_enemy_info": "Başına {0}$ ödül kondu.", + "bounty_claimed_info": "'{0}' oyuncusunu öldürdün ve {1}$ kazandın.", + "bunnyhop": "Tavşan", "bunnyhop_desc": "Otomatik BunnyHop yaparsın", @@ -137,6 +144,10 @@ "dwarf_desc": "Rastgele karakter boyutu", "dwarf_desc2": "Boyutun: {0}x", + "empgrenade": "EMP Bombası", + "empgrenade_desc": "El bomban, hasar verdiğin düşmanın radarını ve nişangahını kapatır", + "empgrenade_enemy_info": "Radarın ve nişangahın kapandı.", + "enemyspawn": "Base Baskını", "enemyspawn_desc": "[css_useSkill] tuşuna basarak düşman doğma noktasına ışınlan", @@ -223,6 +234,9 @@ "grapple_no_anchor_info": "Kanca atılacak yüzey yok", "grapple_pulling_info": "ÇEKİLİYOR", + "gravitydecoy": "Yerçekimi Yanıltıcısı", + "gravitydecoy_desc": "Yanıltıcı bomban yakındaki herkesin yerçekimini değiştirir", + "grenadier": "Bombacı", "grenadier_desc": "El bomban sınırsız", @@ -232,6 +246,9 @@ "healingsmoke": "Şifalı Sis", "healingsmoke_desc": "Sis bomban iyileştirir", + "heavyweight": "Ağır Sıklet", + "heavyweight_desc": "Seni iten ve yavaşlatan yetenekler işlemez", + "hermit": "Münzevi", "hermit_desc": "Birini öldürünce mermin ve canın yenilenir", @@ -360,6 +377,12 @@ "demoneye": "Şeytani Göz", "demoneye_desc": "Baktığın tüm düşmana hasar verirsin", + "nemesis": "Ezeli Rakip", + "nemesis_desc": "İşaretlediğin düşman herkesten daha fazla hasar alır", + "nemesis_select_info": "Birini seçin:", + "nemesis_player_info": "'{0}' artık herkesten daha fazla hasar alacak.", + "nemesis_enemy_info": "İşaretlendin, artık herkesten daha fazla hasar alıyorsun.", + "nightmare": "Kabus", "nightmare_desc": "Seçtiğin rakibe kabus gördür", "nightmare_disable_info": "Kabus sona erdi.", @@ -423,6 +446,10 @@ "prosthesis": "Protez", "prosthesis_desc": "Kolların ve bacakların kurşun geçirmez", + "punisher": "İntikam", + "punisher_desc": "Aldığın hasarı biriktirir, sonraki vuruşunda geri verirsin", + "punisher_released_info": "{0} ekstra hasar verdin ve o kadar can kazandın.", + "push": "İtici", "push_desc": "Düşmana vurduğunda onu geri itme şansın olur", "push_desc2": "Geri itme şansın: %{0}", @@ -460,6 +487,10 @@ "returntosender": "İade", "returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıcına ışınlar", + "rewind": "Geri Sarma", + "rewind_desc": "[css_useSkill] tuşuna basarak iz bırak, birazdan oraya geri dön", + "rewind_pending_info": "DÖNÜŞ: {0}", + "richboy": "Zengin Çocuk", "richboy_desc": "Rastgele miktarda paran olur", @@ -549,6 +580,14 @@ "tripwire_placed_info": "Tel gerildi.", "tripwire_triggered_info": "'{0}' teline takıldı.", + "truearmor": "Gerçek Zırh", + "truearmor_desc": "Aldığın hasarın bir kısmını canın yerine zırhın karşılar", + + "voodoo": "Vudu", + "voodoo_desc": "Aldığın hasarın bir kısmını işaretlediğin düşman da alır", + "voodoo_select_info": "Birini seçin:", + "voodoo_player_info": "'{0}' oyuncusunu kendine bağladın.", + "wallhack": "Wallhack", "wallhack_desc": "Düşmanları duvar arkasından görürsün", diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/zh.json b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/zh.json index ecccbf0..8726bc7 100644 --- a/jRandomSkills - Server Files/plugins/jRandomSkills/languages/zh.json +++ b/jRandomSkills - Server Files/plugins/jRandomSkills/languages/zh.json @@ -54,6 +54,13 @@ "blademaster": "我的刀能档子弹!", "blademaster_desc": "持刀时,你有很高几率格挡子弹", + "bounty": "悬赏", + "bounty_desc": "对一名敌人悬赏,击杀他的人可以获得赏金", + "bounty_select_info": "选择一名玩家:", + "bounty_player_info": "你对 '{0}' 悬赏了 {1}$。", + "bounty_enemy_info": "有人对你悬赏了 {0}$。", + "bounty_claimed_info": "你击杀了 '{0}',获得 {1}$。", + "bunnyhop": "连跳大佬", "bunnyhop_desc": "你获得自动连跳的能力", @@ -131,6 +138,10 @@ "dwarf_desc": "回合开始时获得随机角色大小", "dwarf_desc2": "你的体型倍率是:{0}x", + "empgrenade": "电磁脉冲手雷", + "empgrenade_desc": "被你的手雷伤到的人会暂时失去雷达和准星", + "empgrenade_enemy_info": "电磁脉冲手雷让你的雷达和准星失效了。", + "enemyspawn": "传送敌人出生点", "enemyspawn_desc": "点击 [css_useSkill] 传送到敌人出生点", @@ -211,12 +222,18 @@ "grapple_no_anchor_info": "没有可以钩住的表面。", "grapple_pulling_info": "拉动中", + "gravitydecoy": "重力诱饵", + "gravitydecoy_desc": "你的诱饵会改变附近所有人的重力", + "grenadier": "投弹手", "grenadier_desc": "你拥有无限高爆手雷", "healingsmoke": "治疗烟雾", "healingsmoke_desc": "你的烟雾弹会治疗", + "heavyweight": "重量级", + "heavyweight_desc": "推开你或让你减速的技能对你无效", + "hermit": "隐士", "hermit_desc": "击杀敌人会恢复弹药和部分生命值", @@ -330,6 +347,12 @@ "deathbomb_desc": "你死亡时会爆炸,杀死附近的玩家", "deathbomb_explosion": "砰!", + "nemesis": "宿敌", + "nemesis_desc": "被你标记的玩家会受到额外伤害", + "nemesis_select_info": "选择一名玩家:", + "nemesis_player_info": "你标记了 '{0}'。", + "nemesis_enemy_info": "你被标记为宿敌,现在会受到所有人的额外伤害。", + "nightmare": "nightmare", "nightmare_desc": "nightmare_desc", "nightmare_disable_info": "nightmare_disable_info", @@ -393,6 +416,10 @@ "prosthesis": "假肢", "prosthesis_desc": "手臂和腿部防弹", + "punisher": "惩罚者", + "punisher_desc": "你会积攒受到伤害的一部分,并加到下一次命中上", + "punisher_released_info": "你造成了 {0} 点额外伤害,并回复了同样的生命值。", + "push": "推力者", "push_desc": "你有随机几率在击中敌人时将其推回", "push_desc2": "你击退敌人的几率为:{0}%", @@ -430,6 +457,10 @@ "returntosender": "发送他们房子!!!", "returntosender_desc": "首次击中敌人会将其送回出生点", + "rewind": "回溯", + "rewind_desc": "按 [css_useSkill] 在原地留下标记,稍后回到那里", + "rewind_pending_info": "回溯:{0}", + "richboy": "富少", "richboy_desc": "回合开始时你获得随机数量的钱", @@ -507,6 +538,14 @@ "tripwire_placed_info": "tripwire_placed_info", "tripwire_triggered_info": "tripwire_triggered_info: {0}", + "truearmor": "真实护甲", + "truearmor_desc": "你受到的一部分伤害由护甲承担,而不是生命值", + + "voodoo": "巫毒", + "voodoo_desc": "被你标记的敌人也会受到你所受伤害的一部分", + "voodoo_select_info": "选择一名玩家:", + "voodoo_player_info": "你把 '{0}' 绑到了你的巫毒上。", + "wallhack": "透视", "wallhack_desc": "你可以通过墙壁看到敌人",