Example #1
0
        public bool AddPlayerToGame(GameClient player, RoleplayTeam team)
        {
            try
            {
                if (player == null || player.GetHabbo() == null)
                {
                    return(false);
                }

                if (team.Members.Contains(player.GetHabbo().Id))
                {
                    return(false);
                }

                player.GetHabbo().Look  = RoleplayManager.SplitFigure(player.GetHabbo().Look, team.Uniform);
                player.GetHabbo().Motto = "[JOGOS VORAZES] - [Time: " + team.Name + "] ";
                player.GetHabbo().Poof(false);
                Players.Add(player.GetHabbo().Id);
                team.Members.Add(player.GetHabbo().Id);
                return(true);
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in AddPlayerToGame() void: " + e);
                return(false);
            }
        }
Example #2
0
        public void Winner(RoleplayTeam Team)
        {
            try
            {
                if (Team != null && Team.Members != null)
                {
                    while (Team.Members.Count > 0)
                    {
                        foreach (var Member in Team.Members)
                        {
                            var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);

                            if (Client != null && Client.GetHabbo() != null && Client.GetRoleplay() != null)
                            {
                                RemovePlayerFromGame(Client, true);
                            }

                            if (Players.Contains(Member))
                            {
                                Players.Remove(Member);
                            }

                            if (Team.Members.Contains(Member))
                            {
                                Team.Members.Remove(Member);
                            }
                            break;
                        }

                        if (Team.Members.Count <= 0)
                        {
                            if (Teams.ContainsKey(Team.Name))
                            {
                                Teams.Remove(Team.Name);
                            }
                            break;
                        }
                    }

                    lock (PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                    {
                        foreach (var client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                        {
                            if (client != null && client.GetHabbo() != null && client.GetRoleplay() != null)
                            {
                                client.SendWhisper("[Alerta de EVENTO] O Time " + Team.Name + " ganhou o evento [Guerra de Máfias]! Parabéns!", 33);
                            }
                        }
                    }
                }

                Stop();
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in Winner() void: " + e);
            }
        }
Example #3
0
        public bool TeamCanBeJoined(RoleplayTeam team)
        {
            if (team.Members.Count >= Convert.ToInt32(RoleplayData.GetData("teambrawl", "maxusersperteam")))
            {
                return(false);
            }

            return(true);
        }
Example #4
0
        public bool TeamCanBeJoined(RoleplayTeam team)
        {
            if (team.Members.Count >= 6)
            {
                return(false);
            }

            return(true);
        }
Example #5
0
        public void GenerateTeams()
        {
            string greenTeamData = RoleplayData.GetData("mafiawars", "green").ToString();
            string blueTeamData  = RoleplayData.GetData("mafiawars", "blue").ToString();

            RoleplayTeam green = new RoleplayTeam("Verde", greenTeamData.Split(';'));
            RoleplayTeam blue  = new RoleplayTeam("Azul", blueTeamData.Split(';'));

            Game.Teams.Add(green.Name, green);
            Game.Teams.Add(blue.Name, blue);
        }
Example #6
0
 public bool CanJoinTeam(RoleplayTeam Team)
 {
     if (Manager.TeamCanBeJoined(Team))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #7
0
        public override void OnDeath(GameClient Client)
        {
            bool IsBoss = (GetBotRoleplay().Motto.ToLower().Contains("boss")) ? true : false;

            if (IsBoss)
            {
                RoleplayManager.Shout(Client, "*Dá um soco em " + GetBotRoleplay().Name + ", matando-o e ganhando a Guerra de Máfias " + Client.GetRoleplay().Team.Name + "! [+5 Pontos de Eventos]*", 1);

                Client.GetHabbo().EventPoints += 5;
                Client.GetHabbo().UpdateEventPointsBalance();

                RoleplayTeam DefeatedTeam = Client.GetRoleplay().Game.GetTeams().Values.FirstOrDefault(x => x.CaptureRoom == Client.GetRoomUser().RoomId);
                Client.GetRoleplay().Game.NotifyPlayers("O mestre do time" + DefeatedTeam.Name + " foi derrotado por " + Client.GetHabbo().Username + "! A vitória pertence ao Time " + Client.GetRoleplay().Team.Name + "!");


                foreach (RoomUser RoleplayBot in GetRoom().GetRoomUserManager().GetBotList())
                {
                    if (RoleplayBot == null)
                    {
                        continue;
                    }
                    if (!RoleplayBot.IsRoleplayBot)
                    {
                        continue;
                    }
                    if (RoleplayBot.GetBotRoleplay() == null)
                    {
                        continue;
                    }
                    if (RoleplayBot.GetBotRoleplay().Invisible || (RoleplayBot.GetBotRoleplay().Dead))
                    {
                        continue;
                    }

                    RoleplayBot.GetBotRoleplay().StopAllHandlers();
                }

                new Thread(() => {
                    Thread.Sleep(5000);
                    Client.GetRoleplay().Game.RemoveTeamMembers(DefeatedTeam);
                }).Start();
            }
            else
            {
                RoleplayManager.Shout(Client, "*Dá um soco em " + GetBotRoleplay().Name + ", matando-o*");

                Client.GetHabbo().EventPoints += 10;
                Client.GetHabbo().UpdateEventPointsBalance();
            }

            GetRoom().SendMessage(new UserRemoveComposer(GetRoomUser().VirtualId));
            GetBotRoleplay().Invisible = true;
            GetBotRoleplay().Dead      = true;
        }
Example #8
0
        public void RemoveTeamMembers(RoleplayTeam Team)
        {
            try
            {
                if (!Teams.ContainsKey(Team.Name))
                {
                    return;
                }

                if (Team != null && Team.Members != null)
                {
                    while (Team.Members.Count > 0)
                    {
                        foreach (var Member in Team.Members)
                        {
                            var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);

                            if (Client != null && Client.GetHabbo() != null && Client.GetRoleplay() != null)
                            {
                                RemovePlayerFromGame(Client);
                                break;
                            }
                            else
                            {
                                Players.Remove(Member);
                                Team.Members.Remove(Member);
                                if (Team.LostMembers.Contains(Member))
                                {
                                    Team.LostMembers.Remove(Member);
                                }
                                break;
                            }
                        }

                        if (Team.Members.Count <= 0)
                        {
                            if (Teams.ContainsKey(Team.Name))
                            {
                                Teams.Remove(Team.Name);
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in RemoveTeamMembers() void: " + e);
            }
        }
Example #9
0
        public void GenerateTeams()
        {
            string pinkTeamData   = RoleplayData.GetData("hungergames", "pink").ToString();
            string greenTeamData  = RoleplayData.GetData("hungergames", "green").ToString();
            string blueTeamData   = RoleplayData.GetData("hungergames", "blue").ToString();
            string yellowTeamData = RoleplayData.GetData("hungergames", "yellow").ToString();

            RoleplayTeam pink   = new RoleplayTeam("Rosa", pinkTeamData.Split(';'));
            RoleplayTeam green  = new RoleplayTeam("Verde", greenTeamData.Split(';'));
            RoleplayTeam blue   = new RoleplayTeam("Azul", blueTeamData.Split(';'));
            RoleplayTeam yellow = new RoleplayTeam("Amarelo", yellowTeamData.Split(';'));

            Game.Teams.Add(pink.Name, pink);
            Game.Teams.Add(green.Name, green);
            Game.Teams.Add(blue.Name, blue);
            Game.Teams.Add(yellow.Name, yellow);
        }
Example #10
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite uma mensagem para enviar.", 1);
                return;
            }

            if (Session.GetRoleplay().Game == null)
            {
                Session.SendWhisper("Você não está dentro de um evento para usar este comando!", 1);
                return;
            }

            if (Session.GetRoleplay().Team == null)
            {
                Session.SendWhisper("Este evento não possui alertas de equipe!", 1);
                return;
            }

            string       Message = CommandManager.MergeParams(Params, 1);
            RoleplayTeam Team    = Session.GetRoleplay().Team;

            if (RoleplayGameManager.RunningGames.ContainsKey(Session.GetRoleplay().Game.GetGameMode()))
            {
                lock (Team.Members)
                {
                    foreach (var Member in Team.Members)
                    {
                        var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);

                        if (Client == null)
                        {
                            continue;
                        }

                        Client.SendWhisper("[Alerta do TIME] [" + Session.GetHabbo().Username + "] " + Message, 11);
                    }
                }
            }
            else
            {
                Session.SendWhisper("Um erro ocorreu!", 1);
                return;
            }
        }
Example #11
0
        public bool AddPlayerToGame(GameClient player, RoleplayTeam team)
        {
            try
            {
                if (Players.Contains(player.GetHabbo().Id))
                {
                    return(false);
                }

                Players.Add(player.GetHabbo().Id);
                player.GetHabbo().Motto = "[SoloQueue]";
                player.GetHabbo().Poof(false);
                return(true);
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in AddPlayerToGame() void: " + e);
                return(false);
            }
        }
Example #12
0
        public RoleplayTeam GetTeam(string teamName)
        {
            try
            {
                RoleplayTeam theteam = null;

                foreach (RoleplayTeam team in Teams.Values)
                {
                    if (team.Name == teamName)
                    {
                        return(team);
                    }
                }

                return(theteam);
            }
            catch
            {
                return(null);
            }
        }
Example #13
0
        /// <summary>
        /// Turf capture timer
        /// </summary>
        public override void Execute()
        {
            try
            {
                if (base.Client == null || base.Client.GetHabbo() == null || base.Client.GetRoleplay() == null || base.Client.GetRoomUser() == null)
                {
                    base.EndTimer();
                    return;
                }

                IGame        Game = base.Client.GetRoleplay().Game;
                RoleplayTeam Team = base.Client.GetRoleplay().Team;

                if (Game == null || Team == null)
                {
                    if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                    {
                        base.Client.GetRoomUser().ApplyEffect(0);
                    }

                    base.EndTimer();
                    return;
                }

                Room room = RoleplayManager.GenerateRoom(base.Client.GetRoomUser().RoomId);

                if (room == null)
                {
                    return;
                }

                var Items = room.GetGameMap().GetRoomItemForSquare(base.Client.GetRoomUser().Coordinate.X, base.Client.GetRoomUser().Coordinate.Y);

                if (Items.Count < 1)
                {
                    if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                    {
                        base.Client.GetRoomUser().ApplyEffect(EffectsList.None);
                    }

                    RoleplayManager.Shout(base.Client, "*Para de capturar a base*", 1);
                    base.EndTimer();
                    return;
                }

                bool HasCaptureTile = Items.ToList().Where(x => x.GetBaseItem().ItemName == "bb_rnd_tele").ToList().Count() > 0;

                if (!HasCaptureTile)
                {
                    if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                    {
                        base.Client.GetRoomUser().ApplyEffect(EffectsList.None);
                    }

                    RoleplayManager.Shout(base.Client, "*Para de capturar a base*", 1);
                    base.EndTimer();
                    return;
                }

                var Teams = base.Client.GetRoleplay().Game.GetTeams();

                if (Teams == null)
                {
                    if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                    {
                        base.Client.GetRoomUser().ApplyEffect(EffectsList.None);
                    }

                    base.EndTimer();
                    return;
                }

                var Zones = Teams.Values.Select(x => x.CaptureRoom).ToList();

                if (!Zones.Contains(room.Id))
                {
                    if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                    {
                        base.Client.GetRoomUser().ApplyEffect(EffectsList.None);
                    }

                    RoleplayManager.Shout(base.Client, "*Para de capturar a base*", 1);
                    base.EndTimer();
                    return;
                }

                RoleplayTeam CaptureTeam = Teams.Values.FirstOrDefault(x => x.CaptureRoom == room.Id);

                TimeCount++;
                TimeLeft -= 1000;

                if (TimeLeft > 0)
                {
                    if (TimeCount == 60)
                    {
                        RoleplayManager.Shout(base.Client, "*Você está quase capturando a base! [" + (TimeLeft / 60000) + " minutos restantes]*", 4);
                        TimeCount = 0;

                        lock (CaptureTeam.Members)
                        {
                            foreach (int Player in CaptureTeam.Members)
                            {
                                GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Player);

                                if (Client == null)
                                {
                                    continue;
                                }

                                Client.SendWhisper("[Alerta de EVENTO] " + base.Client.GetHabbo().Username + " ainda está capturando a base de sua equipe!", 34);
                            }
                        }
                    }
                    return;
                }

                RoleplayManager.Shout(base.Client, "*Capturou com sucesso a base da [Equipe " + CaptureTeam.Name + "]*", 4);
                base.Client.GetRoleplay().Game.NotifyPlayers("A [Equipe " + CaptureTeam.Name + "] acaba de ser removida do jogo!");
                base.Client.GetRoleplay().Game.RemoveTeamMembers(CaptureTeam);

                if (base.Client.GetRoomUser().CurrentEffect == EffectsList.SunnyD)
                {
                    base.Client.GetRoomUser().ApplyEffect(EffectsList.None);
                }

                lock (Team.Members)
                {
                    foreach (var Member in Team.Members)
                    {
                        var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);
                        if (Client != null && Client.GetHabbo() != null)
                        {
                            Client.GetHabbo().EventPoints += 3;
                            Client.GetHabbo().UpdateEventPointsBalance();
                            Client.SendWhisper("Você recebeu 3 Pontos de Evento por seu time capturar uma base!", 1);
                        }
                    }
                }
                base.EndTimer();
                return;
            }
            catch (Exception e)
            {
                Logging.LogRPTimersError("Error in Execute() void: " + e);
                base.EndTimer();
            }
        }
