Exemple #1
0
        /// <inheritdoc />
        public override void ExecuteCommand(ICommonSession?session, string command)
        {
            if (string.IsNullOrWhiteSpace(command))
            {
                return;
            }

            // echo the command locally
            WriteLine(null, "> " + command);

            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List <string>();

            CommandParsing.ParseArguments(command, args);

            var commandName = args[0];

            if (AvailableCommands.ContainsKey(commandName))
            {
                var command1 = AvailableCommands[commandName];
                args.RemoveAt(0);
                var shell   = new ConsoleShell(this, null);
                var cmdArgs = args.ToArray();

                AnyCommandExecuted?.Invoke(shell, commandName, command, cmdArgs);
                command1.Execute(shell, command, cmdArgs);
            }
            else
            {
                WriteError(null, "Unknown command: " + commandName);
            }
        }
Exemple #2
0
        public void ProcessCommand(string text, NetConnection sender)
        {
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);

            if (args.Count == 0)
            {
                return;
            }
            string cmd = args[0];

            try
            {
                IClientCommand command = AvailableCommands[cmd];
                args.RemoveAt(0);
                var client = IoCManager.Resolve <ISS14Server>().GetClient(sender);
                command.Execute(this, client, args.ToArray());
            }
            catch (KeyNotFoundException)
            {
                SendConsoleReply(string.Format("Unknown command: '{0}'", cmd), sender);
            }
            catch (Exception e)
            {
                SendConsoleReply(string.Format("There was an error while executing the command: {0}", e.Message), sender);
            }
        }
Exemple #3
0
        public void ProcessCommand(MsgConCmd message)
        {
            string      text   = message.Text;
            INetChannel sender = message.MsgChannel;
            var         args   = new List <string>();

            CommandParsing.ParseArguments(text, args);

            if (args.Count == 0)
            {
                return;
            }
            string cmd = args[0];

            try
            {
                IClientCommand command = AvailableCommands[cmd];
                args.RemoveAt(0);
                command.Execute(this, sender, args.ToArray());
            }
            catch (KeyNotFoundException)
            {
                SendConsoleReply(string.Format("Unknown command: '{0}'", cmd), sender);
            }
            catch (Exception e)
            {
                SendConsoleReply(string.Format("There was an error while executing the command: {0}", e.Message), sender);
            }
        }
Exemple #4
0
        /// <summary>
        /// Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">input text</param>
        private void ProcessCommand(string text)
        {
            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);

            string commandname = args[0];

            //Entity player;
            //var entMgr = IoCManager.Resolve<IEntityManager>();
            //var plrMgr = IoCManager.Resolve<IPlayerManager>();
            //player = plrMgr.ControlledEntity;
            //IoCManager.Resolve<INetworkManager>().

            bool forward = true;

            if (commands.ContainsKey(commandname))
            {
                IConsoleCommand command = commands[commandname];
                args.RemoveAt(0);
                forward = command.Execute(this, args.ToArray());
            }
            else if (!IoCManager.Resolve <INetworkManager>().IsConnected)
            {
                AddLine("Unknown command: " + commandname, Color.Red);
                return;
            }

            if (forward)
            {
                SendServerConsoleCommand(text);
            }
        }
Exemple #5
0
        public void ProcessCommand(MsgConCmd message)
        {
            var text    = message.Text;
            var sender  = message.MsgChannel;
            var session = _players.GetSessionByChannel(sender);
            var args    = new List <string>();

            Logger.Info($"[{(int)session.Index}]{session.Name}:{text}");

            CommandParsing.ParseArguments(text, args);

            if (args.Count == 0)
            {
                return;
            }
            var cmd = args[0];

            try
            {
                if (availableCommands.TryGetValue(cmd, out var command))
                {
                    args.RemoveAt(0);
                    command.Execute(this, session, args.ToArray());
                }
                else
                {
                    SendConsoleReply(sender, $"Unknown command: '{cmd}'");
                }
            }
            catch (Exception e)
            {
                SendConsoleReply(sender, $"There was an error while executing the command: {e.Message}");
            }
        }
Exemple #6
0
        public void Test(string command, string[] expected)
        {
            var list = new List <string>();

            CommandParsing.ParseArguments(command, list);

            Assert.That(list, Is.EquivalentTo(expected));
        }
