QoE Update — 2
## Added - **`Spectator` use cooldown** (`UseCooldown` in skillsInfo.json, default 0.5s) — every press destroyed and recreated the camera prop, with no rate limit. - **`SkillUtils.ClearCursesFor(playerIndex)`** — clears a leaving player's curse bookkeeping from both sides (as curser and as victim). - **`SkillUtils.AnyCurseCapacity(player)`** — reports whether a player still has any enemy left that is under the curse limit. - **`Spectator.PlayerDisconnect`** handler. - **`Thief`** added to the curse skill set. ## Changed - **`CurseSkillPerPlayer` is ignored in GameMode 1 (TeamSkills), 2 (SameSkills) and 5 (Debug).** - **Curse target menus no longer go empty.** When every living enemy is already at the limit, the menu falls back to the unfiltered list and the claim is forced through. - `C4Camouflage` `MaxPerServer` -1 -> 1
This commit is contained in:
parent
b0b50a224f
commit
7292ab1787
9 changed files with 101 additions and 35 deletions
|
|
@ -25,21 +25,7 @@ namespace src.player.skills
|
|||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||
if (playerInfo?.Skill != skillName) continue;
|
||||
|
||||
var enemies = PlayerManager.GetTickPlayers().Where(p =>
|
||||
p != null &&
|
||||
p.IsValid)
|
||||
.Select(p => PlayerManager.GetPlayerEvent(p))
|
||||
.Where(p =>
|
||||
p != null &&
|
||||
p.IsValid &&
|
||||
p.Team != player.Team &&
|
||||
p.PlayerPawn?.Value != null &&
|
||||
p.PlayerPawn.Value.IsValid &&
|
||||
p.PlayerPawn.Value.Health > 0 &&
|
||||
!p.IsHLTV &&
|
||||
p.Team != CsTeam.Spectator
|
||||
&& p.Team != CsTeam.None
|
||||
).ToArray();
|
||||
var enemies = SkillUtils.GetSelectableEnemies(player, true);
|
||||
|
||||
ConcurrentBag<(string, string)> menuItems = [];
|
||||
foreach (var enemy in enemies)
|
||||
|
|
@ -106,14 +92,7 @@ namespace src.player.skills
|
|||
var playerEvent = PlayerManager.GetPlayerFromEvent(player);
|
||||
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||
|
||||
var enemies = PlayerManager.GetTickPlayers()
|
||||
.Where(p => p != null
|
||||
&& p.IsValid
|
||||
&& p.Team != player.Team
|
||||
&& p.PlayerPawn?.Value?.Health > 0
|
||||
&& p.Team != CsTeam.Spectator
|
||||
&& p.Team != CsTeam.None)
|
||||
.ToArray();
|
||||
var enemies = SkillUtils.GetSelectableEnemies(player, true);
|
||||
|
||||
if (enemies.Length > 0)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue