示例#1
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendNotification("¿Te gustaria hacerte una buena jalada de ganzo?\n\n" +
                                         "Para confirmar, escriba \":paja si\". \n\n Después de haber hecho usted no puede volver!\n\n(Si no quieres jalarte el ganzo, ignora este mensaje! ;) )\n\n");
                return;
            }
            RoomUser roomUserByHabbo = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }

            if (Params.Length == 2 && Params[1].ToString() == "si")
            {
                Room.SendMessage(new ChatComposer(roomUserByHabbo.VirtualId, "* Se saca el pene *", 0, 3), false);
                Thread.Sleep(2000);
                Room.SendMessage(new ChatComposer(roomUserByHabbo.VirtualId, "*Se pajea tan rapido que queda con cojonera*", 0, 3), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(602);
                Room.SendMessage(new ChatComposer(roomUserByHabbo.VirtualId, "*Se ensucia de cosa blanca*", 0, 3), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(0);
            }
        }
示例#2
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            if (UserRoom.team != Team.none || UserRoom.InGame)
            {
                return;
            }

            int CurrentEnable = UserRoom.CurrentEffect;

            if (CurrentEnable == 28 || CurrentEnable == 29 || CurrentEnable == 30 || CurrentEnable == 37 || CurrentEnable == 184 || CurrentEnable == 77 || CurrentEnable == 103 ||
                CurrentEnable == 40 || CurrentEnable == 41 || CurrentEnable == 42 || CurrentEnable == 43 ||
                CurrentEnable == 49 || CurrentEnable == 50 || CurrentEnable == 51 || CurrentEnable == 52 ||
                CurrentEnable == 33 || CurrentEnable == 34 || CurrentEnable == 35 || CurrentEnable == 36)
            {
                return;
            }

            if (UserRoom.CurrentEffect == 569)
            {
                UserRoom.ApplyEffect(0);
            }
            else
            {
                UserRoom.ApplyEffect(569);
            }
        }
示例#3
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            RoomUser ThisUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (Session.GetHabbo().Rank >= 2 && Session.GetHabbo().isOfficer == false)
            {
                Session.GetHabbo().isOfficer = true;
                ThisUser.ApplyEffect(19);
                Session.SendWhisper("Você é agora um policial e pode cuida do jogo agora!");

                Session.GetHabbo()._NamePrefixColor = "d15000";
                Session.GetHabbo()._NamePrefix      = "Police";

                RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (User != null)
                {
                    Session.SendMessage(new UserChangeComposer(User, true));
                    Room.SendMessage(new UserChangeComposer(User, false));
                }
            }

            else if (Session.GetHabbo().Rank >= 3 && Session.GetHabbo().isOfficer == true)
            {
                Session.GetHabbo().isOfficer = false;
                ThisUser.ApplyEffect(0);
                Session.SendWhisper("Você não é um oficial e não pode prender pessoas mais!");
            }
            else
            {
                Session.SendWhisper("Você não tem permissão para usar isso!");
            }
        }
示例#4
0
        private void FreezeUser(RoomUser User)
        {
            if (User.IsBot || User.shieldActive || User.Team == Team.None || User.Freezed)
            {
                return;
            }

            User.Freezed       = true;
            User.FreezeCounter = 0;

            User.FreezeLives--;
            if (User.FreezeLives <= 0)
            {
                User.GetClient().SendPacket(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));

                User.ApplyEffect(-1);
                _room.GetGameManager().AddPointToTeam(User.Team, -10);
                var t = _room.GetTeamManagerForFreeze();
                t.OnUserLeave(User);
                User.Team = Team.None;
                if (ExitTeleports.Count > 0)
                {
                    _room.GetGameMap().TeleportToItem(User, GetRandomExitTile());
                }

                User.Freezed      = false;
                User.SetStep      = false;
                User.IsWalking    = false;
                User.UpdateNeeded = true;

                if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count > 0)
                {
                    StopGame(); // yellow team win
                }
                else if (t.BlueTeam.Count > 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // blue team win
                }
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count > 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // red team win
                }
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count > 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // green team win
                }

                return;
            }

            _room.GetGameManager().AddPointToTeam(User.Team, -10);
            User.ApplyEffect(12);

            User.GetClient().SendPacket(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));
        }
示例#5
0
        private void FreezeUser(RoomUser User)
        {
            if (User.IsBot || User.shieldActive || User.Team == TEAM.NONE || User.Freezed)
            {
                return;
            }

            User.Freezed       = true;
            User.FreezeCounter = 0;

            User.FreezeLives--;
            if (User.FreezeLives <= 0)
            {
                User.GetClient().SendMessage(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));

                User.ApplyEffect(-1);
                _room.GetGameManager().AddPointToTeam(User.Team, -10);
                TeamManager t = _room.GetTeamManagerForFreeze();
                t.OnUserLeave(User);
                User.Team = TEAM.NONE;
                if (_exitTeleports.Count > 0)
                {
                    _room.GetGameMap().TeleportToItem(User, this.GetRandomExitTile());
                }

                User.Freezed      = false;
                User.SetStep      = false;
                User.IsWalking    = false;
                User.UpdateNeeded = true;

                if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count > 0)
                {
                    StopGame(); // yellow team win
                }
                else if (t.BlueTeam.Count > 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // blue team win
                }
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count > 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // red team win
                }
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count > 0 &&
                         t.YellowTeam.Count <= 0)
                {
                    StopGame(); // green team win
                }
                return;
            }

            _room.GetGameManager().AddPointToTeam(User.Team, -10);
            User.ApplyEffect(12);
            BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(User.GetClient(), "ACH_EsA", 1);

            User.GetClient().SendMessage(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));
        }