Exemple #7
0
        private void ExecuteInShell(IConsoleShell shell, string command)
        {
            try
            {
                var args = new List <string>();
                CommandParsing.ParseArguments(command, args);

                // missing cmdName
                if (args.Count == 0)
                {
                    return;
                }

                string?cmdName = args[0];

                if (AvailableCommands.TryGetValue(cmdName, out var conCmd)) // command registered
                {
                    args.RemoveAt(0);
                    var cmdArgs = args.ToArray();
                    if (shell.Player != null)                                                   // remote client
                    {
                        if (_groupController.CanCommand((IPlayerSession)shell.Player, cmdName)) // client has permission
                        {
                            AnyCommandExecuted?.Invoke(shell, cmdName, command, cmdArgs);
                            conCmd.Execute(shell, command, cmdArgs);
                        }
                        else
                        {
                            shell.WriteError($"Unknown command: '{cmdName}'");
                        }
                    }
                    else // system console
                    {
                        AnyCommandExecuted?.Invoke(shell, cmdName, command, cmdArgs);
                        conCmd.Execute(shell, command, cmdArgs);
                    }
                }
                else
                {
                    shell.WriteError($"Unknown command: '{cmdName}'");
                }
            }
            catch (Exception e)
            {
                LogManager.GetSawmill(SawmillName).Error($"{FormatPlayerString(shell.Player)}: ExecuteError - {command}:\n{e}");
                shell.WriteError($"There was an error while executing the command: {e}");
            }
        }
        /// <inheritdoc />
        public void ExecuteCommand(IPlayerSession?session, string command)
        {
            try
            {
                var args = new List <string>();
                CommandParsing.ParseArguments(command, args);

                // missing cmdName
                if (args.Count == 0)
                {
                    return;
                }

                var cmdName = args[0];

                if (_availableCommands.TryGetValue(cmdName, out var conCmd)) // command registered
                {
                    if (session != null)                                     // remote client
                    {
                        if (_groupController.CanCommand(session, cmdName))   // client has permission
                        {
                            args.RemoveAt(0);
                            conCmd.Execute(this, session, args.ToArray());
                        }
                        else
                        {
                            SendText(session, $"Unknown command: '{cmdName}'");
                        }
                    }
                    else // system console
                    {
                        args.RemoveAt(0);
                        conCmd.Execute(this, null, args.ToArray());
                    }
                }
                else
                {
                    SendText(session, $"Unknown command: '{cmdName}'");
                }
            }
            catch (Exception e)
            {
                _logMan.GetSawmill(SawmillName).Warning($"{FormatPlayerString(session)}: ExecuteError - {command}:\n{e}");
                SendText(session, $"There was an error while executing the command: {e}");
            }
        }
        /// <summary>
        /// Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">Text content.</param>
        /// <param name="name">Player name that sent the chat text.</param>
        /// <param name="channel">Channel message was recieved on.</param>
        /// <param name="client">Client that sent the command.</param>
        private void ProcessCommand(string text, string name, ChatChannel channel, int?entityId, IClient client)
        {
            List <string> args = new List <string>();

            CommandParsing.ParseArguments(text.Substring(1), args); // Parse, but cut out the first character (/).

            if (args.Count <= 0)
            {
                return;
            }

            string command = args[0];

            if (!_commands.ContainsKey(command))
            {
                return; // TODO: Bitch at user when the rest of this file isn't cancer and you can actually send things to individual people.
            }
            _commands[command].Execute(client, args.ToArray());
        }
Exemple #10
0
        private void ProcessEmote(string text, string name, ChatChannel channel, int?entityId, INetChannel client)
        {
            if (entityId == null)
            {
                return; //No emotes from non-entities!
            }
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);
            if (_emotes.ContainsKey(args[0]))
            {
                // todo make a user-only channel that only the sender can see i.e. for emotes and game feedback ('you put the coins in the jar' or whatever)
                var otherText = String.Format(_emotes[args[0]].OtherText, name, "his"); //todo pronouns, gender
                SendChatMessage(ChatChannel.Emote, otherText, name, entityId);
            }
            else
            {
                //todo Bitch at the user
            }
        }