Example #14
0
        public void LastTwo(RoleplayTeam First, RoleplayTeam Second)
        {
            try
            {
                if (finaltwo)
                {
                    return;
                }

                finaltwo = true;

                First.LostMembers.Clear();
                Second.LostMembers.Clear();

                #region First Team
                foreach (int playerid in First.Members)
                {
                    GameClient Player  = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(playerid);
                    int        Counter = 6;

                    Player.GetRoleplay().ReplenishStats();

                    if (Player.GetRoomUser() != null)
                    {
                        List <ThreeDCoord> Squares      = RoleplayManager.GenerateMap(ArenaStartX, ArenaStartY, ArenaFinishX, ArenaFinishY);
                        ThreeDCoord        RandomSquare = Squares[Random.Next(0, Squares.Count)] == null?Squares.FirstOrDefault() : Squares[Random.Next(0, Squares.Count)];

                        Player.GetRoomUser().Frozen = true;
                        Player.GetRoomUser().ClearMovement(true);
                        var Room = RoleplayManager.GenerateRoom(Player.GetRoomUser().RoomId);
                        if (Room != null)
                        {
                            Room.GetGameMap().UpdateUserMovement(new Point(Player.GetRoomUser().X, Player.GetRoomUser().Y), new Point(RandomSquare.X, RandomSquare.Y), Player.GetRoomUser());
                        }

                        Player.GetRoomUser().X            = RandomSquare.X;
                        Player.GetRoomUser().Y            = RandomSquare.Y;
                        Player.GetRoomUser().UpdateNeeded = true;
                    }
                    new Thread(() =>
                    {
                        while (Counter > 0)
                        {
                            if (Player != null)
                            {
                                if (Counter == 6)
                                {
                                    Player.SendWhisper("Sua equipe chegou às semi finais! Boa sorte!", 1);
                                }
                                else
                                {
                                    Player.SendWhisper("[Briga de Times] vai continuar em " + Counter + " segundos!", 1);
                                }
                            }
                            Counter--;
                            Thread.Sleep(1000);

                            if (Counter == 0)
                            {
                                Player.GetRoomUser().Frozen = false;
                                Player.GetRoomUser().ClearMovement(true);
                                Player.SendWhisper("Evento iniciado, mete a porrada neles!", 1);
                            }
                        }
                    }).Start();
                }
                #endregion

                #region Second Team
                foreach (int playerid in Second.Members)
                {
                    GameClient Player  = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(playerid);
                    int        Counter = 6;

                    Player.GetRoleplay().ReplenishStats();

                    if (Player.GetRoomUser() != null)
                    {
                        List <ThreeDCoord> Squares      = RoleplayManager.GenerateMap(ArenaStartX, ArenaStartY, ArenaFinishX, ArenaFinishY);
                        ThreeDCoord        RandomSquare = Squares[Random.Next(0, Squares.Count)] == null?Squares.FirstOrDefault() : Squares[Random.Next(0, Squares.Count)];

                        Player.GetRoomUser().Frozen = true;
                        Player.GetRoomUser().ClearMovement(true);
                        var Room = RoleplayManager.GenerateRoom(Player.GetRoomUser().RoomId);
                        if (Room != null)
                        {
                            Room.GetGameMap().UpdateUserMovement(new Point(Player.GetRoomUser().X, Player.GetRoomUser().Y), new Point(RandomSquare.X, RandomSquare.Y), Player.GetRoomUser());
                        }

                        Player.GetRoomUser().X            = RandomSquare.X;
                        Player.GetRoomUser().Y            = RandomSquare.Y;
                        Player.GetRoomUser().UpdateNeeded = true;
                    }
                    new Thread(() =>
                    {
                        while (Counter > 0)
                        {
                            if (Player != null)
                            {
                                if (Counter == 6)
                                {
                                    Player.SendWhisper("Sua equipe chegou a final! Boa sorte!", 1);
                                }
                                else
                                {
                                    Player.SendWhisper("[Briga de Times] vai continuar em " + Counter + " segundos!", 1);
                                }
                            }
                            Counter--;
                            Thread.Sleep(1000);

                            if (Counter == 0)
                            {
                                Player.GetRoomUser().Frozen = false;
                                Player.GetRoomUser().ClearMovement(true);
                                Player.SendWhisper("Evento iniciado! Que comece a briga!", 1);
                            }
                        }
                    }).Start();
                }
                #endregion
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in LastTwo() void: " + e);
            }
        }