示例#6
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            if (Session.GetHabbo() == null)
            {
                return;
            }

            if (Room.RpRoom)
            {
                return;
            }

            int   Nombre = ButterflyEnvironment.GetRandomNumber(1, 3);
            Habbo Habbo  = Session.GetHabbo();

            if (Nombre != 1) //Gagné bravo +1Point
            {
                Habbo.Mazo += 1;

                if (Habbo.MazoHighScore < Habbo.Mazo)
                {
                    //SQL sauvegarde le score
                    UserRoom.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.mazo.newscore", Session.Langue), Habbo.Mazo));
                    Habbo.MazoHighScore = Habbo.Mazo;

                    using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor())
                        queryreactor.RunQuery("UPDATE users SET mazoscore = '" + Habbo.MazoHighScore + "' WHERE id = " + Habbo.Id);
                }
                else
                {
                    UserRoom.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.mazo.win", Session.Langue), Habbo.Mazo));
                }

                UserRoom.ApplyEffect(566, true);
                UserRoom.TimerResetEffect = 4;
            }
            else //Perdu remise à zero
            {
                //Mettre l'enable
                if (Habbo.Mazo > 0)
                {
                    UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.mazo.bigloose", Session.Langue));
                }
                else
                {
                    UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.mazo.loose", Session.Langue));
                }

                Habbo.Mazo = 0;

                UserRoom.ApplyEffect(567, true);
                UserRoom.TimerResetEffect = 4;
            }

            using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor())
                queryreactor.RunQuery("UPDATE users SET mazo = '" + Habbo.Mazo + "' WHERE id = " + Habbo.Id);
        }
示例#7
0
        /// <summary>
        /// Method is call when timer is finished
        /// </summary>
        /// <param name="info">The information</param>
        public void Ticked(object info)
        {
            try
            {
                if (Me != null && Me.GetHabbo() != null && Me.GetRoleplay() != null)
                {
                    // Take away 2 seconds from the time left
                    TimeLeft -= 2000;

                    // Get the roomuser
                    RoomUser RoomUser = Me.GetHabbo().GetRoomUser();
                    // Get the team
                    Team TheTeam = ColourManager.GetTeamByBase(RoomUser);

                    // Check if the user is not on the base point
                    if (TheTeam == null || Team.KnockedOut)
                    {
                        RoleplayManager.Shout(Me, "*Stops capturing the base*");

                        Team.BeingCaptured = false;

                        Timer   = null;
                        Timer2  = null;
                        TheTeam = null;
                        Me      = null;

                        RoomUser.ApplyEffect(0);

                        return;
                    }

                    // If there is still more to do
                    if (TimeLeft > 0)
                    {
                        Timer.Change(2000, Timeout.Infinite);
                        // Stop proceeding
                        return;
                    }

                    Team.BeingCaptured = false;
                    RoomUser.ApplyEffect(0);
                    ColourManager.EliminateTeam(Team);
                }
                else
                {
                    Team.BeingCaptured = false;
                }
            }
            catch { Team.BeingCaptured = false; }
        }
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendNotification("Você gostaria de comprar maconha?\n\n" +
                                         "Para confirmar, insira \":fumar sim\". \n\n Depois de ter feito você não pode voltar!\n\n(Se você não quiser comprar maconha, ignore esta mensagem! ;) )\n\n");
                return;
            }
            RoomUser roomUserByHabbo = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }
            if (Params.Length == 2 && Params[1].ToString() == "sim")
            {
                roomUserByHabbo.GetClient().SendWhisper("Ganhou Maconha!");
                Thread.Sleep(1000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "* Enrola baseado *", 0, 6), false);
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "*vou acender e começar a fumar*", 0, 6), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(53);
                Thread.Sleep(2000);
                switch (new Random().Next(1, 4))
                {
                case 1:
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Hehehe Eu vejo muitas aves :D  ", 0, 6), false);
                    break;

                case 2:
                    roomUserByHabbo.ApplyEffect(70);
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Eu me sinto um panda :D ", 0, 6), false);
                    break;

                default:
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Hehehe to muito chapado :D ", 0, 6), false);
                    break;
                }
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "HAHAAHHAHAHAHAAHAHAHHAHAHAHA LOL", 0, 6), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(0);
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "*que Maconha boa que eu ganhei *", 0, 6), false);
                Thread.Sleep(2000);
            }
        }
示例#9
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendNotification("¿Te gustaría comprar marihuana?\n\n" +
                                         "Para confirmar, escriba \":fumar si\". \n\n Después de haber hecho usted no puede volver!\n\n(Si no quieres comprar marihuana, ignora este mensaje! ;) )\n\n");
                return;
            }
            RoomUser roomUserByHabbo = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }
            if (Params.Length == 2 && Params[1].ToString() == "si")
            {
                roomUserByHabbo.GetClient().SendWhisper("¡Obtuvo Marihuana!");
                Thread.Sleep(1000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "* Enrolla el bate *", 0, 6), false);
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "*Encender y empezar a fumar*", 0, 6), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(53);
                Thread.Sleep(2000);
                switch (new Random().Next(1, 4))
                {
                case 1:
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Hehehe Veo muchas aves :D  ", 0, 6), false);
                    break;

                case 2:
                    roomUserByHabbo.ApplyEffect(70);
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Me siento un panda :D ", 0, 6), false);
                    break;

                default:
                    Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Hehehe voy volando por los aires :D ", 0, 6), false);
                    break;
                }
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "Veo a M00nlight y a Pussy de colores", 0, 6), false);
                Thread.Sleep(2000);
                roomUserByHabbo.ApplyEffect(0);
                Thread.Sleep(2000);
                Room.SendMessage((IServerPacket) new ChatComposer(roomUserByHabbo.VirtualId, "*que Marihuana buena que obtuve*", 0, 6), false);
                Thread.Sleep(2000);
            }
        }