Exemple #11
0
        private void ProcessEmote(string text, string name, ChatChannel channel, int?entityId, NetConnection client)
        {
            if (entityId == null)
            {
                return; //No emotes from non-entities!
            }
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);
            if (_emotes.ContainsKey(args[0]))
            {
                var userText  = String.Format(_emotes[args[0]].SelfText, name);         //todo user-only channel
                var otherText = String.Format(_emotes[args[0]].OtherText, name, "his"); //todo pronouns, gender
                SendChatMessage(ChatChannel.Emote, otherText, name, entityId);
            }
            else
            {
                //todo Bitch at the user
            }
        }
Exemple #12
0
        /// <inheritdoc />
        public override void ExecuteCommand(ICommonSession?session, string command)
        {
            if (string.IsNullOrWhiteSpace(command))
            {
                return;
            }

            // echo the command locally
            WriteLine(null, "> " + command);

            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List <string>();

            CommandParsing.ParseArguments(command, args);

            var commandName = args[0];

            if (AvailableCommands.ContainsKey(commandName))
            {
                var playerManager = IoCManager.Resolve <IPlayerManager>();
#if !DEBUG
                if (!_conGroup.CanCommand(commandName) && playerManager.LocalPlayer?.Session.Status > SessionStatus.Connecting)
                {
                    WriteError(null, $"Insufficient perms for command: {commandName}");
                    return;
                }
#endif
                var command1 = AvailableCommands[commandName];
                args.RemoveAt(0);
                var shell   = new ConsoleShell(this, null);
                var cmdArgs = args.ToArray();

                AnyCommandExecuted?.Invoke(shell, commandName, command, cmdArgs);
                command1.Execute(shell, command, cmdArgs);
            }
            else
            {
                WriteError(null, "Unknown command: " + commandName);
            }
        }
Exemple #13
0
        /// <summary>
        /// Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">Text content.</param>
        /// <param name="name">Player name that sent the chat text.</param>
        /// <param name="channel">Channel message was received on.</param>
        /// <param name="client">Client that sent the command.</param>
        private void ProcessCommand(string text, string name, ChatChannel channel, int?entityId, INetChannel client)
        {
            List <string> args = new List <string>();

            CommandParsing.ParseArguments(text.Substring(1), args); // Parse, but cut out the first character (/).

            if (args.Count <= 0)
            {
                return;
            }

            string command = args[0];

            if (!_commands.ContainsKey(command))
            {
                string message = string.Format("Command '{0}' not found.", command);
                SendPrivateMessage(client, ChatChannel.Default, message, "Server", null);
                return;
            }

            _commands[command].Execute(this, client, args.ToArray());
        }
        /// <summary>
        ///     Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">input text</param>
        public void ProcessCommand(string text)
        {
            if (string.IsNullOrWhiteSpace(text))
            {
                return;
            }

            // echo the command locally
            AddLine("> " + text, Color.Lime);

            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);

            var commandname = args[0];

            var forward = true;

            if (_commands.ContainsKey(commandname))
            {
                var command = _commands[commandname];
                args.RemoveAt(0);
                forward = command.Execute(this, args.ToArray());
            }
            else if (!_network.IsConnected)
            {
                AddLine("Unknown command: " + commandname, Color.Red);
                return;
            }

            if (forward)
            {
                SendServerConsoleCommand(text);
            }
        }