Example #15
0
        public void RemovePlayerFromGame(GameClient player, bool Winner = false)
        {
            try
            {
                if (player == null || player.GetHabbo() == null || player.GetRoleplay() == null)
                {
                    return;
                }

                if (Players.Contains(player.GetHabbo().Id))
                {
                    Players.Remove(player.GetHabbo().Id);
                }
                else
                {
                    return;
                }

                if (Teams.Values.Where(x => x.Members.Contains(player.GetHabbo().Id)).ToList().Count > 0)
                {
                    RoleplayTeam Team = Teams.Values.FirstOrDefault(x => x.Members.Contains(player.GetHabbo().Id));
                    Team.Members.Remove(player.GetHabbo().Id);

                    if (Team.LostMembers.Contains(player.GetHabbo().Id))
                    {
                        Team.LostMembers.Remove(player.GetHabbo().Id);
                    }
                }

                player.GetHabbo().Look  = player.GetRoleplay().OriginalOutfit;
                player.GetHabbo().Motto = player.GetRoleplay().Class;
                player.GetHabbo().Poof(false);

                player.GetRoleplay().GameSpawned = false;
                player.GetRoleplay().Game        = null;
                player.GetRoleplay().Team        = null;

                if (player.GetRoomUser() != null)
                {
                    player.GetRoomUser().ClearMovement(true);
                }
                RoleplayManager.SpawnChairs(player, "es_bench");

                if (GameStarted)
                {
                    if (Winner)
                    {
                        player.GetRoleplay().UpdateEventWins("brawl", 1);
                        player.GetRoleplay().ReplenishStats(true);
                        player.GetHabbo().EventPoints += Prize;
                        player.GetHabbo().UpdateEventPointsBalance();
                        player.SendNotification("Prabéns! Sua equipe ganhou, você foi premiado " + Prize + " pontos de eventos!");
                    }
                    else
                    {
                        player.GetHabbo().EventPoints++;
                        player.GetHabbo().UpdateEventPointsBalance();
                        player.SendNotification("Que merda hein, sua equipe perdeu no evento [Briga de Times]! Você ganhou 1 ponto de evento por participar!");
                    }
                }
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in RemovePlayerFromGame() void: " + e);
            }
        }
Example #16
0
        public void Check()
        {
            try
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars))
                {
                    #region Room Notification
                    if (1 == 1 /*!GameIsStarting && GameStarted*/)
                    {
                        Counter++;

                        if (Counter >= 150)
                        {
                            Counter = 0;
                            int RoomId          = Convert.ToInt32(RoleplayData.GetData("colourwars", "lobbyid"));
                            int MaxUsersPerTeam = Convert.ToInt32(RoleplayData.GetData("colourwars", "maxusersperteam"));

                            var Room = RoleplayManager.GenerateRoom(RoomId);

                            if (Room != null && Room.GetRoomUserManager() != null && Room.GetRoomUserManager().GetRoomUsers() != null)
                            {
                                RoleplayTeam Pink   = null;
                                RoleplayTeam Green  = null;
                                RoleplayTeam Blue   = null;
                                RoleplayTeam Yellow = null;

                                if (Teams.ContainsKey("Pink"))
                                {
                                    Pink = Teams["Rosa"];
                                }
                                if (Teams.ContainsKey("Green"))
                                {
                                    Green = Teams["Verde"];
                                }
                                if (Teams.ContainsKey("Blue"))
                                {
                                    Blue = Teams["Azul"];
                                }
                                if (Teams.ContainsKey("Yellow"))
                                {
                                    Yellow = Teams["Amarelo"];
                                }

                                lock (Room.GetRoomUserManager().GetRoomUsers())
                                {
                                    foreach (var User in Room.GetRoomUserManager().GetRoomUsers())
                                    {
                                        if (User == null || User.IsBot || User.GetClient() == null)
                                        {
                                            continue;
                                        }

                                        string Message = "Agora temos: " + (Pink == null ? "" : Pink.Members.Count + "/" + MaxUsersPerTeam + " Membros [ROSA], ") + (Green == null ? "" : Green.Members.Count + "/" + MaxUsersPerTeam + " Membros [VERDE], ") + (Blue == null ? "" : Blue.Members.Count + "/" + MaxUsersPerTeam + " Membros [AZUL] ") + (Yellow == null ? "" : Yellow.Members.Count + "/" + MaxUsersPerTeam + " Membros [AMARELO],").TrimEnd(',', ' ');
                                        User.GetClient().SendWhisper(Message, 34);
                                    }
                                }
                            }
                        }
                    }
                    #endregion

                    #region Logged/Kicked Check
                    if (Players.Count > 0 && !GameIsStarting)
                    {
                        List <int> PlayersToRemove = Players.Where(x => RoleplayManager.OfflineCheck(x, true, this)).ToList();
                        foreach (int playerId in PlayersToRemove)
                        {
                            List <RoleplayTeam> AllTeams = Teams.Values.ToList();
                            bool HasTeam = AllTeams.Where(x => x.Members.Contains(playerId)).ToList().Count > 0;
                            if (HasTeam)
                            {
                                RoleplayTeam Team = AllTeams.FirstOrDefault(x => x.Members.Contains(playerId));
                                if (Team != null)
                                {
                                    Team.Members.Remove(playerId);
                                }
                            }

                            Players.Remove(playerId);
                        }
                    }
                    #endregion

                    #region Main Checks
                    if (GameStarted && !GameIsStarting && Teams.Count > 1)
                    {
                        TeamCheck();
                    }
                    else if (GameStarted && !GameIsStarting && Teams.Count <= 1)
                    {
                        if (Teams.Count < 1)
                        {
                            Stop();
                        }
                        else
                        {
                            Winner(Teams.Values.FirstOrDefault());
                        }
                    }

                    if (GameStarted && !GameIsStarting && Players.Count <= 0)
                    {
                        Stop();
                    }
                    if (Players.Count == MaxPlayers && !GameStarted && !GameIsStarting)
                    {
                        Start();
                    }
                    #endregion
                }
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in Check() void: " + e);
            }
        }