示例#10
0
        private void Cac(RoomUser Bot, Room Room, RoomUser User)
        {
            int Dmg = ButterflyEnvironment.GetRandomNumber(this.WeaponCac.DmgMin, this.WeaponCac.DmgMax);

            if (!User.IsBot)
            {
                RolePlayer Rp = User.Roleplayer;
                if (Rp != null)
                {
                    Rp.Hit(User, Dmg, Room);
                }
            }
            else
            {
                if (User.BotData.RoleBot != null)
                {
                    User.BotData.RoleBot.Hit(User, Dmg, Room, Bot.VirtualId, User.BotData.RoleBot.Config.TeamId);
                }
            }

            int WeaponEanble = this.WeaponCac.Enable;

            Bot.ApplyEffect(WeaponEanble, true);
            Bot.TimerResetEffect = this.WeaponCac.FreezeTime + 1;

            if (Bot.FreezeEndCounter <= this.WeaponCac.FreezeTime + 1)
            {
                Bot.Freeze           = true;
                Bot.FreezeEndCounter = this.WeaponCac.FreezeTime + 1;
            }
        }
示例#11
0
        private void Pan(RoomUser Bot, Room Room)
        {
            MovementDirection movement = MovementManagement.GetMovementByDirection(Bot.RotBody);

            int WeaponEanble = this.WeaponGun.Enable;

            Bot.ApplyEffect(WeaponEanble, true);
            Bot.TimerResetEffect = this.WeaponGun.FreezeTime + 1;

            if (Bot.FreezeEndCounter <= this.WeaponGun.FreezeTime)
            {
                Bot.Freeze           = true;
                Bot.FreezeEndCounter = this.WeaponGun.FreezeTime;
            }

            for (int i = 0; i < this.WeaponGun.FreezeTime; i++)
            {
                if (this.GunCharger <= 0)
                {
                    return;
                }

                this.GunCharger--;
                int Dmg = ButterflyEnvironment.GetRandomNumber(this.WeaponGun.DmgMin, this.WeaponGun.DmgMax);

                Room.GetProjectileManager().AddProjectile(Bot.VirtualId, Bot.SetX, Bot.SetY, Bot.SetZ, movement, Dmg, this.WeaponGun.Distance, this.Config.TeamId);
            }
        }
示例#12
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite o usuário que deseja descongelar.", 1);
                return;
            }

            RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Params[1]);

            if (TargetUser == null || TargetUser.GetClient() == null)
            {
                Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online.", 1);
                return;
            }

            if (!TargetUser.Frozen)
            {
                Session.SendWhisper("Este usuário não está congelado!", 1);
                return;
            }

            TargetUser.Frozen = false;

            if (TargetUser.CurrentEffect != 0)
            {
                TargetUser.ApplyEffect(0);
            }

            Session.Shout("*Descongela imediatamente " + TargetUser.GetClient().GetHabbo().Username + "*", 23);
            Session.SendWhisper("Descongelou com sucesso " + TargetUser.GetClient().GetHabbo().Username + "!", 1);
            return;
        }
示例#13
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite o usuário que deseja congelar.", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);

            if (TargetClient == null)
            {
                Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online.", 1);
                return;
            }

            RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Params[1]);

            if (TargetClient.GetRoleplay().EquippedWeapon != null)
            {
                TargetClient.GetRoleplay().EquippedWeapon = null;
            }

            if (TargetUser != null)
            {
                TargetUser.Frozen = true;
                TargetUser.ClearMovement(true);
                TargetUser.ApplyEffect(EffectsList.Ice);
            }

            Session.Shout("*Congela imediatamente o usuário " + TargetClient.GetHabbo().Username + "*", 23);
            Session.SendWhisper("Congelou " + TargetClient.GetHabbo().Username + " com sucesso!", 1);
        }
示例#14
0
        private void EndGame(RoomUser roomUser, Team winningTeam)
        {
            if (roomUser.team == winningTeam && winningTeam != Team.none)
            {
                this.room.SendPacket(new ActionMessageComposer(roomUser.VirtualId, 1));
            }
            else if (roomUser.team != Team.none)
            {
                Item FirstTile = this.GetFirstTile(roomUser.X, roomUser.Y);

                if (FirstTile == null)
                {
                    return;
                }

                if (this.room.GetGameItemHandler().GetExitTeleport() != null)
                {
                    this.room.GetGameMap().TeleportToItem(roomUser, this.room.GetGameItemHandler().GetExitTeleport());
                }

                TeamManager managerForBanzai = roomUser.GetClient().GetHabbo().CurrentRoom.GetTeamManager();
                managerForBanzai.OnUserLeave(roomUser);
                this.room.GetGameManager().UpdateGatesTeamCounts();
                roomUser.ApplyEffect(0);
                roomUser.team = Team.none;
            }
        }
