private static void HideHandler( Player player, Command cmd )
{
if ( player.Info.IsHidden ) {
player.Message( "You are already hidden." );
return;
}
string silentString = cmd.Next();
bool silent = false;
if ( silentString != null ) {
silent = silentString.Equals( "silent", StringComparison.OrdinalIgnoreCase );
}
player.Info.IsHidden = true;
player.Message( "&8You are now hidden." );
// to make it look like player just logged out in /Info
player.Info.LastSeen = DateTime.UtcNow;
if ( !silent ) {
if ( ConfigKey.ShowConnectionMessages.Enabled() ) {
Server.Players.CantSee( player ).Message( "&SPlayer {0}&S left the server.", player.ClassyName );
}
if ( ConfigKey.IRCBotAnnounceServerJoins.Enabled() ) {
IRC.PlayerDisconnectedHandler( null, new PlayerDisconnectedEventArgs( player, LeaveReason.ClientQuit, true ) );
}
}
// for aware players: notify
Server.Players.CanSee( player ).Message( "&SPlayer {0}&S is now hidden.", player.ClassyName );
Player.RaisePlayerHideChangedEvent( player );
}