Esempio n. 1
0
        public override bool Execute(PlayerCharacter callingPlayer, string parameters)
        {
            foreach (Character ch in Character.CharacterList) {
                if( ch is PlayerCharacter) {
                    ((PlayerCharacter)ch).SendToCharacter(String.Format("[System] Vortex MUD has been shutdown by {0}.", callingPlayer.Name));
                }
            }

            MUDServer.Running = false;
            return true;
        }
Esempio n. 2
0
File: Who.cs Progetto: noaki/vortex
        public override bool Execute(PlayerCharacter callingPlayer, string parameters)
        {
            callingPlayer.SendToCharacter("Online Players\n\r");
            callingPlayer.SendToCharacter("==============\n\r");

            int playerCount = 0;
            foreach (var ch in Character.CharacterList.Where(c => c is PlayerCharacter)) {
                callingPlayer.SendToCharacter(String.Format(" {0}\n\r", ch.Name));
                playerCount ++;
            }

            callingPlayer.SendToCharacter(String.Format("\n\r{0} total players online\n\r", playerCount));
            return true;
        }
Esempio n. 3
0
File: Look.cs Progetto: noaki/vortex
        public override bool Execute(PlayerCharacter callingPlayer, string parameters)
        {
            Room inRoom = callingPlayer.InRoom;
            callingPlayer.SendToCharacter(String.Format("[{0} = {1}]\n\r", inRoom._title.RawString, inRoom.Vnum));
            callingPlayer.SendToCharacter(inRoom._description + "\n\r");

            foreach (var ch in inRoom.CharactersInRoom) {
                if (ch != callingPlayer) {
                    callingPlayer.SendToCharacter(String.Format("{0} is here.\n\r", ch.Name));
                    if (ch is PlayerCharacter && parameters != "quiet") {
                        ((PlayerCharacter)ch).SendToCharacter(String.Format("{0} takes a look around.\n\r", callingPlayer.Name));
                    }
                }
            }
            return true;
        }
Esempio n. 4
0
File: Ooc.cs Progetto: noaki/vortex
        public override bool Execute(PlayerCharacter callingPlayer, string parameters)
        {
            if (parameters.Length == 0) {
                callingPlayer.SendToCharacter("What do you want to say?\n\r");
                return false;
            }

            callingPlayer.SendToCharacter(String.Format("{{gYou OOC \"{{x{0}{{g\"{{x\n\r", parameters));

            ColorString toOthers = new ColorString(String.Format("{{g{0} OOC \"{{x{1}{{g\"{{x\n\r", callingPlayer.Name, parameters));

            foreach (Character ch in Character.CharacterList) {
                if (ch is PlayerCharacter) {
                    PlayerCharacter player = ch as PlayerCharacter;
                    if (player != callingPlayer) {
                        player.SendToCharacter(toOthers);
                    }
                }
            }

            return true;
        }
Esempio n. 5
0
File: Say.cs Progetto: noaki/vortex
        public override bool Execute(PlayerCharacter callingPlayer, string parameters)
        {
            if (parameters.Length == 0) {
                callingPlayer.SendToCharacter("What do you want to say?\n\r");
                return false;
            }

            ColorString toPlayer = new ColorString(String.Format("You say, \"{0}\"\n\r", parameters));
            ColorString toOthers = new ColorString(String.Format("{0} says, \"{1}\"\n\r", callingPlayer.Name, parameters));

            callingPlayer.SendToCharacter(toPlayer);

            // for each character in the room
            foreach (var ch in callingPlayer.InRoom.PlayerCharactersInRoom) {
                // we need to say what needs to be said
                if(ch != callingPlayer) {
                    ch.SendToCharacter(toOthers);
                }
            }

            return true;
        }
Esempio n. 6
0
File: Main.cs Progetto: noaki/vortex
        static void CheckForNewConnections(ConnectionListener IncomingConnections)
        {
            List<Socket> newConnections = IncomingConnections.AcceptConnections();
            foreach (Socket sock in newConnections) {
                PlayerCharacter newPlayer = new PlayerCharacter(new PlayerSocket(sock));

                WriteToAllCharacters(String.Format("{0} has connected.\n\r", newPlayer.Name));

                Character.AddCharacterToGame(newPlayer);

                Room.GetRoom (1).AddCharacterToRoom(newPlayer);
                CommandHandler.GetMatchingCommand ("look").Execute(newPlayer, "quiet");
            }
        }
Esempio n. 7
0
File: Main.cs Progetto: noaki/vortex
        static void ProcessPlayerCharacter(PlayerCharacter ch)
        {
            if (ch.HasInput) {
                string input = ch.GetInput();
                Console.WriteLine(String.Format("{0}: {1}", ch.Name, input));

                int firstSpace = input.IndexOf(' ');
                string commandString;
                string parameterString;

                if (firstSpace > 0) {
                    commandString = input.Substring(0, firstSpace);
                    parameterString = input.Substring(firstSpace + 1);
                } else {
                    commandString = input;
                    parameterString = "";
                }

                Console.WriteLine ("{0} processed to: {1} : {2} :", ch.Name, commandString, parameterString);

                BasicCommand command = CommandHandler.GetMatchingCommand(commandString);

                if (command != null) {
                    command.Execute(ch, parameterString);
                } else {
                    ch.SendToCharacter("Hugh?\n\r");
                }

                if (ch.GameState == PlayerGameState.LostConnection) {
                    Character.RemoveCharacterFromGame(ch);
                    WriteToAllCharacters(String.Format("[System] {0} has gone link-dead.\n\r", ch.Name));
                }
            }
        }
Esempio n. 8
0
 public abstract bool Execute(PlayerCharacter callingPlayer, string parameters);
Esempio n. 9
0
File: Quit.cs Progetto: noaki/vortex
 public override bool Execute(PlayerCharacter callingPlayer, string parameters)
 {
     callingPlayer.SendToCharacter("Saving and exiting, goodbye!");
     callingPlayer.Disconnect();
     return true;
 }