示例#15
0
        public void CycleUser(RoomUser User)
        {
            if (User.Freezed)
            {
                User.FreezeCounter++;

                if (User.FreezeCounter > 10)
                {
                    User.Freezed       = false;
                    User.FreezeCounter = 0;

                    ActivateShield(User);
                }
            }

            if (User.shieldActive)
            {
                User.shieldCounter++;

                if (User.shieldCounter > 10)
                {
                    User.shieldActive  = false;
                    User.shieldCounter = 10;

                    User.ApplyEffect((int)User.team + 39);
                }
            }
        }
示例#16
0
 public void CycleUser(RoomUser user)
 {
     if (user.Freezed)
     {
         user.FreezeCounter++;
         if (user.FreezeCounter > 10)
         {
             user.Freezed       = false;
             user.FreezeCounter = 0;
             ActivateShield(user);
         }
     }
     if (!user.shieldActive)
     {
         return;
     }
     ++user.shieldCounter;
     if (user.shieldCounter <= 10)
     {
         return;
     }
     user.shieldActive  = false;
     user.shieldCounter = 10;
     user.ApplyEffect(((int)user.team + 39));
 }
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            int EffectId = Packet.PopInt();

            if (EffectId < 0)
            {
                EffectId = 0;
            }

            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (EffectId != 0 && Session.GetHabbo().Effects().HasEffect(EffectId, true))
            {
                User.ApplyEffect(EffectId);
            }
        }
示例#18
0
文件: Freeze.cs 项目: sgf/Yupi
        public static void CycleUser(RoomUser user)
        {
            if (user.Freezed)
            {
                {
                    ++user.FreezeCounter;
                }
                if (user.FreezeCounter > 10)
                {
                    user.Freezed       = false;
                    user.FreezeCounter = 0;
                    ActivateShield(user);
                }
            }
            if (!user.ShieldActive)
            {
                return;
            }

            {
                ++user.ShieldCounter;
            }
            if (user.ShieldCounter <= 10)
            {
                return;
            }
            user.ShieldActive  = false;
            user.ShieldCounter = 10;
            user.ApplyEffect((int)(user.Team + 39));
        }
示例#19
0
        internal void CycleUser(RoomUser user)
        {
            if (user.Freezed)
            {
                user.FreezeCounter++;

                if (user.FreezeCounter > 10)
                {
                    user.Freezed       = false;
                    user.FreezeCounter = 0;

                    //user.ApplyEffect((int)user.team + 39);
                    ActivateShield(user);
                }
            }

            if (user.shieldActive)
            {
                user.shieldCounter++;

                if (user.shieldCounter > 10)
                {
                    user.shieldActive  = false;
                    user.shieldCounter = 10;

                    user.ApplyEffect((int)user.team + 39);
                }
            }
        }
示例#20
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            if (Params.Length != 2)
            {
                return;
            }
            int NumEnable;

            if (!int.TryParse(Params[1], out NumEnable))
            {
                return;
            }
            if (!ButterflyEnvironment.GetGame().GetEffectsInventoryManager().EffectExist(NumEnable, Session.GetHabbo().HasFuse("fuse_mod")))
            {
                return;
            }

            if (UserRoom.team != Team.none || UserRoom.InGame)
            {
                return;
            }

            int CurrentEnable = UserRoom.CurrentEffect;

            if (CurrentEnable == 28 || CurrentEnable == 29 || CurrentEnable == 30 || CurrentEnable == 184)
            {
                return;
            }

            UserRoom.ApplyEffect(NumEnable);
        }
示例#21
0
        private void EndGame(RoomUser roomUser, Team winningTeam)
        {
            if (roomUser.team == winningTeam && winningTeam != Team.none)
            {
                this.room.SendPacket(new ActionMessageComposer(roomUser.VirtualId, 1));
            }
            else if (roomUser.team != Team.none)
            {
                Item FirstTile = this.GetFirstTile(roomUser.X, roomUser.Y);

                if (FirstTile == null)
                {
                    return;
                }
                roomUser.ApplyEffect(0);
                TeamManager managerForFreeze = this.room.GetTeamManager();
                managerForFreeze.OnUserLeave(roomUser);

                this.room.GetGameManager().UpdateGatesTeamCounts();

                roomUser.team = Team.none;

                if (this.room.GetGameItemHandler().GetExitTeleport() != null)
                {
                    this.room.GetGameMap().TeleportToItem(roomUser, this.room.GetGameItemHandler().GetExitTeleport());
                }

                roomUser.Freezed      = false;
                roomUser.SetStep      = false;
                roomUser.IsWalking    = false;
                roomUser.UpdateNeeded = true;
                roomUser.FreezeLives  = 0;
            }
        }
示例#22
0
        /// <summary>
        /// Method is call when timer is finished
        /// </summary>
        /// <param name="info">The information</param>
        public void Ticked(object info)
        {
            try
            {
                // If the user exists
                if (Me != null && Me.GetRoleplay() != null)
                {
                    // Get the room user
                    RoomUser MyRoomUser = Me.GetHabbo().GetRoomUser();
                    if (MyRoomUser != null)
                    {
                        // Let the user walk again
                        MyRoomUser.CanWalk = true;
                        MyRoomUser.Frozen  = false;
                        MyRoomUser.ApplyEffect(0);
                    }

                    // Set the user as alive
                    Me.GetRoleplay().KnockedOut = false;

                    // Tell the user they are free to move again
                    Me.SendWhisper("[COLOR WARS] You are now conscious and can move!");



                    // Dispose of me, I have served mi purpose!!
                    Timer = null;
                    Me    = null;
                }
            }
            catch { }
        }
