You can no longer place unless you are in admin or sandbox.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.Interfaces.GameTicking;
|
||||
using Content.Shared.Sandbox;
|
||||
using Robust.Server.Console;
|
||||
using Robust.Server.Interfaces.Placement;
|
||||
using Robust.Server.Interfaces.Player;
|
||||
using Robust.Server.Player;
|
||||
using Robust.Shared.Enums;
|
||||
@@ -15,6 +17,8 @@ namespace Content.Server.Sandbox
|
||||
[Dependency] private readonly IPlayerManager _playerManager;
|
||||
[Dependency] private readonly IServerNetManager _netManager;
|
||||
[Dependency] private readonly IGameTicker _gameTicker;
|
||||
[Dependency] private readonly IPlacementManager _placementManager;
|
||||
[Dependency] private readonly IConGroupController _conGroupController;
|
||||
#pragma warning restore 649
|
||||
|
||||
private bool _isSandboxEnabled;
|
||||
@@ -36,6 +40,24 @@ namespace Content.Server.Sandbox
|
||||
|
||||
_playerManager.PlayerStatusChanged += OnPlayerStatusChanged;
|
||||
_gameTicker.OnRunLevelChanged += GameTickerOnOnRunLevelChanged;
|
||||
|
||||
_placementManager.AllowPlacementFunc = placement =>
|
||||
{
|
||||
if (IsSandboxEnabled)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
var channel = placement.MsgChannel;
|
||||
var player = _playerManager.GetSessionByChannel(channel);
|
||||
|
||||
if (_conGroupController.CanAdminPlace(player))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
private void GameTickerOnOnRunLevelChanged(GameRunLevelChangedEventArgs obj)
|
||||
|
||||
Reference in New Issue
Block a user