Example #17
0
        public void RemovePlayerFromGame(GameClient player, bool Winner = false)
        {
            try
            {
                if (player == null || player.GetHabbo() == null || player.GetRoleplay() == null)
                {
                    return;
                }

                if (Players.Contains(player.GetHabbo().Id))
                {
                    Players.Remove(player.GetHabbo().Id);
                }
                else
                {
                    return;
                }

                if (Teams.Values.Where(x => x.Members.Contains(player.GetHabbo().Id)).ToList().Count > 0)
                {
                    RoleplayTeam Team = Teams.Values.FirstOrDefault(x => x.Members.Contains(player.GetHabbo().Id));
                    Team.Members.Remove(player.GetHabbo().Id);
                }

                player.GetHabbo().Look  = player.GetRoleplay().OriginalOutfit;
                player.GetHabbo().Motto = player.GetRoleplay().Class;
                player.GetHabbo().Poof(false);

                player.GetRoleplay().GameSpawned = false;
                player.GetRoleplay().Game        = null;
                player.GetRoleplay().Team        = null;

                if (player.GetRoomUser() != null)
                {
                    player.GetRoomUser().CanWalk = true;
                }

                RoleplayManager.SendUser(player, Convert.ToInt32(RoleplayData.GetData("colourwars", "lobbyid")));

                if (GameStarted)
                {
                    if (Winner)
                    {
                        player.GetRoleplay().UpdateEventWins("cw", 1);
                        player.GetRoleplay().ReplenishStats(true);
                        player.GetHabbo().EventPoints += Prize;
                        player.GetHabbo().UpdateEventPointsBalance();
                        player.SendNotification("Parabéns! Sua equipe ganhou, você foi premiado com " + Prize + " pontos de eventos!");
                    }
                    else
                    {
                        player.GetHabbo().EventPoints++;
                        player.GetHabbo().UpdateEventPointsBalance();
                        player.SendNotification("Que merda hein, sua equipe perdeu no evento [Guerras de Cores]! Você ganhou 1 ponto de evento por participar!");
                    }
                }
            }
            catch (Exception e)
            {
                Logging.LogRPGamesError("Error in RemovePlayerFromGame() void: " + e);
            }
        }
Example #18
0
 public void RemoveTeamMembers(RoleplayTeam Team)
 {
 }
Example #19
0
 public bool CanJoinTeam(RoleplayTeam Team)
 {
     return(true);
 }