示例#23
0
        public void Parse(GameClient session, ClientPacket packet)
        {
            int effectId = packet.PopInt();

            if (effectId < 0)
            {
                effectId = 0;
            }

            if (!session.GetHabbo().InRoom)
            {
                return;
            }

            Room room = session.GetHabbo().CurrentRoom;

            if (room == null)
            {
                return;
            }

            RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (user == null)
            {
                return;
            }

            if (effectId != 0 && session.GetHabbo().Effects().HasEffect(effectId, true))
            {
                user.ApplyEffect(effectId);
            }
        }
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            User.ApplyEffect(187);
            User.IsAsleep = true;
            Session.SendWhisper("Je staat nu op afwezig. Typ ':bew' om weer terug te komen!");
        }
示例#25
0
        private void FreezeUser(RoomUser user)
        {
            if (user.IsBot || user.shieldActive || user.team == Team.none)
            {
                return;
            }

            if (user.Freezed)
            {
                user.Freezed = false;
                user.ApplyEffect((int)user.team + 39);
                return;
            }
            user.Freezed       = true;
            user.FreezeCounter = 0;

            user.FreezeLives--;

            if (user.FreezeLives <= 0)
            {
                user.ApplyEffect(-1);
                room.GetGameManager().AddPointToTeam(user.team, -20, user);
                user.team = Team.none;
                if (exitTeleport != null)
                {
                    room.GetGameMap().TeleportToItem(user, exitTeleport);
                }

                user.Freezed      = false;
                user.SetStep      = false;
                user.IsWalking    = false;
                user.UpdateNeeded = true;
                return;
            }

            room.GetGameManager().AddPointToTeam(user.team, -10, user);
            user.ApplyEffect(12);

            ServerMessage message = new ServerMessage();

            message.Init(701);
            message.AppendInt32(user.InternalRoomID);
            message.AppendInt32(user.FreezeLives);

            user.GetClient().SendMessage(message);
        }
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            User.UnIdle();
            User.ApplyEffect(0);
            Session.SendWhisper("Je bent weer terug, welkom terug!");
        }
示例#27
0
        private void EnableEffet(RoomUser user, JankenEnum Janken)
        {
            if (Janken == JankenEnum.Ciseaux)
            {
                user.ApplyEffect(563, true);
            }
            else if (Janken == JankenEnum.Pierre)
            {
                user.ApplyEffect(565, true);
            }
            else if (Janken == JankenEnum.Feuille)
            {
                user.ApplyEffect(564, true);
            }

            user.TimerResetEffect = 10;
        }
示例#28
0
 private void ResetAnimation(RoomUser user)
 {
     user.ApplyEffect(user.CurrentEffect, true);
     if (user.FreezeEndCounter <= 0)
     {
         user.Freeze = false;
     }
 }
示例#29
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Conditions
            if (Params.Length == 1)
            {
                Session.SendWhisper("Opa, você esqueceu de inserir um nome de usuário!", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
            if (TargetClient == null)
            {
                Session.SendWhisper("Ocorreu um erro ao tentar encontrar esse usuário, talvez ele esteja offline.", 1);
                return;
            }

            RoomUser RoomUser   = Session.GetRoomUser();
            RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Username);
            if (TargetUser == null)
            {
                Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online ou nesta sala.", 1);
                return;
            }

            if (Session.GetRoleplay().TryGetCooldown("beijar"))
            {
                return;
            }

            if (TargetUser.IsAsleep)
            {
                Session.SendWhisper("Você não pode beijar alguém que está ausente!", 1);
                return;
            }
            #endregion

            #region Execute
            Point  ClientPos       = new Point(RoomUser.X, RoomUser.Y);
            Point  TargetClientPos = new Point(TargetUser.X, TargetUser.Y);
            double Distance        = RoleplayManager.GetDistanceBetweenPoints2D(ClientPos, TargetClientPos);

            if (Distance <= 1)
            {
                Session.Shout("*Inclina-se em " + TargetClient.GetHabbo().Username + " e dá um pequeno beijo rápido nos lábios*", 16);
                Session.GetRoleplay().CooldownManager.CreateCooldown("beijar", 1000, 5);
                RoomUser.ApplyEffect(EffectsList.Love);
                TargetUser.ApplyEffect(EffectsList.Love);
                Session.GetRoleplay().KissTimer      = 5;
                TargetClient.GetRoleplay().KissTimer = 5;
                return;
            }
            else
            {
                Session.SendWhisper("Você deve se aproximar desse cidadão para beijá-lo!", 1);
                return;
            }
            #endregion
        }
