namespace Content.Server.Administration.Commands;
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.AdminWho)]
public sealed class AdminWhoCommand : IConsoleCommand
{
public string Command => "adminwho";
namespace Content.Server.Administration.Commands
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
public sealed class AnnounceUiCommand : IConsoleCommand
{
public string Command => "announceui";
namespace Content.Server.Administration.Commands;
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Ban)]
public sealed class BanExemptionUpdateCommand : LocalizedCommands
{
[Dependency] private readonly IServerDbManager _dbManager = default!;
}
}
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Ban)]
public sealed class BanExemptionGetCommand : LocalizedCommands
{
[Dependency] private readonly IServerDbManager _dbManager = default!;
namespace Content.Server.Administration.Commands
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
sealed class DSay : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
namespace Content.Server.Administration.Commands;
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Fun)]
public sealed class FaxUiCommand : IConsoleCommand
{
public string Command => "faxui";
eui.OpenEui(ui, player);
}
}
-
namespace Content.Server.Administration.Commands;
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Fun)]
public sealed class LinkBluespaceLocker : IConsoleCommand
{
[Dependency] private readonly IEntityManager _entManager = default!;
namespace Content.Server.Administration.Commands;
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class PlayTimeAddOverallCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
}
}
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class PlayTimeAddRoleCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
}
}
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class PlayTimeGetOverallCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
}
}
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class PlayTimeGetRoleCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
/// <summary>
/// Saves the timers for a particular player immediately
/// </summary>
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class PlayTimeSaveCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
namespace Content.Server.Administration.Commands
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.NameColor)]
internal sealed class SetAdminOOC : IConsoleCommand
{
public string Command => "setadminooc";
namespace Content.Server.AlertLevel.Commands
{
[UsedImplicitly]
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Fun)]
public sealed class SetAlertLevelCommand : LocalizedCommands
{
[Dependency] private readonly IEntitySystemManager _entitySystems = default!;
namespace Content.Server.Announcements
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
public sealed class AnnounceCommand : IConsoleCommand
{
public string Command => "announce";
namespace Content.Server.Chat.Commands;
-[AdminCommand(AdminFlags.Server)]
+[AdminCommand(AdminFlags.Admin)]
public sealed class SetOOCCommand : IConsoleCommand
{
public string Command => "setooc";
using Content.Server.Station.Components;
using Content.Server.Station.Systems;
using Content.Shared.ActionBlocker;
+using Content.Shared.Administration;
using Content.Shared.CCVar;
using Content.Shared.Chat;
using Content.Shared.Database;
message = SanitizeInGameOOCMessage(message);
var sendType = type;
- // If dead player LOOC is disabled, unless you are an aghost, send dead messages to dead chat
- if (!_adminManager.IsAdmin(player) && !_deadLoocEnabled &&
- (HasComp<GhostComponent>(source) || _mobStateSystem.IsDead(source)))
+ // If dead player LOOC is disabled, unless you are an admin with Moderator perms, send dead messages to dead chat
+ if ((_adminManager.IsAdmin(player) && _adminManager.HasAdminFlag(player, AdminFlags.Moderator)) // Override if admin
+ || _deadLoocEnabled
+ || (!HasComp<GhostComponent>(source) && !_mobStateSystem.IsDead(source))) // Check that player is not dead
+ {
+ }
+ else
sendType = InGameOOCChatType.Dead;
// If crit player LOOC is disabled, don't send the message at all.
namespace Content.Server.Damage.Commands
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Fun)]
public sealed class GodModeCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _entManager = default!;
}
}
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class GhostKickCommand : IConsoleCommand
{
public string Command => "ghostkick";
/// <summary>
/// A console command usable by any user which prints or sets the Message of the Day.
/// </summary>
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
public sealed class SetMotdCommand : LocalizedCommands
{
[Dependency] private readonly IAdminLogManager _adminLogManager = default!;
namespace Content.Server.Toolshed.Commands.Verbs;
-[ToolshedCommand, AdminCommand(AdminFlags.Admin)]
+[ToolshedCommand, AdminCommand(AdminFlags.Moderator)]
public sealed class RunVerbAsCommand : ToolshedCommand
{
private SharedVerbSystem? _verb;
using Content.Server.Administration;
+using Content.Server.Database;
using Content.Shared.Administration;
using Content.Shared.Verbs;
using Robust.Shared.Console;
namespace Content.Server.Verbs.Commands
{
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
public sealed class ListVerbsCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _entManager = default!;
timeSpan = default;
// Admins can always call votes.
- if (_adminMgr.HasAdminFlag(initiator, AdminFlags.Admin))
+ if (_adminMgr.HasAdminFlag(initiator, AdminFlags.Moderator))
{
isAdmin = true;
return true;
.Select(e => e.Data)
.ToImmutableArray();
// Store all votes in order for webhooks
- var voteTally = new List<int>();
+ var voteTally = new List<int>();
foreach(var entry in v.Entries)
{
voteTally.Add(entry.Votes);
}
}
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
public sealed class CreateCustomCommand : IConsoleCommand
{
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
}
}
- [AdminCommand(AdminFlags.Admin)]
+ [AdminCommand(AdminFlags.Moderator)]
public sealed class CancelVoteCommand : IConsoleCommand
{
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
///</summary>
Pii = 1 << 18,
+ /// <summary>
+ /// Lets you take moderator actions on the game server.
+ /// </summary>
+ Moderator = 1 << 19,
+
+ /// <summary>
+ /// Lets you check currently online admins.
+ /// </summary>
+ AdminWho = 1 << 20,
+
+ /// <summary>
+ /// Lets you set the color of your OOC name.
+ /// </summary>
+ NameColor = 1 << 21,
+
/// <summary>
/// Dangerous host permissions like scsi.
/// </summary>
- Flags: ADMIN
Commands:
- - delete
- - kick
- listplayers
- tp
- tpto
- - respawn
+
+- Flags: FUN
+ Commands:
- tippy
- tip
Commands:
- spawn
- cspawn
+ - delete
+
+- Flags: MODERATOR
+ Commands:
+ - kick
+ - respawn
- Flags: HOST
Commands: