v1.2.2.b5

Fixed conflicts with the merge https://github.com/Juzlus/jRandomSkills/pull/33

- #### General:
    - ###### Fixed players' view angle snapping to look at (0, 0, 0) at round start (ForceFullUpdate was re-applying a zeroed view angle). [by: @ByDexterTR and @Juzlus].
    - ###### Stability: skills are now correctly disabled and cleaned up on attacker-less deaths (fall damage, drowning, world). [by: @ByDexterTR].
    - ###### Performance: the end-of-round skill summary now runs in a single timer instead of one per player, and skips players who disconnect during the delay. [by: @ByDexterTR].

- #### Skill improvements:
    - ###### Re-Zombie:
        - ###### Fixed the player dying instead of respawning with full zombie health. [by: @ByDexterTR].
    - ###### Jester:
        - ###### Armor no longer drains while the skill is active. [by: @ByDexterTR].
    - ###### Soundmaker / Anomaly:
        - ###### Updated the description. [by: @ByDexterTR].
This commit is contained in:
Juzlus 2026-06-30 07:06:10 +02:00
parent f97911d67c
commit 47985cdfef
25 changed files with 201 additions and 83 deletions

24
.github/en.md vendored
View file

@ -56,7 +56,7 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| - | - | - | | - | - | - |
| Aimbot | Every bullet you hit counts as a headshot | - | | Aimbot | Every bullet you hit counts as a headshot | - |
| Aim Lock | Click [css_useSkill] to lock your aim on the nearest enemy | 20 s | | Aim Lock | Click [css_useSkill] to lock your aim on the nearest enemy | 20 s |
| Anomaly | You rewind a few seconds back in time | 15 s | | Anomaly | Click [css_useSkill] to rewind a few seconds back in time | 15 s |
| Anti-Flash | You are immune to flashbangs, and your flashbangs last 7 seconds | - | | Anti-Flash | You are immune to flashbangs, and your flashbangs last 7 seconds | - |
| Iron Head | You take no damage from headshots | - | | Iron Head | You take no damage from headshots | - |
| Zone Reaper | You can choose a bomb site to deactivate | - | | Zone Reaper | You can choose a bomb site to deactivate | - |
@ -163,7 +163,7 @@ Buying a server on pukawka? Use my [referral code](https://pukawka.pl/pp,juzlus.
| Smoker | Your smoke grenades never run out | - | | Smoker | Your smoke grenades never run out | - |
| Sniper Elite | Click [css_useSkill] to swap your current weapon for an AWP | 0 s | | Sniper Elite | Click [css_useSkill] to swap your current weapon for an AWP | 0 s |
| Soldier | You have a random damage multiplier | (1.15 - 1.35)x | | Soldier | You have a random damage multiplier | (1.15 - 1.35)x |
| Soundmaker | Click [css_useSkill] to trigger a sound for every enemy | 5 s | | Soundmaker |Every now and then, you hear player screams | 2 s |
| Spectator | Click [css_useSkill] to spectate a random enemy | 0 s | | Spectator | Click [css_useSkill] to spectate a random enemy | 0 s |
| Position Swap | Click [css_useSkill] to swap places with a random enemy | 30 s | | Position Swap | Click [css_useSkill] to swap places with a random enemy | 30 s |
| Teleporter | You swap places with the hit enemy | - | | Teleporter | You swap places with the hit enemy | - |
@ -357,6 +357,24 @@ This plugin uses content from the following projects:
## 📋 Changelog ## 📋 Changelog
<details>
<summary><b>v1.2.2.b5</b></summary>
- #### General:
- ###### Fixed players' view angle snapping to look at (0, 0, 0) at round start (ForceFullUpdate was re-applying a zeroed view angle). [by: [@ByDexterTR](https://github.com/ByDexterTR)] and Juzlus].
- ###### Stability: skills are now correctly disabled and cleaned up on attacker-less deaths (fall damage, drowning, world). [by: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Performance: the end-of-round skill summary now runs in a single timer instead of one per player, and skips players who disconnect during the delay. [by: [@ByDexterTR](https://github.com/ByDexterTR)]].
- #### Skill improvements:
- ###### Re-Zombie:
- ###### Fixed the player dying instead of respawning with full zombie health. [by: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Jester:
- ###### Armor no longer drains while the skill is active. [by: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Soundmaker / Anomaly:
- ###### Updated the description. [by: [@ByDexterTR](https://github.com/ByDexterTR)]].
</details>
<details> <details>
<summary><b>v1.2.2.b4</b></summary> <summary><b>v1.2.2.b4</b></summary>
@ -373,7 +391,7 @@ This plugin uses content from the following projects:
<summary><b>v1.2.2.b3</b></summary> <summary><b>v1.2.2.b3</b></summary>
- #### General: - #### General:
- ###### Updated Chinese language translation by [by: [@Ericzzrbb](hhttps://github.com/Ericzzrbb)]. - ###### Updated Chinese language translation by [by: [@Ericzzrbb](https://github.com/Ericzzrbb)].
- ###### Fixed a bug where a player could be given multiple skills at once while the HUD displayed only one (the player list was never cleared on map change and had no duplicate protection on join). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Fixed a bug where a player could be given multiple skills at once while the HUD displayed only one (the player list was never cleared on map change and had no duplicate protection on join). [by: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### Fixed skill names and descriptions showing the raw translation key on Turkish servers (culture-sensitive lowercasing) - affected skills starting with "I" (e.g. Illiterate, Impostor, InfiniteAmmo, Iana). [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### Fixed skill names and descriptions showing the raw translation key on Turkish servers (culture-sensitive lowercasing) - affected skills starting with "I" (e.g. Illiterate, Impostor, InfiniteAmmo, Iana). [by: [@ByDexterTR](https://github.com/ByDexterTR)]
- ###### RayTrace-based skills and the skill-use button no longer throw when the RayTrace module is not installed - they now degrade gracefully instead of crashing. [by: [@ByDexterTR](https://github.com/ByDexterTR)] - ###### RayTrace-based skills and the skill-use button no longer throw when the RayTrace module is not installed - they now degrade gracefully instead of crashing. [by: [@ByDexterTR](https://github.com/ByDexterTR)]

28
.github/pl.md vendored
View file

@ -55,7 +55,7 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| - | - | -| | - | - | -|
| Aimbot | Każdy twój trafiony pocisk liczy się jako strzał w głowę | - | | Aimbot | Każdy twój trafiony pocisk liczy się jako strzał w głowę | - |
| Aim Lock | Kliknij [css_useSkill], aby wycelować na najbliższego wroga | 20 s | | Aim Lock | Kliknij [css_useSkill], aby wycelować na najbliższego wroga | 20 s |
| Anomalia | Cofasz się o 5 sekund do tyłu | 15 s | | 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 | - | | Anty Flash | Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund | - |
| Żelazna Głowa | Nie otrzymujesz obrażeń w głowę | - | | Żelazna Głowa | Nie otrzymujesz obrażeń w głowę | - |
| Niszczyciel Stref | Możesz wybrać strefę detonacji, którą chcesz dezaktywować | - | | Niszczyciel Stref | Możesz wybrać strefę detonacji, którą chcesz dezaktywować | - |
@ -162,7 +162,7 @@ Kupujesz serwer na pukawce? Skorzystaj z mojego [kodu polecającego](https://puk
| Zadymiarz | Twoje granaty dymne nigdy się nie kończą | - | | Zadymiarz | Twoje granaty dymne nigdy się nie kończą | - |
| Papito | Kliknij [css_useSkill], aby zamienić aktualną broń na AWP | 0 s | | Papito | Kliknij [css_useSkill], aby zamienić aktualną broń na AWP | 0 s |
| Żołnierz | Masz losowy mnożnik obrażeń | (1.15 - 1.35)x | | Żołnierz | Masz losowy mnożnik obrażeń | (1.15 - 1.35)x |
| Dźwiękowiec | Kliknij [css_useSkill], aby wywołać dźwięk u każdego przeciwnika | 5 s | | Dźwiękowiec | Co jakiś czas słyszysz krzyki graczy | 2 s |
| Obserwator | Kliknij [css_useSkill], aby obserwować losowego przeciwnika | 0 s | | Obserwator | Kliknij [css_useSkill], aby obserwować losowego przeciwnika | 0 s |
| Zamiana Miejsc | Kliknij [css_useSkill], aby zamienić się miejscami z losowym przeciwnikiem | 30 s | | Zamiana Miejsc | Kliknij [css_useSkill], aby zamienić się miejscami z losowym przeciwnikiem | 30 s |
| Zamiana Broni | Kliknij [css_useSkill], aby zamienić się bronią z losowym przeciwnikiem | 30 s | | Zamiana Broni | Kliknij [css_useSkill], aby zamienić się bronią z losowym przeciwnikiem | 30 s |
@ -355,11 +355,29 @@ Plugin korzysta z zawartości następujących projektów:
## 📋 Lista Zmian ## 📋 Lista Zmian
<details>
<summary><b>v1.2.2.b5</b></summary>
- #### Ogólne:
- ###### Naprawiono problem, w wyniku którego kąt widzenia gracza ustawiał się na punkt (0, 0, 0) na początku rundy (funkcja ForceFullUpdate ponownie stosowała zerowy kąt widzenia). [autor: [@ByDexterTR](https://github.com/ByDexterTR)] and Juzlus].
- ###### Stabilność: umiejętności są teraz poprawnie dezaktywowane i usuwane w przypadku śmierci bez udziału przeciwnika (obrażenia od upadku, utonięcie, śmierć w świecie gry). [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Wydajność: podsumowanie umiejętności na koniec rundy jest teraz wyświetlane w ramach jednego licznika czasu zamiast osobnego dla każdego gracza, a gracze, którzy stracili połączenie w trakcie tego opóźnienia, są pomijani. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- #### Poprawki mocy:
- ###### Re-Zombie:
- ###### Naprawiono błąd, w wyniku którego gracz ginął zamiast odradzać się z pełnym poziomem zdrowia zombie. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Błazen:
- ###### Pancerz nie traci już wytrzymałości podczas działania tej umiejętności. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
- ###### Dźwiękowiec / Anomalia:
- ###### Zaktualizowano opis. [autor: [@ByDexterTR](https://github.com/ByDexterTR)]].
</details>
<details> <details>
<summary><b>v1.2.2.b4</b></summary> <summary><b>v1.2.2.b4</b></summary>
- #### General: - #### Ogólne:
- Ogólne Uaktualizowano kod źródłowy na GitHubie, aby uwzględniał zmiany wprowadzone w merge request: https://github.com/Juzlus/jRandomSkills/pull/32. - ###### Uaktualizowano kod źródłowy na GitHubie, aby uwzględniał zmiany wprowadzone w merge request: https://github.com/Juzlus/jRandomSkills/pull/32.
- #### Poprawki mocy: - #### Poprawki mocy:
- ###### Ninja: - ###### Ninja:
@ -371,7 +389,7 @@ Plugin korzysta z zawartości następujących projektów:
<summary><b>v1.2.2.b3</b></summary> <summary><b>v1.2.2.b3</b></summary>
- #### Ogólne: - #### Ogólne:
- ###### Zaktualizowano tłumaczenie na język chiński uproszczony [autor: [@Ericzzrbb](https://www.google.com/search?q=hhttps://github.com/Ericzzrbb)]. - ###### 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, 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)] - ###### 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)] - ###### 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)]

View file

@ -28,7 +28,7 @@ namespace src
public override string ModuleName => "[CS2] [ jRandomSkills ]"; public override string ModuleName => "[CS2] [ jRandomSkills ]";
public override string ModuleAuthor => "D3X, Juzlus"; public override string ModuleAuthor => "D3X, Juzlus";
public override string ModuleDescription => "Plugin adds random skills every round for CS2 by D3X. Modified by Juzlus."; public override string ModuleDescription => "Plugin adds random skills every round for CS2 by D3X. Modified by Juzlus.";
public override string ModuleVersion => "1.2.2.b4"; public override string ModuleVersion => "1.2.2.b5";
public override void Load(bool hotReload) public override void Load(bool hotReload)
{ {

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Klicke [css_useSkill], um dein Visier auf den nächsten Gegner zu fixieren", "aimlock_desc": "Klicke [css_useSkill], um dein Visier auf den nächsten Gegner zu fixieren",
"anomaly": "Anomalie", "anomaly": "Anomalie",
"anomaly_desc": "Du spulst die Zeit um einige Sekunden zurück", "anomaly_desc": "Drücke [css_useSkill], um einige Sekunden in der Zeit zurückzuspringen",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Du bist immun gegen Blendgranaten und deine Blendgranaten halten 7 Sekunden lang", "antyflash_desc": "Du bist immun gegen Blendgranaten und deine Blendgranaten halten 7 Sekunden lang",
@ -419,7 +419,7 @@
"soldier_desc2": "Dein Schadensmultiplikator beträgt: {0}x", "soldier_desc2": "Dein Schadensmultiplikator beträgt: {0}x",
"soundmaker": "Soundmaker", "soundmaker": "Soundmaker",
"soundmaker_desc": "Klicke auf [css_useSkill], um für jeden Gegner einen Sound auszulösen", "soundmaker_desc": "Von Zeit zu Zeit hörst du die Schreie von Spielern",
"spectator": "Zuschauer", "spectator": "Zuschauer",
"spectator_desc": "Klicke auf [css_useSkill], um einen zufälligen Gegner zu beobachten", "spectator_desc": "Klicke auf [css_useSkill], um einen zufälligen Gegner zu beobachten",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Click [css_useSkill] to lock your aim on the nearest enemy", "aimlock_desc": "Click [css_useSkill] to lock your aim on the nearest enemy",
"anomaly": "Anomaly", "anomaly": "Anomaly",
"anomaly_desc": "You rewind a few seconds back in time", "anomaly_desc": "Click [css_useSkill] to rewind a few seconds back in time",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "You are immune to flashbangs, and your flashbangs last 7 seconds", "antyflash_desc": "You are immune to flashbangs, and your flashbangs last 7 seconds",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Cliquez sur [css_useSkill] pour verrouiller votre visée sur l'ennemi le plus proche", "aimlock_desc": "Cliquez sur [css_useSkill] pour verrouiller votre visée sur l'ennemi le plus proche",
"anomaly": "Anomalie", "anomaly": "Anomalie",
"anomaly_desc": "Vous revenez quelques secondes en arrière dans le temps", "anomaly_desc": "Appuyez sur [css_useSkill] pour remonter de quelques secondes dans le temps",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Vous êtes immunisé contre les flashbangs, et vos flashbangs durent 7 secondes", "antyflash_desc": "Vous êtes immunisé contre les flashbangs, et vos flashbangs durent 7 secondes",
@ -419,7 +419,7 @@
"soldier_desc2": "Votre multiplicateur de dégâts est : {0}x", "soldier_desc2": "Votre multiplicateur de dégâts est : {0}x",
"soundmaker": "Faiseur de Bruit", "soundmaker": "Faiseur de Bruit",
"soundmaker_desc": "Appuyez sur [css_useSkill] pour déclencher un son pour chaque ennemi", "soundmaker_desc": "De temps en temps, vous entendez les cris des joueurs",
"spectator": "Spectateur", "spectator": "Spectateur",
"spectator_desc": "Appuyez sur [css_useSkill] pour observer un ennemi aléatoire", "spectator_desc": "Appuyez sur [css_useSkill] pour observer un ennemi aléatoire",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Kliknij [css_useSkill], aby wycelować na najbliższego wroga", "aimlock_desc": "Kliknij [css_useSkill], aby wycelować na najbliższego wroga",
"anomaly": "Anomalia", "anomaly": "Anomalia",
"anomaly_desc": "Cofasz się o kilka sekund do tyłu", "anomaly_desc": "Kliknij [css_useSkill], aby cofnąć się o kilka sekund w czasie",
"antyflash": "Anty Flash", "antyflash": "Anty Flash",
"antyflash_desc": "Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund", "antyflash_desc": "Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund",
@ -419,7 +419,7 @@
"soldier_desc2": "Twój mnożnik obrażeń wynosi: {0}x", "soldier_desc2": "Twój mnożnik obrażeń wynosi: {0}x",
"soundmaker": "Dźwiękowiec", "soundmaker": "Dźwiękowiec",
"soundmaker_desc": "Co jakiś czas szłyszysz krzyki graczy", "soundmaker_desc": "Co jakiś czas słyszysz krzyki graczy",
"spectator": "Obserwator", "spectator": "Obserwator",
"spectator_desc": "Kliknij [css_useSkill], aby obserwować losowego przeciwnika", "spectator_desc": "Kliknij [css_useSkill], aby obserwować losowego przeciwnika",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Clique em [css_useSkill] para travar a mira no inimigo mais próximo", "aimlock_desc": "Clique em [css_useSkill] para travar a mira no inimigo mais próximo",
"anomaly": "Máquina do Tempo", "anomaly": "Máquina do Tempo",
"anomaly_desc": "Você volta alguns segundos no tempo", "anomaly_desc": "Pressione [css_useSkill] para voltar alguns segundos no tempo",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Você é imune a flashes, e flashbangs duram 7 segundos", "antyflash_desc": "Você é imune a flashes, e flashbangs duram 7 segundos",
@ -419,7 +419,7 @@
"soldier_desc2": "Seu multiplicador de dano é: {0}x", "soldier_desc2": "Seu multiplicador de dano é: {0}x",
"soundmaker": "Criador de Som", "soundmaker": "Criador de Som",
"soundmaker_desc": "Clique em [css_useSkill] para tocar um som para cada inimigo", "soundmaker_desc": "De vez em quando, você ouve gritos de jogadores",
"spectator": "Espectador", "spectator": "Espectador",
"spectator_desc": "Clique em [css_useSkill] para ver a tela de um inimigo aleatório", "spectator_desc": "Clique em [css_useSkill] para ver a tela de um inimigo aleatório",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Нажмите [css_useSkill], чтобы зафиксировать прицел на ближайшем враге", "aimlock_desc": "Нажмите [css_useSkill], чтобы зафиксировать прицел на ближайшем враге",
"anomaly": "Аномалия", "anomaly": "Аномалия",
"anomaly_desc": "Вы отматываете время на несколько секунд назад", "anomaly_desc": "Нажмите [css_useSkill], чтобы вернуться на несколько секунд назад во времени",
"antyflash": "Антифлеш", "antyflash": "Антифлеш",
"antyflash_desc": "Вы невосприимчивы к флешкам, а ваши флешки действуют 7 секунд", "antyflash_desc": "Вы невосприимчивы к флешкам, а ваши флешки действуют 7 секунд",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "En yakın düşmana nişan almak için [css_useSkill] tuşuna basın", "aimlock_desc": "En yakın düşmana nişan almak için [css_useSkill] tuşuna basın",
"anomaly": "Zaman Büken", "anomaly": "Zaman Büken",
"anomaly_desc": "Zamanı birkaç saniye geriye alırsın", "anomaly_desc": "[css_useSkill] tuşuna basarak zamanı birkaç saniye geriye alırsın",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Flaşa kör olmazsın ve flaşların 7 saniye sürer", "antyflash_desc": "Flaşa kör olmazsın ve flaşların 7 saniye sürer",
@ -22,7 +22,7 @@
"areareaper_incorrect_site": "Böyle bir bomba alanı yok uydurma", "areareaper_incorrect_site": "Böyle bir bomba alanı yok uydurma",
"areareaper_no_site": "Haritada bomba alanı bulunamadı", "areareaper_no_site": "Haritada bomba alanı bulunamadı",
"areareaper_select_info": "Kapatılacak bomba alanını seç:", "areareaper_select_info": "Kapatılacak bomba alanını seç:",
"areareaper_site_disabled": "{0} alanı mühürlendi - artık buraya bomba kurulamaz!", "areareaper_site_disabled": "{0} Bölgesi kapandı - artık buraya bomba kurulamaz!",
"areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma", "areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma",
"areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.", "areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.",
"areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!", "areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!",
@ -57,7 +57,7 @@
"bunnyhop": "Tavşan", "bunnyhop": "Tavşan",
"bunnyhop_desc": "Otomatik \"BunnyHop\" yaparsın", "bunnyhop_desc": "Otomatik \"BunnyHop\" yaparsın",
"c4camouflage": "C4 Kamuflajı", "c4camouflage": "C4 Kamuflaj",
"c4camouflage_desc": "Elinde C4 varken tamamen görünmez olursun", "c4camouflage_desc": "Elinde C4 varken tamamen görünmez olursun",
"carefulbullets": "Dikkatli Mermiler", "carefulbullets": "Dikkatli Mermiler",
@ -146,8 +146,8 @@
"fortnite": "Fortnite", "fortnite": "Fortnite",
"fortnite_desc": "[css_useSkill] tuşuna basarak barikat kur", "fortnite_desc": "[css_useSkill] tuşuna basarak barikat kur",
"fragilebomb": "Hassas Bomba", "fragilebomb": "Hassas C4",
"fragilebomb_desc": "Kurulu bombaya ateş etmek bombanın canını azaltır", "fragilebomb_desc": "Kurulu C4'e ateş etmek C4'ün canını azaltır ve C4 imha edilir.",
"fragilebomb_bomb_health": "Bombanın canı", "fragilebomb_bomb_health": "Bombanın canı",
"friendlyfire": "Dost Şifası", "friendlyfire": "Dost Şifası",
@ -262,7 +262,7 @@
"magneticdecoy": "Manyetik Yanıltıcı", "magneticdecoy": "Manyetik Yanıltıcı",
"magneticdecoy_desc": "Yanıltıcı bombanız yakındaki oyuncuları kendine çeker", "magneticdecoy_desc": "Yanıltıcı bombanız yakındaki oyuncuları kendine çeker",
"magneto": "Magneto", "magneto": "Mıknatıs",
"magneto_desc": "Tüm düşman bombaları sizden uzaklaştırılır", "magneto_desc": "Tüm düşman bombaları sizden uzaklaştırılır",
"magnifier": "Büyüteç", "magnifier": "Büyüteç",
@ -372,8 +372,8 @@
"regeneration": "Yenilenme", "regeneration": "Yenilenme",
"regeneration_desc": "Birkaç saniyede bir canın yenilenir", "regeneration_desc": "Birkaç saniyede bir canın yenilenir",
"replicator": "Kopyacı", "replicator": "Klon",
"replicator_desc": "[css_useSkill] tuşuna basarak kopya oluştur ve ölürse rakibe hasar verir", "replicator_desc": "[css_useSkill] tuşuna basarak klon oluştur ve öldürene hasar verir",
"retreat": "Geri Çekil", "retreat": "Geri Çekil",
"retreat_desc": "[css_useSkill] tuşuna basarak başlangıç noktasına ışınlan", "retreat_desc": "[css_useSkill] tuşuna basarak başlangıç noktasına ışınlan",
@ -381,7 +381,7 @@
"returntosender": "İade", "returntosender": "İade",
"returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıç noktasına ışınlar", "returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıç noktasına ışınlar",
"richboy": "Zengin Bebe", "richboy": "Zengin Çocuk",
"richboy_desc": "Raund başında rastgele miktarda para alırsın", "richboy_desc": "Raund başında rastgele miktarda para alırsın",
"robinhood": "Robin Hood", "robinhood": "Robin Hood",
@ -418,8 +418,8 @@
"soldier_desc": "Rastgele bir oranda fazla hasar verirsin", "soldier_desc": "Rastgele bir oranda fazla hasar verirsin",
"soldier_desc2": "Hasarın: {0}x", "soldier_desc2": "Hasarın: {0}x",
"soundmaker": "Halüsinasyon", "soundmaker": "Çığlık",
"soundmaker_desc": "[css_useSkill] tuşuna basarak rakibinin çığlık atmasını sağla", "soundmaker_desc": "Rakiplerinin çığlıklarını duyarsın",
"spectator": "Röntgen", "spectator": "Röntgen",
"spectator_desc": "[css_useSkill] tuşuna basarak rakibinin gözünden gör", "spectator_desc": "[css_useSkill] tuşuna basarak rakibinin gözünden gör",
@ -469,7 +469,7 @@
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin", "wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu", "wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
"wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.", "wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.",
"wildthrow_disable_info": "El bombası atma hafızan normale döndü.", "wildthrow_disable_info": "Bombaların düzeldi.",
"wildthrow_select_info": "Bir oyuncu seçin:", "wildthrow_select_info": "Bir oyuncu seçin:",
"zeus": "Zeus", "zeus": "Zeus",

View file

@ -670,35 +670,36 @@ namespace src.player
lock (setLock) lock (setLock)
{ {
foreach (var player in Utilities.GetPlayers().Where(p => p.IsValid)) Instance.AddTimer(.5f, () =>
{ {
Instance.AddTimer(.5f, () => if (!Config.LoadedConfig.SummaryAfterTheRound) return;
{
var _players = Utilities.GetPlayers().Where(p => p.IsValid && p.Team is CsTeam.CounterTerrorist or CsTeam.Terrorist).OrderBy(p => p.Team);
var _players = Utilities.GetPlayers().Where(p => p.IsValid && p.Team is CsTeam.CounterTerrorist or CsTeam.Terrorist).OrderBy(p => p.Team).ToList();
foreach (var player in Utilities.GetPlayers().Where(p => p.IsValid))
{
string skillsText = ""; string skillsText = "";
foreach (var _player in _players) foreach (var _player in _players)
{ {
var _playerSkill = PlayerManager.GetPlayerByIndex(_player.Index); var _playerSkill = PlayerManager.GetPlayerByIndex(_player.Index);
if (_playerSkill != null) if (_playerSkill == null) continue;
{
var skillInfo = SkillData.Skills.FirstOrDefault(p => p.Skill == _playerSkill.Skill); var skillInfo = SkillData.Skills.FirstOrDefault(s => s.Skill == _playerSkill.Skill);
var specialSkillInfo = SkillData.Skills.FirstOrDefault(s => s.Skill == _playerSkill.SpecialSkill); var specialSkillInfo = SkillData.Skills.FirstOrDefault(s => s.Skill == _playerSkill.SpecialSkill);
if (skillInfo == null) continue; if (skillInfo == null) continue;
skillsText += $" {ChatColors.DarkRed}\u202A{_player.PlayerName}\u202C{ChatColors.Lime}: {(_playerSkill.SpecialSkill == Skills.None || specialSkillInfo == null ? player.GetSkillName(skillInfo.Skill, _playerSkill.SkillChance) : $"{player.GetSkillName(specialSkillInfo.Skill)} -> {player.GetSkillName(skillInfo.Skill, _playerSkill.SkillChance)}")}\n";
} skillsText += $" {ChatColors.DarkRed}\u202A{_player.PlayerName}\u202C{ChatColors.Lime}: {(_playerSkill.SpecialSkill == Skills.None || specialSkillInfo == null ? player.GetSkillName(skillInfo.Skill, _playerSkill.SkillChance) : $"{player.GetSkillName(specialSkillInfo.Skill)} -> {player.GetSkillName(skillInfo.Skill, _playerSkill.SkillChance)}")}\n";
} }
if (Config.LoadedConfig.SummaryAfterTheRound && !string.IsNullOrEmpty(skillsText)) if (string.IsNullOrEmpty(skillsText)) continue;
{
SkillUtils.PrintToChat(player, string.Empty, title: player.GetTranslation("summary"), border: "t"); SkillUtils.PrintToChat(player, string.Empty, title: player.GetTranslation("summary"), border: "t");
foreach (string text in skillsText.Split("\n")) foreach (string text in skillsText.Split("\n"))
if (!string.IsNullOrEmpty(text)) if (!string.IsNullOrEmpty(text))
SkillUtils.PrintToChat(player, text, title: player.GetTranslation("teammate_skills"), border: ""); SkillUtils.PrintToChat(player, text, title: player.GetTranslation("teammate_skills"), border: "");
SkillUtils.PrintToChat(player, string.Empty, border: "b"); SkillUtils.PrintToChat(player, string.Empty, border: "b");
} }
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); }, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
}
if (Config.LoadedConfig.DisableSkillsOnRoundEnd) if (Config.LoadedConfig.DisableSkillsOnRoundEnd)
{ {
@ -717,13 +718,15 @@ namespace src.player
DispatchToActiveSkills("PlayerDeath", @event); DispatchToActiveSkills("PlayerDeath", @event);
var victim = PlayerManager.GetPlayerEvent(@event.Userid); var victim = PlayerManager.GetPlayerEvent(@event.Userid);
var attacker = PlayerManager.GetPlayerEvent(@event.Attacker); if (victim == null) return HookResult.Continue;
if (victim == null || attacker == null) return HookResult.Continue;
var playerInfo = PlayerManager.GetPlayerByIndex(victim.Index); var playerInfo = PlayerManager.GetPlayerByIndex(victim.Index);
if (playerInfo == null || playerInfo.IsDrawing) return HookResult.Continue; if (playerInfo == null || playerInfo.IsDrawing) return HookResult.Continue;
Instance.SkillAction(playerInfo.Skill.ToString(), "DisableSkill", [victim]); Instance.SkillAction(playerInfo.Skill.ToString(), "DisableSkill", [victim]);
var attacker = PlayerManager.GetPlayerEvent(@event.Attacker);
if (attacker == null || victim == attacker) return HookResult.Continue;
if (victim == attacker) return HookResult.Continue; if (victim == attacker) return HookResult.Continue;
if (Config.LoadedConfig.KillerSkillChatInfo) if (Config.LoadedConfig.KillerSkillChatInfo)
{ {
@ -958,6 +961,7 @@ namespace src.player
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); }, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
else else
{ {
if (PlayerManager.GetPlayerByIndex(player!.Index)?.Skill != randomSkill.Skill) return;
Instance?.SkillAction(randomSkill.Skill.ToString(), "EnableSkill", [player]); Instance?.SkillAction(randomSkill.Skill.ToString(), "EnableSkill", [player]);
} }
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); }, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);

View file

@ -118,13 +118,30 @@ namespace src.player.skills
if (!Instance.IsPlayerValid(attacker)) if (!Instance.IsPlayerValid(attacker))
{ {
if (jesterVictim != null && jesterVictim.Active) if (jesterVictim != null && jesterVictim.Active)
{
SkillUtils.RestoreHealth(victim); SkillUtils.RestoreHealth(victim);
RestoreArmor(victim, @event.DmgArmor);
}
return; return;
} }
var jesterAttacker = GetJesterInfo(attacker!.Index); var jesterAttacker = GetJesterInfo(attacker!.Index);
if ((jesterVictim != null && jesterVictim.Active) || (jesterAttacker != null && jesterAttacker.Active)) if ((jesterVictim != null && jesterVictim.Active) || (jesterAttacker != null && jesterAttacker.Active))
{
SkillUtils.RestoreHealth(victim); SkillUtils.RestoreHealth(victim);
RestoreArmor(victim, @event.DmgArmor);
}
}
private static void RestoreArmor(CCSPlayerController? victim, int dmgArmor)
{
if (victim == null || !victim.IsValid || dmgArmor <= 0) return;
var pawn = victim.PlayerPawn?.Value;
if (pawn == null || !pawn.IsValid) return;
pawn.ArmorValue += dmgArmor;
Utilities.SetStateChanged(pawn, "CCSPlayerPawn", "m_ArmorValue");
} }
public static void EnableSkill(CCSPlayerController player) public static void EnableSkill(CCSPlayerController player)

View file

@ -96,12 +96,12 @@ namespace src.player.skills
DropAllBotWeapons(victim); DropAllBotWeapons(victim);
SetPlayerColor(pawn, false); SetPlayerColor(pawn, false);
SkillUtils.AddHealth(pawn, zombieHealth - pawn.Health, zombieHealth); SkillUtils.SetHealth(pawn, zombieHealth, zombieHealth);
victim.ExecuteClientCommand("slot3"); victim.ExecuteClientCommand("slot3");
} }
else if (isZombie && tick + 4 > Server.TickCount) else if (isZombie && tick + 4 > Server.TickCount)
SkillUtils.AddHealth(pawn, zombieHealth - pawn.Health, zombieHealth); SkillUtils.SetHealth(pawn, zombieHealth, zombieHealth);
} }
private static void DropAllBotWeapons(CCSPlayerController player) private static void DropAllBotWeapons(CCSPlayerController player)

View file

@ -320,10 +320,9 @@ namespace src.utils
return EntityManager.CreateTrackedTrigger(ownerPlayerIndex, name, radius, pos); return EntityManager.CreateTrackedTrigger(ownerPlayerIndex, name, radius, pos);
} }
public static void ForceFullUpdate(CCSPlayerController player) public static void ForceFullUpdate(CCSPlayerController player, List<(uint PlayerIndex, QAngle LastAngle)>? batchList = null)
{ {
if (player == null || !player.IsValid) if (player == null || !player.IsValid) return;
return;
var pawn = player.PlayerPawn?.Value; var pawn = player.PlayerPawn?.Value;
if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null) return; if (pawn == null || !pawn.IsValid || pawn.AbsOrigin == null) return;
@ -337,13 +336,75 @@ namespace src.utils
if (client == null) return; if (client == null) return;
client.ForceFullUpdate(); client.ForceFullUpdate();
pawn.Look(lastAngle); if (lastAngle.Y == 0) return;
uint playerIndex = player.Index;
if (batchList != null)
{
batchList.Add((playerIndex, lastAngle));
return;
}
jRandomSkills.Instance.AddTickTimer(3, () =>
{
var target = Utilities.GetPlayerFromIndex((int)playerIndex);
if (target == null || !target.IsValid) return;
var targetPawn = target.PlayerPawn?.Value;
if (targetPawn == null || !targetPawn.IsValid || targetPawn.AbsOrigin == null) return;
targetPawn.Look(lastAngle);
});
} }
private static int lastForceFullUpdateAll = int.MinValue;
public static void ForceFullUpdateToAll() public static void ForceFullUpdateToAll()
{ {
int tickCount = Server.TickCount;
if (tickCount == lastForceFullUpdateAll) return;
lastForceFullUpdateAll = tickCount;
var playersToRestore = new List<(uint PlayerIndex, QAngle LastAngle)>();
foreach (var player in Utilities.GetPlayers()) foreach (var player in Utilities.GetPlayers())
ForceFullUpdate(player); ForceFullUpdate(player, playersToRestore);
if (playersToRestore.Count <= 0) return;
jRandomSkills.Instance.AddTickTimer(3, () =>
{
foreach (var item in playersToRestore)
{
var target = Utilities.GetPlayerFromIndex((int)item.PlayerIndex);
if (target == null || !target.IsValid) continue;
var targetPawn = target.PlayerPawn?.Value;
if (targetPawn == null || !targetPawn.IsValid || targetPawn.AbsOrigin == null) continue;
targetPawn.Look(item.LastAngle);
}
});
}
public static bool SetHealth(CCSPlayerPawn? pawn, int newHealth, int? maxHealth = null)
{
if (pawn == null || !pawn.IsValid)
return false;
maxHealth ??= pawn.MaxHealth;
if (pawn.Health == maxHealth)
return false;
pawn.Health = Math.Min(newHealth, (int)maxHealth);
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iHealth");
pawn.MaxHealth = (int)maxHealth;
Utilities.SetStateChanged(pawn, "CBaseEntity", "m_iMaxHealth");
return true;
} }
public static bool AddHealth(CCSPlayerPawn? pawn, int extraHealth, int? maxHealth = null) public static bool AddHealth(CCSPlayerPawn? pawn, int extraHealth, int? maxHealth = null)

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Klicke [css_useSkill], um dein Visier auf den nächsten Gegner zu fixieren", "aimlock_desc": "Klicke [css_useSkill], um dein Visier auf den nächsten Gegner zu fixieren",
"anomaly": "Anomalie", "anomaly": "Anomalie",
"anomaly_desc": "Du spulst die Zeit um einige Sekunden zurück", "anomaly_desc": "Drücke [css_useSkill], um einige Sekunden in der Zeit zurückzuspringen",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Du bist immun gegen Blendgranaten und deine Blendgranaten halten 7 Sekunden lang", "antyflash_desc": "Du bist immun gegen Blendgranaten und deine Blendgranaten halten 7 Sekunden lang",
@ -419,7 +419,7 @@
"soldier_desc2": "Dein Schadensmultiplikator beträgt: {0}x", "soldier_desc2": "Dein Schadensmultiplikator beträgt: {0}x",
"soundmaker": "Soundmaker", "soundmaker": "Soundmaker",
"soundmaker_desc": "Klicke auf [css_useSkill], um für jeden Gegner einen Sound auszulösen", "soundmaker_desc": "Von Zeit zu Zeit hörst du die Schreie von Spielern",
"spectator": "Zuschauer", "spectator": "Zuschauer",
"spectator_desc": "Klicke auf [css_useSkill], um einen zufälligen Gegner zu beobachten", "spectator_desc": "Klicke auf [css_useSkill], um einen zufälligen Gegner zu beobachten",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Click [css_useSkill] to lock your aim on the nearest enemy", "aimlock_desc": "Click [css_useSkill] to lock your aim on the nearest enemy",
"anomaly": "Anomaly", "anomaly": "Anomaly",
"anomaly_desc": "You rewind a few seconds back in time", "anomaly_desc": "Click [css_useSkill] to rewind a few seconds back in time",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "You are immune to flashbangs, and your flashbangs last 7 seconds", "antyflash_desc": "You are immune to flashbangs, and your flashbangs last 7 seconds",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Cliquez sur [css_useSkill] pour verrouiller votre visée sur l'ennemi le plus proche", "aimlock_desc": "Cliquez sur [css_useSkill] pour verrouiller votre visée sur l'ennemi le plus proche",
"anomaly": "Anomalie", "anomaly": "Anomalie",
"anomaly_desc": "Vous revenez quelques secondes en arrière dans le temps", "anomaly_desc": "Appuyez sur [css_useSkill] pour remonter de quelques secondes dans le temps",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Vous êtes immunisé contre les flashbangs, et vos flashbangs durent 7 secondes", "antyflash_desc": "Vous êtes immunisé contre les flashbangs, et vos flashbangs durent 7 secondes",
@ -419,7 +419,7 @@
"soldier_desc2": "Votre multiplicateur de dégâts est : {0}x", "soldier_desc2": "Votre multiplicateur de dégâts est : {0}x",
"soundmaker": "Faiseur de Bruit", "soundmaker": "Faiseur de Bruit",
"soundmaker_desc": "Appuyez sur [css_useSkill] pour déclencher un son pour chaque ennemi", "soundmaker_desc": "De temps en temps, vous entendez les cris des joueurs",
"spectator": "Spectateur", "spectator": "Spectateur",
"spectator_desc": "Appuyez sur [css_useSkill] pour observer un ennemi aléatoire", "spectator_desc": "Appuyez sur [css_useSkill] pour observer un ennemi aléatoire",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Kliknij [css_useSkill], aby wycelować na najbliższego wroga", "aimlock_desc": "Kliknij [css_useSkill], aby wycelować na najbliższego wroga",
"anomaly": "Anomalia", "anomaly": "Anomalia",
"anomaly_desc": "Cofasz się o kilka sekund do tyłu", "anomaly_desc": "Kliknij [css_useSkill], aby cofnąć się o kilka sekund w czasie",
"antyflash": "Anty Flash", "antyflash": "Anty Flash",
"antyflash_desc": "Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund", "antyflash_desc": "Posiadasz odporność na flash'e, a twoje flash'e trwają 7 sekund",
@ -419,7 +419,7 @@
"soldier_desc2": "Twój mnożnik obrażeń wynosi: {0}x", "soldier_desc2": "Twój mnożnik obrażeń wynosi: {0}x",
"soundmaker": "Dźwiękowiec", "soundmaker": "Dźwiękowiec",
"soundmaker_desc": "Co jakiś czas szłyszysz krzyki graczy", "soundmaker_desc": "Co jakiś czas słyszysz krzyki graczy",
"spectator": "Obserwator", "spectator": "Obserwator",
"spectator_desc": "Kliknij [css_useSkill], aby obserwować losowego przeciwnika", "spectator_desc": "Kliknij [css_useSkill], aby obserwować losowego przeciwnika",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Clique em [css_useSkill] para travar a mira no inimigo mais próximo", "aimlock_desc": "Clique em [css_useSkill] para travar a mira no inimigo mais próximo",
"anomaly": "Máquina do Tempo", "anomaly": "Máquina do Tempo",
"anomaly_desc": "Você volta alguns segundos no tempo", "anomaly_desc": "Pressione [css_useSkill] para voltar alguns segundos no tempo",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Você é imune a flashes, e flashbangs duram 7 segundos", "antyflash_desc": "Você é imune a flashes, e flashbangs duram 7 segundos",
@ -419,7 +419,7 @@
"soldier_desc2": "Seu multiplicador de dano é: {0}x", "soldier_desc2": "Seu multiplicador de dano é: {0}x",
"soundmaker": "Criador de Som", "soundmaker": "Criador de Som",
"soundmaker_desc": "Clique em [css_useSkill] para tocar um som para cada inimigo", "soundmaker_desc": "De vez em quando, você ouve gritos de jogadores",
"spectator": "Espectador", "spectator": "Espectador",
"spectator_desc": "Clique em [css_useSkill] para ver a tela de um inimigo aleatório", "spectator_desc": "Clique em [css_useSkill] para ver a tela de um inimigo aleatório",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "Нажмите [css_useSkill], чтобы зафиксировать прицел на ближайшем враге", "aimlock_desc": "Нажмите [css_useSkill], чтобы зафиксировать прицел на ближайшем враге",
"anomaly": "Аномалия", "anomaly": "Аномалия",
"anomaly_desc": "Вы отматываете время на несколько секунд назад", "anomaly_desc": "Нажмите [css_useSkill], чтобы вернуться на несколько секунд назад во времени",
"antyflash": "Антифлеш", "antyflash": "Антифлеш",
"antyflash_desc": "Вы невосприимчивы к флешкам, а ваши флешки действуют 7 секунд", "antyflash_desc": "Вы невосприимчивы к флешкам, а ваши флешки действуют 7 секунд",