示例#30
0
        public void OneMinute(object info)
        {
            try
            {
                if (Me != null)
                {
                    // Get the roomuser
                    RoomUser RoomUser = Me.GetHabbo().GetRoomUser();
                    // Get the team
                    Team TheTeam = ColourManager.GetTeamByBase(RoomUser);

                    // Check if the user is not on the base point
                    if (TheTeam == null)
                    {
                        Team.BeingCaptured = false;

                        Timer   = null;
                        Timer2  = null;
                        TheTeam = null;
                        Me      = null;

                        return;
                    }

                    // If there is still more to do
                    if (TimeLeft > 0)
                    {
                        // Convert the milliseconds to minutes
                        int Minutes = TimeLeft / 60000;

                        if (Minutes == 0)
                        {
                            // Inform the user of time left
                            if (Me.GetRoleplay() != null)
                            {
                                Me.GetRoleplay().GiveColorWarPoints(ColourManager.CapturePoints);
                            }

                            RoleplayManager.Shout(Me, "*Successfully captures the " + Team.Colour.ToLower() + "'s base, knocking them out of the round [+ " + ColourManager.CapturePoints + " Color Wars Pts]*");
                            RoomUser.ApplyEffect(0);
                        }
                        else
                        {
                            RoleplayManager.Shout(Me, "*" + Minutes + " minutes until the base is captured!*");
                        }

                        // Restart the timer! :D
                        Timer2.Change(60000, Timeout.Infinite);
                        // Stop proceeding
                        return;
                    }
                }
            }
            catch { }
        }
示例#31
0
        public static void CycleUser(RoomUser user)
        {
            if (user.Freezed)
            {
                {
                    ++user.FreezeCounter;
                }
                if (user.FreezeCounter > 10)
                {
                    user.Freezed = false;
                    user.FreezeCounter = 0;
                    ActivateShield(user);
                }
            }
            if (!user.ShieldActive) return;

            {
                ++user.ShieldCounter;
            }
            if (user.ShieldCounter <= 10) return;
            user.ShieldActive = false;
            user.ShieldCounter = 10;
            user.ApplyEffect((int) (user.Team + 39));
        }
示例#32
0
文件: Freeze.cs 项目: BjkGkh/Boon
 private static void ActivateShield(RoomUser User)
 {
     User.ApplyEffect(Convert.ToInt32(User.Team + 48));
     User.shieldActive = true;
     User.shieldCounter = 0;
 }
示例#33
0
        private void HandleBanzaiTiles(Point coord, Team team, RoomUser user)
        {
            if (team == Team.none)
                return;

            List<RoomItem> items = room.GetGameMap().GetCoordinatedItems(coord);
            int i = 0;
            foreach (RoomItem _item in banzaiTiles.Values)
            {
                if (_item.GetBaseItem().InteractionType != InteractionType.banzaifloor)
                {
                    user.team = Team.none;
                    user.ApplyEffect(0);
                    continue;
                }

                if (_item.ExtraData.Equals("5") || _item.ExtraData.Equals("8") || _item.ExtraData.Equals("11") || _item.ExtraData.Equals("14"))
                {
                    i++;
                    continue;
                }

                if (_item.GetX != coord.X || _item.GetY != coord.Y)
                    continue;

                SetTile(_item, team, user);
                if (_item.ExtraData.Equals("5") || _item.ExtraData.Equals("8") || _item.ExtraData.Equals("11") || _item.ExtraData.Equals("14"))
                    i++;
                _item.UpdateState(false, true);
            }
            if (i == banzaiTiles.Count)
                this.BanzaiEnd();
        }
示例#34
0
文件: Freeze.cs 项目: BjkGkh/Mercury
 internal void CycleUser(RoomUser user)
 {
     if (user.Freezed)
     {
         checked { ++user.FreezeCounter; }
         if (user.FreezeCounter > 10)
         {
             user.Freezed = false;
             user.FreezeCounter = 0;
             Freeze.ActivateShield(user);
         }
     }
     if (!user.shieldActive)
         return;
     checked { ++user.shieldCounter; }
     if (user.shieldCounter > 10)
     {
         user.shieldActive = false;
         user.shieldCounter = 10;
         user.ApplyEffect((int)(user.team + 39));
     }
 }
示例#35
0
        private void HandleBanzaiTiles(Point coord, TEAM team, RoomUser user)
        {
            if (team == TEAM.NONE)
                return;

            List<Item> items = _room.GetGameMap().GetCoordinatedItems(coord);
            int i = 0;
            foreach (Item _item in _banzaiTiles.Values.ToList())
            {
                if (_item == null)
                    continue;

                if (_item.GetBaseItem().InteractionType != InteractionType.banzaifloor)
                {
                    user.Team = TEAM.NONE;
                    user.ApplyEffect(0);
                    continue;
                }

                if (_item.ExtraData.Equals("5") || _item.ExtraData.Equals("8") || _item.ExtraData.Equals("11") ||
                    _item.ExtraData.Equals("14"))
                {
                    i++;
                    continue;
                }

                if (_item.GetX != coord.X || _item.GetY != coord.Y)
                    continue;

                SetTile(_item, team, user);
                if (_item.ExtraData.Equals("5") || _item.ExtraData.Equals("8") || _item.ExtraData.Equals("11") ||
                    _item.ExtraData.Equals("14"))
                    i++;
                _item.UpdateState(false, true);
            }
            if (i == _banzaiTiles.Count)
                BanzaiEnd();
        }
