chore: update contributors and thanks

This commit is contained in:
github-actions[bot] 2026-08-17 22:39:41 +00:00
parent ef8b8e595f
commit b98842212f
2 changed files with 289 additions and 54 deletions

View file

@ -47,7 +47,7 @@ Dołącz do serwera testowego 3v3 i wypróbuj plugin jRandomSkills:
Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://pukawka.pl/pp,juzlus.html). Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://pukawka.pl/pp,juzlus.html).
## ✨ Aktualne Supermoce (145) ## ✨ Aktualne Supermoce (154)
<details> <details>
<summary>Poniższa tabela przedstawia wszystkie dostępne supermoce w grze, wraz z ich opisami.</summary> <summary>Poniższa tabela przedstawia wszystkie dostępne supermoce w grze, wraz z ich opisami.</summary>
@ -89,7 +89,9 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Glaz | Widzisz przez granaty dymne | - | | Glaz | Widzisz przez granaty dymne | - |
| Glitch | Wyłączasz radar wybranemu przeciwnikowi | - | | Glitch | Wyłączasz radar wybranemu przeciwnikowi | - |
| Gorąca Bomba | Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie | - | | Gorąca Bomba | Dopóki żyjesz, bomba zadaje obrażenia osobie, która ją niesie | - |
| Granat EMP | Kto oberwie twoim granatem, na chwilę traci radar i celownik. | 3 s |
| Granatnik | Masz nieskończone granaty HE | - | | Granatnik | Masz nieskończone granaty HE | - |
| Grawitacyjny Wabik | Twój wabik zmienia grawitację wszystkich w pobliżu. | 0.5x |
| Gruby | Masz losowy mnożnik otrzymywanych obrażeń | (0.65 - 0.85)x | | Gruby | Masz losowy mnożnik otrzymywanych obrażeń | (0.65 - 0.85)x |
| Gumowe Kule | Twoje pociski znacznie spowalniają graczy | - | | Gumowe Kule | Twoje pociski znacznie spowalniają graczy | - |
| Głuchy | Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki | - | | Głuchy | Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki | - |
@ -100,12 +102,13 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Jednostrzałowiec | Po trafieniu natychmiast zabijasz przeciwnika | - | | Jednostrzałowiec | Po trafieniu natychmiast zabijasz przeciwnika | - |
| Kameleon | Pierwszy zabity gracz oddaje ci swoją umiejętność | - | | Kameleon | Pierwszy zabity gracz oddaje ci swoją umiejętność | - |
| Kamera | Kliknij [css_useSkill], aby utworzyć lub przełączyć się na kamerę | 30 s | | Kamera | Kliknij [css_useSkill], aby utworzyć lub przełączyć się na kamerę | 30 s |
| Karający | Gromadzisz część otrzymanych obrażeń i uwalniasz je przy następnym strzale. | 0.5x |
| Katapulta | Masz losową szansę na podrzucenie wroga | (20 - 40)% | | Katapulta | Masz losową szansę na podrzucenie wroga | (20 - 40)% |
| Klej | Twoje granaty przyklejają się do ścian | - | | Klej | Twoje granaty przyklejają się do ścian | - |
| Klątwa Skakania | Wybrany przeciwnik skacze za każdym razem, gdy skaczą jego sojusznicy | - | | Klątwa Skakania | Wybrany przeciwnik skacze za każdym razem, gdy skaczą jego sojusznicy | - |
| Koszmar | Wywołaj u wybranego przeciwnika przerażającą wizję | - | | Koszmar | Wywołaj u wybranego przeciwnika przerażającą wizję | - |
| Krucha Bomba | Strzelanie do bomby powoduje jej uszkodzenie | - |
| Królik | Otrzymujesz auto "BunnyHopa" | - | | Królik | Otrzymujesz auto "BunnyHopa" | - |
| Krucha Bomba | Strzelanie do bomby powoduje jej uszkodzenie | - |
| Krótka Bomba | Bomba wybucha znacznie szybciej | - | | Krótka Bomba | Bomba wybucha znacznie szybciej | - |
| Kurczak | Otrzymujesz model kurczaka, poruszasz się o 10% szybciej i masz 50 HP | - | | Kurczak | Otrzymujesz model kurczaka, poruszasz się o 10% szybciej i masz 50 HP | - |
| Latarka | Kliknij [css_useSkill], aby włączyć lub wyłączyć latarkę. Jej światło może oślepić przeciwników | 2 s | | Latarka | Kliknij [css_useSkill], aby włączyć lub wyłączyć latarkę. Jej światło może oślepić przeciwników | 2 s |
@ -120,8 +123,10 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Medyk | Kliknij [css_useSkill], aby użyć ładunku leczniczego, który przywraca 50 punktów zdrowia | 1 s | | Medyk | Kliknij [css_useSkill], aby użyć ładunku leczniczego, który przywraca 50 punktów zdrowia | 1 s |
| Mini Majk | Losowa wielkość postaci na początku rundy | (60 - 95)% | | Mini Majk | Losowa wielkość postaci na początku rundy | (60 - 95)% |
| Mistrz Ostrza | Trzymając nóż, masz dużą szansę na odparcie strzału | - | | Mistrz Ostrza | Trzymając nóż, masz dużą szansę na odparcie strzału | - |
| Mocne Uderzenie | Naciśnij Attack2 na MP5, aby wystrzelić granat HE | 10 s |
| Mrok | Nadaje efekt ciemności wybranemu przeciwnikowi | - | | Mrok | Nadaje efekt ciemności wybranemu przeciwnikowi | - |
| Naprowadzane Granaty | Twoje granaty, z wyjątkiem dymnych, są przyciągane do wrogów | - | | Naprowadzane Granaty | Twoje granaty, z wyjątkiem dymnych, są przyciągane do wrogów | - |
| Nemezis | Oznaczony gracz otrzymuje dodatkowe obrażenia. | +0.25x |
| Nieskończone Ammo | Otrzymujesz nieskończoną ilość amunicji do wszystkich broni | - | | Nieskończone Ammo | Otrzymujesz nieskończoną ilość amunicji do wszystkich broni | - |
| Nieważkość | Twoje granaty nie podlegają grawitacji i lecą szybciej | - | | Nieważkość | Twoje granaty nie podlegają grawitacji i lecą szybciej | - |
| Nieśmiertelność | Kliknij [css_useSkill], aby stać się nieśmiertelnym na krótką chwilę | 30 s | | Nieśmiertelność | Kliknij [css_useSkill], aby stać się nieśmiertelnym na krótką chwilę | 30 s |
@ -148,6 +153,7 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Papito | Kliknij [css_useSkill], aby zamienić aktualną broń na AWP | 0 s | | Papito | Kliknij [css_useSkill], aby zamienić aktualną broń na AWP | 0 s |
| Pawel Jumper | Otrzymujesz dodatkowy skok | - | | Pawel Jumper | Otrzymujesz dodatkowy skok | - |
| Pilot | Latanie przez określony czas. Przytrzymaj [USE - E], aby latać | - | | Pilot | Latanie przez określony czas. Przytrzymaj [USE - E], aby latać | - |
| Prawdziwy Pancerz | Pancerz pochłania część otrzymywanych obrażeń zamiast zdrowia. | 0.33x |
| Proteza | Ramiona i nogi są kuloodporne | - | | Proteza | Ramiona i nogi są kuloodporne | - |
| Pustelnik | Zabijanie przywraca amunicję i część zdrowia | - | | Pustelnik | Zabijanie przywraca amunicję i część zdrowia | - |
| Pyro | Molotow przywraca zdrowie | - | | Pyro | Molotow przywraca zdrowie | - |
@ -172,15 +178,17 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Szpieg | Na początku rundy otrzymujesz model postaci przeciwnika | - | | Szpieg | Na początku rundy otrzymujesz model postaci przeciwnika | - |
| Szybkie Rączki | Kliknij [css_useSkill], aby przeładować broń, którą obecnie trzymasz | - | | Szybkie Rączki | Kliknij [css_useSkill], aby przeładować broń, którą obecnie trzymasz | - |
| Szybkostrzelność | Wszystkie pociski są wystrzeliwane bardzo szybko | - | | Szybkostrzelność | Wszystkie pociski są wystrzeliwane bardzo szybko | - |
| Święty Granat Ręczny | Twoje granaty HE zadają podwójne obrażenia i mają podwójny zasięg | - |
| Teleport do drużyny | Naciśnij [css_useSkill], aby teleportować się do członka drużyny, na którego patrzysz | 15 s | | Teleport do drużyny | Naciśnij [css_useSkill], aby teleportować się do członka drużyny, na którego patrzysz | 15 s |
| Teleporter | Zamieniasz się miejscami z trafionym przeciwnikiem | - | | Teleporter | Zamieniasz się miejscami z trafionym przeciwnikiem | - |
| Toksyczny Dym | Twoje granaty dymne zadają obrażenia | - | | Toksyczny Dym | Twoje granaty dymne zadają obrażenia | - |
| Trutka | Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia | - | | Trutka | Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia | - |
| Trzecie Oko | Kliknij [css_useSkill], aby aktywować widok z trzeciej osoby | 0 s | | Trzecie Oko | Kliknij [css_useSkill], aby aktywować widok z trzeciej osoby | 0 s |
| Tylko Głowa | Otrzymujesz obrażenia tylko w głowę | - | | Tylko Głowa | Otrzymujesz obrażenia tylko w głowę | - |
| Voodoo | Oznaczony wróg również otrzymuje część obrażeń, które ty dostajesz. | 0.5x |
| Waga Ciężka | Umiejętności, które cię popychają lub spowalniają, nie działają na ciebie. | - |
| Wallhack | Widzisz wrogów przez ściany | - | | Wallhack | Widzisz wrogów przez ściany | - |
| Wybuchowa Beczka | Kliknij [css_useSkill], aby postawić beczkę, która wybucha po trafieniu | 20 s | | Wybuchowa Beczka | Kliknij [css_useSkill], aby postawić beczkę, która wybucha po trafieniu | 20 s |
| Mocne Uderzenie | Naciśnij Attack2 na MP5, aby wystrzelić granat HE | 10 s |
| Wyluzowany | Podłożenie bomby zajmuje 10 sekund | - | | Wyluzowany | Podłożenie bomby zajmuje 10 sekund | - |
| Zabierz Amunicję | Kliknij [css_useSkill], aby zabrać magazynek aktywnej broni losowego przeciwnika | - | | Zabierz Amunicję | Kliknij [css_useSkill], aby zabrać magazynek aktywnej broni losowego przeciwnika | - |
| Zabójczy Flash | Każdy całkowicie oślepiony twoim granatem umiera, włącznie z Tobą | - | | Zabójczy Flash | Każdy całkowicie oślepiony twoim granatem umiera, włącznie z Tobą | - |
@ -195,7 +203,7 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Zeus | Zeus x27 natychmiastowo się odnawia | - | | Zeus | Zeus x27 natychmiastowo się odnawia | - |
| Zwrot do Nadawcy | Pierwsze trafienie wroga powoduje, że wraca on na swój resp | - | | Zwrot do Nadawcy | Pierwsze trafienie wroga powoduje, że wraca on na swój resp | - |
| Złodziej | Możesz ukraść supermoc wybranemu graczowi | - | | Złodziej | Możesz ukraść supermoc wybranemu graczowi | - |
| Święty Granat Ręczny | Twoje granaty HE zadają podwójne obrażenia i mają podwójny zasięg | - | | Zlecenie Śmierci | Wyznacz nagrodę za głowę wroga; kto go zabije, dostaje pieniądze. | 300$ |
| Żelazna Głowa | Nie otrzymujesz obrażeń od strzałów w głowę | - | | Żelazna Głowa | Nie otrzymujesz obrażeń od strzałów w głowę | - |
| Żołnierz | Masz losowy mnożnik obrażeń | (1.15 - 1.35)x | | Żołnierz | Masz losowy mnożnik obrażeń | (1.15 - 1.35)x |
@ -295,7 +303,13 @@ Wszystkie sypermoce można dostosować w pliku **`config.cfg`** / **`skillsInfo.
"SummaryAfterTheRound": true, // Pokazuj podsumowanie z ostatniej rundy "SummaryAfterTheRound": true, // Pokazuj podsumowanie z ostatniej rundy
"EnableBotSkills": true, // Włącz umiejętności dla botów "EnableBotSkills": true, // Włącz umiejętności dla botów
"EnableBotKickDebug": false, // Co 45 sekund wyrzuć losowego bota (do celów debugowania/testowania) "EnableBotKickDebug": false, // Co 45 sekund wyrzuć losowego bota (do celów debugowania/testowania)
"DebugMode": false, // Zapisuje logi debugowania (zdarzenia graczy i działanie pluginu) do folderu Debug "DebugMode": 0, // Zapisuje logi debugowania (zdarzenia graczy i działanie pluginu) do folderu Debug
// 0 - Wyłączone
// 1 - Skill
// 2 - Round
// 3 - Entity
// 4 - Damage
// Przykład: '123' włącza logowanie: Skill, Round i Entity
"PerfMode": false, // Zapisuje pomiary wydajności pluginu do folderu logs "PerfMode": false, // Zapisuje pomiary wydajności pluginu do folderu logs
"AlternativeSkillButton": null, // Możliwe przyciski: "AlternativeSkillButton": null, // Możliwe przyciski:
// null, "Attack", "Jump", "Duck", "Forward", "Back", // null, "Attack", "Jump", "Duck", "Forward", "Back",
@ -382,6 +396,7 @@ Plugin korzysta z zawartości następujących projektów:
- [GeoLite2](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data) autorstwa [MaxMind](https://www.maxmind.com/) - Dane geolokalizacyjne - [GeoLite2](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data) autorstwa [MaxMind](https://www.maxmind.com/) - Dane geolokalizacyjne
- [cs2-css-flashlight](https://github.com/creazy231/cs2-css-flashlight) autorstwa [creazy231](https://github.com/creazy231) - System tworzenia oświetlenia - [cs2-css-flashlight](https://github.com/creazy231/cs2-css-flashlight) autorstwa [creazy231](https://github.com/creazy231) - System tworzenia oświetlenia
- [CServerSideClient](https://discord.com/channels/1160907911501991946/1508172390863994910/1508180670659166348) autorstwa [SLAYER](https://github.com/zakriamansoor47) - [CServerSideClient](https://discord.com/channels/1160907911501991946/1508172390863994910/1508180670659166348) autorstwa [SLAYER](https://github.com/zakriamansoor47)
- [CS2Plugins](https://github.com/ByDexterTR/CS2Plugins) autorstwa [ByDexterTR](https://github.com/ByDexterTR)
## ❤️ Szczególne podziękowania ## ❤️ Szczególne podziękowania
<div align="center"> <div align="center">
@ -407,6 +422,109 @@ Plugin korzysta z zawartości następujących projektów:
## 📋 Lista Zmian ## 📋 Lista Zmian
<details>
<summary><b>v1.2.3.b7</b></summary>
- #### Wspólne systemy
- **DecoyTracker** - Śledzenie wabików z uwzględnieniem właściciela, wspólne dla **Zamrażającego Wabika, Magnetycznego Wabika i Grawitacyjnego Wabika**, zastępujące osobne słowniki pozycji dla każdej umiejętności.
- **DebugCategory** - Nowy enum flag obsługujący `DebugMode`, z automatyczną migracją ze starej wartości logicznej.
- **SkillsInfo.GetSkillConfig** - Indeksowane wyszukiwanie konfiguracji skilli zastępujące liniowe przeszukiwanie używane przy losowaniu i renderowaniu HUD-u.
- **SkillNames** - Buforowana tabela nazw enumów, eliminująca powtarzające się wywołania `ToString()` podczas renderowania.
- **SkillUtils.HideCarriedEntities** - Wspólne rozwiązywanie przenoszonej broni dla **C4 Kamuflażu, Duszka i Ninja**.
- #### Wydajność
- **Renderowanie skilli** - Usunięto wyszukiwanie konfiguracji o złożoności $O(n²)$; liczba rund przekraczających próg wydajności spadła z 89% do 0,3%.
- **CheckTransmit** - Łańcuch broni jest teraz rozwiązywany tylko raz dla każdej ukrytej postaci zamiast raz dla każdego odbiorcy; koszt **Duszka** spadł o 61%.
- **Pilot** - Smuga spalin jest teraz wstrzymywana i wznawiana zamiast niszczenia i tworzenia od nowa przy każdym zakończeniu lotu.
- **Magnetyczny Wabik** - Odczyty konfiguracji i lista postaci zostały przeniesione poza pętlę wykonywaną dla każdego wabika.
- **Zamrażający Wabik** - Odczyty konfiguracji zostały przeniesione poza pętlę wykonywaną przy każdym ticku.
- **Debug** - Hook obrażeń jest instalowany tylko wtedy, gdy włączono logowanie obrażeń.
- #### Poprawki
- **Zdalne Rozbrajanie** - Nie można już zakończyć rozbrajania i przyznać dodatkowej rundy po zakończeniu bieżącej rundy.
- **Obserwator** - Przy każdym użyciu wybierany jest inny przeciwnik; wyłączanie umiejętności nie tworzy już za każdym razem nieużywanej kamery.
- **Random** - Współdzielona instancja `Random` została zastąpiona przez `Random.Shared`, zapobiegając błędnym wynikom przy jednoczesnym użyciu.
- **Bejsbolista** - Wabiki są usuwane, gdy ich właściciel zginie lub straci umiejętność.
- **Zamrażający Wabik, Grawitacyjny Wabik, Magnetyczny Wabik** - Wabiki oraz ich pierścienie na ziemi są usuwane po odebraniu umiejętności.
- **Trzecie Oko** - Naprawiono sprawdzanie kamery odwołujące się do brakującego `CameraServices`; przełączanie drzwi sprawdza teraz klasę encji przed rzutowaniem.
- **Początek rundy** - Naprawiono pojawianie się komunikatu `[gamerules unavailable]` przy pierwszym zakończeniu czasu zamrożenia po każdej zmianie mapy.
- **Konfiguracja** - Dodano migrację kluczy brakujących w istniejących plikach konfiguracyjnych.
- #### Menu
- **WASDMenuAPI** - Naprawiono niepoprawny znacznik `<font>`, który powodował otwarcie atrybutu bez jego zamknięcia przy każdym niepodświetlonym wierszu menu.
- **Menu WSAD** - Linia z informacją o sterowaniu nie jest już usuwana, gdy ukryta zostanie linia nagłówka.
- **HtmlHudCustomisation** - Puste opcje rozmiaru linii ukrywają teraz linię zamiast generować nieprawidłową klasę fontu.
- #### Debug
- **DebugMode** - Zmieniono z wartości logicznej na liczbę z połączonymi cyframi kategorii:
- `1` - Skill
- `2` - Round
- `3` - Entity
- `4` - Damage
Przykład: `123` włącza logowanie **Skill, Round i Entity**. `0` wyłącza logowanie. Istniejące wartości `true` są migrowane automatycznie.
- **EntityManager** - Tworzenie, niszczenie i błędy encji są teraz logowane w kategorii **Entity** zamiast bezpośrednio w konsoli serwera.
- Przy uruchamianiu serwer informuje, które kategorie debugowania są aktywne.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#52](https://github.com/Juzlus/jRandomSkills/pull/52). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.3.b6</b></summary>
- #### Nowe moce (9)
- **Zlecenie Śmierci** - Wyznacz nagrodę za głowę wroga; kto go zabije, dostaje pieniądze.
- **Granat EMP** - Kto oberwie twoim granatem, na chwilę traci radar i celownik.
- **Grawitacyjny Wabik** - Twój wabik zmienia grawitację wszystkich w pobliżu.
- **Waga Ciężka** - Umiejętności, które cię popychają lub spowalniają, nie działają na ciebie.
- **Nemezis** - Oznaczony gracz otrzymuje dodatkowe obrażenia.
- **Karający** - Gromadzisz część otrzymanych obrażeń i uwalniasz je przy następnym strzale.
- **Cofnięcie** - Naciśnij [css_useSkill], aby zostawić znacznik i wkrótce do niego wrócić.
- **Prawdziwy Pancerz** - Pancerz pochłania część otrzymywanych obrażeń zamiast zdrowia.
- **Voodoo** - Oznaczony wróg również otrzymuje część obrażeń, które ty dostajesz.
- #### Wspólne systemy
- **DecoyRing** - Wspólny pierścień na ziemi pokazujący rzeczywisty zasięg działania wabika.
- **Konfiguracja DecoyRing** - Dodano opcję wyłączenia pierścienia DecoyRing. [autor: [@Juzlus](https://github.com/Juzlus)]
- **WeaponPool** - Scentralizowana klasyfikacja broni z obsługą konfigurowalnej sekcji `Weapons`, zastępująca powielone listy broni w wielu skillach.
- **Ukrywanie HUD-u** - System zliczania aktywnych blokad radaru/celownika zapobiega zbyt wczesnemu przywracaniu HUD-u przy nakładających się skillach.
- **ResolveHiddenPawns** - Wspólne rozwiązywanie niewidzialnych postaci dla **C4 Kamuflażu, Duszka i Ninja**.
- **Konfiguracja** - Dodano sekcję `Weapons` z automatyczną migracją dla istniejących instalacji.
- **DisableOnPistolRound** - Nowa opcja dostępna dla każdego skilla, pozwalająca wyłączyć go podczas rundy pistoletowej; obsługiwana zarówno przy losowaniu skilli, jak i przez `css_setskill`.
- #### Dźwięk
* Zbalansowano głośność dźwięków skilli.
* Dodano `SkillUtils.EmitSoundToPlayer` z filtrowaniem odbiorców, dzięki czemu dźwięki skilli nie są już odtwarzane wszystkim graczom.
* Dodano nowe efekty dźwiękowe dla **Długiego Noża, Haka, Rykoszetu, Koszmaru, Linki z Drutu, Zakłócacza, Zdalnego Rozbrajania** i innych.
* Dodano konfigurowalny `SoundVolume` dla **29 skilli**; **Długi Nóż** obsługuje również `HitSoundVolume`.
- **Hak** - Dźwięk trafienia haka jest teraz odtwarzany w miejscu, w które trafił hak.
- **Pawel Jumper** - Dźwięk jest odtwarzany tylko przy dodatkowych skokach.
- #### Modele i efekty wizualne
- **Hak** - Dodano właściwy model haka z konfigurowalnymi wartościami `hookScale` i `hookEmbed`.
- **Pilot** - Dodano świecącą smugę spalin podczas lotu.
- #### Wydajność
- **SkillsInfo.GetValue** - Dodano cache eliminujący powtarzające się operacje reflection.
- **HUD** - Dodano cache renderowania, aby pomijać identyczne klatki.
- **Glaz** - Zoptymalizowano wyszukiwanie indeksów dymu oraz mapowanie właścicieli postaci.
- **playersSkills** - `ConcurrentBag` zastąpiono `HashSet`, poprawiając wyszukiwanie przy opcji `NoRepeat`.
- #### Poprawki
- **NoRepeat** - Naprawiono problem, przez który gracze mogli otrzymywać kilka kopii tego samego skilla w jednej rundzie.
- **Papito** - Broń jest teraz prawidłowo przywracana po zmianie drużyn w połowie meczu.
- **Analfabeta** - Komunikaty dla posiadacza skilla docierają teraz do czatu i omijają jego własne zakłócenie tekstu.
- **EntityManager.DestroyBeam** - Naprawiono problem, przez który wiązki czasami pozostawały widoczne po zniszczeniu.
- **Rykoszet** - Usunięto diagnostyczne śledzenie generujące nadmierną ilość logów debugowania.
- **Trzecie Oko** - Dodano możliwość interakcji z drzwiami podczas korzystania z widoku trzeciej osoby. [autor: [@Juzlus](https://github.com/Juzlus)]
- #### Debug
- Komunikaty dotyczące rozpoczęcia rundy rozgrzewkowej, końca rundy i zakończenia czasu zamrożenia mają teraz oznaczenie `[WARMUP]`, aby oddzielić aktywność rozgrzewki od obciążenia związanego z właściwą rundą.
**"Pełna" aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#50](https://github.com/Juzlus/jRandomSkills/pull/50). Dziękujemy ByDexterTR!**
</details>
<details> <details>
<summary><b>v1.2.3.b5</b></summary> <summary><b>v1.2.3.b5</b></summary>
@ -455,29 +573,29 @@ Plugin korzysta z zawartości następujących projektów:
<summary><b>v1.2.3.b4</b></summary> <summary><b>v1.2.3.b4</b></summary>
- #### Ogólne: - #### Ogólne:
- ###### Dodano powiadomienie o aktywacji umiejętności `Analfabeta`. [by: [@Juzlus](https://github.com/Juzlus)] - ###### Dodano powiadomienie o aktywacji umiejętności `Analfabeta`. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### `Analfabeta` wpływa teraz tylko na wiadomości związane z umiejętnościami. [by: [@Juzlus](https://github.com/Juzlus)] - ###### `Analfabeta` wpływa teraz tylko na wiadomości związane z umiejętnościami. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### FOV jest teraz resetowany tylko wtedy, gdy umiejętność `Lupa` jest aktywna, a aktualny FOV gracza odpowiada wartości ustawionej przez Lupa. [by: [@Juzlus](https://github.com/Juzlus)] - ###### FOV jest teraz resetowany tylko wtedy, gdy umiejętność `Lupa` jest aktywna, a aktualny FOV gracza odpowiada wartości ustawionej przez Lupa. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Klątwy są teraz cały czas śledzone i automatycznie usuwane po opuszczeniu serwera przez gracza, dzięki czemu nie przechodzą na kolejnego gracza używającego tego samego slotu. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Klątwy są teraz cały czas śledzone i automatycznie usuwane po opuszczeniu serwera przez gracza, dzięki czemu nie przechodzą na kolejnego gracza używającego tego samego slotu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Naprawiono problem, przez który błąd podczas czyszczenia rundy mógł zatrzymać dalsze czyszczenie i pozostawić blokadę usuwania encji aktywną do końca mapy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono problem, przez który błąd podczas czyszczenia rundy mógł zatrzymać dalsze czyszczenie i pozostawić blokadę usuwania encji aktywną do końca mapy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Poprawki mocy: - #### Poprawki mocy:
- ###### Wallhack / Koszmar: - ###### Wallhack / Koszmar:
- ###### Naprawiono problem, przez który obie umiejętności były ujawniane całemu serwerowi podczas pokazywania umiejętności na początku rundy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono problem, przez który obie umiejętności były ujawniane całemu serwerowi podczas pokazywania umiejętności na początku rundy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Mocne Uderzenie / Ludzka Bomba / Wybuchowa Beczka / Strzał Wybuchowy / Toksyczny Dym: - ###### Mocne Uderzenie / Ludzka Bomba / Wybuchowa Beczka / Strzał Wybuchowy / Toksyczny Dym:
- ###### Te umiejętności uwzględniają teraz redukcję obrażeń od przyjaznego ognia. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Te umiejętności uwzględniają teraz redukcję obrażeń od przyjaznego ognia. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Deszcz Ognia: - ###### Deszcz Ognia:
- ###### Dodano tryb rozprysku, który jest automatycznie używany po wykryciu sufitu nad celem. [by: [@Juzlus](https://github.com/Juzlus)] - ###### Dodano tryb rozprysku, który jest automatycznie używany po wykryciu sufitu nad celem. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Molotovy poprawnie zachowują teraz właściciela oraz drużynę, dzięki czemu zasady przyjaznego ognia działają poprawnie. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Molotovy poprawnie zachowują teraz właściciela oraz drużynę, dzięki czemu zasady przyjaznego ognia działają poprawnie. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Lecząca Kura: - ###### Lecząca Kura:
- ###### Dodano opcję konfiguracji zdrowia przywoływanych kurczaków. [by: [@Juzlus](https://github.com/Juzlus)] - ###### Dodano opcję konfiguracji zdrowia przywoływanych kurczaków. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Sojusznicy nie mogą już zadawać obrażeń ani zabijać przywołanych kurczaków. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Sojusznicy nie mogą już zadawać obrażeń ani zabijać przywołanych kurczaków. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Zabierz Amunicję: - ###### Zabierz Amunicję:
- ###### Naprawiono crash podczas zmiany mapy przy przywracaniu amunicji zapasowej broni. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono crash podczas zmiany mapy przy przywracaniu amunicji zapasowej broni. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Fortnite: - ###### Fortnite:
- ###### Ściana pojawia się teraz z wysokim początkowym HP, dzięki czemu nie niszczy się natychmiast po postawieniu. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Ściana pojawia się teraz z wysokim początkowym HP, dzięki czemu nie niszczy się natychmiast po postawieniu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Odrzutowy Kop / Ostrożne Pociski / Dzikie Rzuty: - ###### Odrzutowy Kop / Ostrożne Pociski / Dzikie Rzuty:
- ###### Naprawiono pozostające efekty po rozłączeniu się gracza będącego celem tych umiejętności. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono pozostające efekty po rozłączeniu się gracza będącego celem tych umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
</details> </details>
@ -634,29 +752,29 @@ Plugin korzysta z zawartości następujących projektów:
<summary><b>v1.2.2.b7</b></summary> <summary><b>v1.2.2.b7</b></summary>
- #### Ogólne: - #### Ogólne:
- ###### Zaktualizowano sygnatury gamedata do najnowszej aktualizacji CS2 (build 24134959) oraz zaktualizowano CounterStrikeSharp do wersji 1.0.371. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Zaktualizowano sygnatury gamedata do najnowszej aktualizacji CS2 (build 24134959) oraz zaktualizowano CounterStrikeSharp do wersji 1.0.371. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### FNaprawiono `NullReferenceException` występujący podczas podnoszenia broni, gdy dane broni wskazywały na zwolnioną pamięć schematu. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### FNaprawiono `NullReferenceException` występujący podczas podnoszenia broni, gdy dane broni wskazywały na zwolnioną pamięć schematu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### `FullForceUpdate` został zmieniony na opcjonalne ustawienie w konfiguracji. Jego włączenie zmniejsza ryzyko błędów PVS, ale powoduje znaczne obciążenie serwera (domyślnie wyłączone). [by: [@Juzlus](https://github.com/Juzlus)] - ###### `FullForceUpdate` został zmieniony na opcjonalne ustawienie w konfiguracji. Jego włączenie zmniejsza ryzyko błędów PVS, ale powoduje znaczne obciążenie serwera (domyślnie wyłączone). [autor: [@Juzlus](https://github.com/Juzlus)]
- #### Poprawki mocy: - #### Poprawki mocy:
- ###### Duszek: - ###### Duszek:
- ###### Teraz może podkładać C4. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Teraz może podkładać C4. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Samowolka / Krótka Bomba: - ###### Samowolka / Krótka Bomba:
- ###### Odliczanie bomby wyświetlane na ekranie jest teraz zgodne z ustawionym czasem detonacji (`mp_c4timer`). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Odliczanie bomby wyświetlane na ekranie jest teraz zgodne z ustawionym czasem detonacji (`mp_c4timer`). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Bogacz: - ###### Bogacz:
- ###### Bonus za pieniądze teraz respektuje `mp_maxmoney` zamiast być ograniczony na sztywno do wartości 16000. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Bonus za pieniądze teraz respektuje `mp_maxmoney` zamiast być ograniczony na sztywno do wartości 16000. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Druga Szansa: - ###### Druga Szansa:
- ###### Teraz niezawodnie odradza gracza w bazie po otrzymaniu śmiertelnego obrażenia, również od obrażeń od upadku. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Teraz niezawodnie odradza gracza w bazie po otrzymaniu śmiertelnego obrażenia, również od obrażeń od upadku. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Cień: - ###### Cień:
- ###### Naprawiono fałszywy komunikat "brak miejsca" podczas teleportacji za cel z bliskiej odległości. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono fałszywy komunikat "brak miejsca" podczas teleportacji za cel z bliskiej odległości. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Radarowiec: - ###### Radarowiec:
- ###### Teraz ujawnia przeciwników tylko posiadaczowi mocy zamiast całej jego drużynie oraz nie ujawnia już niewidzialnych ani zamaskowanych przeciwników. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Teraz ujawnia przeciwników tylko posiadaczowi mocy zamiast całej jego drużynie oraz nie ujawnia już niewidzialnych ani zamaskowanych przeciwników. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### C4 Kamuflaż: - ###### C4 Kamuflaż:
- ###### Niewidzialny gracz niosący bombe nie pojawia się już na radarze przeciwników. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Niewidzialny gracz niosący bombe nie pojawia się już na radarze przeciwników. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Gorąca bomba: - ###### Gorąca bomba:
- ###### Podpowiedź dotycząca "gorącej bomby" nie pojawia się już w rundach, w których nikt nie posiada tej mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Podpowiedź dotycząca "gorącej bomby" nie pojawia się już w rundach, w których nikt nie posiada tej mocy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Błazen: - ###### Błazen:
- ###### Naprawiono crashe występujące podczas wyłączania mocy. [by: [@Juzlus](https://github.com/Juzlus)] - ###### Naprawiono crashe występujące podczas wyłączania mocy. [autor: [@Juzlus](https://github.com/Juzlus)]
</details> </details>
@ -664,22 +782,22 @@ Plugin korzysta z zawartości następujących projektów:
<summary><b>v1.2.2.b6</b></summary> <summary><b>v1.2.2.b6</b></summary>
- #### Ogólne: - #### Ogólne:
- ###### Wydajność: znacznie przyspieszono zmianę rundy - resetowane są tylko moce, które były aktywne w poprzedniej rundzie, zamiast wszystkich załadowanych (DisableAll skrócono z ok. 89 ms do ok. 5 ms na pełnym serwerze). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Wydajność: znacznie przyspieszono zmianę rundy - resetowane są tylko moce, które były aktywne w poprzedniej rundzie, zamiast wszystkich załadowanych (DisableAll skrócono z ok. 89 ms do ok. 5 ms na pełnym serwerze). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Wydajność i zużycie pamięci: usunięto alokacje LINQ oraz nazw mocy wykonywane przy każdym ticku, przyspieszono wyszukiwanie nazw mocy w HUD do złożoności O(1), a podstawianie kolorów i przycisków w tłumaczeniach przeniesiono do etapu ich wczytywania. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Wydajność i zużycie pamięci: usunięto alokacje LINQ oraz nazw mocy wykonywane przy każdym ticku, przyspieszono wyszukiwanie nazw mocy w HUD do złożoności O(1), a podstawianie kolorów i przycisków w tłumaczeniach przeniesiono do etapu ich wczytywania. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### `ForceFullUpdate` tworzy teraz usługę sieciową tylko raz na każde rozgłoszenie, a zabezpieczenie kątów widoku na początku rundy pomija wyłącznie rzeczywistą wartość zastępczą (0, 0, 0), zamiast błędnie pomijać również poprawne kąty. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### `ForceFullUpdate` tworzy teraz usługę sieciową tylko raz na każde rozgłoszenie, a zabezpieczenie kątów widoku na początku rundy pomija wyłącznie rzeczywistą wartość zastępczą (0, 0, 0), zamiast błędnie pomijać również poprawne kąty. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Logowanie debugowania jest aktywowane tylko wtedy, gdy włączony jest DebugMode, a wpisy są zapisywane przy użyciu jednego, ponownie wykorzystywanego strumienia zamiast każdorazowego otwierania pliku. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Logowanie debugowania jest aktywowane tylko wtedy, gdy włączony jest DebugMode, a wpisy są zapisywane przy użyciu jednego, ponownie wykorzystywanego strumienia zamiast każdorazowego otwierania pliku. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Stan mocy gracza został ujednolicony do jednej kolekcji (usunięto zduplikowaną listę), eliminując rzadkie problemy z desynchronizacją podczas rozłączenia gracza. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Stan mocy gracza został ujednolicony do jednej kolekcji (usunięto zduplikowaną listę), eliminując rzadkie problemy z desynchronizacją podczas rozłączenia gracza. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Sygnatury Gamedata są teraz wczytywane leniwie i niezależnie od siebie, dzięki czemu uszkodzona sygnatura po aktualizacji CS2 nie powoduje już awarii całej warstwy narzędziowej. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Sygnatury Gamedata są teraz wczytywane leniwie i niezależnie od siebie, dzięki czemu uszkodzona sygnatura po aktualizacji CS2 nie powoduje już awarii całej warstwy narzędziowej. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Zabezpieczono wiele ścieżek wykonywanych przy tickach i transmisji przed nieprawidłowymi uchwytami graczy, co zapobiega rzadkim awariom. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Zabezpieczono wiele ścieżek wykonywanych przy tickach i transmisji przed nieprawidłowymi uchwytami graczy, co zapobiega rzadkim awariom. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### HUD z opisem mocy poprawnie obsługuje opcję "zawsze pokazuj" (-1) we wszystkich ścieżkach przypisywania mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### HUD z opisem mocy poprawnie obsługuje opcję "zawsze pokazuj" (-1) we wszystkich ścieżkach przypisywania mocy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Poprawki mocy: - #### Poprawki mocy:
- ###### Błazen: - ###### Błazen:
- ###### Naprawiono błąd, przez który efekt braku obrażeń pozostawał na graczu po zmianie jego mocy w trakcie rundy (np. po kradzieży przez Złodzieja lub usunięciu przez Dezaktywatora) - stan wewnętrzny jest teraz poprawnie czyszczony po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono błąd, przez który efekt braku obrażeń pozostawał na graczu po zmianie jego mocy w trakcie rundy (np. po kradzieży przez Złodzieja lub usunięciu przez Dezaktywatora) - stan wewnętrzny jest teraz poprawnie czyszczony po wyłączeniu mocy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Stópkarz: - ###### Stópkarz:
- ###### Naprawiono problem z gromadzeniem się śladów w trakcie rundy - poprzedni ślad jest teraz usuwany przed utworzeniem nowego. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Naprawiono problem z gromadzeniem się śladów w trakcie rundy - poprzedni ślad jest teraz usuwany przed utworzeniem nowego. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Oko Sokoła / Trzecie Oko / Obserwator: - ###### Oko Sokoła / Trzecie Oko / Obserwator:
- ###### Stan kamery jest teraz całkowicie resetowany po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Stan kamery jest teraz całkowicie resetowany po wyłączeniu mocy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
</details> </details>

141
README.md
View file

@ -47,8 +47,7 @@ Join the 3v3 test server and try out the jRandomSkills plugin:
Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.html). Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.html).
## ✨ Current Skills (154)
## ✨ Current Skills (145)
<details> <details>
<summary>The table below lists all available skills in the game, along with their descriptions.</summary> <summary>The table below lists all available skills in the game, along with their descriptions.</summary>
@ -58,8 +57,6 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Aim Lock | Click [css_useSkill] to lock your aim on the nearest enemy | 20 s | | Aim Lock | Click [css_useSkill] to lock your aim on the nearest enemy | 20 s |
| Anomaly | Click [css_useSkill] to rewind a few seconds back in time | 15 s | | Anomaly | Click [css_useSkill] to rewind a few seconds back in time | 15 s |
| Anti-Flash | You are immune to flashbangs, and your flashbangs last 7 seconds | - | | Anti-Flash | You are immune to flashbangs, and your flashbangs last 7 seconds | - |
| Iron Head | You take no damage from headshots | - |
| Zone Reaper | You can choose a bomb site to deactivate | - |
| Armored | You have a random damage taken multiplier | (0.65 - 0.85)x | | Armored | You have a random damage taken multiplier | (0.65 - 0.85)x |
| Assassin | You deal increased damage to enemies from behind | - | | Assassin | You deal increased damage to enemies from behind | - |
| Astronaut | You receive a random gravity value at the start of the round | (0.1 - 0.7)x | | Astronaut | You receive a random gravity value at the start of the round | (0.1 - 0.7)x |
@ -68,6 +65,7 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Berserker | You deal more damage and move faster as your health gets lower | - | | Berserker | You deal more damage and move faster as your health gets lower | - |
| Blademaster | While holding a knife, you have a high chance to deflect a shot | - | | Blademaster | While holding a knife, you have a high chance to deflect a shot | - |
| Blast Shot | Press Attack2 with the MP5 to fire an HE grenade | 10 s | | Blast Shot | Press Attack2 with the MP5 to fire an HE grenade | 10 s |
| Bounty | Put a price on an enemy's head; whoever kills them takes the money | 300$ |
| Bunny | You get auto "BunnyHop" | - | | Bunny | You get auto "BunnyHop" | - |
| C4 Camouflage | You are invisible while holding the bomb | - | | C4 Camouflage | You are invisible while holding the bomb | - |
| Careful Bullets | Select a player who takes damage for every missed shot | - | | Careful Bullets | Select a player who takes damage for every missed shot | - |
@ -83,13 +81,13 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Death Bomb | You explode upon death, killing nearby players | - | | Death Bomb | You explode upon death, killing nearby players | - |
| Demon Eye | You deal damage to every enemy you are looking at | 2 s | | Demon Eye | You deal damage to every enemy you are looking at | 2 s |
| Disarmament | You have a random chance to make an enemy drop their weapon on hit | (20 - 35)% | | Disarmament | You have a random chance to make an enemy drop their weapon on hit | (20 - 35)% |
| Rangefinder | You can see the distance to the nearest enemy | - |
| Dash | Perform a second jump to dash | - | | Dash | Perform a second jump to dash | - |
| Dracula | Hitting an enemy restores health equal to a percentage of the damage dealt | - | | Dracula | Hitting an enemy restores health equal to a percentage of the damage dealt | - |
| Duplicator | Choose a player to copy their skill | - | | Duplicator | Choose a player to copy their skill | - |
| Dwarf | Random character size at the start of the round | (60 - 95)% | | Dwarf | Random character size at the start of the round | (60 - 95)% |
| Enemy Spin | You have a random chance to turn an enemy 180° when hitting them | (20 - 40)% | | EMP Grenade | Anyone hurt by your grenade loses their radar and crosshair for a while | 3 s |
| Enemy Spawn | Click [css_useSkill] to teleport to the enemy spawn | 15 s | | Enemy Spawn | Click [css_useSkill] to teleport to the enemy spawn | 15 s |
| Enemy Spin | You have a random chance to turn an enemy 180° when hitting them | (20 - 40)% |
| Expensive Ammo | A chosen enemy has to pay for every shot | - | | Expensive Ammo | A chosen enemy has to pay for every shot | - |
| Exploding Barrel | Click [css_useSkill] to place a barrel that explodes when shot | 20 s | | Exploding Barrel | Click [css_useSkill] to place a barrel that explodes when shot | 20 s |
| Explosive Shot | Random chance to fire an explosive bullet while shooting | (15 - 30)% | | Explosive Shot | Random chance to fire an explosive bullet while shooting | (15 - 30)% |
@ -104,15 +102,17 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Freezing Decoy | Your decoy freezes all nearby players | - | | Freezing Decoy | Your decoy freezes all nearby players | - |
| Gambler | Select a skill from the list provided | - | | Gambler | Select a skill from the list provided | - |
| Ghost | You are completely invisible | - | | Ghost | You are completely invisible | - |
| Giant | Enlarge an enemy of your choice | (110 - 140)% | | Giant | Enlarge an enemy of your choice | (110 - 140)% |
| Glaz | You can see through smoke grenades | - | | Glaz | You can see through smoke grenades | - |
| Glitch | Disables the radar for a chosen enemy | - | | Glitch | Disables the radar for a chosen enemy | - |
| Glue | Your grenades stick to walls | - | | Glue | Your grenades stick to walls | - |
| God Mode | Click [css_useSkill] to become immortal for a short time | 30 s | | God Mode | Click [css_useSkill] to become immortal for a short time | 30 s |
| Grapple Hook | Press [css_useSkill] to fire a hook at the point you're aiming at and pull yourself there | 10 s | | Grapple Hook | Press [css_useSkill] to fire a hook at the point you're aiming at and pull yourself there | 10 s |
| Gravity Decoy | Your decoy changes the gravity of everyone nearby | 0.5x |
| Grenadier | You have infinite HE grenades | - | | Grenadier | You have infinite HE grenades | - |
| Healing Chicken | Your chickens heal you while you are nearby | 1 s = 5 HP | | Healing Chicken | Your chickens heal you while you are nearby | 1 s = 5 HP |
| Healing Smoke | Your smoke grenades heal | - | | Healing Smoke | Your smoke grenades heal | - |
| Heavyweight | Skills that push or slow you down have no effect on you | - |
| Hermit | Killing restores ammo and a portion of health | - | | Hermit | Killing restores ammo and a portion of health | - |
| Holy Hand Grenade | Your HE grenades deal double damage and have double range | - | | Holy Hand Grenade | Your HE grenades deal double damage and have double range | - |
| Homing Grenades | Your grenades (except smokes) are attracted to enemies | - | | Homing Grenades | Your grenades (except smokes) are attracted to enemies | - |
@ -123,16 +123,16 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Impostor | You start the round with an enemy player model | - | | Impostor | You start the round with an enemy player model | - |
| Infinite Ammo | You receive infinite ammo for all your weapons | - | | Infinite Ammo | You receive infinite ammo for all your weapons | - |
| Inheritance | When a teammate dies you can take over their skill | - | | Inheritance | When a teammate dies you can take over their skill | - |
| Tracker | Choose a player who will leave a trail behind them | - | | Iron Head | You take no damage from headshots | - |
| Jammer | Choose a player to disable their crosshair | - | | Jammer | Choose a player to disable their crosshair | - |
| Jester | In jester mode, you cannot get or take any damage. This mode changes every few seconds | (10 - 25) s | | Jester | In jester mode, you cannot get or take any damage. This mode changes every few seconds | (10 - 25) s |
| Jetkick | Select a player to jetkick | - | | Jetkick | Select a player to jetkick | - |
| Legless | Choose a player who cannot jump | - |
| Jump Curse | A chosen enemy jumps whenever one of their teammates jumps | - | | Jump Curse | A chosen enemy jumps whenever one of their teammates jumps | - |
| Jumping Jack | Jumping restores health | - | | Jumping Jack | Jumping restores health | - |
| Killer Flash | Anyone fully blinded by your flashbang dies (including you) | - | | Killer Flash | Anyone fully blinded by your flashbang dies (including you) | - |
| Knockback | Firing while airborne pushes you backwards | - | | Knockback | Firing while airborne pushes you backwards | - |
| Last Gasp | After you die, you deal damage to the enemy who killed you | 30 HP | | Last Gasp | After you die, you deal damage to the enemy who killed you | 30 HP |
| Legless | Choose a player who cannot jump | - |
| Life Swap | Choose a player to swap health with | - | | Life Swap | Choose a player to swap health with | - |
| Long Knife | A primary knife attack deals damage regardless of distance | - | | Long Knife | A primary knife attack deals damage regardless of distance | - |
| Long Zeus | Zeus deals damage regardless of distance | - | | Long Zeus | Zeus deals damage regardless of distance | - |
@ -141,11 +141,11 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Magnifier | Forces the enemy's screen to zoom in, reducing their field of view | - | | Magnifier | Forces the enemy's screen to zoom in, reducing their field of view | - |
| Medic | Click [css_useSkill] to use a healing charge that restores 50 health | 1 s | | Medic | Click [css_useSkill] to use a healing charge that restores 50 health | 1 s |
| Bomb Miner | Your HE grenade only explodes when there is an enemy nearby | - | | Bomb Miner | Your HE grenade only explodes when there is an enemy nearby | - |
| Taxman | Choose a player to swap money with | - | | Nemesis | The player you mark takes extra damage | +0.25x |
| Nightmare | Force a chosen enemy to experience a terrifying vision | - | | Nightmare | Force a chosen enemy to experience a terrifying vision | - |
| Ninja | Standing still increases your invisibility by 33%, crouching by 33%, and holding a knife by 33% | - | | Ninja | Standing still increases your invisibility by 33%, crouching by 33%, and holding a knife by 33% | - |
| No-Nades | Grenades deal no damage to you | - | | No-Nades | Grenades deal no damage to you | - |
| Focus | No recoil while shooting | - | | No Rifles | Choose a player who cannot use rifles | - |
| NoClip | Click [css_useSkill] to enable noclip for a short time | 30 s | | NoClip | Click [css_useSkill] to enable noclip for a short time | 30 s |
| One-Shot | Hitting an enemy instantly kills them | - | | One-Shot | Hitting an enemy instantly kills them | - |
| Head Only | You only take damage to the head | - | | Head Only | You only take damage to the head | - |
@ -158,6 +158,7 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| No Rifles | Choose a player who cannot use rifles | - | | No Rifles | Choose a player who cannot use rifles | - |
| Prosthesis | Arms and legs are bulletproof | - | | Prosthesis | Arms and legs are bulletproof | - |
| Pusher | You have a random chance to push an enemy back when hitting them | 100% | | Pusher | You have a random chance to push an enemy back when hitting them | 100% |
| Punisher | You bank part of the damage you take and add it to your next hit | 0.5x |
| Pyro | Molotov restores health | - | | Pyro | Molotov restores health | - |
| Rapid Fire | All bullets are fired very quickly | - | | Rapid Fire | All bullets are fired very quickly | - |
| Radar Hack | Enemies are visible on the radar | - | | Radar Hack | Enemies are visible on the radar | - |
@ -169,6 +170,7 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Replicator | Click [css_useSkill] to create a replica that deals damage on hit | 15 s | | Replicator | Click [css_useSkill] to create a replica that deals damage on hit | 15 s |
| Retreat | Click [css_useSkill] to return to spawn | 15 s | | Retreat | Click [css_useSkill] to return to spawn | 15 s |
| Return to Sender | The first hit on an enemy sends them back to their spawn | - | | Return to Sender | The first hit on an enemy sends them back to their spawn | - |
| Rewind | Click [css_useSkill] to drop a marker where you stand and return to it shortly after | 30 s |
| Rich Boy | You receive a random amount of money at the start of the round | (5000 - 15000)$ | | Rich Boy | You receive a random amount of money at the start of the round | (5000 - 15000)$ |
| Ricochet | Your bullets bounce off walls and can still hit enemies | - | | Ricochet | Your bullets bounce off walls and can still hit enemies | - |
| Robin Hood | Dealing damage to an enemy steals their money | - | | Robin Hood | Dealing damage to an enemy steals their money | - |
@ -187,18 +189,23 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Take Ammo | Click [css_useSkill] to take the active weapon's magazine from a random enemy | - | | Take Ammo | Click [css_useSkill] to take the active weapon's magazine from a random enemy | - |
| Team Teleport | Press [css_useSkill] to teleport to the teammate you're looking at. | 15 s | | Team Teleport | Press [css_useSkill] to teleport to the teammate you're looking at. | 15 s |
| Teleporter | You swap places with the hit enemy | - | | Teleporter | You swap places with the hit enemy | - |
| Taxman | Choose a player to swap money with | - |
| Thief | You can steal a skill from a chosen player | - | | Thief | You can steal a skill from a chosen player | - |
| Third Eye | Click [css_useSkill] to activate third-person view | 0 s | | Third Eye | Click [css_useSkill] to activate third-person view | 0 s |
| Thorns | Your opponent will receive a portion of the damage that they inflicted on you | - | | Thorns | Your opponent will receive a portion of the damage that they inflicted on you | - |
| Throwing Knife | Click [css_useSkill] to throw a knife. But watch out for others | - | | Throwing Knife | Click [css_useSkill] to throw a knife. But watch out for others | - |
| Toxic Smoke | Your smoke grenades deal damage | - | | Toxic Smoke | Your smoke grenades deal damage | - |
| Tracker | Choose a player who will leave a trail behind them | - |
| Tripwire | Click [css_useSkill] to string a wire between two walls. Enemies who touch it appear on your radar | 20 s | | Tripwire | Click [css_useSkill] to string a wire between two walls. Enemies who touch it appear on your radar | 20 s |
| True Armor | Part of the damage you take is paid by your armor instead of your health | 0.33x |
| Voodoo | The enemy you mark also takes part of the damage you take | 0.5x |
| Wallhack | You can see enemies through walls | - | | Wallhack | You can see enemies through walls | - |
| Watchmaker | Every grenade throw alters the round time | - | | Watchmaker | Every grenade throw alters the round time | - |
| Weapon Swap | Click [css_useSkill] to swap weapons with a random enemy | 30 s | | Weapon Swap | Click [css_useSkill] to swap weapons with a random enemy | 30 s |
| Weightlessness | Your grenades are not affected by gravity and fly faster | - | | Weightlessness | Your grenades are not affected by gravity and fly faster | - |
| Wild Throws | Choose a player who will have trouble throwing grenades | - | | Wild Throws | Choose a player who will have trouble throwing grenades | - |
| Zeus | Zeus x27 instantly recharges | - | | Zeus | Zeus x27 instantly recharges | - |
| Zone Reaper | You can choose a bomb site to deactivate | - |
</details> </details>
@ -296,7 +303,13 @@ All skills can be customized in the **`config.cfg`** / **`skillsInfo.json`** fil
"SummaryAfterTheRound": true, // Show summary of the last round "SummaryAfterTheRound": true, // Show summary of the last round
"EnableBotSkills": true, // Enable skills for bots "EnableBotSkills": true, // Enable skills for bots
"EnableBotKickDebug": false, // Kick a random bot every 45s (for debug/testing) "EnableBotKickDebug": false, // Kick a random bot every 45s (for debug/testing)
"DebugMode": false, // Save debug logs (player events and plugin activity) to the Debug folder "DebugMode": 0, // Save debug logs (player events and plugin activity) to the Debug folder
// 0 - Disabled
// 1 - Skill
// 2 - Round
// 3 - Entity
// 4 - Damage
// Example: '123' enables: Skill, Round and Entity
"PerfMode": false, // Save performance measurements to the logs folder "PerfMode": false, // Save performance measurements to the logs folder
"AlternativeSkillButton": null, // Possible buttons: "AlternativeSkillButton": null, // Possible buttons:
// null, "Attack", "Jump", "Duck", "Forward", "Back", // null, "Attack", "Jump", "Duck", "Forward", "Back",
@ -383,6 +396,7 @@ This plugin uses content from the following projects:
- [GeoLite2](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data) by [MaxMind](https://www.maxmind.com/) - Geolocation data - [GeoLite2](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data) by [MaxMind](https://www.maxmind.com/) - Geolocation data
- [cs2-css-flashlight](https://github.com/creazy231/cs2-css-flashlight) by [creazy231](https://github.com/creazy231) - Lighting creation system - [cs2-css-flashlight](https://github.com/creazy231/cs2-css-flashlight) by [creazy231](https://github.com/creazy231) - Lighting creation system
- [CServerSideClient](https://discord.com/channels/1160907911501991946/1508172390863994910/1508180670659166348) by [SLAYER](https://github.com/zakriamansoor47) - [CServerSideClient](https://discord.com/channels/1160907911501991946/1508172390863994910/1508180670659166348) by [SLAYER](https://github.com/zakriamansoor47)
- [CS2Plugins](https://github.com/ByDexterTR/CS2Plugins) by [ByDexterTR](https://github.com/ByDexterTR)
## ❤️ Special thanks ## ❤️ Special thanks
<div align="center"> <div align="center">
@ -408,6 +422,109 @@ This plugin uses content from the following projects:
## 📋 Changelog ## 📋 Changelog
<details>
<summary><b>v1.2.3.b7</b></summary>
- #### Shared Systems
- **DecoyTracker** - Owner-aware decoy tracking shared by FrozenDecoy, GravityDecoy and MagneticDecoy, replacing the per-skill position dictionaries.
- **DebugCategory** - New flag enum backing the numeric `DebugMode`, with automatic migration from the old boolean value.
- **SkillsInfo.GetSkillConfig** - Indexed skill config lookup replacing the linear scan used by draws and HUD rendering.
- **SkillNames** - Cached enum name table, removing repeated `ToString()` calls from the draw path.
- **SkillUtils.HideCarriedEntities** - Shared carried-weapon resolution for C4Camouflage, Ghost and Ninja.
- #### Performance
- **Skill draw** - Replaced the $O(n²)$ config lookup; rounds exceeding the perf threshold dropped from 89% to 0.3%.
- **CheckTransmit** - The weapon chain is now resolved once per hidden pawn instead of once per receiver; Ghost cost down 61%.
- **Pilot** - The exhaust trail is paused and resumed instead of being destroyed and recreated on every jump release.
- **MagneticDecoy** - Config reads and the pawn list are hoisted out of the per-decoy loop.
- **FrozenDecoy** - Config reads are hoisted out of the per-tick loop.
- **Debug** - The damage hook is only installed when damage logging is enabled.
- #### Fixes
- **PsychicDefusing** - Can no longer finish a defuse and award an extra round after the round has already ended.
- **Spectator** - Now picks a different enemy on each activation and no longer creates an unused camera prop every time the skill is switched off.
- **Random** - Replaced the shared `Random` instance with `Random.Shared`, preventing degenerate results from concurrent use.
- **Baseball** - Decoys are removed when their owner dies or loses the skill.
- **FrozenDecoy, GravityDecoy, MagneticDecoy** - Decoys and their ground rings are removed when the skill is taken away.
- **ThirdEye** - Fixed the camera check dereferencing a missing `CameraServices`, and the door toggle now verifies the entity class before casting.
- **Round start** - Fixed `[gamerules unavailable]` appearing on the first freeze-time end after every map change.
- **Config** - Added migration for keys missing from existing configuration files.
- #### Menu
- **WASDMenuAPI** - Fixed a malformed `<font>` tag that wrapped every non-hovered menu row in an unclosed attribute.
- **WSAD menu** - The controls line is no longer dropped when the header line is hidden.
- **HtmlHudCustomisation** - Line size options left empty now hide their line instead of emitting an invalid font class.
- #### Debug
- **DebugMode** - Changed from a boolean to a number with concatenated category digits:
- `1` - Skill
- `2` - Round
- `3` - Entity
- `4` - Damage
Example: `123` enables Skill, Round and Entity. `0` disables logging. Existing `true` values migrate automatically.
- **EntityManager** - Entity creation, destruction and failures are now logged under the Entity category instead of the server console.
- Startup now reports which debug categories are active.
**Full update contributed by [@ByDexterTR](https://github.com/ByDexterTR) in pull request [#52](https://github.com/Juzlus/jRandomSkills/pull/52). Thanks to ByDexterTR!**
</details>
<details>
<summary><b>v1.2.3.b6</b></summary>
- #### New Skills (9)
- **Bounty**: Put a price on an enemy's head; whoever kills them takes the money.
- **EMP Grenade**: Anyone hurt by your grenade loses their radar and crosshair for a while.
- **Gravity Decoy**: Your decoy changes the gravity of everyone nearby.
- **Heavyweight**: Skills that push or slow you down have no effect on you.
- **Nemesis**: The player you mark takes extra damage.
- **Punisher**: You bank part of the damage you take and add it to your next hit.
- **Rewind**: Click [css_useSkill] to drop a marker where you stand and return to it shortly after.
- **True Armor**: Part of the damage you take is paid by your armor instead of your health.
- **Voodoo**: The enemy you mark also takes part of the damage you take.
- #### Shared Systems
- **DecoyRing** - Shared ground ring showing the actual decoy area of effect.
- **DecoyRing Config** - Added an option to disable the DecoyRing. [by: [@Juzlus](https://github.com/Juzlus)]
- **WeaponPool** - Centralized weapon classification with configurable `Weapons` support, replacing duplicated weapon lists across multiple skills.
- **HUD Suppression** - Refcounted radar/crosshair hiding prevents overlapping skills from restoring HUD state too early.
- **ResolveHiddenPawns** - Shared invisible-pawn resolution for C4Camouflage, Ghost and Ninja.
- **Config** - Added a `Weapons` section with automatic migration for existing installations.
- **DisableOnPistolRound** - New per-skill option supported by both round draws and `css_setskill`.
- #### Sound
- Rebalanced skill sound volumes.
- Added `SkillUtils.EmitSoundToPlayer` with private recipient filtering, preventing skill sounds from being broadcast to all players.
- Added new sound effects for LongKnife, Grapple, Ricochet, Nightmare, Tripwire, Jammer, PsychicDefusing and more.
- Added configurable `SoundVolume` to **29 skills**; LongKnife also supports `HitSoundVolume`.
- **Grapple** - Hook impact sound now plays at the hook's position.
- **PawelJumper** - Only extra jumps emit a sound.
- #### Models & Visuals
- **Grapple** - Added a proper hook model with configurable `hookScale` and `hookEmbed`.
- **Pilot** - Added a glowing exhaust trail while airborne.
- #### Performance
- **SkillsInfo.GetValue** - Added caching to eliminate repeated reflection.
- **HUD** - Added render caching to skip identical frames.
- **Glaz** - Optimized smoke index resolution and pawn-owner mapping.
- **playersSkills** - Replaced `ConcurrentBag` with `HashSet`, improving `NoRepeat` lookups.
- #### Fixes
- **NoRepeat** - Fixed players receiving multiple copies of skills in the same round.
- **SniperElite** - Weapon is now correctly restored after the halftime team swap.
- **Illiterate** - Holder alerts now reach chat and bypass the holder's own scrambler.
- **EntityManager.DestroyBeam** - Fixed beams occasionally remaining visible after destruction.
- **Ricochet** - Removed diagnostic tracing that was generating excessive debug log output.
- **ThirdEye** - Added the ability to interact with doors while ThirdEye is active in third-person mode. [by: [@Juzlus](https://github.com/Juzlus)]
- #### Debug
- Warmup round start, round end and freeze-time-end messages are now tagged with `[WARMUP]` to separate warmup activity from live-round load.
**'Full' update contributed by [@ByDexterTR](https://github.com/ByDexterTR) in pull request [#50](https://github.com/Juzlus/jRandomSkills/pull/50). Thanks to ByDexterTR!**
</details>
<details> <details>
<summary><b>v1.2.3.b5</b></summary> <summary><b>v1.2.3.b5</b></summary>