Exemple #15
0
        /// <summary>
        /// Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">input text</param>
        private void ProcessCommand(string text)
        {
            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);

            string command = args[0];

            //Entity player;
            //var entMgr = IoCManager.Resolve<IEntityManager>();
            //var plrMgr = IoCManager.Resolve<IPlayerManager>();
            //player = plrMgr.ControlledEntity;
            //IoCManager.Resolve<INetworkManager>().

            switch (command)
            {
            case "cls":
                components.Clear();
                last_y = 0;
                //this.scrollbarH.Value = 0;
                this.scrollbarV.Value = 0;
                break;

            case "quit":
                Environment.Exit(0);
                break;

            case "addparticles":     //This is only clientside.
                if (args.Count >= 3)
                {
                    Entity target = null;
                    if (args[1].ToLowerInvariant() == "player")
                    {
                        var plrMgr = IoCManager.Resolve <IPlayerManager>();
                        if (plrMgr != null)
                        {
                            if (plrMgr.ControlledEntity != null)
                            {
                                target = plrMgr.ControlledEntity;
                            }
                        }
                    }
                    else
                    {
                        var entMgr = IoCManager.Resolve <IEntityManagerContainer>();
                        if (entMgr != null)
                        {
                            int entUid = int.Parse(args[1]);
                            target = entMgr.EntityManager.GetEntity(entUid);
                        }
                    }

                    if (target != null)
                    {
                        if (!target.HasComponent(ComponentFamily.Particles))
                        {
                            var entMgr = IoCManager.Resolve <IEntityManagerContainer>();
                            var compo  = (IParticleSystemComponent)entMgr.EntityManager.ComponentFactory.GetComponent("ParticleSystemComponent");
                            target.AddComponent(ComponentFamily.Particles, compo);
                        }
                        else
                        {
                            var entMgr = IoCManager.Resolve <IEntityManagerContainer>();
                            var compo  = (IParticleSystemComponent)entMgr.EntityManager.ComponentFactory.GetComponent("ParticleSystemComponent");
                            target.AddComponent(ComponentFamily.Particles, compo);
                        }
                    }
                }
                SendServerConsoleCommand(text);     //Forward to server.
                break;

            case "removeparticles":
                if (args.Count >= 3)
                {
                    Entity target = null;
                    if (args[1].ToLowerInvariant() == "player")
                    {
                        var plrMgr = IoCManager.Resolve <IPlayerManager>();
                        if (plrMgr != null)
                        {
                            if (plrMgr.ControlledEntity != null)
                            {
                                target = plrMgr.ControlledEntity;
                            }
                        }
                    }
                    else
                    {
                        var entMgr = IoCManager.Resolve <IEntityManagerContainer>();
                        if (entMgr != null)
                        {
                            int entUid = int.Parse(args[1]);
                            target = entMgr.EntityManager.GetEntity(entUid);
                        }
                    }

                    if (target != null)
                    {
                        if (target.HasComponent(ComponentFamily.Particles))
                        {
                            IParticleSystemComponent compo = (IParticleSystemComponent)target.GetComponent(ComponentFamily.Particles);
                            compo.RemoveParticleSystem(args[2]);
                        }
                    }
                }
                SendServerConsoleCommand(text);     //Forward to server.
                break;

            case "sendchat":
                if (args.Count < 2)
                {
                    return;
                }

                INetworkManager    NetworkManager = IoCManager.Resolve <INetworkManager>();
                NetOutgoingMessage message        = NetworkManager.CreateMessage();
                message.Write((byte)NetMessage.ChatMessage);
                message.Write((byte)ChatChannel.Player);
                message.Write(args[1]);
                NetworkManager.SendMessage(message, NetDeliveryMethod.ReliableUnordered);

                break;

            // To debug console scrolling and stuff.
            case "fill":
                SFML.Graphics.Color[] colors = { SFML.Graphics.Color.Green, SFML.Graphics.Color.Blue, SFML.Graphics.Color.Red };
                Random random = new Random();
                for (int x = 0; x < 50; x++)
                {
                    AddLine("filling...", colors[random.Next(0, colors.Length)]);
                }
                break;

            default:
                SendServerConsoleCommand(text);     //Forward to server.
                break;
            }
        }
        /// <summary>
        /// Processes commands (chat messages starting with /)
        /// </summary>
        /// <param name="text">input text</param>
        private void ProcessCommand(string text)
        {   
            //Commands are processed locally and then sent to the server to be processed there again.
            var args = new List<string>();

            CommandParsing.ParseArguments(text, args);

            string command = args[0];

            //Entity player;
            //var entMgr = IoCManager.Resolve<IEntityManager>();
            //var plrMgr = IoCManager.Resolve<IPlayerManager>();
            //player = plrMgr.ControlledEntity;
            //IoCManager.Resolve<INetworkManager>().

            switch (command)
            {
                case "cls":
                    lines.Clear();
                    components.Clear();
                    last_y = 0;
                    //this.scrollbarH.Value = 0;
                    this.scrollbarV.Value = 0;
                    break;
                case "quit":
                    Environment.Exit(0);
                    break;
                case "addparticles": //This is only clientside.
                    if (args.Count >= 3)
                    {
                        Entity target = null;
                        if (args[1].ToLowerInvariant() == "player")
                        {
                            var plrMgr = IoCManager.Resolve<IPlayerManager>();
                            if (plrMgr != null)
                                if (plrMgr.ControlledEntity != null) target = plrMgr.ControlledEntity;
                        }
                        else
                        {
                            var entMgr = IoCManager.Resolve<IEntityManagerContainer>();
                            if (entMgr != null)
                            {
                                int entUid = int.Parse(args[1]);
                                target = entMgr.EntityManager.GetEntity(entUid);
                            }
                        }

                        if (target != null)
                        {
                            if (!target.HasComponent(ComponentFamily.Particles))
                            {
                                var entMgr = IoCManager.Resolve<IEntityManagerContainer>();
                                var compo = (IParticleSystemComponent)entMgr.EntityManager.ComponentFactory.GetComponent("ParticleSystemComponent");
                                target.AddComponent(ComponentFamily.Particles, compo);
                            }
                            else
                            {
                                var entMgr = IoCManager.Resolve<IEntityManagerContainer>();
                                var compo = (IParticleSystemComponent)entMgr.EntityManager.ComponentFactory.GetComponent("ParticleSystemComponent");
                                target.AddComponent(ComponentFamily.Particles, compo);                                
                            }
                        }
                    }
                    SendServerConsoleCommand(text); //Forward to server.
                    break;
                case "removeparticles":
                    if (args.Count >= 3)
                    {
                        Entity target = null;
                        if (args[1].ToLowerInvariant() == "player")
                        {
                            var plrMgr = IoCManager.Resolve<IPlayerManager>();
                            if (plrMgr != null)
                                if (plrMgr.ControlledEntity != null) target = plrMgr.ControlledEntity;
                        }
                        else
                        {
                            var entMgr = IoCManager.Resolve<IEntityManagerContainer>();
                            if (entMgr != null)
                            {
                                int entUid = int.Parse(args[1]);
                                target = entMgr.EntityManager.GetEntity(entUid);
                            }
                        }

                        if (target != null)
                        {
                            if (target.HasComponent(ComponentFamily.Particles))
                            {
                                IParticleSystemComponent compo = (IParticleSystemComponent)target.GetComponent(ComponentFamily.Particles);
                                compo.RemoveParticleSystem(args[2]);
                            }
                        }
                    }
                    SendServerConsoleCommand(text); //Forward to server.
                    break;
                default:
                    SendServerConsoleCommand(text); //Forward to server.
                    break;
            }
        }
        public void ProcessCommand(string text, NetConnection sender)
        {
            var args = new List <string>();

            CommandParsing.ParseArguments(text, args);

            string command = args[0];

            Vector2 position;
            Entity  player;

            var playerMgr = IoCManager.Resolve <IPlayerManager>();

            player = playerMgr.GetSessionByConnection(sender).attachedEntity;

            var map = IoCManager.Resolve <IMapManager>();

            switch (command)
            {
            case "addparticles":
                if (args.Count >= 3)
                {
                    var    _serverMain = IoCManager.Resolve <ISS14Server>();
                    Entity target      = null;
                    if (args[1].ToLowerInvariant() == "player")
                    {
                        target = player;
                    }
                    else
                    {
                        int entUid = int.Parse(args[1]);
                        target = _serverMain.EntityManager.GetEntity(entUid);
                    }

                    if (target != null)
                    {
                        if (target.HasComponent(ComponentFamily.Particles))
                        {
                            IParticleSystemComponent compo = (IParticleSystemComponent)target.GetComponent(ComponentFamily.Particles);
                            compo.AddParticleSystem(args[2], true);
                        }
                        else
                        {
                            var compo = (IParticleSystemComponent)_serverMain.EntityManager.ComponentFactory.GetComponent("ParticleSystemComponent");
                            target.AddComponent(ComponentFamily.Particles, compo);
                            compo.AddParticleSystem(args[2], true);
                            //Can't find a way to add clientside compo from here.
                        }
                    }
                }
                break;

            case "removeparticles":
                if (args.Count >= 3)
                {
                    var    _serverMain = IoCManager.Resolve <ISS14Server>();
                    Entity target      = null;
                    if (args[1].ToLowerInvariant() == "player")
                    {
                        target = player;
                    }
                    else
                    {
                        int entUid = int.Parse(args[1]);
                        target = _serverMain.EntityManager.GetEntity(entUid);
                    }

                    if (target != null)
                    {
                        if (target.HasComponent(ComponentFamily.Particles))
                        {
                            IParticleSystemComponent compo = (IParticleSystemComponent)target.GetComponent(ComponentFamily.Particles);
                            compo.RemoveParticleSystem(args[2]);
                        }
                    }
                }
                break;

            //case "addgas":
            //    if (args.Count > 1 && Convert.ToDouble(args[1]) > 0)
            //    {
            //        if (player != null)
            //        {
            //            double amount = Convert.ToDouble(args[1]);
            //            var t =
            //                map.GetFloorAt(
            //                    player.GetComponent<ITransformComponent>(ComponentFamily.Transform).Position) as
            //                Tile;
            //            if (t != null)
            //                t.GasCell.AddGas((float) amount, GasType.Toxin);
            //            SendConsoleReply(amount.ToString() + " Gas added.", sender);
            //        }
            //    }
            //    break;
            //case "heatgas":
            //    if (args.Count > 1 && Convert.ToDouble(args[1]) > 0)
            //    {
            //        if (player != null)
            //        {
            //            double amount = Convert.ToDouble(args[1]);
            //            var t =
            //                map.GetFloorAt(
            //                    player.GetComponent<ITransformComponent>(ComponentFamily.Transform).Position) as
            //                Tile;
            //            if (t != null)
            //                t.GasCell.AddGas((float) amount, GasType.Toxin);
            //            SendConsoleReply(amount.ToString() + " Gas added.", sender);
            //        }
            //    }
            //    break;
            //case "atmosreport":
            //    IoCManager.Resolve<IAtmosManager>().TotalAtmosReport();
            //    break;
            //case "tpvreport": // Reports on temp / pressure
            //    if (player != null)
            //    {
            //        var ti =
            //            (Tile)
            //            map.GetFloorAt(player.GetComponent<ITransformComponent>(ComponentFamily.Transform).Position);
            //        if (ti == null)
            //            break;
            //        GasCell ce = ti.gasCell;
            //        SendConsoleReply("T/P/V: " + ce.GasMixture.Temperature.ToString() + " / " + ce.GasMixture.Pressure.ToString() + " / " + ce.GasVelocity.ToString(), sender);
            //        //var chatMgr = IoCManager.Resolve<IChatManager>();
            //        //chatMgr.SendChatMessage(ChatChannel.Default,
            //        //                        "T/P/V: " + ce.GasMixture.Temperature.ToString() + " / " +
            //        //                        ce.GasMixture.Pressure.ToString() + " / " + ce.GasVelocity.ToString(),
            //        //                        "TempCheck",
            //        //                        0);
            //    }
            //    break;
            //case "gasreport":
            //    if (player != null)
            //    {
            //        var tile = map.GetFloorAt(player.GetComponent<ITransformComponent>(ComponentFamily.Transform).Position) as Tile;
            //        if (tile == null)
            //            break;
            //        GasCell c = tile.gasCell;
            //        for (int i = 0; i < c.GasMixture.gasses.Length; i++)
            //        {
            //            SendConsoleReply(((GasType) i).ToString() + ": " +c.GasMixture.gasses[i].ToString(CultureInfo.InvariantCulture) + " m", sender);
            //            //var chatMgr = IoCManager.Resolve<IChatManager>();
            //            //chatMgr.SendChatMessage(ChatChannel.Default,
            //            //                        ((GasType) i).ToString() + ": " +
            //            //                        c.GasMixture.gasses[i].ToString(CultureInfo.InvariantCulture) + " m",
            //            //                        "GasReport", 0);
            //        }
            //    }
            //    break;
            case "everyonesondrugs":
                foreach (IPlayerSession playerfordrugs in IoCManager.Resolve <IPlayerManager>().GetAllPlayers())
                {
                    playerfordrugs.AddPostProcessingEffect(PostProcessingEffectType.Acid, 60);
                    SendConsoleReply("Okay then.", sender);
                }
                break;

            default:
                string message = "Command '" + command + "' not recognized.";
                SendConsoleReply(message, sender);
                break;
            }
        }