示例#36
0
        private void FreezeUser(RoomUser user)
        {
            if (user.IsBot || user.ShieldActive || user.Team == Team.None || user.Freezed)
                return;

            user.Freezed = true;
            user.FreezeCounter = 0;
            --user.FreezeLives;

            if (user.FreezeLives <= 0)
            {
                var serverMessage = new ServerMessage();
                serverMessage.Init(LibraryParser.OutgoingRequest("UpdateFreezeLivesMessageComposer"));
                serverMessage.AppendInteger(user.InternalRoomId);
                serverMessage.AppendInteger(user.FreezeLives);
                user.GetClient().SendMessage(serverMessage);
                user.ApplyEffect(-1);
                _room.GetGameManager().AddPointToTeam(user.Team, -10, user);
                var managerForFreeze = _room.GetTeamManagerForFreeze();
                managerForFreeze.OnUserLeave(user);
                user.Team = Team.None;
                if (ExitTeleport != null) _room.GetGameMap().TeleportToItem(user, ExitTeleport);
                user.Freezed = false;
                user.SetStep = false;
                user.IsWalking = false;
                user.UpdateNeeded = true;
                if (!managerForFreeze.BlueTeam.Any() && !managerForFreeze.RedTeam.Any() &&
                    !managerForFreeze.GreenTeam.Any() && managerForFreeze.YellowTeam.Any())
                    StopGame();
                else if (managerForFreeze.BlueTeam.Any() && !managerForFreeze.RedTeam.Any() &&
                         !managerForFreeze.GreenTeam.Any() && !managerForFreeze.YellowTeam.Any())
                    StopGame();
                else if (!managerForFreeze.BlueTeam.Any() && managerForFreeze.RedTeam.Any() &&
                         !managerForFreeze.GreenTeam.Any() && !managerForFreeze.YellowTeam.Any())
                    StopGame();
                else
                {
                    if (managerForFreeze.BlueTeam.Any() || managerForFreeze.RedTeam.Any() ||
                        !managerForFreeze.GreenTeam.Any() || managerForFreeze.YellowTeam.Any())
                        return;
                    StopGame();
                }
            }
            else
            {
                _room.GetGameManager().AddPointToTeam(user.Team, -10, user);
                user.ApplyEffect(12);
                var serverMessage = new ServerMessage();
                serverMessage.Init(LibraryParser.OutgoingRequest("UpdateFreezeLivesMessageComposer"));
                serverMessage.AppendInteger(user.InternalRoomId);
                serverMessage.AppendInteger(user.FreezeLives);
                user.GetClient().SendMessage(serverMessage);
            }
        }
示例#37
0
文件: Freeze.cs 项目: habb0/Bfly
        private void FreezeUser(RoomUser user)
        {
            if (user.IsBot || user.shieldActive || user.team == Team.none)
                return;

            if (user.Freezed)
            {
                user.Freezed = false;
                user.ApplyEffect((int)user.team + 39);
                return;
            }
            user.Freezed = true;
            user.FreezeCounter = 0;

            user.FreezeLives--;

            if (user.FreezeLives <= 0)
            {
                user.ApplyEffect(-1);
                room.GetGameManager().AddPointToTeam(user.team, -20, user);
                user.team = Team.none;
                if (exitTeleport != null)
                    room.GetGameMap().TeleportToItem(user, exitTeleport);

                user.Freezed = false;
                user.SetStep = false;
                user.IsWalking = false;
                user.UpdateNeeded = true;
                return;
            }

            room.GetGameManager().AddPointToTeam(user.team, -10, user);
            user.ApplyEffect(12);

            ServerMessage message = new ServerMessage();
            message.Init(701);
            message.AppendInt32(user.InternalRoomID);
            message.AppendInt32(user.FreezeLives);

            user.GetClient().SendMessage(message);
        }
示例#38
0
文件: Freeze.cs 项目: habb0/Bfly
        internal void CycleUser(RoomUser user)
        {
            if (user.Freezed)
            {
                user.FreezeCounter++;

                if (user.FreezeCounter > 10)
                {
                    user.Freezed = false;
                    user.FreezeCounter = 0;

                    //user.ApplyEffect((int)user.team + 39);
                    ActivateShield(user);
                }
            }

            if (user.shieldActive)
            {
                user.shieldCounter++;

                if (user.shieldCounter > 10)
                {
                    user.shieldActive = false;
                    user.shieldCounter = 10;

                    user.ApplyEffect((int)user.team + 39);
                }
            }
        }
示例#39
0
文件: Freeze.cs 项目: habb0/Bfly
 private static void ActivateShield(RoomUser user)
 {
     user.ApplyEffect((int)user.team + 48);
     user.shieldActive = true;
     user.shieldCounter = 0;
 }
示例#40
0
文件: Freeze.cs 项目: habb0/Bfly
 private static void RemoveUserFromTeam(RoomUser user)
 {
     user.team = Team.none;
     user.ApplyEffect(-1);
 }
示例#41
0
 private void HandleBanzaiTiles(Point coord, Team team, RoomUser user)
 {
     if (team == Team.None) return;
     _room.GetGameMap().GetCoordinatedItems(coord);
     int num = 0;
     foreach (RoomItem roomItem in BanzaiTiles.Values)
     {
         if (roomItem.GetBaseItem().InteractionType != Interaction.BanzaiFloor)
         {
             user.Team = Team.None;
             user.ApplyEffect(0);
         }
         else if (roomItem.ExtraData.Equals("5") || roomItem.ExtraData.Equals("8") ||
                  roomItem.ExtraData.Equals("11") || roomItem.ExtraData.Equals("14"))
         {
             ++num;
         }
         else if (roomItem.X == coord.X && roomItem.Y == coord.Y)
         {
             SetTile(roomItem, team, user);
             if (roomItem.ExtraData.Equals("5") || roomItem.ExtraData.Equals("8") ||
                 roomItem.ExtraData.Equals("11") || roomItem.ExtraData.Equals("14"))
             {
                 ++num;
             }
             roomItem.UpdateState(false, true);
         }
     }
     if (num != BanzaiTiles.Count) return;
     BanzaiEnd();
 }
