## 📌 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:
## 💬 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


## 🌐 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)
Poniższa tabela przedstawia wszystkie dostępne supermoce w grze, wraz z ich opisami.
| 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 |
## 💻 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`
Poniższa tabela przedstawia wszystkie dostępne komendy w grze, wraz z ich opisami.
| Komenda | Przykład | Opis | Uprawnienia |
| - | - | - | - |
| `!setskill ` | `!setskill Juzlus Aimbot` | Przypisanie supermocy do gracza | `@jRandomSkills/admin` |
| `!lang ` | `!lang pl` | Zmień język | - |
| `!skills` | `!skills` | Lista supermocy | - |
| `!map ` | `!map de_nuke` | Zmiana mapy | `@jRandomSkills/admin` |
| `!map ` | `!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 ` | `!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 ` | `!entity 429` | Sprawdzenie czy dana encja instnieje | `@jRandomSkills/owner` |
| `!setscore ` | `!setscore 10 7` | Ustawienie wyniku gry | `@jRandomSkills/owner` |
| `!setstaticskill ` | `!setstaticskill Juzlus Aimbot` | Przypisanie supermocy do gracza na stałe | `@jRandomSkills/admin` |
| `!setstaticskill 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 [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 ` | `!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`_
## 🔑 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
Jeśli jesteś współtwórcą i chcesz, aby Twój profil został usunięty z tej listy, skontaktuj się ze mną.
ㅤ
Jeśli jesteś na tej liście i chcesz usunąć swój profil, skontaktuj się ze mną.
## 📋 Lista Zmian
v1.2.4.b3
- #### 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!**
v1.2.4.b2
- #### 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!**
v1.2.4.b1
- #### 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!**
v1.2.3.b9
- #### 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!**
v1.2.3.b8
- #### 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!**
v1.2.3.b7
- #### 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 ``, 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!**
v1.2.3.b6
- #### 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!**
v1.2.3.b5
- #### 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!**
v1.2.3.b4
- #### 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)]
v1.2.3.b3
- #### Ogólne
- ###### Dodano automatyczne ukrywanie HUD-u, aby zapobiec konfliktom z innymi pluginami korzystającymi z centralnego systemu HUD (`HideHudForOtherPlugins` w `config.json`.
v1.2.3.b2
- #### 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)]
v1.2.3.b1
- #### 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!**
v1.2.2.b8
- #### 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!**
v1.2.2.b8
- #### 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.
v1.2.2.b7
- #### 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)]
v1.2.2.b6
- #### 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)]
v1.2.2.b5
- #### 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)]].
v1.2.2.b4
- #### Ogólne:
- ###### Uaktualizowano kod źródłowy na GitHubie, aby uwzględniał zmiany wprowadzone w merge request: https://github.com/Juzlus/jRandomSkills/pull/32.
- #### Poprawki mocy:
- ###### Ninja:
- ###### Usunięto wiadomości z czatu używane do celów testowych.
v1.2.2.b3
- #### 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.
v1.2.2.b2
- #### 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.
v1.2.2.b1
- #### 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...
v1.2.1.b9
- #### 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.
v1.2.1.b8
- #### 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.
v1.2.1.b7
- #### 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 ` - Teleportuje bota na pozycję gracza z opcjonalnym trybem godmode.
- ###### `!sethealth ` - Komenda dla administratora do zarządzania zdrowiem i testowania.
- ###### `!plantedbomb ` - Komenda do testowania stanów i logiki związanej z podłożoną bombą.
v1.2.0
- #### 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.
v1.1.9f
- #### 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.
v1.1.9e
- #### Ogólne:
- ###### Poprawiono wyświetlanie ramek tekstowych oraz ich zawartości.
- ###### Dodano opcje personalizacji wyglądu wiadomości na czacie.
v1.1.9d
- #### 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ć).
v1.1.9c
- #### 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.
v1.1.9b
- #### 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).
v1.1.9a
- #### 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.
v1.1.8
- #### 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.
v1.1.7
- #### 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.
v1.1.6
- #### Ogólne:
- ###### Dodano język francuski (autorstwa [@felyjyn](https://github.com/felyjyn)).
- #### Poprawki mocy:
- ##### Doskok:
- ###### Dodano możliwość wykonywania doskoku w dowolnym kierunku.
v1.1.5
- #### 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.
v1.1.4
- #### 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.
v1.1.3
- #### 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.
v1.1.2
- #### 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.
v1.1.1
- #### Ogólne:
- ###### Dodano walidację dla wartości nieokreślonych dla umiejętności: Cichociemny i Flash.
v1.1.0
- #### 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.
v1.0.3
- #### 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.
v1.0.2
- #### 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.
## 💝 Wsparcie
⠀
## 📝 Kontakt
Jeśli masz jakieś pytanie, napisz na juzlus.biznes@gmail.com lub [jRandomSkills Discord](https://discord.gg/9H8EZYBpPF).