using Content.Shared.Administration;
using Content.Shared.Database;
using Content.Shared.Eui;
+using Content.Shared.Roles;
using Robust.Shared.Network;
+using Robust.Shared.Prototypes;
namespace Content.Server.Administration;
[Dependency] private readonly IPlayerLocator _playerLocator = default!;
[Dependency] private readonly IChatManager _chat = default!;
[Dependency] private readonly IAdminManager _admins = default!;
+ [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
private readonly ISawmill _sawmill;
var now = DateTimeOffset.UtcNow;
foreach (var role in roles)
{
- _banManager.CreateRoleBan(targetUid, target, Player.UserId, addressRange, targetHWid, role, minutes, severity, reason, now);
+ if (_prototypeManager.HasIndex<JobPrototype>(role))
+ {
+ _banManager.CreateRoleBan(targetUid, target, Player.UserId, addressRange, targetHWid, role, minutes, severity, reason, now);
+ }
+ else
+ {
+ _sawmill.Warning($"{Player.Name} ({Player.UserId}) tried to issue a job ban with an invalid job: {role}");
+ }
}
Close();