示例#42
0
文件: Freeze.cs 项目: BjkGkh/Boon
        private void FreezeUser(RoomUser User)
        {
            if (User.IsBot || User.shieldActive || User.Team == TEAM.NONE || User.Freezed)
                return;

            User.Freezed = true;
            User.FreezeCounter = 0;

            User.FreezeLives--;
            if (User.FreezeLives <= 0)
            {
                User.GetClient().SendMessage(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));

                User.ApplyEffect(-1);
                _room.GetGameManager().AddPointToTeam(User.Team, -10);
                TeamManager t = _room.GetTeamManagerForFreeze();
                t.OnUserLeave(User);
                User.Team = TEAM.NONE;
                if (_exitTeleports.Count > 0)
                    _room.GetGameMap().TeleportToItem(User, this.GetRandomExitTile());

                User.Freezed = false;
                User.SetStep = false;
                User.IsWalking = false;
                User.UpdateNeeded = true;

                if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count > 0)
                    StopGame(); // yellow team win
                else if (t.BlueTeam.Count > 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                    StopGame(); // blue team win
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count > 0 && t.GreenTeam.Count <= 0 &&
                         t.YellowTeam.Count <= 0)
                    StopGame(); // red team win
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count > 0 &&
                         t.YellowTeam.Count <= 0)
                    StopGame(); // green team win
                return;
            }

            _room.GetGameManager().AddPointToTeam(User.Team, -10);
            User.ApplyEffect(12);

            User.GetClient().SendMessage(new UpdateFreezeLivesComposer(User.InternalRoomID, User.FreezeLives));
        }
示例#43
0
 private void HandleBanzaiTiles(Point coord, Team team, RoomUser user)
 {
     if (team == Team.none)
         return;
     this.room.GetGameMap().GetCoordinatedItems(coord);
     int num = 0;
     foreach (RoomItem roomItem in (IEnumerable)this.banzaiTiles.Values)
     {
         if (roomItem.GetBaseItem().InteractionType != InteractionType.banzaifloor)
         {
             user.team = Team.none;
             user.ApplyEffect(0);
         }
         else if (roomItem.ExtraData.Equals("5") || roomItem.ExtraData.Equals("8") || roomItem.ExtraData.Equals("11") || roomItem.ExtraData.Equals("14"))
             checked { ++num; }
         else if (roomItem.GetX == coord.X && roomItem.GetY == coord.Y)
         {
             this.SetTile(roomItem, team, user);
             if (roomItem.ExtraData.Equals("5") || roomItem.ExtraData.Equals("8") || roomItem.ExtraData.Equals("11") || roomItem.ExtraData.Equals("14"))
                 checked { ++num; }
             roomItem.UpdateState(false, true);
         }
     }
     if (num != this.banzaiTiles.Count)
         return;
     this.BanzaiEnd();
 }
示例#44
0
文件: Freeze.cs 项目: BjkGkh/Boon
        public void CycleUser(RoomUser User)
        {
            if (User.Freezed)
            {
                User.FreezeCounter++;
                if (User.FreezeCounter > 10)
                {
                    User.Freezed = false;
                    User.FreezeCounter = 0;
                    ActivateShield(User);
                }
            }

            if (User.shieldActive)
            {
                User.shieldCounter++;
                if (User.shieldCounter > 10)
                {
                    User.shieldActive = false;
                    User.shieldCounter = 10;
                    User.ApplyEffect(Convert.ToInt32(User.Team) + 39);
                }
            }
        }
示例#45
0
        private void FreezeUser(RoomUser user)
        {
            if (user.IsBot || user.shieldActive || user.team == Team.none)
                return;

            if (user.Freezed)
            {
                user.Freezed = false;
                user.ApplyEffect((int)user.team + 39);
                return;
            }
            user.Freezed = true;
            user.FreezeCounter = 0;

            user.FreezeLives--;

            if (user.FreezeLives <= 0)
            {
                ServerMessage message2 = new ServerMessage();
                message2.Init(Outgoing.UpdateFreezeLives);
                message2.AppendInt32(user.InternalRoomID);
                message2.AppendInt32(user.FreezeLives);
                user.GetClient().SendMessage(message2);

                user.ApplyEffect(-1);
                room.GetGameManager().AddPointToTeam(user.team, -20, user);
                TeamManager t = room.GetTeamManagerForFreeze();
                t.OnUserLeave(user);
                user.team = Team.none;
                if (exitTeleport != null)
                    room.GetGameMap().TeleportToItem(user, exitTeleport);

                user.Freezed = false;
                user.SetStep = false;
                user.IsWalking = false;
                user.UpdateNeeded = true;

                if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count > 0)
                    this.StopGame(); // yellow team win
                else if (t.BlueTeam.Count > 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count <= 0)
                    this.StopGame(); // blue team win
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count > 0 && t.GreenTeam.Count <= 0 && t.YellowTeam.Count <= 0)
                    this.StopGame(); // red team win
                else if (t.BlueTeam.Count <= 0 && t.RedTeam.Count <= 0 && t.GreenTeam.Count > 0 && t.YellowTeam.Count <= 0)
                    this.StopGame(); // green team win
                return;
            }

            room.GetGameManager().AddPointToTeam(user.team, -10, user);
            user.ApplyEffect(12);

            ServerMessage message = new ServerMessage();
            message.Init(Outgoing.UpdateFreezeLives);
            message.AppendInt32(user.InternalRoomID);
            message.AppendInt32(user.FreezeLives);

            user.GetClient().SendMessage(message);
        }