Targets: prefer an exact name, partial names for ungag/unmute/unsilence
Some checks are pending
Build and Publish / build (push) Waiting to run
Build and Publish / publish (push) Blocked by required conditions

Part of 1.8.2b-zio15.
This commit is contained in:
Astra 2026-10-03 00:18:04 +01:00
parent dc5ad30952
commit 8bec658db4
4 changed files with 36 additions and 2 deletions

View file

@ -292,6 +292,13 @@ public partial class CS2_SimpleAdmin
var nameMatches = Helper.GetPlayerFromName(pattern);
var namePlayer = nameMatches.Count == 1 ? nameMatches.FirstOrDefault() : null;
// zio: several online players match part of the name; don't fall through to the offline search.
if (nameMatches.Count > 1)
{
command.ReplyToCommand($"Multiple targets found for \"{pattern}\": {string.Join(", ", nameMatches.Select(p => p.PlayerName))}.");
return;
}
if (namePlayer != null && namePlayer.IsValid)
{
PlayerPenaltyManager.RemovePenaltiesByType(namePlayer.Slot, PenaltyType.Gag);
@ -604,6 +611,13 @@ public partial class CS2_SimpleAdmin
var nameMatches = Helper.GetPlayerFromName(pattern);
var namePlayer = nameMatches.Count == 1 ? nameMatches.FirstOrDefault() : null;
// zio: several online players match part of the name; don't fall through to the offline search.
if (nameMatches.Count > 1)
{
command.ReplyToCommand($"Multiple targets found for \"{pattern}\": {string.Join(", ", nameMatches.Select(p => p.PlayerName))}.");
return;
}
if (namePlayer != null && namePlayer.IsValid)
{
PlayerPenaltyManager.RemovePenaltiesByType(namePlayer.Slot, PenaltyType.Mute);
@ -919,6 +933,13 @@ public partial class CS2_SimpleAdmin
var nameMatches = Helper.GetPlayerFromName(pattern);
var namePlayer = nameMatches.Count == 1 ? nameMatches.FirstOrDefault() : null;
// zio: several online players match part of the name; don't fall through to the offline search.
if (nameMatches.Count > 1)
{
command.ReplyToCommand($"Multiple targets found for \"{pattern}\": {string.Join(", ", nameMatches.Select(p => p.PlayerName))}.");
return;
}
if (namePlayer != null && namePlayer.IsValid)
{
PlayerPenaltyManager.RemovePenaltiesByType(namePlayer.Slot, PenaltyType.Silence);