jRandomSkills/README-PL.md
Astra d6f1bbb24f Merge upstream v1.2.4.b3: native CSS traces, drop Ray-Trace
Upstream replaced RayTraceApi/RayTraceImpl with CounterStrikeSharp's own Trace API
(CSS 1.0.375), so RayTrace-MM and RayTrace-CSS-API are no longer needed. Also brings the
CS2 1.41.8.3 gamedata fixes and the No Recoil, Long Zeus, Long Knife, Fragile Bomb and
Tripwire fixes.

Kept from this fork: Panorama skill card and target menu (PanoramaManager), css_setoverride,
WASDMenuAPI removed, no tracked "Server Files" build output. Version 1.2.4.b3-panorama1.
2026-09-25 12:20:39 +01:00

2033 lines
No EOL
155 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<img width="2200px" src="/jRandomSkills - SRC Files/src/icons/jRandomSkills.png">
<div align="center">
<a href="https://GitHub.com/Juzlus/jRandomSkills/releases/"><img alt="GitHub release" src="https://img.shields.io/github/release/Juzlus/jRandomSkills.svg?style=social&logo=github"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://GitHub.com/Juzlus/jRandomSkills/commit/"><img alt="GitHub latest commit" src="https://img.shields.io/github/last-commit/Juzlus/jRandomSkills.svg?style=social&logo=github"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://GitHub.com/Juzlus/jRandomSkills/releases/"><img alt="Github all releases" src="https://img.shields.io/github/downloads/Juzlus/jRandomSkills/total.svg?style=social&logo=github"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://GitHub.com/Juzlus/jRandomSkills/stargazers/"><img alt="GitHub stars" src="https://img.shields.io/github/stars/Juzlus/jRandomSkills.svg?style=social"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://discord.gg/9H8EZYBpPF"><img alt="Discord server" src="https://img.shields.io/discord/1409498685859037227?label=Discord&logo=discord&logoColor=white"></a>
</div>
## 📌 Oznaczenie
> [!NOTE]
> Te repozytorium jest to fork [projektu](https://github.com/jakubbartosik/dRandomSkills) stworzonego przez [Jakuba Bartosika (D3X)](https://github.com/jakubbartosik).
## 💡 Opis
jRandomSkills to plugin do CounterStrike 2, który wprowadza chaos i frajdę do rozgrywki! W każdej rundzie losowo otrzymujesz jedną z unikalnych supermocy - od niewidzialności, przez wybuchowe strzały, po manipulację kamerą. Zaskocz przeciwników, przejmij kontrolę nad meczem i odkryj dziesiątki kreatywnych umiejętności, które zmieniają dynamikę gry!
#### Wybierz język:
<a href="./README-PL.md">
<img width="50px" src="https://upload.wikimedia.org/wikipedia/en/thumb/1/12/Flag_of_Poland.svg/1920px-Flag_of_Poland.svg.png">
</a>
<a href="./README.md">
<img width="50px" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Flag_of_the_United_Kingdom_%281-2%29.svg/1920px-Flag_of_the_United_Kingdom_%281-2%29.svg.png">
</a>
## 💬 Dostępne języki
- **Angielski**
- **Polski**
- **Francuski** [autor: [@felyjyn](https://github.com/felyjyn)]
- **Portugalski (Brazylijski)** [autor: [@vinicius-trev](https://github.com/vinicius-trev)]
- **Niemiecki** [autor: [@Enrory](https://github.com/Enrory)]
- **Turecki** [autor: [@brkvlr](https://github.com/brkvlr), [@ByDexterTR](https://github.com/ByDexterTR)]
- **Rosyjski** [autor: [@213sdfsdgf](https://github.com/213sdfsdgf)]
- **Chiński uproszczony** [autor: [@Ericzzrbb](https://github.com/Ericzzrbb)]
## 🖼️ Prezentacja Pluginu
![Preview](https://github.com/Juzlus/jRandomSkills/blob/main/.github/preview.gif?raw=true)
![Preview2](https://github.com/Juzlus/jRandomSkills/blob/main/.github/preview2.gif?raw=true)
## 🌐 Serwer Testowy
Dołącz do serwera testowego 3v3 i wypróbuj plugin jRandomSkills:
- **Adres**: `jRandomSkills@pukawka.pl`
- **Hasło**: `public`
- **Godziny otwarcia**: `00:00-19:00`
- ~~**Połącz URL**: `steam://connect/51.38.122.215:27215/public`~~
- ~~**Połącz**: `connect 51.38.122.215:27215; password public`~~
Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://pukawka.pl/pp,juzlus.html).
## ✨ Aktualne Supermoce (154)
<details>
<summary>Poniższa tabela przedstawia wszystkie dostępne supermoce w grze, wraz z ich opisami.</summary>
| Nazwa | Opis | Czas dnowienia |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------- |
| Aim Lock | Kliknij [css_useSkill], aby wycelować na najbliższego wroga | 20 s |
| Aimbot | Każdy twój trafiony pocisk liczy się jako strzał w głowę | - |
| Analfabeta | Dopóki żyjesz, Twoi wrogowie nie potrafią czytać | - |
| Anomalia | Kliknij [css_useSkill], aby cofnąć się o kilka sekund w czasie | 15 s |
| Anty Flash | Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund | - |
| Astronauta | Na początku rundy otrzymujesz losową wartość grawitacji | (0.1 - 0.7)x |
| Bankrut | Wybierz gracza, który straci wszystkie swoje pieniądze | - |
| Bejsbolista | Twój wabik odbija się od ścian i natychmiast zabija wroga po trafieniu | - |
| Berserker | Zadajesz więcej obrażeń i poruszasz się szybciej, gdy masz mniej zdrowia | - |
| Beznogi | Wybierasz gracza, który nie będzie mógł skakać | - |
| Bogacz | Na początku rundy otrzymujesz losową kwotę gotówki | (5000 - 15000)$ |
| Bomberman | Twoje granaty HE wybuchają tylko wtedy, gdy w pobliżu jest wróg | - |
| Brak Karabinów | Wybierasz gracza, który nie może używać karabinów | - |
| Błazen | W trybie błazna nie możesz zadawać ani otrzymywać obrażeń. Tryb zmienia się co kilka sekund | (10 - 25) s |
| C4 Kamuflaż | Kiedy trzymasz bombę, jesteś niewidzialny | - |
| Cichociemny | Twoje kroki i skoki są niesłyszalne dla innych graczy | - |
| Ciernie | Twój przeciwnik otrzymuje część obrażeń, które zadał Ci | - |
| Cień | Teleportujesz się za plecy trafionego wroga | - |
| Deaktywator | Wybierasz gracza, którego supermoc chcesz wyłączyć | - |
| Deszcz Ognia | Rzuć wabik, aby przywołać deszcz koktajli Mołotowa | - |
| Doskok | Wykonaj drugi skok, aby wykonać doskok | - |
| Drakula | Po trafieniu ofiary odzyskujesz zdrowie równe pewnemu procentowi zadanych obrażeń | - |
| Droga Amunicja | Wybrany przeciwnik musi płacić za każdy oddany strzał | - |
| Druga Szansa | Po śmierci odradzasz się z taką samą ilością zdrowia | - |
| Duplikator | Wybierasz gracza, od którego chcesz skopiować supermoc | - |
| Duszek | Jesteś całkowicie niewidzialny | - |
| Dzikie Rzuty | Wybierz gracza, który będzie miał trudności z rzucaniem granatami | - |
| Długi Nóż | Podstawowy atak nożem zadaje obrażenia niezależnie od odległości | - |
| Długi Zeus | Zeus zadaje obrażenia niezależnie od odległości | - |
| Dźwiękowiec | Co jakiś czas słyszysz krzyki graczy | 2 s |
| Feniks | Masz losową szansę na odrodzenie się po śmierci | (20 - 40)% |
| Flash | Losowa prędkość postaci na początku rundy | (1.2 - 3.0)x |
| Fortnite | Kliknij [css_useSkill], aby stworzyć barykadę, którą można zniszczyć | 2 s |
| Glaz | Widzisz przez granaty dymne | - |
| Glitch | Wyłączasz radar wybranemu przeciwnikowi | - |
| 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 | - |
| 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 |
| Gumowe Kule | Twoje pociski znacznie spowalniają graczy | - |
| Głuchy | Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki | - |
| Hak | Naciśnij [css_useSkill], aby wystrzelić hak w celowany punkt i przyciągnąć się do niego | 10 s |
| Hazardzista | Wybierz umiejętność z podanej listy | - |
| Hologram | Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund | 30 s |
| Iluzjonista | Kliknij [css_useSkill], aby wypuścić replikę idącą prosto przed siebie | 30 s |
| Jednostrzałowiec | Po trafieniu natychmiast zabijasz przeciwnika | - |
| Kameleon | Pierwszy zabity gracz oddaje ci swoją umiejętność | - |
| 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)% |
| Klej | Twoje granaty przyklejają się do ścian | - |
| Klątwa Skakania | Wybrany przeciwnik skacze za każdym razem, gdy skaczą jego sojusznicy | - |
| Koszmar | Wywołaj u wybranego przeciwnika przerażającą wizję | - |
| Królik | Otrzymujesz auto "BunnyHopa" | - |
| Krucha Bomba | Strzelanie do bomby powoduje jej uszkodzenie | - |
| Krótka Bomba | Bomba wybucha znacznie szybciej | - |
| 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 |
| Lecząca Kura | Twoje kurczaki leczą Cię, gdy jesteś w pobliżu | 1 s = 5 HP |
| Leczący Dym | Twoje granaty dymne leczą | - |
| Linka z Drutu | Kliknij [css_useSkill], aby rozciągnąć drut między dwiema ścianami. Wrogowie, którzy go dotkną, zostają ujawnieni | 20 s |
| Losowa Broń | Kliknij [css_useSkill], aby otrzymać losową broń | 15 s |
| Ludzka bomba | Po śmierci eksplodujesz i zabijasz graczy znajdujących się w zasięgu | - |
| Lupa | Przybliżasz ekran wybranemu przeciwnikowi, zmniejszając jego pole widzenia | - |
| Magneto | Wszystkie granaty wroga są odpychane od Ciebie | - |
| Magnetyczny Wabik | Twój wabik przyciąga pobliskich graczy do siebie | - |
| 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)% |
| 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 | - |
| 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 | - |
| 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 |
| Ninja | Stojąc nieruchomo zwiększasz swoją niewidzialność o 33%, kucając o 33%, a trzymając nóż o 33% | - |
| Niszczyciel Stref | Możesz wybrać strefę detonacji, którą chcesz dezaktywować | - |
| NoClip | Kliknij [css_useSkill], aby włączyć noclip na krótki czas | 30 s |
| Nóż do Rzucania | Kliknij [css_useSkill], aby rzucić nożem. Ale uważaj na innych | - |
| Obrót Wroga | Masz losową szansę na obrócenie wroga o 180 stopni po trafieniu go | (20 - 40)% |
| Obserwator | Kliknij [css_useSkill], aby obserwować losowego przeciwnika | 0 s |
| Odległościomierz | Możesz zobaczyć odległość do najbliższego przeciwnika | - |
| Odpychacz | Masz losową szansę na odepchnięcie wroga po trafieniu go | 100% |
| Odrzut | Strzelanie w powietrzu odpycha Cię do tyłu | - |
| Odrzutowy Kop | Wybierz gracza, aby wykonać na nim odrzutowy kop | - |
| Odwrót | Kliknij [css_useSkill], aby powrócić na resp | 15 s |
| Ogień Przyjacielski | Strzelanie do członków drużyny leczy ich | - |
| Oko Demona | Zadajesz obrażenia każdemu przeciwnikowi, na którego patrzysz | 2 s |
| Oko Sokoła | Kliknij [css_useSkill], aby aktywować kamerę z lotu ptaka | - |
| Olbrzym | Powiększ wybranego przeciwnika | (110 - 140)% |
| Ostatnie Tchnienie | Po śmierci zadajesz obrażenia przeciwnikowi, który Cię zabił | 30 HP |
| Ostrożne Pociski | Wybierz gracza, który otrzymuje obrażenia za każdy niecelny strzał | - |
| Pajacyk | Skakanie przywraca zdrowie | - |
| Pancernik | Granaty nie zadają Ci obrażeń | - |
| Pancerz Reaktywny | Pancerz pochłania pierwsze otrzymane obrażenia | 15 s |
| Papito | Kliknij [css_useSkill], aby zamienić aktualną broń na AWP | 0 s |
| Pawel Jumper | Otrzymujesz dodatkowy skok | - |
| 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 | - |
| Pustelnik | Zabijanie przywraca amunicję i część zdrowia | - |
| Pyro | Molotow przywraca zdrowie | - |
| Radarowiec | Na radarze widać wrogów | - |
| Rambo | Na początku rundy otrzymujesz losową ilość zdrowia | +(50 - 501) HP |
| Re-Zombie | Po śmierci odradzasz się jako zombie z większym zdrowiem i bez broni | - |
| Regeneracja | Co kilka sekund odnawiasz zdrowie | - |
| Replikator | Kliknij [css_useSkill], aby stworzyć swoją replikę, która zadaje obrażenia po trafieniu | 15 s |
| Resp Wroga | Kliknij [css_useSkill], aby teleportować się na resp wroga | 15 s |
| Robin Hood | Zadanie obrażeń przeciwnikowi powoduje kradzież jego pieniędzy | - |
| Rozbrojenie | Masz losową szansę na wyrzucenie broni wroga po trafieniu | (20 - 35)% |
| Rykoszet | Twoje pociski odbijają się od ścian i nadal mogą trafić przeciwników | - |
| Samowolka | Bombę można podłożyć w dowolnym miejscu, a czas detonacji wynosi 60 sekund | - |
| Saper | Możesz szybciej podłożyć bombę i ją rozbroić | - |
| Scyzoryk | Natychmiastowe zabójstwo nożem | - |
| Skarbówka | Wybierasz gracza, z którym chcesz zamienić się pieniędzmi | - |
| Skrytobójca | Zadajesz podwójne obrażenia przeciwnikowi od tyłu | - |
| Skupienie | Brak odrzutu podczas strzelania | - |
| Spadek Rodzinny | Gdy członek drużyny ginie, możesz przejąć jego umiejętność | - |
| Strzał Wybuchowy | Losowa szansa wystrzelenia pocisku wybuchowego podczas strzelania | (15 - 30)% |
| Stópkarz | Wybierasz gracza, który pozostawi za sobą ślad | - |
| Szpieg | Na początku rundy otrzymujesz model postaci przeciwnika | - |
| Szybkie Rączki | Kliknij [css_useSkill], aby przeładować broń, którą obecnie trzymasz | - |
| 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 |
| Teleporter | Zamieniasz się miejscami z trafionym przeciwnikiem | - |
| Toksyczny Dym | Twoje granaty dymne zadają 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 |
| 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 | - |
| Wybuchowa Beczka | Kliknij [css_useSkill], aby postawić beczkę, która wybucha po trafieniu | 20 s |
| Wyluzowany | Podłożenie bomby zajmuje 10 sekund | - |
| 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ą | - |
| Zadymiarz | Twoje granaty dymne nigdy się nie kończą | - |
| Zakłócacz | Wybierasz gracza, dla którego chcesz wyłączyć celownik | - |
| Zamiana Broni | Kliknij [css_useSkill], aby zamienić się bronią z losowym przeciwnikiem | 30 s |
| Zamiana Miejsc | Kliknij [css_useSkill], aby zamienić się miejscami z losowym przeciwnikiem | 30 s |
| Zamiana Żyć | Wybierasz gracza, z którym chcesz wymienić się zdrowiem | - |
| Zamrażający Wabik | Twój wabik zamraża wszystkich graczy w pobliżu | - |
| Zdalne Rozbrajanie | Kiedy jesteś blisko bomby, zaczynasz ją rozbrajać | 10 s |
| Zegarmistrz | Każdy rzut granatem zmienia czas rundy | - |
| Zeus | Zeus x27 natychmiastowo się odnawia | - |
| Zwrot do Nadawcy | Pierwsze trafienie wroga powoduje, że wraca on na swój resp | - |
| Złodziej | Możesz ukraść supermoc wybranemu graczowi | - |
| 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ę | - |
| Żołnierz | Masz losowy mnożnik obrażeń | (1.15 - 1.35)x |
</details>
## 💻 Instalacja
1. Zainstaluj / Kup **serwer CS2**
- Dobry poradnik jak stworzyć własny serwer CS2 [[Film]](https://www.youtube.com/watch?v=1ZrEn0CiMi4&ab_channel=TroubleChute), [[Strona]](https://hub.tcno.co/games/cs2/dedicated_server/).
2. Zainstaluj **Metamod**
- Pobierz [Metamod:Source 2.x](https://www.sourcemm.net/downloads.php/?branch=master)
- Wypakuj go do folderu `C2Server/game/csgo/`
- Edytuj plik `gameinfo.gi` dodając nową linijkę
```json
Game_LowViolence csgo_lv // Perfect World content override
Game csgo/addons/metamod // <-- Linijka do dodania (kolejność ma znaczenie)
Game csgo
```
3. Zainstaluj **CounterStrikeSharp**
- Pobierz [CounterStrikeSharp-With-Runtime](https://github.com/roflmuffin/CounterStrikeSharp/releases)
- Wypakuj go do folderu `C2Server/game/csgo/`
4. Zainstaluj **Ray-Trace**
- Pobierz [RayTrace-CSS-API](https://github.com/FUNPLAY-pro-CS2/Ray-Trace/releases)
- Wypakuj folder `conterstrikesharp` do folderu `CS2Server/game/csgo/addons/`.
- Pobierz [RayTrace-MM](https://github.com/FUNPLAY-pro-CS2/Ray-Trace/releases)
- Wypakuj go do folderu `CS2Server/game/csgo/addons/`.
5. Zainstaluj **jRandomSkills**
- Pobierz [jRandomSkills](https://github.com/Juzlus/jRandomSkills/releases)
## </> Komendy Serwerowe
> [!TIP]
> **Bind do używania supermocy:** `bind x css_useSkill`
<details>
<summary>Poniższa tabela przedstawia wszystkie dostępne komendy w grze, wraz z ich opisami.</summary>
| Komenda | Przykład | Opis | Uprawnienia |
| - | - | - | - |
| `!setskill <playerName/steamID> <skill>` | `!setskill Juzlus Aimbot` | Przypisanie supermocy do gracza | `@jRandomSkills/admin` |
| `!lang <IsoCode>` | `!lang pl` | Zmień język | - |
| `!skills` | `!skills` | Lista supermocy | - |
| `!map <mapName>` | `!map de_nuke` | Zmiana mapy | `@jRandomSkills/admin` |
| `!map <mapWorkshopId>` | `!map 3332005394` | Zmiana mapy z warsztatu | `@jRandomSkills/admin` |
| `!start` | `!start` | Rozpoczęcie gry z parametrami: `mp_forcecamera 0, mp_freezetime 15, mp_overtime_enable 1, sv_cheats 0` | `@jRandomSkills/admin` |
| `!start sv` | `!start sv` | Rozpoczęcie gry z parametrami: `mp_forcecamera 0, mp_freezetime 0, mp_overtime_enable 1, sv_cheats 1` | `@jRandomSkills/admin` |
| `!console <command>` | `!console sv_cheats 1` | Uruchomienie komendy na serwerze | `@jRandomSkills/owner` |
| `!swap` | `!swap` | Zamiana stron | `@jRandomSkills/admin` |
| `!shuffle` | `!shuffle` | Losowe dobranie graczy do drużyn | `@jRandomSkills/admin` |
| `!pause` | `!pause` | Wstrzymanie gry | `@jRandomSkills/admin` |
| `!heal` | `!heal` | Przywrócenie 100 punktów zdrowia | `@jRandomSkills/admin` |
| `!hud` | `!hud` | Włącz/Wyłącz HUD | - |
| `!entity <index/handle>` | `!entity 429` | Sprawdzenie czy dana encja instnieje | `@jRandomSkills/owner` |
| `!setscore <CT> <TT>` | `!setscore 10 7` | Ustawienie wyniku gry | `@jRandomSkills/owner` |
| `!setstaticskill <playerName/steamID> <skill>` | `!setstaticskill Juzlus Aimbot` | Przypisanie supermocy do gracza na stałe | `@jRandomSkills/admin` |
| `!setstaticskill <playerName/steamID> None` | `!setstaticskill Juzlus None` | Powrót do normalności | `@jRandomSkills/admin` |
| `!botplace [slot] [godmode]` | `!botplace 2 1` | Teleportuj bota do swojej lokalizacji | `@jRandomSkills/admin` |
| `!next_skill <name/steamID> [idx]` | `!next_skill Juzlus` | Przełącza umiejętność gracza (następna, poprzednia -1 lub konkretny idx) | `@jRandomSkills/admin` |
| `!plantedbomb [time]` | `!plantedbomb 35` | Stwórz podłożoną bombę C4 w miejscu, w którym stoisz, z niestandardowym lub domyślnym (40 s) czasem detonacji | `@jRandomSkills/admin` |
| `!sethealth <amount>` | `!sethealth 150` | Ustala określoną ilość zdrowia dla samego siebie | `@jRandomSkills/admin` |
| `!reload` | `!reload` | Odśwież tłumaczenia | - |
_Większość poleceń wymaga uprawnień, które należy ustawić w pliku: `game/csgo/addons/counterstrikesharp/configs/admins.json`_
</details>
## 🔑 Uprawnienia
Aby nadać uprawnienia administracyjne w CounterStrikeSharp:
1. W folderze **`game/csgo/addons/counterstrikesharp/configs/`** utwórz plik **`admins.json`**.
2. Dodaj do niego poniższą zawartość:
```json
{
"Juzlus": {
"identity": "STEAM_0:0:94913632",
"flags": ["@jRandomSkills/admin", "@jRandomSkills/owner"]
}
}
```
`steamID` można znaleźć przy pomocy strony [steamidfinder](www.steamidfinder.com).
3. Zapisz plik i uruchom serwer, aby zastosować zmiany.
## ⚙️ Konfiguracja
Wszystkie sypermoce można dostosować w pliku **`config.cfg`** / **`skillsInfo.json`** znajdującym się w folderze **`game/csgo/addons/counterstrikesharp/plugins/jRandomSkills/configs/`**
- ##### config.json
```json
{
"Settings": {
"GameMode": 3, // Tryb gry:
// 0 - Losowa supermoc dla każdego gracza (Brak powtórek z rzędu)
// 1 - Ta sama supermoc dla całej drużyny
// 2 - Ta sama supermoc dla wszystkich graczy
// 3 - Losowa supermoc dla każdego gracza (Brak powtórek na mapie)
// 4 - Losowa supermoc dla każdego gracza (Pełna losowość)
// 5 - Debug: Supormoce są przydzielane po kolei
"YourSkillChatInfo": true, // Pokazuj swoją supermoc na czacie
"KillerSkillChatInfo": true, // Pokazuj supermoc zabójcy na czacie
"TeamMateSkillChatInfo": true, // Pokazuj supermoc sojuszników na czacie
"SummaryAfterTheRound": true, // Pokazuj podsumowanie z ostatniej rundy
"EnableBotSkills": true, // Włącz umiejętności dla botów
"EnableBotKickDebug": false, // Co 45 sekund wyrzuć losowego bota (do celów debugowania/testowania)
"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
"AlternativeSkillButton": null, // Możliwe przyciski:
// null, "Attack", "Jump", "Duck", "Forward", "Back",
// "Use", "Cancel", "Left", "Right", "Moveleft",
// "Moveright", "Attack2", "Run", "Reload", "Alt1",
// "Alt2", "Speed", "Walk", "Zoom", "Weapon1",
// "Weapon2", "Bullrush", "Grenade1", "Grenade2",
// "Attack3", "Scoreboard", "Inspect"
"SkillTimeBeforeStart": 7.0, // Ile sekund przed końcem freeze time należy zakończyć
// losowanie umiejętności? (freezetime - SkillTimeBeforeStart)
"SkillHudDuration": -1.0, // Jak długo HUD HTML powinien być widoczny?
"SkillDescriptionDuration": 7.0, // Jak długo opis umiejętności powinien być widoczny?
"DisplayAlwaysDescription":false,// Zawsze wyświetlaj opis umiejętności
"DisableSpectateHUD": false, // Wyłącz HUD HTML bedąc martwym
"HideHudForOtherPlugins": true, // Automatycznie ukrywa HUD gdy używa go inny plugin
"EnableFlashingHtmlHudFix": false,// Włącz FlashingHtmlHudFix
"TraceRayBeam": false, // Włącz widoczność ścieżki dla 'Długi Nóż', 'Długi Zeus'
"DisableHUDOnDeathPermission": "@jRandomSkills/death", // Wyłącz HUD po śmierci dla graczy z tym uprawnieniem
"DisableSkillsOnRoundEnd": false,// Wyłącz wszystkie umiejętności na koniec rundy (gdy widoczne jest podsumowanie)
"VIPFlag": "@css/vip", // Gracze z tym uprawnieniem korzystają z tabeli szans VIP
"SkillsChance": { // Rozkład szans rzadkości umiejętności dla zwykłych graczy. Wartości procentowe i ułamki są obsługiwane i normalizowane do 100%
"Common": 0.7,
"Uncommon": 0.14,
"Rare": 0.1,
"Epic": 0.05,
"Legendary": 0.01
},
"VIPSkillsChance": { // Rozkład szans rzadkości umiejętności dla graczy VIP. Wartości procentowe i ułamki są obsługiwane i normalizowane do 100%
"Common": 0.55,
"Uncommon": 0.23,
"Rare": 0.14,
"Epic": 0.07,
"Legendary": 0.01
},
"CurseSkillPerPlayer": null, // Maksymalna liczba efektów przypadających na jednego gracza
"ShowDecoyRing": true, // Pokazuje pierścień wokół wabików
"LanguageSystem": {
"DefaultLangCode": "en", // Język domyślny: en, pl, fr, pt-br, zh
"DisableGeoLite": false, // Wyłącz wyszukiwanie języka gracza według geolokalizacji GeoLite2 (MaxMind)
"LanguageInfos": [...] // Ustawienie zmiany języków ISO na tłumaczenia
},
"HtmlHudCustomisation": { // Ustawienia zmiany kolorów i rozmiarów czcionek
// xxxl: 64px, xxl: 40px, xl: 32px
// l: 24px, ml: 20px, m: 18px
... // sm: 16px, s: 12px, xs: 8px
"WSADMenuVisibleItems": 3 // Liczba widocznych wierszy
}
...
},
```
- ##### skillsInfo.json
```json
[
{
"NeedsTeammates": false, // Wymaga innych graczy w drużynie
"DisableOnFreezeTime": false, // Wyłącz umiejętność podczas freeze time
"OnlyTeam": 0, // Dostępność supermocy:
// 0 - Wszyscy
// 2 - Terrorist
// 3 - CounterTerrorist
"Color": "#ff0000", // Kolor supermocy
"Active": true, // Włączona przy uruchamianiu
"Name": "Aimbot", // Nazwa supermocy
"HudDuration": null, // Nadpisuje globalne ustawienie SkillHudDuration dla tej mocy.
// null = użyj SkillHudDuration z config.json,
// -1 = nigdy nie ukrywaj HUD-u,
// >= 0 = czas wyświetlania w sekundach.
"DescriptionHudDuration":null,// Nadpisuje globalne ustawienie DescriptionHudDuration dla tej mocy.
// null = użyj DescriptionHudDuration z config.json,
// -1 = nigdy nie ukrywaj opisu,
// >= 0 = czas wyświetlania w sekundach.
"RequiredPermission": "", // Wymagane uprawnienie
"MinPlayer": 0, // Minimalna liczba graczy wymagana na serwerze (0 wyłącza limit)
"MaxPerServer": -1, // Maksymalna liczba graczy, którzy mogą posiadać tę
// umiejętność na serwerze (-1 dla "nieograniczona")
"Rarity": "Common" // Poziom rzadkości umiejętności:
// Common (70x), Uncommon (14x),
// Rare (10x), Epic (5x), Legendary (1x)
},
...
]
```
- ##### playersLanguage.json
```json
{
"76561198150092992": "pl", // "SteamID": "nazwa pliku tłumaczenia"
...
}
```
## 🔗 Uznanie
Plugin korzysta z zawartości następujących projektów:
- [dRandomSkills](https://github.com/jakubbartosik/dRandomSkills) autorstwa [Jakub Bartosik (D3X)](https://github.com/jakubbartosik) - System losowych umiejętności
- [CS2TraceRay](https://github.com/schwarper/CS2TraceRay) autorstwa [schwarper](https://github.com/schwarper) - Stary system śledzenia promieni (Trace Ray)
- [Ray-Trace](https://github.com/FUNPLAY-pro-CS2/Ray-Trace) autorstwa [SlynxCZ](https://github.com/SlynxCZ) - Nowy system śledzenia promieni (Trace Ray)
- [CS2FlashingHtmlHudFix](https://github.com/girlglock/CS2FlashingHtmlHudFix) autorstwa [girlglock](https://github.com/girlglock) - Poprawka migotania okienka z supermocą
- [ChaseMod](https://github.com/ipsvn/ChaseMod/blob/master/Utils/Memory/CCSMatch.cs) autorstwa [ipsvn](https://github.com/ipsvn) - Ustawianie wyniku rund
- [GeoLocationLanguageManagerPlugin](https://github.com/aprox2/GeoLocationLanguageManagerPlugin) autorstwa [aprox2](https://github.com/aprox2) - Zarządzenie geolokalizacją
- [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
- [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
<div align="center">
<table>
<tr><td align="center"><a href="https://github.com/Juzlus"><img src="https://avatars.githubusercontent.com/u/41649887?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="Juzlus"/><br/><sub><b>Juzlus</b></sub></a></td><td align="center"><a href="https://github.com/ByDexterTR"><img src="https://avatars.githubusercontent.com/u/46813962?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="ByDexterTR"/><br/><sub><b>ByDexterTR</b></sub></a></td><td align="center"><a href="https://github.com/apps/github-actions"><img src="https://avatars.githubusercontent.com/in/15368?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="github-actions[bot]"/><br/><sub><b>github-actions[bot]</b></sub></a></td><td align="center"><a href="https://github.com/vinicius-trev"><img src="https://avatars.githubusercontent.com/u/36710856?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="vinicius-trev"/><br/><sub><b>vinicius-trev</b></sub></a></td><td align="center"><a href="https://github.com/jakubbartosik"><img src="https://avatars.githubusercontent.com/u/87545618?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="jakubbartosik"/><br/><sub><b>jakubbartosik</b></sub></a></td><td align="center"><a href="https://github.com/Ericzzrbb"><img src="https://avatars.githubusercontent.com/u/108861549?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="Ericzzrbb"/><br/><sub><b>Ericzzrbb</b></sub></a></td></tr>
<tr><td align="center"><a href="https://github.com/brkvlr"><img src="https://avatars.githubusercontent.com/u/50466021?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="brkvlr"/><br/><sub><b>brkvlr</b></sub></a></td><td align="center"><a href="https://github.com/vladimir214sd"><img src="https://avatars.githubusercontent.com/u/159032035?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="vladimir214sd"/><br/><sub><b>vladimir214sd</b></sub></a></td><td align="center"><a href="https://github.com/felyjyn"><img src="https://avatars.githubusercontent.com/u/25257673?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="felyjyn"/><br/><sub><b>felyjyn</b></sub></a></td><td align="center"><a href="https://github.com/Enrory"><img src="https://avatars.githubusercontent.com/u/29148418?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="Enrory"/><br/><sub><b>Enrory</b></sub></a></td><td align="center"><a href="https://github.com/213sdfsdgf"><img src="https://avatars.githubusercontent.com/u/144595146?v=4&s=75" width="75" height="75" style="border-radius:50%" alt="213sdfsdgf"/><br/><sub><b>213sdfsdgf</b></sub></a></td></tr>
</table>
<sub>Jeśli jesteś <a href="https://github.com/Juzlus/jRandomSkills/graphs/contributors">współtwórcą</a> i chcesz, aby Twój profil został usunięty z tej listy, skontaktuj się ze mną.</sub>
</div>
ㅤ
<div align="center">
<table>
<tr><td align="center"><img src="https://raw.githubusercontent.com/Juzlus/jRandomSkills/main/.github/avatars/discord_7ee4547c02f2.png" width="75" height="75" style="border-radius:50%" alt="Ryuu Jin"/><br/><sub><b>Ryuu Jin</b></sub></td><td align="center"><img src="https://raw.githubusercontent.com/Juzlus/jRandomSkills/main/.github/avatars/discord_f7017ab921b5.png" width="75" height="75" style="border-radius:50%" alt="cj☭"/><br/><sub><b>cj☭</b></sub></td><td align="center"><img src="https://raw.githubusercontent.com/Juzlus/jRandomSkills/main/.github/avatars/discord_20f902436962.png" width="75" height="75" style="border-radius:50%" alt="k4chen"/><br/><sub><b>k4chen</b></sub></td><td align="center"><img src="https://raw.githubusercontent.com/Juzlus/jRandomSkills/main/.github/avatars/discord_a3b321b84dc6.png" width="75" height="75" style="border-radius:50%" alt="luno"/><br/><sub><b>luno</b></sub></td></tr>
</table>
<sub>Jeśli jesteś na tej liście i chcesz usunąć swój profil, skontaktuj się ze mną.</sub>
</div>
## 📋 Lista Zmian
<details>
<summary><b>v1.2.4.b3</b></summary>
- #### Ogólne
- Zaktualizowano kompatybilność z **CounterStrikeSharp v1.0.375**.
- **Usunięto RayTrace-CSS-API / RayTrace-MM** (ray tracing jest teraz wbudowany w CounterStrikeSharp).
- **Zaktualizowano gamedata** - sygnatury i offsety dla Windows/Linux.
- Obserwatorzy bez pawna nie są już uwzględniani podczas sprawdzania liczby połączonych graczy.
- Błędy podczas przydzielania umiejętności są teraz obserwowane i ponawiane.
- #### Poprawki mocy
- **Skupienie** - Rozrzut i niecelność są teraz wyłączane również po stronie serwera, zapewniając celniejsze strzały.
- **Długi Zeus** - Zabójstwa są teraz poprawnie zaliczane jako zabójstwa z Zeusa, wraz z killfeedem, dźwiękiem i efektami ragdolla.
- **Długi Nóż** - Trafienia z dużego dystansu pokazują teraz ślad.
- **Krucha Bomba** - Podłożone bomby są teraz wykrywane poprawnie, a trajektoria pocisku jest prawidłowo sprawdzana.
- **"Linka z Drutu** - Wiązki są teraz poprawnie usuwane po zmianie umiejętności.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#58](https://github.com/Juzlus/jRandomSkills/pull/58). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.4.b2</b></summary>
- #### Ogólne
- **Ninja, Duszek, C4 Kamuflaż** - Ukryci gracze są teraz ujawniani w `player_death` pre-hooku, co zapobiega crashom `CopyExistingEntity: missing client entity`.
- **DisableOnFreezeTime** - Umiejętności zadające obrażenia (Kamera, Wybuchowa Beczka, Strzał Wybuchowy, Fortnite, Hologram, Iluzjonista, Replikator itd.) teraz również respektują to ustawienie.
- **Skill distribution** - Rozłączający się gracz nie może już przerwać przydzielania mocy pozostałym; jeśli żadna moc nie zostanie przydzielona, system ponawia próbę do 6 razy co 0,5 s i zapisuje przyczynę w logach.
- #### Poprawki mocy
- **Skupienie** - Zmieniono sposób nakładania braku odrzutu, aby nie wpływał na innych graczy.
- **Oko Sokoła** - Broń nie pozostaje już zablokowana po zakończeniu rundy, gdy kamera jest aktywna.
- **Beznogi** - Skakanie jest teraz całkowicie blokowane przez wyzerowanie prędkości pionowej i wydłużenie czasu działania; wiadomość o ponownym odblokowaniu skoku wyświetla się poprawnie.
- **Mocne Uderzenie** - Granatów nie można już rzucać podczas freeze time.
- **Dźwiękowiec** - Duchy krzyków nie pojawiają się już w `0 0 0` i są wysyłane wyłącznie do żywych przeciwników.
- **Ostrożne Pociski, Mrok, Głuchy, Droga Amunicja, Olbrzym, Glitch, Zakłócacz, Odrzutowy Kop, Klątwa Skakania, Lupa, Koszmar, Trutka, Brak Karabinów, Dzikie Rzuty** - Wiadomość informująca o zakończeniu efektu wyświetla się teraz poprawnie.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#58](https://github.com/Juzlus/jRandomSkills/pull/58). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.4.b1</b></summary>
- #### Ogólne
- **Wyszukiwanie ConVar** - Wyniki `ConVar.Find` są teraz cachowane po nazwie w `SkillUtils`. Zmieniono wszystkie 25 miejsc użycia.
- **Ładowanie konfiguracji** - Uszkodzony `skillsInfo.json` nie resetuje już wszystkich ustawień do wartości domyślnych. Błędne wpisy zachowują obecne ustawienia i blokują przepisywanie konfiguracji.
- **Zapisywanie konfiguracji** - Zastąpiono kopiowanie i usuwanie atomową zmianą nazwy pliku, aby przerwany zapis nie pozostawiał uszkodzonej konfiguracji.
- **Diagnostyka konfiguracji** - Ładowanie loguje teraz ścieżkę, status pliku, liczbę wpisów, rozpoznane umiejętności, informację o przepisaniu oraz rzeczywisty wyjątek.
- **Przycisk Use (umiejętności CT)** - Umiejętności nie aktywują się już w pobliżu podłożonej bomby C4. Odległość i kierunek patrzenia są sprawdzane bezpośrednio.
- **SkillUtils.UpdateGrenadeCount** - Naprawiono opóźniony reset magazynka, który mógł zmodyfikować broń zajmującą później ten sam slot.
- #### Wspólne systemy
- **SkillUtils.IsPredictedLethal** - Dodano wspólne sprawdzanie śmiertelności uwzględniające mnożniki trafienia, `ArmorRatio` i poprawne działanie pancerza. Zastępuje trzy osobne sprawdzenia oparte wyłącznie na headshotach.
- #### Poprawki mocy
- **Re-Zombie, Feniks, Druga Szansa** - Naprawiono traktowanie trafień w brzuch zadających 80–100% HP jako nieśmiertelnych dzięki użyciu wspólnego sprawdzania śmiertelności.
- **Strzał Wybuchowy, Ludzka Bomba, Wybuchowa Beczka, Strzał Wybuchowy** - Przyznawanie zabójstw przez eksplozje uwzględnia teraz pochłanianie obrażeń przez pancerz.
- **Strzał Wybuchowy** - Stan właściciela i drużyny pocisku jest teraz przechowywany osobno dla każdego gracza i ticka, zapobiegając konfliktom przy jednoczesnym użyciu oraz wielokrotnym eksplozjom od śrutu.
- **Deszcz Ognia** - Dane rzucającego, drużyny i liczby granatów są teraz przechowywane w osobnych paczkach dla każdego ticka, zapobiegając konfliktom między graczami.
- **Bogacz** - Usuwanie bonusu przywraca teraz konto na podstawie zapisanego stanu sprzed bonusu zamiast `CashSpentThisRound`.
- **Robin Hood, Bogacz, Zlecenie Śmierci** - Nagrody respektują teraz limit `mp_maxmoney`.
- **Prawdziwy Pancerz** - Stan hełmu jest zapisywany i przywracany razem z wartością pancerza.
- **Grawitacyjny Wabik** - Dodano obsługę `WeaponEquip` i `WeaponPickup`, aby liczba wabików była poprawnie aktualizowana.
- **Katapulta, Odpychacz, Cień, Gumowe Kule** - Umiejętności reagują teraz wyłącznie na obrażenia od pocisków.
- **Nóż do Rzucania** - Noże rzucone pod koniec rundy są teraz śledzone osobno i odtwarzane w następnej rundzie.
- **Samowolka, Wyluzowany, Lupa** - Gracze są teraz sprawdzani pod kątem poprawności przed odczytem `Team`/`PawnIsAlive`.
- **Zamiana Broni** - Obaj gracze są sprawdzani przed zabraniem broni, a niewłaściwi, martwi i obserwujący gracze nie mogą być już wybrani jako cel.
- **Cichociemny, Duszek, C4 Kamuflaż** - Naprawiono crash klienta (`FATAL ERROR: CopyExistingEntity: missing client entity`) przy śmierci ukrytego gracza w pobliżu. Ukryte postacie są przywracane do snapshotu sieciowego w tym samym ticku.
- **Cichociemny, Duszek, C4 Kamuflaż, Glaz, Stópkarz, Wallhack, Nóż do Rzucania, Koszmar** - Martwi gracze nie są już traktowani jako obserwatorzy, co zapobiega wyciekom widoczności i desynchronizacji sieci.
- **Wallhack, Stópkarz, Nóż do Rzucania, Koszmar** - Martwi gracze nie widzą już konturów Wallhacka, śladów Stópkarza, poświat Noży do Rzucania ani obszarów Koszmaru.
- **Dźwiękowiec** - Naprawiono odtwarzanie krzyku graczom, którzy nie posiadają tej umiejętności.
- #### Stabilność
- **CheckTransmit (Cichociemny, Duszek, C4 Kamuflaż)** - Uchwyty umierających encji są teraz przechowywane wraz z czasem wygaśnięcia i usuwane po ponownym użyciu indeksu, naprawiając `CopyExistingEntity: missing client entity`.
- **WeaponEquip, WeaponPickup** - Pomijane jest wywołanie, gdy inny plugin przejmuje pre-hook i pozostawia puste zdarzenie.
- #### Plik `Config.json`
- **SkillsChance, VIPSkillsChance** - Dodano konfigurowalne tabele szans rzadkości do `config.json`. Procenty i ułamki są normalizowane do 100%.
- **VIPFlag** - Dodano domyślną flagę `@css/vip`; pozostawienie jej pustej wyłącza tabelę szans VIP.
- **Wszystkie umiejętności** - Dodano `MinPlayer` do `skillsInfo.json`. Umiejętność wymaga teraz określonej minimalnej liczby graczy na serwerze. `0` (domyślnie) wyłącza limit. Dotyczy losowania, spóźnionych dołączeń oraz ponownego losowania przez Hazardzistę.
- #### Lokalizacja
- **Katapulta, Odpychacz, Cień** - Tureckie opisy wyjaśniają teraz, czego dotyczy podana wartość procentowa.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#57](https://github.com/Juzlus/jRandomSkills/pull/57). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.3.b9</b></summary>
- #### Ogólne
- Zaktualizowano główne zależności: `CounterStrikeSharp` do **1.0.373**
- **Config** - Pule broni `Rifle`, `Pistol` i `Grenade` powiększały się za każdym razem, gdy konfiguracja była wczytywana, przez co usunięte bronie pojawiały się ponownie przy kolejnym uruchomieniu.
- **Przycisk Use** - Umiejętności nie są już aktywowane, gdy CT naciska `Use`, patrząc na podłożone C4, dzięki czemu klawisz umiejętności nie konkuruje już z klawiszem rozbrajania.
- #### Poprawki mocy
- **Pyro** - Obrażenia od ognia zabijały posiadacza przy niskim poziomie zdrowia. Regeneracja jest teraz wykonywana przed zadaniem obrażeń, zamiast po nich.
- **Hologram** - Klon nie pochłaniał śmiertelnego trafienia, z tego samego powodu co w przypadku Pyro.
- **Drakula** - Kradzież życia korzystała z surowych obrażeń, przez co trafienie w głowę z AWP leczyło za 400 HP. Wartość jest teraz ograniczona do faktycznej ilości zdrowia ofiary, działa również przy zabójczym trafieniu i nie może już pozostawić atakującego przy 0 HP.
- **Robin Hood** - Skradzione pieniądze były obliczane na podstawie surowych obrażeń i miały sztywny limit 16000. Teraz ich ilość jest ograniczona do faktycznego poziomu zdrowia ofiary, działa również przy zabójczym trafieniu i uwzględnia `mp_maxmoney`. Ofiara traci dokładnie tyle, ile zyskuje atakujący.
- **Voodoo** - Odbite obrażenia były obliczane na podstawie surowych obrażeń. Teraz są ograniczone do faktycznej ilości zdrowia ofiary.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#56](https://github.com/Juzlus/jRandomSkills/pull/56). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.3.b8</b></summary>
- #### Wspólne systemy
- **PlayerManager.FillSkillHolders** - Lista posiadaczy umiejętności jest teraz pobierana z indeksu graczy zamiast skanowania wszystkich kontrolerów w każdym ticku. Usuwa to pełną pętlę po graczach wykonywaną wcześniej przez dziesięć umiejętności.
- **PlayerManager.GetControllerByPawn** - Dodano cache mapujący pawn na kontroler, odświeżany raz na tick. Zastępuje to liniowe wyszukiwanie celu obserwatora.
- **PlayerManager.IsServerIdle** - Sprawdzanie bezczynności serwera jest teraz cachowane na tick i współdzielone przez logowanie debugowe oraz wydajnościowe.
- **SkillUtils.IsFriendlyFireBlocked** - Metoda przyjmuje teraz umiejętność, dzięki czemu klucz `FriendlyFire` dla konkretnej umiejętności oraz convary serwera są rozwiązywane w jednym miejscu. Przeciążenie działające wyłącznie na convarach pozostaje dla umiejętności działających po stronie ofiary.
- **SkillUtils.TerminateRound** - Metoda przyjmuje teraz gracza, który zakończył rundę, i wypłaca pieniądze za zakończenie rundy, których silnik nie przyznaje przy zakończeniu rundy przez plugin.
- #### Wydajność
- **OnTick(hud)** - Średni koszt zmniejszony o 17% względem poprzedniej wersji.
- **CheckTransmit** - Średni koszt zmniejszony o 25%, a maksymalny o 39%.
- **OnTick(skills)** - Maksymalny koszt zmniejszony o 62%.
- **Host stalls** - Liczba rzeczywistych zawieszeń serwera przy połączonych graczach spadła z sześciu do dwóch na przestrzeni 785 rund.
- **DecoyRing** - Tworzenie obręczy zostało rozłożone na cztery klatki zamiast generowania całego pierścienia w jednym ticku.
- **Czternaście umiejętności** - `OnTick` natychmiast kończy działanie, jeśli dana umiejętność nie posiada żadnego stanu.
- **Berserker, Mistrz Ostrza, Królik, Oko Demona, Flash, Pawel Jumper, Pilot, Trutka, Szybkostrzelność, Radarowiec, Regeneracja** - Przełączono na współdzieloną listę posiadaczy umiejętności, a odczyty konfiguracji przeniesiono poza pętle wykonywane dla każdego gracza.
- #### Poprawki
- **Grawitacyjny Wabik** - Usunięto przywracanie grawitacji do sztywnej wartości `1.0` po opuszczeniu pola, które permanentnie psuło **Astronautę**. Teraz zapisywana i przywracana jest własna wartość grawitacji każdego pawna.
- **PsychicDefusing** - Po przydzieleniu umiejętności po podłożeniu bomby jej pozycja pozostawała nieustawiona. Zapamiętana pozycja wskazywała również bezpośrednio na encję bomby i stawała się nieprawidłowa po jej usunięciu. Naprawiono także pomijanie konfiguracji, gdy pawn nie był jeszcze gotowy.
- **PsychicDefusing, Krucha Bomba** - Zwycięskie drużyny nie otrzymywały pieniędzy, gdy plugin kończył rundę. Zwycięzcy otrzymują teraz wypłatę zgodną z odpowiednimi convarami `cash_*`, a bonus za rozbrojenie jest dodawany osobno.
- **Ogień Przyjacielski** - Po zakończeniu rundy `mp_autokick` jest teraz przywracane do swojej domyślnej wartości.
- **Toksyczny Dym, Leczący Dym** - Dym nadal zadawał obrażenia lub leczył po utracie umiejętności przez właściciela. Po wygaśnięciu mogły również pozostawać dymy, których właściciel nie posiadał już danej umiejętności. **Leczący Dym** nie śledził wcześniej właściciela w ogóle.
- **Granat EMP** - Celownik i radar pozostawały zablokowane na zawsze, ponieważ `OnTick` przestaje być wywoływany, gdy nikt nie posiada umiejętności, a timer blokady nie wygasał.
- **Nóż do Rzucania** - Utrata umiejętności po wyrzuceniu noża niszczyła nóż bez zwracania go graczowi.
- **Tylko Głowa, Pancerz Reaktywny** - Obie umiejętności ignorowały obrażenia od upadku i obrażenia ze świata, które nie posiadają atakującego gracza.
- **Hazardzista** - Odświeżenie zużywało jednorazową możliwość zamiast losować dwie nowe umiejętności. Wiersz odświeżania tracił również prefiks koloru przez wrapper kierunku tekstu.
- **Berserker, Flash** - Ograniczenie prędkości spadania mogło działać podczas noclipu.
- **Wybuchowa Beczka** - Beczka pojawiała się początkowo bez modelu, który był dodawany dopiero klatkę później. Model jest teraz przekazywany przez `CEntityKeyValues` już podczas tworzenia encji.
- **Szybkie Rączki** - Dodano cooldown, domyślnie pięć sekund, wraz z licznikiem na HUD. Cooldown rozpoczyna się dopiero wtedy, gdy magazynek faktycznie zostanie przeładowany.
- **Konfiguracja** - Migracja brakujących kluczy schodzi teraz również do zagnieżdżonych sekcji, dzięki czemu wykrywane są m.in. klucze znajdujące się w `HtmlHudCustomisation`.
- #### Hook obrażeń
- **OnEntityTakeDamagePre / OnEntityTakeDamagePost** - Zastąpiono przestarzały hook `CBaseEntity_TakeDamageOldFunc` w 27 plikach.
- **Obrażenia od sojuszników** - Nowy hook wykonuje się przed wyzerowaniem obrażeń drużynowych przez silnik, dlatego modyfikatory po stronie atakującego wymagają teraz jawnych zabezpieczeń. Dodano je do: **Jednostrzałowca, Cuttera, Skrytobójcy, Żołnierza, Berserkera, Nemezisa i Karającego**.
- **FriendlyFire** - Dodano nowy klucz `FriendlyFire` do dwunastu umiejętności. Domyślnie ma wartość `true`. Ustawienie `false` powoduje, że umiejętność nie wpływa na członków własnej drużyny, tak jak wcześniej działało to w **Długim Nożu** i **Zabójczym Flashu**. Obejmuje to zarówno modyfikatory obrażeń, jak i materiały wybuchowe, które wcześniej jedynie zmniejszały obrażenia zadawane sojusznikom.
- #### Menu
- **WSADMenuVisibleItems** - Dodano nowe ustawienie zastępujące sztywną liczbę trzech widocznych wierszy menu. Wartość jest ograniczana do zakresu od 1 do 10.
- **Menu WSAD** - Ostatni wiersz menu zachowuje teraz prefiks koloru `#RRGGBB` zamiast tracić go przez wrapper kierunku tekstu.
- #### Migracja konfiguracji
- **skillsInfo.json** - Brakujące klucze są teraz zapisywane do pliku podczas jego ładowania zamiast być jedynie ustawiane domyślnie w pamięci. Istniejące wartości pozostają bez zmian.
- **playersLanguage.json** - Gracze są teraz grupowani według języka zamiast posiadania osobnego wiersza dla każdego gracza. Zmniejsza to plik dla 10 000 graczy o około 20%. Stare pliki są konwertowane przy ładowaniu, a nieprawidłowe SteamID są usuwane.
- #### Debug
- **Próbki wydajności** - Oprócz średniej i maksimum raportowane są teraz `p50`, `p95` oraz `p99`.
- **Próbkowanie umiejętności** - Każda umiejętność jest teraz próbkowana, zamiast logowania wyłącznie wywołań przekraczających dwie milisekundy. Pomiar był wykonywany wcześniej, ale raportowanie odrzucało wyniki poniżej tego progu.
- **Kontekst obciążenia** - Linie agregujące zawierają teraz liczbę graczy, żywych graczy, botów, aktywnych umiejętności oraz rund, dzięki czemu sesje można porównywać przy różnych poziomach obciążenia.
- **ENTITIES** - Śledzone encje są teraz rozbijane według typu.
- **STALL** - Linie zawierają tick, liczbę śledzonych encji oraz kontekst obciążenia, co ułatwia odróżnienie pauz podczas ładowania mapy od rzeczywistych zawieszeń.
- **DMGHOOK** - Raportuje, jak często na hooku obrażeń poprawnie rozpoznawany jest atakujący oraz umiejętność.
- **Bezczynny serwer** - Gdy serwer jest pusty, nic nie jest zapisywane poza liniami cyklu życia oraz informacjami o dołączaniu i rozłączaniu graczy.
- #### Stabilność i start serwera
- **Crash podczas startu** - Naprawiono crash serwera z włączonym `PerfMode` lub `DebugMode`, który występował przy pierwszej umiejętności podczas uruchamiania. `PerfLog.Sample` wywoływał `IsServerIdle()` przy każdym `SkillAction`, a metoda próbowała skanować listę graczy, zanim serwer był jeszcze gotowy. Była to regresja wprowadzona wraz z blokadą logowania dla bezczynnego serwera w b8.
- **PlayerManager** - Dodano flagę `serverActive` ustawianą podczas rozpoczęcia mapy. `IsServerIdle`, `GetTickPlayers` oraz `GetTickBomb` nie odwołują się już do gry przed uruchomieniem mapy.
- **Komendy** - `zmienmape` oraz jeden chiński alias znajdowały się na liście dwukrotnie, co powodowało dwukrotną natywną rejestrację tej samej nazwy komendy. Usunięto duplikaty z wartości domyślnych oraz dodano zabezpieczenie przed duplikatami również w konfiguracjach użytkowników.
- #### Czat
- **Ogłoszenie umiejętności** - Umiejętności członków drużyny są teraz wyświetlane jako pierwsze, a opis własnej umiejętności jako ostatni, dzięki czemu pozostaje na dole czatu i nie jest od razu wypychany przez kolejne wiadomości.
- **SetRandomSkill** - Nie pozostawia już otwartego pola czatu, gdy gracz posiada członków drużyny.
- #### Poprawki debugowania
- **PerfLog** - `p50`, `p95` i `p99` zwracały wcześniej górną granicę przedziału histogramu zamiast rzeczywistej próbki. Mogło to powodować raportowanie wartości wyższej niż `max`. Problem występował w 74% okien podczas 6,5-godzinnej sesji, np. `avg=0.06ms p99=8.00ms max=4.68ms`. Percentyle są teraz obliczane na podstawie rzeczywistych próbek z danego okna. Szacowanie na podstawie histogramu jest używane tylko jako awaryjne rozwiązanie w przypadku przepełnienia bufora, z interpolacją wewnątrz przedziału i ograniczeniem wyniku do `max`.
- **EntityManager** - Już śledzona encja mogła otrzymać drugi wpis `+`, przez co liczba utworzeń i usunięć przestawała się zgadzać, a log encji wyglądał jak wyciek pamięci. Ponowna rejestracja loguje teraz `~ oldType -> newType`, jeśli typ encji się zmienił, i nic nie loguje, jeśli pozostał taki sam.
- **Duszek, Ninja, C4 Kamuflaż** - Ukrywająca encja była rejestrowana dwukrotnie, najpierw jako `prop_dynamic`, a następnie jako `empty_prop`. Teraz jest śledzona pod prawidłową nazwą od momentu utworzenia dzięki nowemu parametrowi `trackAs` w `CreateTrackedDynamicProp`.
- #### Czyszczenie kodu
- **Ostrzeżenia kompilatora** - Wszystkie dwanaście ostrzeżeń zostało usuniętych. Build jest czysty.
- **SkillUtils.SetPlayerCollisions** - Usunięto, ponieważ metoda zaczynała się od bezwarunkowego `return`.
- **Aliasy hooka obrażeń** - Usunięto nieużywane lokalne zmienne `param` i `param2`, które pozostały po migracji w 27 plikach.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#53](https://github.com/Juzlus/jRandomSkills/pull/53). Dziękujemy ByDexterTR!**
</details>
<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>
<summary><b>v1.2.3.b5</b></summary>
- #### Ogólne:
- ###### Odświeżanie HUD-u dla wszystkich umiejętności działa teraz na jednej wspólnej pętli 16Hz zamiast osobnych cykli dla każdej umiejętności, co zmniejsza obciążenie serwera.
- ###### Lista umiejętności jest teraz cache'owana zamiast odbudowywana co klatkę, co zmniejsza narzut HUD-u.
- ###### Pełne aktualizacje sieciowe są teraz rozłożone na wiele klatek zamiast wysyłane jednorazowo, co eliminuje skoki lagów.
- ###### Poprawione tłumaczenia tureckie.
- #### Poprawki:
- ###### Naprawiono błąd SoundMaker powodujący crash/błąd, gdy jego cooldown był ustawiony na 0.
- ###### Naprawiono Regeneration i RadarHack, które ignorowały część własnych ustawień konfiguracyjnych (zachowanie w czasie zamrożenia, uprawnienia, czas trwania HUD-u, rzadkość, maksymalna liczba na serwerze).
- ###### Naprawiono Falcon Eye blokujący strzelanie po podniesieniu broni, gdy gracz był z powrotem w normalnym widoku.
- ###### Naprawiono Spectator blokujący strzelanie, gdy jego kamera nie mogła się utworzyć z powodu braku żywego przeciwnika do obserwowania.
- #### Poprawki mocy:
- ###### BlastShot / Cypher / Iana:
- ###### Nie zostawiają już nieaktualnej linii HUD-u po odebraniu umiejętności.
- ###### Wallhack:
- ###### Tworzenie poświaty i aktualizacja sieciowa uruchamiają się teraz po czasie zamrożenia i są rozłożone na klatki, co eliminuje skok lagów przy przyznaniu umiejętności.
- ###### Jackal:
- ###### Renderowanie śladu jest teraz obliczane raz na klatkę zamiast dla każdego widza osobno; usunięto nieużywany martwy kod.
- ###### Throwing Knife:
- ###### Poświata noża i wyszukiwanie widzów działają teraz raz na klatkę zamiast powtarzać się dla każdego noża/klienta.
- ###### Glaz:
- ###### Wyszukiwanie celu obserwatora jest pomijane dla właścicieli umiejętności i kończy się wcześniej, gdy nie ma żadnego celu.
- ###### RadarHack / QuickShot:
- ###### Gracze bez tej umiejętności są teraz od razu pomijani zamiast przechodzić pełną walidację.
- ###### Distancer / Healing Chicken / SoundMaker:
- ###### Te umiejętności kończą działanie natychmiast, gdy nikt ich nie posiada, zamiast przeszukiwać listę graczy co klatkę.
- #### Debug:
- ###### Usunięto martwe/niepotrzebne sprawdzenia debugowe i ograniczono logi obrażeń do wypisywania tylko wtedy, gdy routing faktycznie się zmienia, co zmniejsza narzut przy każdym trafieniu.
- #### Nowe moce:
- ###### Kameleon: Pierwszy zabity gracz oddaje ci swoją umiejętność.
- ###### Hak: Naciśnij **[css_useSkill]**, aby wystrzelić hak w celowany punkt i przyciągnąć się do niego.
- ###### Spadek Rodzinny: Gdy członek drużyny ginie, możesz przejąć jego umiejętność.
- ###### Rykoszet: Twoje pociski odbijają się od ścian i nadal mogą trafić przeciwników.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#49](https://github.com/Juzlus/jRandomSkills/pull/49). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.3.b4</b></summary>
- #### Ogólne:
- ###### 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. [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. [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. [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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Poprawki mocy:
- ###### 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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Mocne Uderzenie / Ludzka Bomba / Wybuchowa Beczka / Strzał Wybuchowy / Toksyczny Dym:
- ###### Te umiejętności uwzględniają teraz redukcję obrażeń od przyjaznego ognia. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Deszcz Ognia:
- ###### 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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Lecząca Kura:
- ###### 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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Zabierz Amunicję:
- ###### Naprawiono crash podczas zmiany mapy przy przywracaniu amunicji zapasowej broni. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Fortnite:
- ###### Ś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:
- ###### 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>
<summary><b>v1.2.3.b3</b></summary>
- #### Ogólne
- ###### Dodano automatyczne ukrywanie HUD-u, aby zapobiec konfliktom z innymi pluginami korzystającymi z centralnego systemu HUD (`HideHudForOtherPlugins` w `config.json`.
</details>
<details>
<summary><b>v1.2.3.b2</b></summary>
- #### Ogólne
- ###### Dodano komendę administracyjną `css_entity`, która pozwala sprawdzić, czy istnieje encja o podanym indeksie/uchwycie (nazwa projektanta jest wyświetlana na czacie lub w konsoli). [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Dodano post-hook `TakeDamage` (`OnTakeDamagePost`) obok istniejącego pre-hooka, dzięki czemu skille mogą teraz reagować po faktycznym zadaniu obrażeń, a nie tylko przed nimi. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Dodano `CreateMolotovProjectile` (nowa sygnatura `CMolotovProjectile_CreateFunc`) oraz helpery encji `CreateTrackedChicken`. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Dodano mapowanie zastępcze `weapon_mp7` → `weapon_mp5sd`. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Śmierci spowodowane przez skille są teraz przypisywane właścicielowi skilla (zamiast być liczone jako samobójstwa) i pojawiają się w killfeedzie z użytym skillem; dotyczy to DeathBomb, Exploding Barrel, Baseball, HotBomb, Poison, Iluzjonista, Replikator, Ostrożne pociski, Toxic Smoke oraz Hologram. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Dodano opcję konfiguracyjną `CurseSkillPerPlayer`, która ogranicza liczbę klątw, jakie mogą zostać nałożone na jednego gracza w ciągu rundy (domyślnie bez limitu). Limit jest egzekwowany centralnie w `SkillAction`. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Linka z Drutu korzysta teraz z cooldownu zamiast stałego limitu liczby rozstawień, a pozostały czas jest wyświetlany na HUD-ie. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Przewody Linka z Drutu są teraz kolorowane zależnie od drużyny: czerwone dla T i niebieskie dla CT. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### `PlayerEvents.cs` podzielono na trzy pliki częściowe (`PlayerEvents`, `RoundEvents`, `EntityEvents`); działanie pozostało bez zmian. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### 28 zduplikowanych łańcuchów LINQ służących do wyszukiwania przeciwników zastąpiono jednym współdzielonym helperem używanym w 18 skillach. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Dodano cooldown użycia kamery Spectatora (domyślnie 0,5 s) oraz obsługę rozłączenia gracza. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Dodano helpery do zarządzania klątwami `ClearCursesFor` i `AnyCurseCapacity`; Thief został dodany do zestawu skillów klątw. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### `CurseSkillPerPlayer` jest teraz ignorowane w trybach TeamSkills, SameSkills i Debug, a menu wyboru celu dla klątw nie będzie już puste, gdy każdy przeciwnik osiągnął limit. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### `MaxPerServer` dla C4Camouflage zmniejszono z `-1` do `1`. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Wydajność:
- ###### `SkillUtils.HasMenu` zostało przeorganizowane tak, aby kosztowne sprawdzanie menu wykonywało się tylko dla graczy, których to dotyczy - w 17 skillach oraz na HUD-ie. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Nazwy i opisy skillów są teraz cache'owane dla każdego skilla/języka/losowania zamiast generowania ich co 2 ticki (Illiterate nadal otrzymuje świeżo zniekształcony tekst). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Sprawdzanie uprawnień administratora do HUD-u śmierci jest teraz cache'owane na całą rundę, a `DateTime.Now` jest odczytywane raz na tick zamiast raz na gracza. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Wstępne obliczanie skillów na koniec rundy buduje teraz stałe tury w jednym przebiegu z wykorzystaniem operacji na zbiorach, zamiast wielokrotnych liniowych przeszukiwań. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Usunięto martwy kod: `Earthquake.cs` i `HealingChicken.cs` (niezarejestrowane skille), `EntityManager.CreateTrackedEnvShake`, `EntityManager.CreateTrackedChicken` oraz `PlayerManager.UpdatePlayerSkill`. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Poprawki mocy:
- ###### Aimbot:
- ###### Wymusza teraz hitgroup headshot tylko raz (pomija sytuację, gdy jest już ustawiony na głowę lub jest nieprawidłowy), a pierwotna wartość hitgroup jest teraz przywracana w nowym hooku po zadaniu obrażeń zamiast pozostawiania jej nadpisanej. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Linka z Drutu:
- ###### Zmniejszono domyślną szerokość przewodu z 1,5 do 0,7. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Przewody są teraz usuwane, gdy właściciel umrze lub straci skill, zamiast pozostawać do końca rundy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Hologram:
- ###### Naprawiono wywoływanie hooka umiejętności bez obecności klona w sytuacji, gdy zakupy zostały dokonane podczas czasu zamrożenia. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Nóż do Rzucania:
- ###### Naprawiono nieprawidłowe blokowanie noża przy rozpoczęciu kolejnej rundy; teraz blokada występuje tylko wtedy, gdy własny nóż gracza leży na ziemi. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Zakłócacz:
- ###### Naprawiono komunikat potwierdzający, który wyświetlał nazwę użytkownika zamiast nazwy wybranego celu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Ostrożne pociski:
- ###### Pudła są teraz dopasowywane do dokładnego ticka trafienia zamiast wykorzystywania okna tolerancji wynoszącego 10 ticków. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Replikator / Iluzjonista / Hologram:
- ###### Naprawiono błąd, przez który pojedynczy strzał ze strzelby zadawał obrażenia klona wielokrotnie z powodu opóźnionego niszczenia encji. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Scyzoryk / Skrytobójca:
- ###### Obrażenia są teraz modyfikowane w hooku obrażeń zamiast poprzez zdarzenie `player_hurt` po zadaniu obrażeń. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Drakula:
- ###### Usunięto stały limit leczenia. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Skupienie:
- ###### `weapon_accuracy_nospread` jest teraz przywracane do wartości ustawionej przez sam serwer zamiast do wartości resetowanej na sztywno. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Nowe umiejętności:
- ###### Berserker: Zadajesz większe obrażenia i poruszasz się szybciej, gdy masz mniej zdrowia. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Mocne Uderzenie: Naciśnij Attack2 z MP5, aby wystrzelić granat odłamkowy. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Oko Demona: Zadajesz obrażenia każdemu przeciwnikowi, na którego patrzysz. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Deszcz Ognia: Rzuć wabik (decoy), aby przywołać deszcz koktajli Mołotowa. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Latarka: Kliknij [css_useSkill], aby włączyć lub wyłączyć latarkę; jej światło może oślepiać przeciwników. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Lecząca Kura: Twoje kurczaki leczą cię, gdy znajdujesz się w ich pobliżu. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Odrzutowy Kop: Wybierz gracza, aby uruchomić Odrzutowy Kop - każdy jego wystrzelony pocisk odrzuca go do tyłu, dopóki umiejętność nie zostanie wyłączona. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Ostatnie Tchnienie: Po swojej śmierci zadajesz obrażenia przeciwnikowi, który cię zabił. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Zabierz Amunicję: Kliknij [css_useSkill], aby zabrać magazynek aktywnej broni losowemu przeciwnikowi. [autor: [@Juzlus](https://github.com/Juzlus)]
- ###### Linka z Drutu: Rozciągnij przewód między dwiema ścHologrammi; przeciwnicy, którzy go dotkną, pojawią się na radarze właściciela aż do końca rundy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Wybuchowa Beczka: Postaw beczkę, która eksploduje po zastrzeleniu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Droga Amunicja: Wybierz przeciwnika, który będzie tracił pieniądze przy każdym strzale. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Klątwa Skakania: Wybierz przeciwnika, który będzie skakał za każdym razem, gdy skoczy żyjący członek jego drużyny. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Odrzut: Strzelanie w powietrzu odrzuca cię do tyłu. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Olbrzym: Powiększa wybranego przeciwnika. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Koszmar: Wywołuje u wybranego przeciwnika koszmarną wizję. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
</details>
<details>
<summary><b>v1.2.3.b1</b></summary>
- #### Ogólne (Wydajność i stabilność)
- ###### `CServerSideClient.ForceFullUpdate` przerywa teraz działanie, jeśli klient handle jest pusty.
- ###### Dodano współdzieloną pamięć podręczną graczy i bomby odświeżaną co tick.
- ###### 82 moce zostały przeniesione z własnych wywołań `Utilities.GetPlayers()` na jedno współdzielone skanowanie wykonywane raz na tick. Pętla HUD również z niego korzysta, co znacznie zmniejsza obciążenie serwera przy większej liczbie graczy (potwierdzone w 10v10).
- ###### Wyświetlanie informacji o braku zainstalowanego RayTrace.
- #### Poprawki mocy:
- ###### Druga Szansa / Feniks / Re-Zombie:
- ###### Przechwytują śmiertelne obrażenia przed ich zastosowaniem. Wcześniej reagowały dopiero po śmierci gracza, przez co nie działały przy natychmiastowych zabójstwach, obrażeniach od upadku oraz zabójstwach zadawanych przez moce.
- ###### Zabójczy Flash:
- ###### Zabija teraz poprzez zadanie rzeczywistych obrażeń zamiast wymuszania samobójstwa, dzięki czemu moce wskrzeszające mogą zadziałać.
- ###### Bejsbolista:
- ###### Naprawiono rzadki crash serwera związany z granatem wabikiem (indeks encji wabika mógł zostać ponownie wykorzystany przez inną encję).
- ###### Aimbot:
- ###### Dodano sprawdzanie poprawności wskaźnika hit-group przed zapisem, co zapobiega zapisywaniu do zwolnionej lub pustej pamięci.
- ###### Wallhack:
- ###### Efekt poświaty jest teraz usuwany, gdy cel zginie lub opuści serwer.
- ###### Obserwator / Kamera / Oko Sokoła / Trzecie Oko:
- ###### Dodano zabezpieczenia przed pustymi wskaźnikami kamery oraz ponowną weryfikację celu przed teleportacją lub przypisaniem kamery.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#44](https://github.com/Juzlus/jRandomSkills/pull/44). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.2.b8</b></summary>
- #### Ogólne:
- ###### Naprawiono efekt niewrażliwości Błazna, który mógł działać na graczy bez tej mocy.
- ###### Naprawiono brak czyszczenia stanu Błazna, jeśli jego posiadacz zginął przed końcem rundy.
- ###### Dane wszystkich mocy są teraz resetowane co rundę, nawet jeśli dana moc nie została wylosowana.
- ###### Moce śledzące graczy usuwają teraz cele po ich rozłączeniu (Trutka, Głuchy, Mrok, Glitch, Lupa, Beznogi, Brak Karabinów, Zakłócacz, Błazen).
- ###### Naprawiono Aimbota przechowującego nieprawidłowe wskaźniki, co mogło powodować crashe.
- ###### Błąd w metodzie `OnTick` jednej mocy nie zatrzymuje już aktualizacji pozostałych mocy.
- ###### Naprawiono błędy powodowane przez zerowe wartości czasu odnowienia (Trutka, Regeneracja, Gorąca Bomba, Leczący Dym, Toksyczny Dym).
- ###### Zoptymalizowano zmianę rundy poprzez usunięcie zbędnych operacji czyszczenia.
- #### Poprawki mocy:
- ###### Druga Szansa:
- ###### Teraz poprawnie obsługuje kilka śmiertelnych trafień w tym samym ticku i natychmiast przywraca zdrowie po otrzymaniu obrażeń. Działa także poprawnie z mocami modyfikującymi obrażenia.
- ###### Obserwator:
- ###### Naprawiono problem z bardzo szybkim strzelaniem po powrocie do własnego widoku.
- ###### Radarowiec:
- ###### Gracze zamienieni w Kurczaki są ponownie widoczni na radarze.
- ###### Skupienie:
- ###### Efekt braku rozrzutu pozostaje aktywny, dopóki przynajmniej jeden gracz posiada tę moc.
- ###### Ogień Przyjacielski:
- ###### `mp_autokick` jest przywracane po zakończeniu rundy i nie jest już aktualizowane przy każdym trafieniu sojusznika.
- ###### Pancerz Reaktywny / Hologram:
- ###### Nie przywracają już zdrowia po utracie mocy.
- ###### Samowolka / Krótka Bomba:
- ###### Przywracają `mp_c4timer` tylko wtedy, gdy faktycznie go zmieniły.
- ###### Iluzjonista:
- ###### Timer ruchu repliki zatrzymuje się teraz przy zmianie mapy.
- ###### Duszek / Ninja / C4 Kamuflaż:
- ###### Zoptymalizowano przetwarzanie ukrytych graczy, poprawiając wydajność.
**Pełna aktualizacja została przygotowana przez [@ByDexterTR](https://github.com/ByDexterTR) w ramach pull requesta [#44](https://github.com/Juzlus/jRandomSkills/pull/44). Dziękujemy ByDexterTR!**
</details>
<details>
<summary><b>v1.2.2.b8</b></summary>
- #### Ogólne:
- ###### Dodano możliwość ustawienia czasu wyświetlania HUD-u dla każdej mocy z osobna. Moce mogą teraz definiować własną wartość `HudDuration` / `DescriptionHudDuration` w `skillsInfo.json`, dzięki czemu mogą wyświetlać HUD bez ograniczeń (`-1`) lub używać własnego czasu zamiast globalnego ustawienia SkillHudDuration.
</details>
<details>
<summary><b>v1.2.2.b7</b></summary>
- #### Ogólne:
- ###### 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. [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). [autor: [@Juzlus](https://github.com/Juzlus)]
- #### Poprawki mocy:
- ###### Duszek:
- ###### Teraz może podkładać C4. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Samowolka / Krótka Bomba:
- ###### Odliczanie bomby wyświetlane na ekranie jest teraz zgodne z ustawionym czasem detonacji (`mp_c4timer`). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Bogacz:
- ###### 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:
- ###### 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ń:
- ###### Naprawiono fałszywy komunikat "brak miejsca" podczas teleportacji za cel z bliskiej odległości. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Radarowiec:
- ###### 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ż:
- ###### Niewidzialny gracz niosący bombe nie pojawia się już na radarze przeciwników. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Gorąca bomba:
- ###### 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:
- ###### Naprawiono crashe występujące podczas wyłączania mocy. [autor: [@Juzlus](https://github.com/Juzlus)]
</details>
<details>
<summary><b>v1.2.2.b6</b></summary>
- #### 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). [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. [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. [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. [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. [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. [autor: [@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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- #### Poprawki mocy:
- ###### 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. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Stópkarz:
- ###### 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:
- ###### Stan kamery jest teraz całkowicie resetowany po wyłączeniu mocy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
</details>
<details>
<summary><b>v1.2.2.b5</b></summary>
- #### Ogólne:
- ###### Naprawiono problem, w wyniku którego kąt widzenia gracza ustawiał się na punkt (0, 0, 0) na początku rundy (funkcja ForceFullUpdate ponownie stosowała zerowy kąt widzenia). [autor: [@ByDexterTR](https://github.com/ByDexterTR)] and Juzlus].
- ###### Stabilność: umiejętności są teraz poprawnie dezaktywowane i usuwane w przypadku śmierci bez udziału przeciwnika (obrażenia od upadku, utonięcie, śmierć w świecie gry). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Wydajność: podsumowanie umiejętności na koniec rundy jest teraz wyświetlane w ramach jednego licznika czasu zamiast osobnego dla każdego gracza, a gracze, którzy stracili połączenie w trakcie tego opóźnienia, są pomijani. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- #### Poprawki mocy:
- ###### Re-Zombie:
- ###### Naprawiono błąd, w wyniku którego gracz ginął zamiast odradzać się z pełnym poziomem zdrowia zombie. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Błazen:
- ###### Pancerz nie traci już wytrzymałości podczas działania tej umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Dźwiękowiec / Anomalia:
- ###### Zaktualizowano opis. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
</details>
<details>
<summary><b>v1.2.2.b4</b></summary>
- #### Ogólne:
- ###### Uaktualizowano kod źródłowy na GitHubie, aby uwzględniał zmiany wprowadzone w merge request: https://github.com/Juzlus/jRandomSkills/pull/32.
- #### Poprawki mocy:
- ###### Ninja:
- ###### Usunięto wiadomości z czatu używane do celów testowych.
</details>
<details>
<summary><b>v1.2.2.b3</b></summary>
- #### Ogólne:
- ###### Zaktualizowano tłumaczenie na język chiński uproszczony [autor: [@Ericzzrbb](https://www.google.com/search?q=https://github.com/Ericzzrbb)].
- ###### Naprawiono błąd, w którym gracz mógł otrzymać kilka umiejętności jednocześnie, podczas gdy HUD wyświetlał tylko jedną (lista graczy nie była czyszczona przy zmianie mapy i brakowało zabezpieczenia przed duplikacją przy dołączaniu). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Naprawiono błąd, przez który nazwy i opisy umiejętności wyświetlały surowe klucze tłumaczenia na tureckich serwerach (zależna od języka zamiana na małe litery) - problem dotyczył umiejętności zaczynających się na literę "I" (np. Illiterate, Impostor, InfiniteAmmo, Iana). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Umiejętności oparte na module RayTrace oraz przycisk użycia umiejętności nie wyrzucają już błędów, gdy moduł RayTrace nie jest zainstalowany - teraz ich działanie ulega bezpiecznemu ograniczeniu zamiast scrashowania gry. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Naprawiono błąd, w którym przycisk użycia umiejętności (gdy był przypisany pod klawisz Użyj/E) blokował wybór opcji w menu celowania WSAD. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Wydajność: dodano buforowanie (cache) dla wyszukiwań refleksji w `SkillAction` oraz `SkillsInfo.GetValue`, a także usunięto powtarzającą się logikę wysyłania zdarzeń w kluczowych ścieżkach kodu (OnTick, OnTakeDamage itp.). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Stabilność: usunięto martwe metody, które wyrzucały błąd `NotImplementedException`, wzmocniono logikę obsługi punktacji drużynowej oraz zresetowano stany wszystkich umiejętności na początku rundy / przy zmianie mapy. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Build: ścieżki kopiowania plików po zbudowaniu projektu (post-build) zależą teraz od aktywnego `$(Configuration)` oraz `$(TargetFramework)`. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Dodano nowe tureckie ciągi tłumaczeń dla powiadomień o umiejętnościach wymienionych poniżej. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Naprawiono wyświetlanie wiadomości bota, dzięki czemu pojawiają się one teraz prawidłowo na czacie kontrolującego go gracza.
- ###### Po przejęciu bota przez gracza, wszystkie aktywne efekty umiejętności działające na tego bota przechodzą na kontrolującego go gracza.
- ###### Zablokowano automatyczne używanie umiejętności przez boty, jeśli są one aktualnie kontrolowane przez gracza.
- #### Poprawki mocy:
- ###### Wallhack:
- ###### Naprawiono błąd, w którym obrysy przeciwników na chwilę błyskały wszystkim graczom w momencie śmierci posiadacza umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Niszczyciel Stref:
- ###### Członkowie drużyny (CT) są teraz powiadamiani, który bombsite (A/B) został zamknięty. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Dzikie rzuty:
- ###### Umiejętność powiadamia teraz celowanego gracza, co jest spójne z działaniem innych umiejętności celowanych. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Ostrożne pociski / Mrok / Głuchy / Glitch / Zakłócacz / Beznogi / Lupa / Trutka / Brak Karabinów / Dzikie rzuty:
- ###### Celowany gracz otrzymuje teraz powiadomienie, gdy efekt kończy się po śmierci posiadacza umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Ostrożne pociski:
- ###### Dodano efekty dźwiękowe otrzymywania obrażeń po nietrafieniu w gracza.
- ###### C4 Kamuflaż / Ninja:
- ###### Naprawiono błąd, w którym umierając z aktywną niewidzialnością i przejmując bota, bot również otrzymywał niewidzialność.
- ###### Trutka:
- ###### Dodano efekty dźwiękowe otrzymywania obrażeń.
- ###### Brak Karabinów:
- ###### Zmieniono mechanikę na bezpośrednie blokowanie możliwości oddania strzału zamiast wymuszania zmiany broni na nóż.
- ###### Gorąca Bomba:
- ###### Zmieniono efekty dźwiękowe parzenia paki.
- ###### Dodano powiadomienie po zakończeniu parzenia, gdy bomba wraca do swojego normalnego koloru.
</details>
<details>
<summary><b>v1.2.2.b2</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależność CSS do wersji 1.0.369.
- ###### Przeniesiono projekt z .NET 8.0 na .NET 10.0.
- ###### Zaktualizowano tłumaczenie na język turecki przez [@ByDexterTR](https://github.com/ByDexterTR)].
- ###### Dodano tłumaczenie na język rosyjski autorstwa [@213sdfsdgf](https://github.com/213sdfsdgf)].
- ###### Naprawiono problem z błędnym wyświetlaniem arabskich pseudonimów.
- ###### Wykorzystano ForceFullUpdate, aby naprawić crash "FATAL ERROR: CopyExistingEntity".
- ###### Wyłączono nieaktualny hook HandleCommandDrop, aby uniknąć crashy, gdy gracz dołącza do drużyny (podziękowania dla [@vladimir214sd](https://github.com/vladimir214sd)).
- ###### Dodano nowe sygnatury do gamedata.
- ###### Dodano możliwość ustawienia ilości granatów dla każdej mocy, która korzysta z granatów jako części swojej umiejętności (np. Bomberman, Anty Flash, Magnetyczny Wabik itp.).
- #### Poprawki mocy:
- ###### Re-Zombie:
- ###### Naprawiono błędy z przełączaniem broni, gdy gracz trzyma Zeusa i nóż.
- ###### Bronie są teraz usuwane dla botów w trybie zombie.
- ###### Naprawiono błąd, przez który gracze czasami nie odradzali się, jeśli otrzymali zbyt duże obrażenia w zbyt krótkim czasie.
- ###### Duszek:
- ###### Zablokowano możliwość korzystania z Zeusa.
- ###### Zablokowano możliwość korzystania z SG556 (`weapon_sg556`).
- ###### Ciernie:
- ###### Dodano konfigurowalny maksymalny limit zdrowia (37 HP) dla obrażeń, które mogą zostać odbite.
- ###### Druga Szansa:
- ###### Naprawiono błąd, przez który gracze czasami nie odradzali się, jeśli otrzymali zbyt duże obrażenia w zbyt krótkim czasie.
- ###### Feniks:
- ###### Naprawiono błąd, przez który gracze czasami nie odradzali się, jeśli otrzymali zbyt duże obrażenia w zbyt krótkim czasie.
- ###### Kurczak:
- ###### Zablokowano możliwość korzystania z SG556 (`weapon_sg556`).
- ###### Wallhack:
- ###### Naprawiono błąd, który powodował tymczasowe podświetlanie wrogów natychmiast po śmierci.
- ###### Kamera:
- ###### Dodano zapamiętywanie pozycji kamery.
- ###### Nieśmiertelność:
- ###### Naprawiono błąd z permanentną nieśmiertelnością aktywującą się po osiągnięciu dokładnie 0 HP.
- ###### Zamiana Broni:
- ###### Ilość amunicji jest teraz również przenoszona podczas zamiany broni.
- ###### Ludzka bomba:
- ###### Zmieniono nazwę umiejętności na "DeathBomb".
- ###### Obserwator:
- ###### Naprawiono błąd, przez który gracz z umiejętnością Kurczak po śmierci nadal wyświetlał się jako ragdoll podczas bycia obserwowanym.
- ###### Ogień Przyjacielski:
- ###### Umiejętność działa teraz nawet wtedy, gdy serwerowa funkcja mp_friendlyfire jest ustawiona na 0.
- ###### Bejsbolista:
- ###### Wyłączono zabijanie członków drużyny.
</details>
<details>
<summary><b>v1.2.2.b1</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności projektu.
- ###### Zaimplementowano `EntityManager` w celu automatycznego czyszczenia encji i zarządzania pamięcią.
- ###### Dodano konfigurację umożliwiającą włączenie lub wyłączenie umiejętności dla botów.
- ###### Poprawki stabilności i wydajności.
- #### Poprawki mocy:
- ###### Umiejętności oparte na niewidzialności: Są teraz widoczne dla członków drużyny oraz obserwatorów.
- ###### Fortnite:
- ###### Naprawiono problem z niezniszczalnymi barykadami po śmierci gracza.
- ###### Wallhack:
- ###### Ulepszono logikę wykrywania niewidzialnych graczy.
- ###### Dźwiękowiec / Stópkarz / Obserwator:
- ###### Zaktualizowano kod, aby poprawnie współpracował z niewidzialnymi graczami.
- ###### I więcej...
</details>
<details>
<summary><b>v1.2.1.b9</b></summary>
- #### Ogólne:
- ###### Dodano Crash Handler w celu poprawy stabilności serwera (Podziękowania dla cj za pomoc).
- ###### Dodano rzadkość umiejętności (Skill Rarity - wprowadzono poziomy rzadkości dla mocy).
- ###### Dodano limit 'MaxPerServer' (ogranicza liczbę osób, które mogą korzystać z tej samej umiejętności jednocześnie).
- ###### Zastąpiono model "ghost_speaker.vmd" modelem "spray_plane.vmdl".
- #### Poprawki mocy:
- ###### Skupienie:
- ###### Naprawiono i ulepszono kontrolę odrzutu (recoil control).
- ###### Re-Zombie / Feniks:
- ###### Zablokowano możliwość nadużywania (exploitu) odradzania się podczas zmiany drużyny.
</details>
<details>
<summary><b>v1.2.1.b8</b></summary>
- #### Ogólne:
- ###### Zastąpiono [CS2TraceRay](https://github.com/schwarper/CS2TraceRay) biblioteką [RayTraceApi](https://github.com/FUNPLAY-pro-CS2/Ray-Trace).
- ###### Zaktualizowano CounterStrikeSharp do najnowszej wersji.
- ###### Nowa komenda do testowania umiejętności: `css_next_skill <(null)/-1/index>`.
- ###### Zaktualizowano sygnatury gamedata.
- ###### Zastąpiono bezpośrednie referencje do obiektów indeksami encji (entity indices) w celu poprawy bezpieczeństwa pamięci.
- ###### Naprawiono ścieżki modeli agentów.
- ###### Umiejętności są teraz automatycznie wyłączane, gdy gracz opuszcza serwer.
- ###### Dodano sprawdzenia wartości null (null-pointer checks) dla poprawy stabilności.
- #### Poprawki mocy:
- ###### Aim Lock:
- ###### Ulepszono celowanie w głowę przeciwnika.
- ###### Anomalia / Skrytobójca / Kamera / Odpychacz / Zamiana Miejsc / Teleporter:
- ###### Ulepszono pozycjonowanie kamery podczas teleportacji.
- ###### Ostrożne pociski / Strzał Wybuchowy / Krucha Bomba:
- ###### Zaprojektowano na nowo logikę z powodu zmian w zdarzeniu `OnTakeDamage`.
- ###### Ogień Przyjacielski:
- ###### Naprawiono działanie umiejętności, gdy ogień przyjacielski jest wyłączony na serwerze (tryb Uproszczony/Casual).
- ###### Hologram:
- ###### Zablokowano możliwość wyrzucania i podnoszenia broni podczas bycia w formie hologramu.
- ###### Analfabeta:
- ###### Naprawiono błąd z poprawnym wyświetlaniem tekstu.
- ###### Stópkarz:
- ###### Naprawiono problemy związane z licznikami czasu (timerami).
- ###### Ninja:
- ###### Naprawiono błąd, przez który początkowy stan niewidzialności nigdy się nie aktualizował.
- ###### Skupienie / Szybkostrzelność:
- ###### Zaktualizowano kod, aby pasował do nowej struktury `AimPunchServices`.
- ###### NoClip / Cień / Iana:
- ###### Przeniesiono logikę na `TraceHullShape` w celu dokładniejszego wykrywania kolizji.
- ###### Re-Zombie:
- ###### Zablokowano możliwość używania broni w trybie zombie oraz zwiększono zdrowie do 500 HP.
- #### Znane problemy:
- ###### Długi Nóż:
- ###### Wykrywanie prawego przycisku myszy jest obecnie zepsute na systemach Linux (pomimo poprawnych sygnatur).
- ###### Iluzjonista:
- ###### Błąd z T-Pose: Po dodaniu animgraph_2, modele postaci nie mają wbudowanych żadnych animacji. Na ten moment nie ma możliwości naprawienia tego bez dodawania własnych animacji z Warsztatu Steam.
</details>
<details>
<summary><b>v1.2.1.b7</b></summary>
- #### Ogólne:
- ###### Podniesiono wersję modułu do **1.2.1.b7**.
- ###### Zaimplementowano **HTMLEncoder** w celu zwiększenia bezpieczeństwa wiadomości i ich ochrony.
- ###### Zaktualizowano funkcję `SkillAction`, aby zwracała wynik wywołanej metody (`object?`) lub `null`, jeśli nie została znaleziona.
- ###### Przebudowano system dystrybucji zdarzeń graczy, aby wywoływał `SkillAction` **tylko raz na każdą unikalną aktywną umiejętność**, co zmniejsza liczbę nadmiarowych wywołań.
- ###### Przełączono logikę pomiaru czasu na używanie `Server.CurrentTime` zamiast `EngineTime`.
- ###### Dodano informacje w konsoli podczas uruchamiania oraz automatyczne **sprawdzanie wersji** przy ładowaniu wtyczki.
- ###### Zaimplementowano **automatyczne kopiowanie** plików gamedata, bibliotek DLL oraz plików językowych podczas procesu budowania (autor: @vinicius-trev).
- ###### Zaktualizowano główne zależności: `CounterStrikeSharp.API` do wersji **1.0.364** oraz `MaxMind.Db` do wersji **5.0.0** (autor: @vinicius-trev).
- ###### Dodano **obsługę geolokalizacji** dla Turcji (`tr`) i Czech (`cz`).
- ###### Dodano obsługę **języka tureckiego (`tr`)** (autor: @brkvlr) oraz ulepszono tłumaczenia dla **języka portugalskiego brazylijskiego (`pt-br`)** (autor: @vinicius-trev).
- ###### W przypadku braku tłumaczenia system **używa teraz tekstu angielskiego** zamiast wyświetlania surowego klucza tłumaczenia.
- ###### **SkillUtils:** Naprawiono błędy wyboru punktów odrodzenia, problemy z referencjami pamięci oraz dodano obsługę parametru `maxHealth` dla funkcji `AddHealth`.
- ###### Naprawiono błąd, przez który **klawisz E** (interakcja/rozbrajanie) był przerywany przez użycie umiejętności; gracze mogą teraz rozbrajać bombę i wchodzić w interakcję z obiektami bez zakłóceń.
- ###### Licznik czasu systemu głosowania resetuje się teraz poprawnie po każdym głosowaniu.
- #### Poprawki mocy:
- ##### Pilot (Rework):
- ###### Całkowicie przepisano logikę skoku. Lot wymaga teraz **podwójnego kliknięcia** klawisza skoku, aby go aktywować.
- ##### Błazen (Rework):
- ###### Zrefaktoryzowano system na działający indywidualnie dla każdego gracza (**per-player system**) wraz z poprawą stabilności licznika czasu. Licznik czasu Błazna **resetuje się** teraz, gdy gracz próbuje podłożyć lub rozbroić bombę.
- ##### NoClip (Rework):
- ###### Całkowita Rework logiki ruchu; ulepszono wykrywanie kolizji, aby **zapobiec utykaniu** w obiektach oraz zapewniono płynniejszy lot.
- ##### Duszek / C4 Kamuflaż / Ninja:
- ###### **Obserwatorzy widzą teraz niewidzialnych graczy.**
- ###### Ulepszono funkcję ukrywania bomby i naprawiono problem ze spamowaniem konsoli.
- ##### Odwrót / Resp Wroga:
- ###### Naprawiono błąd związany z niepoprawną interpretacją punktu odrodzenia.
- ##### Teleporter:
- ###### Mechanika została zmieniona na **procentową szansę** na zamianę miejsc z wrogiem, zamiast gwarantowanych 100%.
- ##### Hazardzista:
- ###### Naprawiono błąd, który pozwalał na odświeżenie umiejętności bez posiadania wymaganych pieniędzy.
- ##### Cień:
- ###### Naprawiono problemy związane z logiką teleportacji.
- ##### Ludzka bomba:
- ###### Zablokowano możliwość korzystania z umiejętności podczas zmiany drużyny, aby zapobiec nadużyciom (exploitom).
- ##### Bejsbolista:
- ###### Granaty wabiące (decoy) mają teraz taką samą kolizję jak gracze (**PlayerClip**).
- ##### Papito:
- ###### Główna refaktoryzacja oraz **naprawa crashy serwera** związanych z wymianą broni.
- ##### Replikator:
- ###### Dodano **animacje kucania** dla replik, aby dopasować je do ruchu gracza.
- ##### Mistrz Ostrza / Scyzoryk / Rozbrojenie / Długi Nóż / Długi Zeus / Zabójczy Flash:
- ###### Ulepszono obsługę broni typu **Bagnet** (Bayonet).
- ###### Dodano opcje konfiguracyjne **friendlyFire** dla `LongKnife`, `LongZeus` oraz `KillerFlash`.
- ##### Samowolka / Krótka Bomba / Wyluzowany:
- ###### Powiadomienia docierają teraz do wszystkich prawidłowych graczy, niezależnie od tego, czy żyją; dodano obsługę `BombAbortPlant`.
- ##### Niszczyciel Stref:
- ###### Dodano komunikat podczas przebywania na wyłączonym bombsite.
- ##### Wallhack:
- ###### Podświetlenie (glow) jest teraz poprawnie wyłączane dla martwych graczy.
- ##### Dźwiękowiec (Rework):
- ###### Przerobiono umiejętność tak, aby automatycznie odtwarzała dźwięk co 2 sekundy (słyszalny tylko dla gracza z tą umiejętnością).
- #### Nowe moce:
- ##### Aim Lock:
- ###### Ustawia celownik na najbliższym przeciwniku przez ograniczony czas.
- ##### Naprowadzane Granaty:
- ###### Twoje granaty (z wyjątkiem dymnych) are przyciągane do pobliskich wrogów.
- ##### Magneto:
- ###### Odpycha nadlatujące granaty wroga od gracza.
- ##### Bomberman:
- ###### Rozmieszcza granaty odłamkowe (HE), które wybuchają tylko wtedy, gdy wróg znajdzie się w ich zasięgu.
- ##### Analfabeta:
- ###### Dopóki użytkownik żyje, wrogowie nie mogą czytać czatu ani informacji na HUD-zie.
- ##### Gorąca Bomba:
- ###### C4 zadaje stałe obrażenia osobie niosącej bombę tak długo, jak żyje właściciel umiejętności.
- ##### Iluzjonista:
- ###### Tworzy replikę, która idzie prosto przed siebie, aby odwrócić uwagę wrogów.
- ##### Magnetyczny Wabik:
- ###### Granaty wabiące (decoy) przyciągają pobliskich graczy do swojego środka.
- ##### TNóż do Rzucania:
- ###### Dodaje możliwość rzucania we wrogów zabójczym nożem.
- ##### Nieważkość:
- ###### Granaty lecą szybciej i nie działa już na nie grawitacja.
- ##### Dzikie Rzuty:
- ###### Sprawia, że wybrany gracz "zapomina swoich lineupów", co skutkuje losowymi trajektoriami rzutów granatów.
- ##### Zadymiarz:
- ###### Twoje granaty dymne nigdy się nie kończą.
- #### Nowe komendy:
- ###### `css_bot_place <slot : int> <godmode : bool>` - Teleportuje bota na pozycję gracza z opcjonalnym trybem godmode.
- ###### `!sethealth <health : int>` - Komenda dla administratora do zarządzania zdrowiem i testowania.
- ###### `!plantedbomb <seconds : float>` - Komenda do testowania stanów i logiki związanej z podłożoną bombą.
</details>
<details>
<summary><b>v1.2.0</b></summary>
- #### Ogólne:
- ###### Zmieniono nazwę pluginu z `!jRandomSkills` na `jRandomSkills`.
- ###### Poprawiono literówkę w uprawnieniach z `@jRandmosSkills` na `@jRandomSkills`.
- ###### Domyślnie wyłączono `DebugMode` w konfiguracji (przez: [@vinicius-trev](https://github.com/vinicius-trev)).
- ###### Zaktualizowano zależności GeoLite (przez: [@vinicius-trev](https://github.com/vinicius-trev)).
- ###### Poprawiono tłumaczenia w języku `pt-br` (przez: [@vinicius-trev](https://github.com/vinicius-trev)).
- ###### Dodano wsparcie dla języka niemieckiego (przez: [@Enrory](https://github.com/Enrory)).
- ###### Naprawiono wykrywanie języka na podstawie kodów ISO.
- ###### Naprawiono błędne odniesienia do plików językowych.
- #### Poprawki mocy:
- ##### Resp Wroga:
- ###### Naprawiono błąd z błędną interpretacją punktu odrodzenia (spawnpoint).
- ##### Kamera:
- ###### Poprawiono pozycjonowanie kamery.
- ###### Ograniczono możliwość tworzenia kamery tylko do ścian.
- ###### Kluczowe poprawki stabilności.
- ##### Mrok / Hologram:
- ###### Dodano dodatkową walidację.
- ###### Naprawiono problem z niekończącym się timerem.
- ##### Stópkarz:
- ###### Lekka optymalizacja i naprawienie błędu, przez który ślady były widoczne dla wszystkich.
- ##### C4 Kamuflaż / Duszek / Ninja:
- ###### Poprawiono funkcję ukrywania bomby.
- ###### Naprawiono problem ze spamem w konsoli.
- ##### Żelazna Głowa / Mistrz Ostrza / Błazen / Pancernik / Tylko Głowa / Proteza / Pyro / Pancerz Reaktywny:
- ###### Poprawiono funkcję przywracania zdrowia.
- ##### Pancernik:
- ###### Dodano niewrażliwość na granaty decoy.
- ##### Bogacz:
- ###### Naprawiono błąd, przez który wszystkie pieniądze były usuwane po rundzie.
- ###### Pieniądze są odejmowane na podstawie wydatków, a ostateczna kwota nie może być niższa niż $3,000.
- ##### Doskok:
- ###### Dodano opcję `anyDirection` do konfiguracji, która określa, czy doskok może być wykonany w dowolnym kierunku, czy tylko do przodu.
- ##### Królik / Doskok / Pawel Jumper:
- ###### Poprawiono logikę skoku.
- ###### Moce mogą być teraz aktywowane za pomocą scrolla myszki.
- ##### Pajacyk / Beznogi:
- ###### Wymuszono ConVar `sv_legacy_jump 1`, aby umożliwić wykrywanie skoków.
- ##### Długi Zeus / Długi Nóż:
- ###### Strzały są teraz obliczane na podstawie hitboxów, a nie kolizji.
- ###### Naprawiono funkcjonalność RayTrace.
- ##### Cień:
- ###### Naprawiono funkcjonalność RayTrace.
- ##### Saper / Krótka Bomba:
- ###### Dodano komunikat powiadamiający o podłożeniu bomby.
- ##### SzeliS:
- ###### Ogólna refaktoryzacja.
- ###### Naprawiono błąd, przez który broń nie była poprawnie zamieniana.
- ###### Naprawiono błąd z duplikowaniem broni.
- ##### Toksyczny Dym:
- ###### Umiejętność jest teraz włączona tylko dla systemów Linux.
- ##### Zegarmistrz:
- ###### Usunięto timer rundy ze środkowego HUD-u.
- ###### Timer rundy aktualizuje się teraz dla wszystkich po rzuceniu granatów.
- #### Nowe moce:
- ##### Ostrożne pociski:
- ###### Wybierz gracza, który traci HP za każdy niecelny strzał w innego przeciwnika.
</details>
<details>
<summary><b>v1.1.9f</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji (CSS v1.0.361).
- ###### Zaktualizowano kompatybilność WSADMenu z najnowszą wersją CSS.
- #### Poprawki mocy:
- ##### Trzęsienie ziemi:
- ###### Tymczasowo wyłączono.
- ##### Kamera:
- ###### Tymczasowo wyłączono.
- ###### Poprawiono pozycjonowanie kamery.
- ##### Hologram:
- ###### Tymczasowo wyłączono.
- ###### Replika może teraz otrzymywać obrażenia od strzałów w głowę.
- ##### Toksyczny Dym:
- ###### Zmieniono sposób obliczania odległości na triggerów.
</details>
<details>
<summary><b>v1.1.9e</b></summary>
- #### Ogólne:
- ###### Poprawiono wyświetlanie ramek tekstowych oraz ich zawartości.
- ###### Dodano opcje personalizacji wyglądu wiadomości na czacie.
</details>
<details>
<summary><b>v1.1.9d</b></summary>
- #### Ogólne:
- ###### Zaktualizowano wygląd wiadomości na czacie.
- #### Poprawki mocy:
- ##### C4 Kamuflaż / Duszek / Ninja:
- ###### Teraz ukrywany jest cały model postaci, zamiast tylko broni i ustawiania przezroczystości modelu.
- ##### Re-Zombie:
- ###### Zwiększono punkty życia zombie z 200 HP do 250 HP.
- ##### Replikator:
- ###### Zwiększono obrażenia zadawane przez repliki: Twoja drużyna: 10 HP; Drużyna przeciwna: 20 HP.
- ###### Dodano możliwość dostosowania obrażeń repliki w pliku `skillsInfo.json`.
- ##### Toksyczny Dym:
- ###### Umiejętność tymczasowo wyłączona w celu przetestowania logiki triggerów.
- ##### Zegarmistrz:
- ###### Zmniejszono zmianę czasu z 10 sekund do 7 sekund.
- #### Nowe moce:
- ##### Kamera:
- ###### Kliknij [css_useSkill], aby utworzyć/przełączyć się na kamerę.
- ##### Hologram:
- ###### Kliknij [css_useSkill], aby sterować hologramem przez kilka sekund (hologram nie może strzelać).
</details>
<details>
<summary><b>v1.1.9c</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji.
- ###### Dodano nowy tryb gry "FullRandom", który losuje losowe umiejętności w każdej rundzie (umiejętności mogą się powtarzać).
- ###### Dodano opcję `requiredPermission` do konfiguracji każdej umiejętności, określającą uprawnienia wymagane do jej otrzymania.
- #### Poprawki mocy:
- ##### Hazardzista:
- ###### Dodano powiadomienie tekstowe, gdy gracz nie ma pieniędzy.
- ##### Mrok:
- ###### Usunięto starą logikę post-processingu (nie działała na każdej mapie).
- ###### Dodano UTIL_ScreenFade dla bardziej niezawodnego i spójnego efektu ciemności.
- ##### Odległościomierz:
- ###### Ograniczono maksymalną wyświetlaną odległość do 3000 jednostek.
- ##### Fortnite:
- ###### Poprawiono kąt ustawiania barykad.
- ##### Stópkarz:
- ###### Przeprojektowano logikę śladu (bean trail) na system cząsteczek (particles) dla lepszej wydajności.
- ##### Trutka:
- ###### Nieznacznie zwiększono szybkość zadawania obrażeń.
- ###### Dodano minimalny próg zdrowia (30 HP), poniżej którego trucizna przestaje działać (konfigurowalne).
- ##### Obserwator:
- ###### Naprawiono problem z kamerą po śmierci.
</details>
<details>
<summary><b>v1.1.9b</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji.
- ###### Naprawiono problem z pustymi uprawnieniami dla komend.
- ###### Dodano opcję `SkillHudExpired` do pliku konfiguracyjnego, która kontroluje czas wyświetlania (w sekundach) środkowego HUD-u.
- ###### Dodano logikę obsługi zdarzeń trigger enter / exit.
- ###### Automatyczne dopasowanie wielkości liter dla opcji `AlternativeSkillButton` w konfiguracji.
- ###### Naprawiono problem z automatycznym wykrywaniem języka.
- ###### Próba naprawy błędu ze zmianą rozmiaru modeli.
- #### Poprawki mocy:
- ###### Bankrut:
- ###### Mrok:
- ###### Deaktywator:
- ###### Głuchy:
- ###### Glitch:
- ###### Zakłócacz:
- ###### Beznogi:
- ###### Zamiana Żyć:
- ###### Lupa:
- ###### Skarbówka:
- ###### Trutka:
- ###### Brak Karabinów:
- ###### Złodziej:
- ###### Naprawiono wyświetlanie wiadomości w języku drugiego gracza.
- ###### C4 Kamuflaż:
- ###### Duszek:
- ###### Glaz:
- ###### Stópkarz:
- ###### Ninja:
- ###### Wallhack:
- ###### Potencjalna naprawa błędu brakującego bytu (entity) podczas ponownego pokazywania modelu.
- ###### Niszczyciel Stref:
- ###### Naprawiono błędną kolejność wyświetlania bombsite'ów.
- ###### Hazardzista:
- ###### Naprawiono błąd, przez który gracze mogli ponownie losować umiejętność nawet bez posiadania pieniędzy.
- ###### Dźwiękowiec:
- ###### Dodano osobne dźwięki dla obu drużyn (konfigurowalne).
- ###### Toksyczny Dym:
- ###### Zaktualizowano logikę, aby używała triggerów (brak offsetu dla systemów Windows).
- ###### Zegarmistrz:
- ###### Dodano dźwięk podczas aktualizacji czasu (konfigurowalny).
</details>
<details>
<summary><b>v1.1.9a</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji.
- ###### Aktualizacja sygnatur (jRandomSkills.gamedata.json).
- ###### FlashingHtmlHudFix jest teraz wyłączony podczas rozgrzewki.
- ###### Naprawiono błędne wyświetlanie tekstu debugowania podczas używania komendy.
- ###### Poprawiono funkcjonalność komendy !map.
- ###### Dodano opcję `YourSkillChatInfo` do konfiguracji, umożliwiającą wyłączenie opisu własnej umiejętności na czacie.
- ###### Wyłączanie umiejętności graczy podczas zmiany mapy.
- #### Poprawki mocy:
- ##### Trzecie Oko:
- ###### Dodano model do kamery.
- ##### Obserwator:
- ###### Dodano model do kamery.
- ##### Oko Sokoła:
- ###### Dodano model do kamery.
- ##### Stópkarz:
- ###### Tymczasowo wyłączono w celu napisania kodu na nowo.
</details>
<details>
<summary><b>v1.1.8</b></summary>
- #### Ogólne:
- ###### Dodano opcję `DisableHUDOnDeathPermission` do pliku konfiguracyjnego, aby wyłączyć HUD po śmierci dla graczy posiadających to konkretne uprawnienie.
- ###### Dodano opcję `DisableSkillsOnRoundEnd` do pliku konfiguracyjnego, aby wyłączyć wszystkie umiejętności na koniec rundy (gdy widoczne jest podsumowanie).
- ###### Uprawnienie `@jRandomSkills/root` zostało zmienione na `@jRandomSkills/owner`, aby zapobiec problemom z domeną.
- ###### Dodano polecenie `!hud` do włączania/wyłączania HUD (gdy HUD jest wyłączony, menu WSAD nie będzie wyświetlane).
- ###### Wyłączenie pierwszej umiejętności, jeżeli podczas pierwszej rundy wylosowano dwie umiejętności.
- ###### Komenda `!reload` odświeża również status aktywności umiejętności.
- #### Poprawki mocy:
- ##### Replikator:
- ###### Naprawiono błąd powodujący awarie serwera po wybuchu bomby.
- ###### Kolizje replik są teraz bardziej dokładne.
</details>
<details>
<summary><b>v1.1.7</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji.
- ###### Informacje o umiejętnościach są teraz dostępne w `skillsInfo.json` zamiast w `config.json`.
- ###### Dodano plik `jRandomSkills.gamedata.json`.
- ###### Dodano opcję wyłączenia konkretnej mocy podczas freeze time (domyślnie wyłączone: Zamiana Miejsc, Odwrót, Replikator, Trutka, Samowolka, Pilot, NoClip, Medyk, Nieśmiertelność, Fortnite, Resp Wroga, Anomalia).
- ###### Dodano opcje `LanguageSystem` do pliku konfiguracyjnego dla szczegółowego zarządzania przypisywaniem języka.
- ###### Komenda `StartGameCommand` ma teraz zmienny parametr startowy w pliku konfiguracyjnym.
- ###### Dodano opcję `DisplayAlwaysDescription` w pliku konfiguracyjnym, aby opis umiejętności był widoczny cały czas.
- ###### Dodano opcje `HtmlHudCustomisation` w pliku konfiguracyjnym do ustawiania kolorów i rozmiaru czcionki.
- ###### Można ustawić pusty tekst: your_skill/drawing_skill/observer_skill/XXX_select_info.
- ###### Opcja ustawienia uzyskanej wartości w nazwie/opisie umiejętności (`{0}`).
- ###### Naprawiono wyświetlanie czasu odnowienia umiejętności (zaokrąglenie w górę).
- ###### Komenda `!reload` odświeża teraz wszystkie parametry ze wszystkich plików konfiguracyjnych.
- ###### Większość kolekcji została zastąpiona strukturami bezpiecznymi dla wątków, aby uniknąć crashy serwera (pomysł: @ebat_kopat777).
- #### Poprawki mocy:
- ##### Długi Nóż:
- ###### Prawy atak nożem również zadaje obrażenia.
- ###### Naprawiono błąd, w którym po śmierci umiejętność gracza była pokazywana jako `Brak`.
- ##### Wallhack:
- ###### Poświaty tworzą się tylko raz, zamiast dla każdego gracza osobno.
- ###### Naprawiono błąd, w którym po śmierci umiejętność gracza była pokazywana jako `Brak`.
- ##### Stópkarz:
- ###### Naprawiono błąd, w którym po śmierci umiejętność gracza była pokazywana jako `Brak`.
- ##### Zamiana Miejsc:
- ###### Dodano konfigurowalny czas blokady na początku rundy.
- ##### Obserwator:
- ###### Zmieniła się metoda poruszania się kamery.
- ##### NoClip:
- ###### Powrót do ostatniego miejsca użycia umiejętności, jeśli gracz spadnie poniżej 3000 jednostek.
- ###### Dodano opcję wyłączenia noclipu, gdy jest aktywny.
- ##### Ninja:
- ###### Naprawiono problem z niewidoczną bronią po śmierci.
- ##### Muhammed:
- ###### Komunikat przy eksplozji jest teraz konfigurowalny (w languages/).
- ###### Naprawiono błąd, w którym granat nie wybuchał.
- ##### Duszek:
- ###### Naprawiono problem z niewidoczną bronią po śmierci.
- ##### Strzał Wybuchowy:
- ###### Naprawiono błąd, w którym granat nie wybuchał.
- ##### Resp Wroga:
- ###### Dodano konfigurowalny czas blokady na początku rundy.
- ##### Rozbrojenie:
- ###### Powrót do upuszczania broni zamiast zmiany na slot3.
- ###### Zmniejszono szansę na upuszczenie broni: (20-50)% → (20-35)%.
- ##### Kurczak:
- ###### Zmieniła się metoda poruszania się kurczaka.
- ###### Gracz widzi model swojego kurczaka.
- ###### Naprawiono hitboxy po powrocie do normalnego modelu.
- ###### Naprawiono błąd, w którym po dezaktywacji umiejętności gracz otrzymywał nadmiarowe HP.
- ##### C4 Kamuflaż:
- ###### Naprawiono problem z niewidoczną bronią po śmierci.
- ##### Mistrz Ostrza:
- ###### Zmniejszono prędkość ruchu z nożem o 10% (konfigurowalne).
- ##### Anty Flash:
- ###### Dodano opcję w pliku konfiguracyjnym, umożliwiającą zmianę czasu trwania błysku twojego flash'a.
- ##### Błazen:
- ###### Naprawiono problem, w którym gracz mógł otrzymywać obrażenia od innych umiejętności lub wybuchu bomby.
- ###### Naprawiono błąd, w którym gracz zawsze był fioletowy.
- ##### Cień:
- ###### Dodano opcję ustawienia szansy na teleportację po trafieniu przeciwnika (w pliku konfiguracyjnym).
- ##### Szpieg:
- ###### Ustawianie modelu gracza po dezaktywacji umiejętności.
- ###### Domyślny model terrorystów został zmieniony.
</details>
<details>
<summary><b>v1.1.6</b></summary>
- #### Ogólne:
- ###### Dodano język francuski (autorstwa [@felyjyn](https://github.com/felyjyn)).
- #### Poprawki mocy:
- ##### Doskok:
- ###### Dodano możliwość wykonywania doskoku w dowolnym kierunku.
</details>
<details>
<summary><b>v1.1.5</b></summary>
- #### Ogólne:
- ###### Zaktualizowano zależności do najnowszej wersji.
- ###### Dodano rozpoznawanie języka na podstawie geolokalizacji (MaxMind GeoLite2).
- ###### Każdy gracz może wybrać inny język.
- ###### Zmieniono nazwy katalogów.
- ###### Usunięto automatyczne odświeżanie pliku konfiguracyjnego.
- ###### Dodano opcję `DisableSpectateHUD` do pliku konfiguracyjnego, umożliwiającą wyłączenie HUD HTML dla martwych graczy.
- ###### Nazwa projektu została zmieniona z `jRandomSkills` na `!jRandomSkills`, aby umożliwić późniejsze ładowanie innych wtyczek do pamięci.
- ###### Dodano polecenie `!lang en`, aby zmienić język.
- ###### Dodano polecenie `!reload`, aby ponownie załadować tłumaczenia.
- ###### Zniesiono ograniczenia dotyczące wiadomości powitalnych.
- #### Poprawki mocy:
- ##### Zamiana Broni:
- ###### Naprawiono błąd związany z powielaniem bomby na HUD.
- ##### Złodziej:
- ###### Możliwość kradzieży umiejętności niedostępnych dla twojej drużyny została zablokowana.
- ###### Menu HTML jest wyłączone, gdy nie znaleziono żadnych graczy.
- ##### SzeliS:
- ###### Naprawiono wszystkie błędy i włączono tę umiejętność.
- ##### Druga Szansa:
- ###### Powrót do pierwotnego stanu zdrowia po wyłączeniu umiejętności.
- ##### Samowolka:
- ###### Zablokowano możliwość podkładania bomby podczas freezetime.
- ##### Stópkarz:
- ###### Dodano sprawdzanie "null".
- ##### Astronauta:
- ###### Naprawiono brak wyświetlania skali grawitacji w HTML.
- ##### Duplikator:
- ###### Menu HTML jest wyłączone, gdy nie znaleziono żadnych graczy.
- ##### Deaktywator:
- ###### Menu HTML jest wyłączone, gdy nie znaleziono żadnych graczy.
- #### Nowe moce:
- ##### Granatnik:
- ###### Masz nieskończone granaty odłamkowe.
- ##### Doskok:
- ###### Wykonaj drugi skok, aby wykonać doskok.
</details>
<details>
<summary><b>v1.1.4</b></summary>
- #### Ogólne:
- ###### Do pliku konfiguracyjnego dodano opcję `SkillTimeBeforeStart`, która określa, na ile sekund przed końcem freezetime powinno się zakończyć losowanie umiejętności.
- ###### Do pliku konfiguracyjnego dodano opcję `SkillDescriptionDuration`, która określa, ile sekund opis umiejętności w wiadomości HTML powinien być widoczny.
- ###### Umiejętności nie są już wyłączane pod koniec rundy.
- ###### Zmieniono logikę przydzielania umiejętności.
- ###### Zbyt długie pseudonimy są skracane podczas oglądania graczy.
- ###### Wybór gracza został zmieniony z Chat Menu na WSAD Menu.
- ###### Na początku rundy dodano opisy umiejętności wyświetlane za pomocą PrintToCenterHtml.
- ###### Skrócono opisy umiejętności przy wyborze gracza.
- ###### Naprawiono problem, w którym komendy css_setskill i css_setstaticskill nie mogły być wykonywane z serwera.
- ###### Parametry polecenia `!start` zostały zmienione.
- #### Poprawki mocy:
- ##### Beznogi:
- ###### Umiejętność Beznogi całkowicie wyłącza umiejętność Królik.
- ##### Bogacz:
- ###### Limit został ustawiony na $16,000.
- ##### Pilot:
- ###### Plecak odrzutowy został przeprojektowany.
- ###### Zwiększono ilość paliwa.
- ###### Od teraz ilość paliwa jest zawsze widoczna.
- ###### Nie można już używać plecaka odrzutowego podczas rozbrajania bomby.
- ##### Strzał Wybuchowy:
- ###### Obrażenia i zasięg ataku zostały nieznacznie zwiększone.
- ##### Flash:
- ###### Naprawiono błąd powodujący "wystrzelenie w górę" graczy na schodach/rampach.
- ##### Lupa:
- ###### Usunięto niepotrzebne wywołania Server.PrintToChatAll.
- ##### Zamiana Broni:
- ###### Naprawiono błąd z możliwością wymiany broni z martwym graczem.
- ##### Mini Majk:
- ###### Naprawiono błąd z niezmienionymi hitboxami.
- ##### Kurczak:
- ###### Naprawiono błąd z niezmienionymi hitboxami.
- #### Nowe moce:
- ##### Błazen:
- ###### W trybie błazna nie możesz zadawać ani otrzymywać obrażeń. Tryb zmienia się co kilka sekund.
- ##### Hazardzista:
- ###### Wybierz umiejętność z podanej listy.
- ##### Bankrut:
- ###### Wybierz gracza, który straci wszystkie swoje pieniądze.
</details>
<details>
<summary><b>v1.1.3</b></summary>
- #### Ogólne:
- ###### Dodano opcje `AlternativeSkillButton` do pliku konfiguracyjnego, aby przycisk gracza mógł być używany do aktywowania umiejętności.
- ###### Obserwatorzy nie są już uwzględniani przy wyborze konkretnego gracza podczas używania umiejętności.
- #### Poprawki mocy:
- ##### Stópkarz:
- ###### Teraz wszyscy przeciwnicy pozostawiają ślad, a nie tylko wybrany.
- ##### Mrok:
- ###### Wszystkie woluminy postprocessingu są zastępowane, a nie tylko pierwszy z nich.
</details>
<details>
<summary><b>v1.1.2</b></summary>
- #### Ogólne:
- ###### Umiejętności zostały wyłączone podczas rozgrzewki.
- ###### Dodano walidację dla wartości nieokreślonych.
- ###### Dodano użycie poleceń i zmiany mapy do debug.
- ###### Dodano polecenie `!setstaticskill`, które na stałe przypisuje graczowi określoną umiejętność.
- ###### Polecenia mogą mieć niestandardowe uprawnienia ustawione w pliku konfiguracyjnym.
- ###### Nowy tryb gry: Umiejętności nie mogą być powtarzane, dopóki mapa się nie zmieni (ustawione jako domyślne).
- ###### Dodano system głosowania dla poleceń takich jak: `!start`, `!map`, `!swap`, `!shuffle`, `!pause`, `!setscore` (konfigurowalne)
- ###### Dodano możliwość wyszukiwania graczy według identyfikatora SteamID dla polecenia !setskill.
- #### Poprawki mocy:
- ##### Pawel Jumper:
- ###### Daje losową liczbę dodatkowych skoków zamiast tylko jednego.
- ###### Dodano do konfiguracji: minimalną i maksymalną liczbę dodatkowych skoków.
- ##### Kurczak:
- ###### Kurczak jest niewidoczny dla gracza posiadającego tę umiejętność.
- ##### Fortnite:
- ###### Barykada ma teraz 115 HP zamiast znikać po jednym strzale.
- ###### Dodano do konfiguracji: hp barykady i model barykady.
- ##### Glaz:
- ###### Gracze obserwujący cię również nie widzą granatów dymnych.
- ##### Wallhack:
- ###### Gracze obserwujący cię mogą również widzieć przez ściany.
- ##### Gumowe kule:
- ###### Naprawiono błąd związany z dodawaniem istniejącego klucza.
- ##### Ninja:
- ###### Transmisja broni została wyłączona, dzięki czemu charms i nametags nie są widoczne.
- ##### Duch:
- ###### Transmisja broni została wyłączona, dzięki czemu charms i nametags nie są widoczne.
- ##### C4 Kamuflaż:
- ###### Transmisja broni została wyłączona, dzięki czemu charms i nametags nie są widoczne.
- #### Nowe moce:
- ##### Lupa:
- ###### Powoduje powiększenie ekranu przeciwnika, ograniczając jego pole widzenia.
- ##### Ciernie:
- ###### Twój przeciwnik otrzyma część obrażeń, które zadał tobie.
</details>
<details>
<summary><b>v1.1.1</b></summary>
- #### Ogólne:
- ###### Dodano walidację dla wartości nieokreślonych dla umiejętności: Cichociemny i Flash.
</details>
<details>
<summary><b>v1.1.0</b></summary>
- #### Ogólne:
- ###### Dodano język Brazylijski (Portugalski) (Grok AI).
- ###### Dodano język Chiński (Grok AI).
- ###### Dodano tryby gry.
- ###### Dodano konfigurację dla każdej supermocy.
- ###### Dodano tryb Debug Mode.
- ###### Dodano otrzymywanie broni dla klas z nimi związanymi (sugestia od [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)).
- ###### Wprowadzono ogólne poprawki i naprawiono błedy.
- #### Nowe moce:
- ##### Anomalia:
- ###### Cofasz się o 5 sekund do tyłu. Cooldown: 15 s.
- ##### Niszczyciel Stref:
- ###### Możesz wybrać strefę detonacji, którą chcesz dezaktywować.
- ##### Skrytobójca:
- ###### Zadajesz podwójne obrażenia przeciwnikowi od tyłu.
- ##### Bejsbolista:
- ###### Twój wabik odbija się od ścian i natychmiastowo zabija wroga po trafieniu.
- ##### Mistrz Ostrza:
- ###### Trzymając nóż, masz duże szanse na odparcie strzału.
- ##### C4 Kamuflaż:
- ###### Kiedy trzymasz bombę, jesteś niewidzialny.
- ##### Wyluzowany:
- ###### Podłożenie bomby zajmuje 10 sekund.
- ##### Scyzoryk:
- ###### Natychmiastowe zabójstwo nożem.
- ##### Mrok:
- ###### Nadaje efekt ciemności wybranemu przeciwnikowi.
- ##### Deaktywator:
- ###### Wybierasz gracza, którego supermoc chcesz wyłączyć.
- ##### Głuchy:
- ###### Wybierasz gracza, dla którego chcesz wyłączyć wszystkie dźwięki.
- ##### Odległościomierz:
- ###### Możesz zobaczyć odległość do najbliższego przeciwnika.
- ##### Duplikator:
- ###### Wybierasz gracza, od którego chcesz skopiować supermoc.
- ##### Strzał Wybuchowy:
- ###### Losowa szansa wystrzelenia pocisku wybuchowego podczas strzelania. Szansa: (15 - 30)%.
- ##### Oko Sokoła:
- ###### Kliknij [css_useSkill], aby aktywować kamerę z lotu ptaka.
- ##### Szybkie Rączki:
- ###### Kliknij [css_useSkill], aby przeładować broń, którą obecnie trzymasz.
- ##### Fortnite:
- ###### Kliknij [css_useSkill], aby stworzyć barykadę, którą można zniszczyć. Cooldown: 2 s.
- ##### Krucha Bomba:
- ###### Strzelanie do bomby powoduje jej uszkodzenie.
- ##### Ogień Przyjacielski:
- ###### Strzelanie do członków drużyny leczy ich.
- ##### Glaz:
- ###### Nie widzisz granatów dymnych.
- ##### Glitch (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Wyłączasz radar wybranemu przeciwnikowi.
- ##### Klej (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Twoje granaty przyklejają się do ścian.
- ##### Leczący Dym:
- ###### Twoje granaty dymne leczą.
- ##### Pustelnik (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Zabijanie przywraca amunicję i część zdrowia.
- ##### Święty Granat Ręczny:
- ###### Twoje granaty uderzeniowe zadają podwójne obrażenia i mają podwójny zasięg.
- ##### Stópkarz:
- ###### Wybierasz gracza, który pozostawi za sobą ślad.
- ##### Zakłócacz (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Wybierasz gracza, dla którego chcesz wyłączyć celownik.
- ##### Beznogi:
- ###### Wybierasz gracza, który nie będzie mógł skakać.
- ##### Pajacyk:
- ###### Skakanie przywraca zdrowie.
- ##### Zamiana Żyć:
- ###### Wybierasz gracza, z którym chcesz wymienić się zdrowiem.
- ##### Długi Nóż:
- ###### Podstawowy atak nożem zadaje obrażenia niezależnie od odległości.
- ##### Długi Zeus:
- ###### Zeus zadaje obrażenia niezależnie od odległości.
- ##### Skarbówka:
- ###### Wybierasz gracza, z którym chcesz zamienić się pieniędzmi.
- ##### Ninja:
- ###### Stojąc nieruchomo zwiększasz swoją niewidzialność o 33%, kucając o 33%, a trzymając nóż o 33%.
- ##### Pancernik:
- ###### Granaty nie zadają Ci obrażeń.
- ##### Skupienie (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Brak odrzutu podczas strzelania.
- ##### NoClip:
- ###### Kliknij [css_useSkill], aby włączyć noclip na krótki czas. Cooldown: 30 s.
- ##### Tylko Głowa:
- ###### Otrzymujesz obrażenia tylko w głowę.
- ##### Trutka:
- ###### Wybierasz gracza, który co kilka sekund będzie otrzymywał obrażenia.
- ##### Brak Karabinów:
- ###### Wybierasz gracza, który nie może używać karabinów.
- ##### Proteza:
- ###### Ramiona i nogi są kuloodporne.
- ##### Zdalne Rozbrajanie:
- ###### Kiedy jesteś blisko bomby, zaczynasz ją rozbrajać. Cooldown: 10 s.
- ##### Odpychacz:
- ###### Masz losową szansę na odepchnięcie wroga po trafieniu go. Szansa: 100%.
- ##### Pyro:
- ###### Molotow przywraca zdrowie.
- ##### Pancerz Reaktywny:
- ###### Pancerz pochłania pierwsze otrzymane obrażenia. Cooldown: 15 s.
- ##### Regeneracja:
- ###### Co kilka sekund odnawiasz zdrowie.
- ##### Replikator:
- ###### Kliknij [css_useSkill], aby stworzyć replikę, która zadaje obrażenia po trafieniu. Cooldown: 15 s.
- ##### Zwrot do Nadawcy:
- ###### Pierwsze trafienie wroga powoduje, że wraca on na swój resp.
- ##### Re-Zombie:
- ###### Po śmierci odradzasz się jako zombie z większym zdrowiem i bez broni.
- ##### Robin Hood (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Zadanie obrażeń przeciwnikowi powoduje kradzież jego pieniędzy.
- ##### Gumowe Kule (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Twoje pociski znacznie spowalniają graczy.
- ##### Druga Szansa:
- ###### Po śmierci odradzasz się z taką samą ilością zdrowia.
- ##### Krótka Bomba (wymyślone przez [ToRRent1812](https://github.com/Juzlus/jRandomSkills/issues/1)):
- ###### Bomba wybucha znacznie szybciej.
- ##### SzeliS:
- ###### Kliknij [css_useSkill], aby zamienić aktualną broń na AWP.
- ##### Dźwiękowiec:
- ###### Kliknij [css_useSkill], aby wywołać dźwięk u każdego przeciwnika. Cooldown: 5 s.
- ##### Obserwator:
- ###### Kliknij [css_useSkill], aby obserwować losowego przeciwnika.
- ##### Złodziej:
- ###### Możesz ukraść supermoc wybranemu graczowi.
- ##### Trzecie Oko:
- ###### Kliknij [css_useSkill], aby aktywować trzecią osobę.
- ##### Toksyczny Dym:
- ###### Twoje granaty dymne zadają obrażenia.
- ##### Wallhack:
- ###### Widzisz wrogów przez ściany.
- ##### Zegarmistrz:
- ###### Każdy rzut granatem zmienia czas rundy o -10 lub +10 sekund.
- #### Poprawki mocy:
- ###### Poprawiono opisy supermocy.
- ###### Naprawiono wszyskie zauważalne błedy.
</details>
<details>
<summary><b>v1.0.3</b></summary>
- #### Ogólne:
- ###### Dodano język angielski.
- ###### Dodano wiadomość powitalną.
- ###### Dodano podsumowanie z ostatniej rundy.
- ###### Dodano podgląd supermocy obserwowanego gracza.
- ###### Zabklokowano możliwość posiadania tej samej supermocy dwa razy pod rząd.
- ###### Dodano prostą konfigurację dla każdej supermocy.
- ###### Przerobiono wszystkie supermoce aby można manipulować nimi w każdej chwili (Naprawiono komendy do ustawiania supermocy).
- ###### Zmieniono aktywację supermocy na bind css_useSkill.
- #### Nowe moce:
- ##### Zamrażający Decoy
- ###### Twój decoy zamraża wszystkich pobliskich graczy.
- ##### Żołnierz:
- ###### Masz losowy mnożnik obrażeń (1.15 - 1.35)x.
- ##### Gruautor:
- ###### Masz losowy mnożnik otrzymywanych obrażeń (0.65 - 0.85)x.
- ##### Aimbot:
- ###### Każdy twój trafiony pocisk jest liczony jako głowa.
- ##### Odwrót:
- ###### Powrót na spawna. Kliknij [css_useSkill], cooldown 15s.
- ##### Resp Wroga:
- ###### Teleportacja na spawn wroga. Kliknij [css_useSkill], cooldown 15s.
- ##### Zeus:
- ###### Zeus x27 natychmiastowo się odnawia.
- ##### Radarowiec:
- ###### Widzisz wrogów na radarze.
- ##### Szybkostrzelność:
- ###### Brak cooldown przy strzelaniu.
- ##### Samowolka:
- ###### Możesz podłożyć bombę w dowolnym miejscu, czas detonacji bomby trwa 60s.
- ##### Cichociemny:
- ###### Twoje kroki i skoki są niesłyszalne dla INNYCH graczy.
- ##### Zabójczy Flash:
- ###### Każdy całkowicie oślepiony twoim granatem umiera (również ty).
- ##### Spowlnienie Czasu:
- ###### Spowolnienie czasu dla wszystkich na 6 sekundy. Kliknij [css_useSkill], cooldown 30s.
- ##### Nieśmiertelność:
- ###### Jesteś nieśmiertelny przez 2 sekundy. Kliknij [css_useSkill], cooldown 30s.
- ##### Losowa Broń:
- ###### Dostajesz losową broń. Kliknij [css_useSkill], cooldown 15s.
- ##### Zamiana Broni:
- ###### Zamieniasz się bronią z losowym wrogiem. Kliknij [css_useSkill], cooldown 30s.
- #### Poprawki mocy:
- ##### Saper:
- ###### Naprawiono bład z natychmiastowym podkładaniem bomby jak ktokolwiek na serwerze miał moc 'Saper'.
- ##### Duszek:
- ###### Naprawiono bycie niewidzialnym po śmierci.
- ###### Drobne poprawki dla reszty mocy.
</details>
<details>
<summary><b>v1.0.2</b></summary>
- #### Nowe moce:
- ##### Mini Majk:
- ###### Losowa wielkość postaci w przedziale (60% - 95%).
- ##### Zamiana Miejsc:
- ###### Zamiana miejscami z losowym wrogiem, po kliknięciu przyciska [css_useSkill]. Cooldown to 30s.
- #### Poprawki mocy:
- ##### Anty Flash:
- ###### Dodano: Twoje flash'e trwają dłużej (7s).
- ##### Astronauta:
- ###### Zmieniono: Mnożnik grawitacji z (0.2 - 0.7) na (0.1 - 0.7).
- ###### Dodano: Gracz widzi teraz mnożnik swojej grawitacji na czacie.
- ##### Drakula:
- ###### Zmieniono: Drakula od teraz może mieć nadwyżkę zdrowia.
- ##### Duszek:
- ###### Dodano: Zabklokowanie korzystania z broni innej niż nóż.
- ###### Dodano: Każda podniesiona broń przez duszka staje się niewidzialna.
- ##### Flash:
- ###### Naprawiono nie dostawanie prędkości.
- ###### Zmieniono: Mnożnik prędkości z (1.2 - 2.5) na (1.2 - 3.0).
- ###### Dodano: Gracz widzi teraz mnożnik swojej prędkości na czacie.
- ##### Katapulta:
- ###### Dodano: Losowe szanse na podrzucenie (20% - 40%).
- ###### Dodano: Gracz widzi teraz swoje szanse na czacie.
- ##### Kurczak:
- ###### Naprawiono nie dostawanie modelu kurczaka.
- ###### Dodano: Zabklokowanie korzystania z broni innej niż nóż lub pistolet.
- ###### Dodano: Kurczak może posiadać tylko 50 hp.
- ##### Medyk:
- ###### Naprawiono nie dostawanie apteczek.
- ###### Zmieniono: Od teraz wszyscy tracą apteczki na końcu rundy.
- ##### Nieskończone Ammo:
- ###### Dodano: Od teraz granaty również są nieskończone.
- ##### Obrót Wroga:
- ###### Dodano: Losowe szanse na obrót wroga (20% - 40%).
- ###### Dodano: Gracz widzi teraz swoje szanse na czacie.
- ##### Phoenix:
- ###### Naprawiono nie odradzanie się po śmierci.
- ###### Dodano: Losowe szanse na odrodzenie (20% - 40%).
- ###### Dodano: Gracz widzi teraz swoje szanse na czacie.
- ##### Pilot:
- ###### Zmieniono: Poprawiono opis supermocy.
- ##### Rambo:
- ###### Naprawiono nie dostawanie dodatkowego życia.
- ##### Rozbrojenie:
- ###### Dodano: Losowe szanse na wyrzucenie broni wroga (20% - 40%).
- ###### Dodano: Gracz widzi teraz swoje szanse na czacie.
- ###### Zmieniono: Wyrzuca teraz tylko aktywną broń wroga (naprawiono błąd wyrzucenia kosy).
- ##### Eliminator -> Saper:
- ###### Zmieniono: Zmineiono nazwę mocy z 'Eliminator' na 'Saper'.
- ##### Teleporter:
- ###### Naprawiono błąd, gdzie tylko gracz z supermocą był przeteleportowywany.
</details>
## 💝 Wsparcie
<span>
<a href="https://www.buymeacoffee.com/juzlus" target="_blank" alt="buymeacoffee" style="width: 40%; text-decoration: none; margin-right: 20px;">
<img src="https://www.codehim.com/wp-content/uploads/2022/09/bmc-button-640x180.png" style="height: 60px;">
</a>
<a>⠀</a>
<a href="https://buycoffee.to/juzlus" target="_blank" alt="buycoffee" style="text-decoration: none; width: 40%; background-color: rgb(0, 169, 98);border-radius: 10px;">
<img src="https://buycoffee.to/btn/buycoffeeto-btn-primary.svg" style="height: 60px">
</a>
</span>
## 📝 Kontakt
Jeśli masz jakieś pytanie, napisz na juzlus.biznes@gmail.com lub [jRandomSkills Discord](https://discord.gg/9H8EZYBpPF).