View file

@ -9,7 +9,7 @@
"aimlock_desc": "En yakın düşmana nişan almak için [css_useSkill] tuşuna basın", "aimlock_desc": "En yakın düşmana nişan almak için [css_useSkill] tuşuna basın",
"anomaly": "Zaman Büken", "anomaly": "Zaman Büken",
"anomaly_desc": "Zamanı birkaç saniye geriye alırsın", "anomaly_desc": "[css_useSkill] tuşuna basarak zamanı birkaç saniye geriye alırsın",
"antyflash": "Anti-Flash", "antyflash": "Anti-Flash",
"antyflash_desc": "Flaşa kör olmazsın ve flaşların 7 saniye sürer", "antyflash_desc": "Flaşa kör olmazsın ve flaşların 7 saniye sürer",
@ -22,7 +22,7 @@
"areareaper_incorrect_site": "Böyle bir bomba alanı yok uydurma", "areareaper_incorrect_site": "Böyle bir bomba alanı yok uydurma",
"areareaper_no_site": "Haritada bomba alanı bulunamadı", "areareaper_no_site": "Haritada bomba alanı bulunamadı",
"areareaper_select_info": "Kapatılacak bomba alanını seç:", "areareaper_select_info": "Kapatılacak bomba alanını seç:",
"areareaper_site_disabled": "{0} alanı mühürlendi - artık buraya bomba kurulamaz!", "areareaper_site_disabled": "{0} Bölgesi kapandı - artık buraya bomba kurulamaz!",
"areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma", "areareaper_used_info": "Yeteneğini zaten kullandın, açgözlülük yapma",
"areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.", "areareaper_teammates_info": "{0} Bölgesi bomba kurmaya kapatıldı.",
"areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!", "areareaper_bombsite_disabled": "Bu bomba alanı kullanıma kapatıldı!",
@ -57,7 +57,7 @@
"bunnyhop": "Tavşan", "bunnyhop": "Tavşan",
"bunnyhop_desc": "Otomatik \"BunnyHop\" yaparsın", "bunnyhop_desc": "Otomatik \"BunnyHop\" yaparsın",
"c4camouflage": "C4 Kamuflajı", "c4camouflage": "C4 Kamuflaj",
"c4camouflage_desc": "Elinde C4 varken tamamen görünmez olursun", "c4camouflage_desc": "Elinde C4 varken tamamen görünmez olursun",
"carefulbullets": "Dikkatli Mermiler", "carefulbullets": "Dikkatli Mermiler",
@ -146,8 +146,8 @@
"fortnite": "Fortnite", "fortnite": "Fortnite",
"fortnite_desc": "[css_useSkill] tuşuna basarak barikat kur", "fortnite_desc": "[css_useSkill] tuşuna basarak barikat kur",
"fragilebomb": "Hassas Bomba", "fragilebomb": "Hassas C4",
"fragilebomb_desc": "Kurulu bombaya ateş etmek bombanın canını azaltır", "fragilebomb_desc": "Kurulu C4'e ateş etmek C4'ün canını azaltır ve C4 imha edilir.",
"fragilebomb_bomb_health": "Bombanın canı", "fragilebomb_bomb_health": "Bombanın canı",
"friendlyfire": "Dost Şifası", "friendlyfire": "Dost Şifası",
@ -262,7 +262,7 @@
"magneticdecoy": "Manyetik Yanıltıcı", "magneticdecoy": "Manyetik Yanıltıcı",
"magneticdecoy_desc": "Yanıltıcı bombanız yakındaki oyuncuları kendine çeker", "magneticdecoy_desc": "Yanıltıcı bombanız yakındaki oyuncuları kendine çeker",
"magneto": "Magneto", "magneto": "Mıknatıs",
"magneto_desc": "Tüm düşman bombaları sizden uzaklaştırılır", "magneto_desc": "Tüm düşman bombaları sizden uzaklaştırılır",
"magnifier": "Büyüteç", "magnifier": "Büyüteç",
@ -372,8 +372,8 @@
"regeneration": "Yenilenme", "regeneration": "Yenilenme",
"regeneration_desc": "Birkaç saniyede bir canın yenilenir", "regeneration_desc": "Birkaç saniyede bir canın yenilenir",
"replicator": "Kopyacı", "replicator": "Klon",
"replicator_desc": "[css_useSkill] tuşuna basarak kopya oluştur ve ölürse rakibe hasar verir", "replicator_desc": "[css_useSkill] tuşuna basarak klon oluştur ve öldürene hasar verir",
"retreat": "Geri Çekil", "retreat": "Geri Çekil",
"retreat_desc": "[css_useSkill] tuşuna basarak başlangıç noktasına ışınlan", "retreat_desc": "[css_useSkill] tuşuna basarak başlangıç noktasına ışınlan",
@ -381,7 +381,7 @@
"returntosender": "İade", "returntosender": "İade",
"returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıç noktasına ışınlar", "returntosender_desc": "Düşmana ilk vuruşun onu kendi başlangıç noktasına ışınlar",
"richboy": "Zengin Bebe", "richboy": "Zengin Çocuk",
"richboy_desc": "Raund başında rastgele miktarda para alırsın", "richboy_desc": "Raund başında rastgele miktarda para alırsın",
"robinhood": "Robin Hood", "robinhood": "Robin Hood",
@ -418,8 +418,8 @@
"soldier_desc": "Rastgele bir oranda fazla hasar verirsin", "soldier_desc": "Rastgele bir oranda fazla hasar verirsin",
"soldier_desc2": "Hasarın: {0}x", "soldier_desc2": "Hasarın: {0}x",
"soundmaker": "Halüsinasyon", "soundmaker": "Çığlık",
"soundmaker_desc": "[css_useSkill] tuşuna basarak rakibinin çığlık atmasını sağla", "soundmaker_desc": "Rakiplerinin çığlıklarını duyarsın",
"spectator": "Röntgen", "spectator": "Röntgen",
"spectator_desc": "[css_useSkill] tuşuna basarak rakibinin gözünden gör", "spectator_desc": "[css_useSkill] tuşuna basarak rakibinin gözünden gör",
@ -469,7 +469,7 @@
"wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin", "wildthrow_desc": "El bombası atmakta zorluk çekecek bir oyuncu seçin",
"wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu", "wildthrow_player_info": "'{0}' adlı oyuncu tüm taktiklerini unuttu",
"wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.", "wildthrow_enemy_info": "Bomba atarken çok heyecanlanıyorsun.",
"wildthrow_disable_info": "El bombası atma hafızan normale döndü.", "wildthrow_disable_info": "Bombaların düzeldi.",
"wildthrow_select_info": "Bir oyuncu seçin:", "wildthrow_select_info": "Bir oyuncu seçin:",
"zeus": "Zeus", "zeus": "Zeus",