diff --git a/.github/en.md b/.github/en.md index 8255b85..44ebdc1 100644 --- a/.github/en.md +++ b/.github/en.md @@ -425,6 +425,27 @@ This plugin uses content from the following projects: ## 馃搵 Changelog +
+v1.2.4.b3 + +- #### General + - Updated compatibility with **CounterStrikeSharp v1.0.375**. + - **Removed RayTrace-CSS-API / RayTrace-MM** (ray tracing is now built into CounterStrikeSharp). + - **Updated gamedata** signatures and offsets for Windows/Linux. + - Skill distribution failures are now logged and retried. + - Spectators without a pawn are excluded from connected-player checks. + +- #### Skill Fixes + - **No Recoil** - Spread and inaccuracy are now disabled server-side for accurate shots. + - **Long Zeus** - Kills now correctly count as Zeus kills, including killfeed, sound and ragdoll effects. + - **Long Knife** - Long-range hits now show a tracer. + - **Fragile Bomb** - Planted bombs are detected reliably and bullet paths are checked correctly. + - **Tripwire** - Beams are now removed correctly when the skill changes. + +**Full update contributed by [@ByDexterTR](https://github.com/ByDexterTR) in pull request [#61](https://github.com/Juzlus/jRandomSkills/pull/61). Thanks to ByDexterTR!** + +
+
v1.2.4.b2 diff --git a/.github/pl.md b/.github/pl.md index c7d5eaa..d3cca3d 100644 --- a/.github/pl.md +++ b/.github/pl.md @@ -425,6 +425,27 @@ Plugin korzysta z zawarto艣ci nast臋puj膮cych projekt贸w: ## 馃搵 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 diff --git a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs index 770161b..521b26d 100644 --- a/jRandomSkills - SRC Files/src/player/PlayerEvents.cs +++ b/jRandomSkills - SRC Files/src/player/PlayerEvents.cs @@ -795,7 +795,7 @@ namespace src.player Vector eyePos = new(pawn.AbsOrigin.X, pawn.AbsOrigin.Y, pawn.AbsOrigin.Z + pawn.ViewOffset.Z); Vector endPos = eyePos + SkillUtils.GetForwardVector(pawn.EyeAngles) * 80; - ulong mask = RayTrace.WorldOnlyMask | (ulong)(Contents.Player | Contents.Npc); + ulong mask = (ulong)Masks.SolidBrushOnly | (ulong)(Contents.Player | Contents.Npc); ulong contents = 0; var result = RayTrace.TraceShape(player, eyePos, endPos, mask, contents); diff --git a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs index 7a47467..b4ca260 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ricochet.cs @@ -21,7 +21,7 @@ namespace src.player.skills private static readonly List flights = []; private static readonly object flightLock = new(); private static readonly Color tracerColor = Color.FromArgb(170, 255, 226, 140); - private static readonly ulong worldOnlyMask = RayTrace.WorldOnlyMask; + private static readonly ulong worldOnlyMask = (ulong)Masks.SolidBrushOnly; public static void LoadSkill() { diff --git a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs index 8a0846a..d94b2cc 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Tripwire.cs @@ -162,7 +162,7 @@ namespace src.player.skills Vector rightDir = SkillUtils.GetForwardVector(new QAngle(0, yaw - 90, 0)); Vector leftDir = SkillUtils.GetForwardVector(new QAngle(0, yaw + 90, 0)); - ulong wallMask = RayTrace.WorldOnlyMask; + ulong wallMask = (ulong)Masks.SolidBrushOnly; var rightHit = RayTrace.TraceShape(player, origin, origin + rightDir * maxDistance, wallMask, 0); var leftHit = RayTrace.TraceShape(player, origin, origin + leftDir * maxDistance, wallMask, 0); diff --git a/jRandomSkills - SRC Files/src/utils/EntityManager.cs b/jRandomSkills - SRC Files/src/utils/EntityManager.cs index fc13d50..72ffa84 100644 --- a/jRandomSkills - SRC Files/src/utils/EntityManager.cs +++ b/jRandomSkills - SRC Files/src/utils/EntityManager.cs @@ -467,7 +467,7 @@ namespace src.utils DestroyAllTracked(); } - private static void ScheduleAutoDestroy(uint entityIndex, float? seconds) + public static void ScheduleAutoDestroy(uint entityIndex, float? seconds) { if (seconds is not > 0) return; Instance?.AddTimer(seconds.Value, () => DestroyEntity(entityIndex), CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); diff --git a/jRandomSkills - SRC Files/src/utils/RayTrace.cs b/jRandomSkills - SRC Files/src/utils/RayTrace.cs index 8f427d4..3066094 100644 --- a/jRandomSkills - SRC Files/src/utils/RayTrace.cs +++ b/jRandomSkills - SRC Files/src/utils/RayTrace.cs @@ -10,10 +10,9 @@ namespace src.utils { public static class RayTrace { - public const ulong WorldOnlyMask = (ulong)(Contents.Solid | Contents.Window | Contents.PassBullets); private static bool traceFailureLogged; - + public static bool IsAvailable => true; private static bool TryTraceHull(Vector startPos, Vector endPos, Vector mins, Vector maxs, CBaseEntity? ignore, ulong mask, ulong contents, out TraceResult result) @@ -208,6 +207,9 @@ namespace src.utils beam.EndPos.Z = end.Z; beam.DispatchSpawn(); + + EntityManager.RegisterEntity(beam.Index, int.MaxValue, "beam"); + EntityManager.ScheduleAutoDestroy(beam.Index, 10); } public static float Distance(this CustomTraceResult result) diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll index 42c757f..ae60036 100644 Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll differ diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll index 771da85..ad99045 100644 Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll differ