Esempio n. 1
0
        static public Monster createFor(Player player)
        {
            Monster mon = new Monster();

            mon.player = player;
            mon.name   = "a monster";
            mon.hp     = 15;
            mon.damage = 1;
            mon.money  = 4;

            for (int i = 0; i < player.getLevel(); i++)
            {
                mon.hp     += _rand.Next(0, 6);
                mon.damage += _rand.Next(0, 2);
                mon.money  += _rand.Next(0, 5);
            }

            string sql = "REPLACE INTO monsters ( username, name, hp, damage, money ) "
                         + " VALUES ('" + player.getUsername() + "', '" + mon.name + "', " + mon.hp + ", " + mon.damage + ", " + mon.money + ")";

            _sqlite.exec(sql);

            return(mon);
        }
Esempio n. 2
0
        public static Monster createFor( Player player )
        {
            Monster mon = new Monster();
            mon.player = player;
            mon.name = "a monster";
            mon.hp = 15;
            mon.damage = 1;
            mon.money = 4;

            for ( int i = 0; i < player.getLevel(); i++ ) {
                mon.hp += _rand.Next( 0, 6 );
                mon.damage += _rand.Next( 0, 2 );
                mon.money += _rand.Next( 0, 5 );
            }

            string sql = "REPLACE INTO monsters ( username, name, hp, damage, money ) "
                + " VALUES ('" + player.getUsername() + "', '" + mon.name + "', " + mon.hp + ", " + mon.damage + ", " + mon.money + ")";
            _sqlite.exec( sql );

            return mon;
        }
Esempio n. 3
0
        public void chatCommand(string command, string[] opts = null)
        {
            if (command[0] == '!')
            {
                command = command.Substring(1);
            }

            Zone zone;

            // Global Commands
            switch (command)
            {
            case "letsplay":
                if (_player.isPlaying())
                {
                    Program.sendChannel("You are already playing, @" + _player.getUsername() + ". Try !help");
                }
                else
                {
                    _player.startNewGame();
                    Program.sendChannel("@" + _player.getUsername() + " enters the world.");
                    new PlayerCommand(_player).chatCommand("!help");
                }
                return;

            case "help":
                if (_player.isPlaying())
                {
                    zone = Zones.getZone(_player.getZoneId());
                    List <string> commands = zone.getCommands();
                    string        message  = "You are in the " + zone.getName() + ". Your commands are: ";
                    for (int i = 0; i < commands.Count; i++)
                    {
                        message += "!" + commands[i];
                        if (i < commands.Count - 1)
                        {
                            message += ", ";
                        }
                    }
                    Program.sendWhisper(_player, message);
                    Zones.sendZoneList(_player);
                }
                return;

            case "status":
                if (_player.isPlaying())
                {
                    zone = Zones.getZone(_player.getZoneId());
                    Program.sendWhisper(_player, "Experience: " + _player.getExperience() + "/" + (_player.getExpForLevel()) + " Level: " + _player.getLevel());
                    Program.sendWhisper(_player, "HP: " + _player.getHp() + "/" + _player.getMaxHp() + " Money: $" + _player.getMoney() + " Zone: " + zone.getName());
                    if (_player.isDead())
                    {
                        Program.sendWhisper(_player, "You have been knocked unconscious. You must rest until tomorrow.");
                    }
                }
                return;

            case "go":
                string newZoneId = opts[0];
                if (!Zones.isValidZoneId(newZoneId))
                {
                    Program.sendWhisper(_player, "And just where do you think you're going? " + newZoneId + "? Never heard of it.");
                    return;
                }
                string curZoneId = _player.getZoneId();
                zone = Zones.getZone(curZoneId);
                if (newZoneId == curZoneId)
                {
                    Program.sendChannel("@" + _player.getUsername() + " tries to leave the " + zone.getName() + ", but realizes he is already there.");
                    return;
                }

                // Can I leave here?
                if (!zone.canGo())
                {
                    Program.sendWhisper(_player, "You cannot leave this area right now.");
                    return;
                }

                // Can I go to there?
                zone = Zones.getZone(newZoneId);
                if (!zone.canGo())
                {
                    return;
                }

                _player.changeZone(newZoneId);
                Program.sendChannel("@" + _player.getUsername() + " travels to the " + zone.getName());
                return;
            }

            // Zone commands
            if (Zones.tryCommand(_player, _player.getZoneId(), command, opts))
            {
                return;
            }

            // other commands???
            Console.WriteLine("Unknown command: " + _player.getUsername() + " " + command);
        }