public override void OnRemove(GameClient Session, RoomItem Item)
        {
            DataRow dataRow2;

            using (DatabaseClient @class = GoldTree.GetDatabase().GetClient())
            {
                dataRow2 = @class.ReadDataRow("SELECT fw_count FROM items_firework WHERE id = '" + Item.uint_0 + "'");

                if (dataRow2 != null)
                {
                    Item.FireWorkCount = (int)dataRow2["fw_count"];
                }
                else
                {
                    @class.ExecuteQuery("INSERT INTO items_firework(item_id, fw_count) VALUES ( '" + Item.uint_0 + "', '0')");
                }
            }

            if (Item.FireWorkCount > 0)
            {
                Item.ExtraData = "1";
                Item.UpdateState(true, true);
            }

            else if (Item.FireWorkCount <= 0)
            {
                Item.ExtraData = "0";
                Item.UpdateState(true, true);
            }
        }
Example #2
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            RoomUser roomUser = null;

            if (session != null)
            {
                roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);
            }
            if (roomUser == null)
            {
                return;
            }
            if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y))
            {
                if (item.ExtraData == "-1")
                {
                    return;
                }
                if (request == -1)
                {
                    item.ExtraData = "0";
                    item.UpdateState();
                    return;
                }
                item.ExtraData = "-1";
                item.UpdateState(false, true);
                item.ReqUpdate(4, true);
                return;
            }

            roomUser.MoveTo(item.SquareInFront);
        }
Example #3
0
        public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            RoomUser roomUser = null;

            if (Session != null)
            {
                roomUser = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            }
            if (roomUser == null)
            {
                return;
            }
            if (Gamemap.TilesTouching(Item.GetX, Item.GetY, roomUser.X, roomUser.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                        return;
                    }
                    Item.ExtraData = "-1";
                    Item.UpdateState(false, true);
                    Item.ReqUpdate(4, true);
                    return;
                }
            }
            else
            {
                roomUser.MoveTo(Item.SquareInFront);
            }
        }
Example #4
0
        public override void OnWiredTrigger(RoomItem item)
        {
            uint num = item.GetBaseItem().Modes - 1;

            if (num <= 0)
                item.UpdateState(false, true);

            int num2;
            int.TryParse(item.ExtraData, out num2);
            int num3;

            if (num2 <= 0)
                num3 = 1;
            else
            {
                if (num2 >= num)
                    num3 = 0;
                else
                    num3 = num2 + 1;
            }

            if (num3 == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
                return;

            item.ExtraData = num3.ToString();
            item.UpdateState();
            item.GetRoom().GetGameMap().UpdateMapForItem(item);
        }
Example #5
0
        public override void OnRemove(GameClient Session, RoomItem Item)
        {
            DataRow dataRow2;

            using (DatabaseClient @class = GoldTree.GetDatabase().GetClient())
            {
                dataRow2 = @class.ReadDataRow("SELECT fw_count FROM items WHERE id = '" + Item.uint_0 + "'");
            }
            if (dataRow2 != null)
            {
                Item.FireWorkCount = (int)dataRow2["fw_count"];
            }

            if (Item.FireWorkCount > 0)
            {
                Item.ExtraData = "1";
                Item.UpdateState(true, true);
            }

            else if (Item.FireWorkCount <= 0)
            {
                Item.ExtraData = "0";
                Item.UpdateState(true, true);
            }
        }
Example #6
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
                return;
            if (item == null || item.GetBaseItem() == null || item.GetBaseItem().InteractionType != Interaction.Gate)
                return;

            var modes = item.GetBaseItem().Modes - 1;
            if (modes <= 0)
                item.UpdateState(false, true);

            if (item.GetRoom() == null || item.GetRoom().GetGameMap() == null || item.GetRoom().GetGameMap().SquareHasUsers(item.X, item.Y))
                return;

            int currentMode;
            int.TryParse(item.ExtraData, out currentMode);
            int newMode;
            if (currentMode <= 0)
                newMode = 1;
            else if (currentMode >= modes)
                newMode = 0;
            else
                newMode = currentMode + 1;

            if (newMode == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
                return;

            item.ExtraData = newMode.ToString();
            item.UpdateState();
            item.GetRoom().GetGameMap().UpdateMapForItem(item);
            item.GetRoom().GetWiredHandler().ExecuteWired(Interaction.TriggerStateChanged, item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id), item);
        }
Example #7
0
        public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            RoomUser User = null;
            if (Session != null)
                User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            if (User == null)
                return;

            if (Gamemap.TilesTouching(Item.GetX, Item.GetY, User.X, User.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                    }
                    else
                    {
                        Item.ExtraData = "-1";
                        Item.UpdateState(false, true);
                        Item.ReqUpdate(4, true);
                    }
                }
            }
            else
            {
                User.MoveTo(Item.SquareInFront);
            }
        }
Example #8
0
        private void OnElapse(object sender, ElapsedEventArgs e)
        {
            switch (mItem.ExtraData)
            {
            case "1":
                mItem.ExtraData = "2";
                mItem.UpdateState();
                return;

            case "2":
                mItem.ExtraData = "3";
                mItem.UpdateState();
                return;

            case "3":
                mItem.ExtraData = "4";
                mItem.UpdateState();
                return;

            case "4":
                ((Timer)sender).Stop();
                mItem.ExtraData = "5";
                mItem.UpdateState();
                return;
            }
        }
Example #9
0
 public void OnWiredTrigger(RoomItem item)
 {
     {
         var num = item.GetBaseItem().Modes - 1;
         if (num <= 0)
         {
             item.UpdateState(false, true);
         }
         int num2 = 0;
         int.TryParse(item.ExtraData, out num2);
         int num3;
         if (num2 <= 0)
         {
             num3 = 1;
         }
         else
         {
             if (num2 >= num)
             {
                 num3 = 0;
             }
             else
             {
                 num3 = num2 + 1;
             }
         }
         if (num3 == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
         {
             return;
         }
         item.ExtraData = num3.ToString();
         item.UpdateState();
         item.GetRoom().GetGameMap().UpdateMapForItem(item);
     }
 }
Example #10
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            RoomUser roomUser = null;
            if (session != null)
                roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUser == null)
                return;

            if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y))
            {
                if (item.ExtraData == "-1")
                    return;

                if (request == -1)
                {
                    item.ExtraData = "0";
                    item.UpdateState();
                    return;
                }

                item.ExtraData = "-1";
                item.UpdateState(false, true);
                item.ReqUpdate(4, true);
                return;
            }

            roomUser.MoveTo(item.SquareInFront);
        }
Example #11
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            Habbo user = session.GetHabbo();
            bool  ishc = user.Vip;

            if (!ishc)
            {
                ServerMessage message = new ServerMessage(LibraryParser.OutgoingRequest("CustomUserNotificationMessageComposer"));
                message.AppendInteger(3);
                session.SendMessage(message);
                return;
            }

            if (item?.GetBaseItem() == null || item.GetBaseItem().InteractionType != Interaction.HcGate)
            {
                return;
            }

            uint modes = item.GetBaseItem().Modes - 1;

            if (modes <= 0)
            {
                item.UpdateState(false, true);
            }

            int currentMode;

            int.TryParse(item.ExtraData, out currentMode);
            int newMode;

            if (currentMode <= 0)
            {
                newMode = 1;
            }
            else if (currentMode >= modes)
            {
                newMode = 0;
            }
            else
            {
                newMode = currentMode + 1;
            }

            if (newMode == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
            {
                return;
            }

            item.ExtraData = newMode.ToString();
            item.UpdateState();
            item.GetRoom().GetGameMap().UpdateMapForItem(item);
            item.GetRoom()
            .GetWiredHandler()
            .ExecuteWired(Interaction.TriggerStateChanged,
                          item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id), item);
        }
Example #12
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
            {
                return;
            }

            if (item?.GetBaseItem() == null || item.GetBaseItem().InteractionType != Interaction.Gate)
            {
                return;
            }

            uint modes = item.GetBaseItem().Modes - 1;

            if (modes <= 0)
            {
                item.UpdateState(false, true);
            }

            if (item.GetRoom() == null || item.GetRoom().GetGameMap() == null ||
                item.GetRoom().GetGameMap().SquareHasUsers(item.X, item.Y))
            {
                return;
            }

            int currentMode;

            int.TryParse(item.ExtraData, out currentMode);
            int newMode;

            if (currentMode <= 0)
            {
                newMode = 1;
            }
            else if (currentMode >= modes)
            {
                newMode = 0;
            }
            else
            {
                newMode = currentMode + 1;
            }

            if (newMode == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
            {
                return;
            }

            item.ExtraData = newMode.ToString();
            item.UpdateState();
            item.GetRoom().GetGameMap().UpdateMapForItem(item);
            item.GetRoom()
            .GetWiredHandler()
            .ExecuteWired(Interaction.TriggerStateChanged,
                          item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id), item);
        }
Example #13
0
        internal void Reestructure()
        {
            List <PuntuationRow> backupRows = new List <PuntuationRow>();

            backupRows.AddRange(puntuationRows);

            puntuationRows.Clear();
            puntuationRows = backupRows.OrderByDescending(x => x.puntuation).Take(15).ToList();
            Item.UpdateState();
        }
Example #14
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            {
                var user    = session.GetHabbo();
                int MyJobId = session.GetRoleplay().JobId;
                if (item.GroupId != MyJobId)
                {
                    session.SendNotif("You don't work here!", "Business Message", "");
                    return;
                }

                if (item == null || item.GetBaseItem() == null ||
                    item.GetBaseItem().InteractionType != Interaction.GuildGate)
                {
                    return;
                }

                var modes = item.GetBaseItem().Modes - 1;
                if (modes <= 0)
                {
                    item.UpdateState(false, true);
                }

                int currentMode;
                int.TryParse(item.ExtraData, out currentMode);
                int newMode;
                if (currentMode <= 0)
                {
                    newMode = 1;
                }
                else if (currentMode >= modes)
                {
                    newMode = 0;
                }
                else
                {
                    newMode = currentMode + 1;
                }

                if (newMode == 0 && !item.GetRoom().GetGameMap().ItemCanBePlacedHere(item.X, item.Y))
                {
                    return;
                }

                item.ExtraData = newMode.ToString();
                item.UpdateState();
                item.GetRoom().GetGameMap().UpdateMapForItem(item);
                item.GetRoom().GetWiredHandler().ExecuteWired(Interaction.TriggerStateChanged, new object[]
                {
                    item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id),
                    item
                });
            }
        }
Example #15
0
 public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
 {
     if (UserHasRight)
     {
         if (this.Modes == 0)
         {
             Item.UpdateState(false, true);
         }
         int num  = 0;
         int num2 = 0;
         if (Item.ExtraData.Length > 0)
         {
             num = int.Parse(Item.ExtraData);
         }
         if (num <= 0)
         {
             num2 = 1;
         }
         else
         {
             if (num >= this.Modes)
             {
                 num2 = 0;
             }
             else
             {
                 num2 = num + 1;
             }
         }
         if (num2 == 0)
         {
             if (Item.GetRoom().method_97(Item.GetX, Item.GetY))
             {
                 return;
             }
             Dictionary <int, AffectedTile> dictionary = Item.GetRoom().GetAffectedTiles(Item.GetBaseItem().Length, Item.GetBaseItem().Width, Item.GetX, Item.GetY, Item.Rot);
             if (dictionary == null)
             {
                 dictionary = new Dictionary <int, AffectedTile>();
             }
             foreach (AffectedTile current in dictionary.Values)
             {
                 if (Item.GetRoom().method_97(current.X, current.Y))
                 {
                     return;
                 }
             }
         }
         Item.ExtraData = num2.ToString();
         Item.UpdateState();
         Item.GetRoom().GenerateMaps();
     }
 }
Example #16
0
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_1, bool bool_0)
 {
     if (bool_0)
     {
         if (this.Modes == 0)
         {
             RoomItem_0.UpdateState(false, true);
         }
         int num  = 0;
         int num2 = 0;
         if (RoomItem_0.ExtraData.Length > 0)
         {
             num = int.Parse(RoomItem_0.ExtraData);
         }
         if (num <= 0)
         {
             num2 = 1;
         }
         else
         {
             if (num >= this.Modes)
             {
                 num2 = 0;
             }
             else
             {
                 num2 = num + 1;
             }
         }
         if (num2 == 0)
         {
             if (RoomItem_0.GetRoom().method_97(RoomItem_0.GetX, RoomItem_0.Int32_1))
             {
                 return;
             }
             Dictionary <int, AffectedTile> dictionary = RoomItem_0.GetRoom().method_94(RoomItem_0.GetBaseItem().Length, RoomItem_0.GetBaseItem().Width, RoomItem_0.GetX, RoomItem_0.Int32_1, RoomItem_0.int_3);
             if (dictionary == null)
             {
                 dictionary = new Dictionary <int, AffectedTile>();
             }
             foreach (AffectedTile current in dictionary.Values)
             {
                 if (RoomItem_0.GetRoom().method_97(current.Int32_0, current.Int32_1))
                 {
                     return;
                 }
             }
         }
         RoomItem_0.ExtraData = num2.ToString();
         RoomItem_0.UpdateState();
         RoomItem_0.GetRoom().method_22();
     }
 }
Example #17
0
        public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            int Modes = Item.GetBaseItem().Modes - 1;

            if (!HasRights)
            {
                return;
            }
            else  if (Modes <= 0)
            {
                Item.UpdateState(false, true);
            }

            int CurrentMode = 0;
            int NewMode = 0;

            if(!int.TryParse(Item.ExtraData, out CurrentMode))
            {

            }

            if (CurrentMode <= 0)
            {
                NewMode = 1;
            }
            else if (CurrentMode >= Modes)
            {
                NewMode = 0;
            }
            else
            {
                NewMode = CurrentMode + 1;
            }

            if (NewMode == 0)
            {
                if (!Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))
                {
                    return;
                }
            }

            Item.ExtraData = NewMode.ToString();
            Item.UpdateState();
            Item.GetRoom().GetGameMap().updateMapForItem(Item);
            Item.GetRoom().GetWiredHandler().ExecuteWired(Rooms.Wired.WiredItemType.TriggerToggleFurni, Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id), Item);
            //Item.GetRoom().GenerateMaps();
        }
Example #18
0
        public void ExecuteAction(RoomItem theItem)
        {
            if (string.IsNullOrEmpty(theItem.ExtraData))
                return;


            int seconds = 0;

            try
            {
                seconds = int.Parse(theItem.ExtraData);
            }
            catch { }

            if (seconds > 0)
            {
                if (theItem.interactionCountHelper == 1)
                {
                    seconds--;
                    theItem.interactionCountHelper = 0;

                    theItem.ExtraData = seconds.ToString();
                    theItem.UpdateState();
                }
                else
                    theItem.interactionCountHelper++;

                theItem.UpdateCounter = 1;
            }
            else
            {
                theItem.UpdateCounter = 0;
                theItem.GetRoom().GetBanzai().BanzaiEnd();
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            Room @class = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null)
            {
                RoomItem class2 = @class.method_28(Event.PopWiredUInt());
                if (class2 != null && !(class2.GetBaseItem().InteractionType.ToLower() != "postit"))
                {
                    string text  = Event.PopFixedString();
                    string text2 = text.Split(new char[]
                    {
                        ' '
                    })[0];
                    string str = HabboIM.DoFilter(text.Substring(text2.Length + 1), true, true);
                    if (@class.method_26(Session) || text.StartsWith(class2.ExtraData))
                    {
                        string text3 = text2;
                        if (text3 != null && (text3 == "FFFF33" || text3 == "FF9CFF" || text3 == "9CCEFF" || text3 == "9CFF9C"))
                        {
                            class2.ExtraData = text2 + " " + str;
                            class2.UpdateState(true, true);
                        }
                    }
                }
            }
        }
		public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
		{
			if (!HasRights)
			{
				return;
			}
			int num = 0;
			int.TryParse(Item.ExtraData, out num);
			checked
			{
				if (Request == 1)
				{
					if (Item.pendingReset && num > 0)
					{
						num = 0;
						Item.pendingReset = false;
					}
					else
					{
						num += 60;
						Item.UpdateNeeded = false;
					}
				}
				else
				{
					if (Request == 2)
					{
						Item.UpdateNeeded = !Item.UpdateNeeded;
						Item.pendingReset = true;
					}
				}
				Item.ExtraData = num.ToString();
				Item.UpdateState();
			}
		}
Example #21
0
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null)
            {
                uint     itemId = message.PopWiredUInt();
                RoomItem item   = room.RoomItemManager.TryGetRoomItem(itemId);
                if (item != null)
                {
                    string   data         = message.PopFixedString();
                    string[] dataSpllited = data.Split(new char[] { ' ' }, 2);

                    string message_ = TextUtilies.FilterString(dataSpllited[1], false, true);
                    if (room.GaveRoomRights(session) || data.StartsWith(item.ExtraData))
                    {
                        string color = dataSpllited[0];
                        if (color == "FFFF33" || color == "FF9CFF" || color == "9CCEFF" || color == "9CFF9C")
                        {
                            item.ExtraData = color + " " + message_;
                            item.UpdateState(true, true);
                        }
                    }
                }
            }
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            Room room = session.GetHabbo().GetRoomSession().GetRoom();

            if (room != null && room.HaveOwnerRights(session))
            {
                RoomItem dimmer = room.RoomItemManager.GetRoomDimmer();
                if (dimmer != null)
                {
                    int    currentPreset  = message.PopWiredInt32();
                    bool   backgroundOnly = message.PopWiredInt32() == 2;
                    string colorCode      = message.PopFixedString();
                    int    colorIntensity = message.PopWiredInt32();
                    bool   applyToRoom    = message.PopWiredBoolean();
                    dimmer.MoodlightData.SetCurrentPresetSettings(currentPreset, backgroundOnly, colorCode, colorIntensity);

                    if (applyToRoom)
                    {
                        dimmer.MoodlightData.Enable();
                        dimmer.MoodlightData.CurrentPreset = currentPreset;
                        dimmer.ExtraData = dimmer.MoodlightData.GenerateExtraData();
                        dimmer.UpdateState(true, true);
                    }
                }
            }
        }
Example #23
0
        private void PickUpPowerUp(RoomItem item, RoomUser user)
        {
            switch (item.freezePowerUp)
            {
            case FreezePowerUp.BlueArrow:
            case FreezePowerUp.GreenArrow:
            case FreezePowerUp.OrangeSnowball:
                user.banzaiPowerUp = item.freezePowerUp;
                break;

            case FreezePowerUp.Shield:
                Freeze.ActivateShield(user);
                break;

            case FreezePowerUp.Heart:
                if (user.FreezeLives < 5)
                {
                    checked { ++user.FreezeLives; }
                    this.room.GetGameManager().AddPointToTeam(user.team, 10, user);
                }
                ServerMessage serverMessage = new ServerMessage();
                serverMessage.Init(Outgoing.UpdateFreezeLivesMessageComposer);
                serverMessage.AppendInt32(user.InternalRoomID);
                serverMessage.AppendInt32(user.FreezeLives);
                user.GetClient().SendMessage(serverMessage);
                break;
            }
            item.freezePowerUp = FreezePowerUp.None;
            item.ExtraData     = "1" + item.ExtraData;
            item.UpdateState(false, true);
        }
Example #24
0
        void IFurniTrigger.OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 && Session != null)
            {
                RoomUser user = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (user == null)
                    return;

                if (!Gamemap.TilesTouching(user.X, user.Y, Item.GetX, Item.GetY))
                {
                    user.MoveTo(Item.SquareInFront);
                    return;
                }

                Item.InteractingUser = Session.GetHabbo().Id;

                //user.ClearMovement(true);
                user.SetRot(Rotation.Calculate(user.X, user.Y, Item.GetX, Item.GetY), false);

                Item.ReqUpdate(2, true);

                Item.ExtraData = "1";
                Item.UpdateState(false, true);
            }
        }
Example #25
0
        public override void OnTrigger(GameClients.GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            if (!bool_0)
            {
                return;
            }
            int num = 0;

            int.TryParse(RoomItem_0.ExtraData, out num);

            {
                switch (int_0)
                {
                case 1:
                    num++;
                    break;

                case 2:
                    num--;
                    break;

                case 3:
                    num = 0;
                    break;
                }
                RoomItem_0.ExtraData = num < 0 ? "0" : num.ToString();
                RoomItem_0.UpdateState(false, true);
            }
        }
Example #26
0
File: Freeze.cs Project: sgf/Yupi
        private void PickUpPowerUp(RoomItem item, RoomUser user)
        {
            switch (item.FreezePowerUp)
            {
            case FreezePowerUp.BlueArrow:
            case FreezePowerUp.GreenArrow:
            case FreezePowerUp.OrangeSnowball:
                user.BanzaiPowerUp = item.FreezePowerUp;
                break;

            case FreezePowerUp.Shield:
                ActivateShield(user);
                break;

            case FreezePowerUp.Heart:
                if (user.FreezeLives < 5)
                {
                    {
                        ++user.FreezeLives;
                    }
                    _room.GetGameManager().AddPointToTeam(user.Team, 10, user);
                }
                ServerMessage serverMessage = new ServerMessage();
                serverMessage.Init(LibraryParser.OutgoingRequest("UpdateFreezeLivesMessageComposer"));
                serverMessage.AppendInteger(user.InternalRoomId);
                serverMessage.AppendInteger(user.FreezeLives);
                user.GetClient().SendMessage(serverMessage);
                break;
            }
            item.FreezePowerUp = FreezePowerUp.None;
            item.ExtraData     = $"1{item.ExtraData}";
            item.UpdateState(false, true);
        }
        public override void OnTrigger(GameClients.GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            if (!bool_0)
            {
                return;
            }
            int num = 0;
            int.TryParse(RoomItem_0.ExtraData, out num);

            {
                switch (int_0)
                {
                    case 1:
                        num++;
                        break;

                    case 2:
                        num--;
                        break;

                    case 3:
                        num = 0;
                        break;
                }
                RoomItem_0.ExtraData = num < 0 ? "0" : num.ToString();
                RoomItem_0.UpdateState(false, true);
            }
        }
Example #28
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "1" || !item.GetBaseItem().VendingIds.Any() || item.InteractingUser != 0u ||
                session == null)
            {
                return;
            }

            RoomUser roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }

            if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y))
            {
                roomUserByHabbo.MoveTo(item.SquareInFront);
                return;
            }

            item.InteractingUser    = session.GetHabbo().Id;
            roomUserByHabbo.CanWalk = false;
            roomUserByHabbo.ClearMovement();

            roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y));

            item.ReqUpdate(2, true);
            item.ExtraData = "1";
            item.UpdateState(false, true);
        }
Example #29
0
        void IFurniTrigger.OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (!UserHasRights)
            {
                return;
            }

            int oldValue = 0;

            if (!string.IsNullOrEmpty(Item.ExtraData))
            {
                try
                {
                    oldValue = int.Parse(Item.ExtraData);
                }
                catch { }
            }


            if (Request == 1)
            {
                oldValue++;
            }
            else if (Request == 2)
            {
                oldValue--;
            }
            else if (Request == 3)
            {
                oldValue = 0;
            }

            Item.ExtraData = oldValue.ToString();
            Item.UpdateState(false, true);
        }
		public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
		{
			if (!HasRights)
			{
				return;
			}
			int num = 0;
			int.TryParse(Item.ExtraData, out num);
			checked
			{
				if (Request == 1)
				{
					num++;
				}
				else
				{
					if (Request == 2)
					{
						num--;
					}
					else
					{
						if (Request == 3)
						{
							num = 0;
						}
					}
				}
				Item.ExtraData = num.ToString();
				Item.UpdateState(false, true);
			}
		}
Example #31
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
                return;

            switch (request)
            {
                case -1: // Open interface

                    break;

                default:
                    if (item.ExtraData == "1")
                    {
                        item.GetRoom().GetRoomMusicController().Stop();
                        item.ExtraData = "0";
                    }
                    else
                    {
                        item.GetRoom().GetRoomMusicController().Start();
                        item.ExtraData = "1";
                    }

                    item.UpdateState();

                    item.GetRoom().GetRoomMusicController().BroadcastCurrentSongData(item.GetRoom());
                    break;
            }
        }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "1" || !item.GetBaseItem().VendingIds.Any() || item.InteractingUser != 0u ||
                session == null)
                return;

            var roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUserByHabbo == null)
                return;

            if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y))
            {
                roomUserByHabbo.MoveTo(item.SquareInFront);
                return;
            }

            item.InteractingUser = session.GetHabbo().Id;
            roomUserByHabbo.CanWalk = false;
            roomUserByHabbo.ClearMovement();

            roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y));

            item.ReqUpdate(2, true);
            item.ExtraData = "1";
            item.UpdateState(false, true);
        }
Example #33
0
        /// <summary>
        ///     Called when [teleport room user enter].
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="item">The item.</param>
        internal void OnTeleportRoomUserEnter(RoomUser user, RoomItem item)
        {
            List <RoomItem> items = _banzaiTeleports.Inner.Values.Where(p => p.Id != item.Id).ToList();

            if (!items.Any())
            {
                return;
            }

            int countId     = Yupi.GetRandomNumber(0, items.Count());
            int countAmount = 0;

            foreach (RoomItem current in items.Where(current => current != null))
            {
                if (countAmount != countId)
                {
                    countAmount++;
                    continue;
                }
                current.ExtraData    = "1";
                current.UpdateNeeded = true;
                _room.GetGameMap().TeleportToItem(user, current);
                item.ExtraData    = "1";
                item.UpdateNeeded = true;
                current.UpdateState();
                item.UpdateState();

                break;
            }
        }
        public void Action(RoomItem Item, Task Task, string ExtraData)
        {
            if (ExtraData == "1")
            {
                Task.Wait(7000);
                Item.FireWorkCount--;

                using (DatabaseClient dbClient = GoldTree.GetDatabase().GetClient())
                {
                    dbClient.AddParamWithValue("itemid", Item.uint_0);
                    dbClient.ExecuteQuery("UPDATE items_firework SET fw_count = fw_count - 1 WHERE item_id = @itemid LIMIT 1");
                }
            }

            if (Item.FireWorkCount == 0)
            {
                ExtraData = "0";
            }

            Item.ExtraData = ExtraData;
            Item.UpdateState(true, true);

            Task.Wait();
            Task.Dispose();
        }
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            RoomUser User = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (Item.GetRoom().TilesTouching(Item.X, Item.Y, User.X, User.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                    }
                    else
                    {
                        Item.ExtraData = "-1";
                        Item.UpdateState(false, true);
                        Item.ReqUpdate(4);
                    }
                }
            }
            else
            {
                User.MoveTo(Item.SquareInFront);
            }
        }
Example #36
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
            {
                return;
            }

            int num;

            int.TryParse(item.ExtraData, out num);

            switch (request)
            {
            case 1:
                if (item.PendingReset && num > 0)
                {
                    num = 0;
                    item.PendingReset = false;
                }
                else
                {
                    num += 60;
                    item.UpdateNeeded = false;
                }
                break;

            case 2:
                item.UpdateNeeded = !item.UpdateNeeded;
                item.PendingReset = true;
                break;
            }

            item.ExtraData = num.ToString();
            item.UpdateState();
        }
Example #37
0
        public void Update(Room Instance)
        {
            if (mIsPlaying && (mSong == null || (TimePlaying >= (mSong.SongData.LengthSeconds + 1))))
            {
                if (mPlaylist.Count == 0)
                {
                    Stop();

                    mRoomOutputItem.data = new StringData("0");
                    mRoomOutputItem.UpdateState();
                }
                else
                {
                    SetNextSong();
                }

                mBroadcastNeeded = true;
            }

            if (mBroadcastNeeded)
            {
                BroadcastCurrentSongData(Instance);
                mBroadcastNeeded = false;
            }
        }
Example #38
0
        public void ResetTeamScore(RoomItem Item)
        {
            {
                if (IsScoreboard(Item.GetBaseItem().InteractionType))
                {
                    Item.ExtraData = "0";
                    Item.UpdateState();

                    int Team = 0;

                    switch (Item.GetBaseItem().InteractionType)
                    {
                    case InteractionType.footballcounterred:
                        Team = 1;
                        break;

                    case InteractionType.footballcountergreen:
                        Team = 2;
                        break;

                    case InteractionType.footballcounterblue:
                        Team = 3;
                        break;

                    case InteractionType.footballcounteryellow:
                        Team = 4;
                        break;
                    }

                    teamPoints[Team] = 0;
                }
            }
        }
Example #39
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
                return;

            int num;

            int.TryParse(item.ExtraData, out num);

            switch (request)
            {
                case 1:
                    num++;
                    break;

                case 2:
                    num--;
                    break;

                case 3:
                    num = 0;
                    break;
            }

            item.ExtraData = num.ToString();
            item.UpdateState(false, true);
        }
Example #40
0
        public override void OnRemove(GameClient Session, RoomItem Item)
        {
            RoomMusicController roomMusicController = GoldTree.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId).GetRoomMusicController();

            roomMusicController.UnLinkRoomOutputItem();
            Item.UpdateState(true, true);
        }
Example #41
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && @class.CheckRights(Session))
            {
                uint   num  = Event.PopWiredUInt();
                string a    = Event.PopFixedString().ToUpper();
                string text = PhoenixEnvironment.FilterInjectionChars(Event.PopFixedString());
                text  = text.Replace("hd-99999-99999", "");
                text += ".";
                RoomItem class2 = @class.Hashtable_0[num] as RoomItem;
                if (class2.ExtraData.Contains(','))
                {
                    class2.Extra1 = class2.ExtraData.Split(new char[]
                    {
                        ','
                    })[0];
                    class2.Extra2 = class2.ExtraData.Split(new char[]
                    {
                        ','
                    })[1];
                }
                if (a == "M")
                {
                    class2.Extra1 = text;
                }
                else
                {
                    class2.Extra2 = text;
                }
                class2.ExtraData = class2.Extra1 + "," + class2.Extra2;
                class2.UpdateState(true, true);
            }
        }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
                return;

            int num;
            int.TryParse(item.ExtraData, out num);

            switch (request)
            {
                case 1:
                    if (item.PendingReset && num > 0)
                    {
                        num = 0;
                        item.PendingReset = false;
                    }
                    else
                    {
                        num += 60;
                        item.UpdateNeeded = false;
                    }
                    break;

                case 2:
                    item.UpdateNeeded = !item.UpdateNeeded;
                    item.PendingReset = true;
                    break;
            }

            item.ExtraData = num.ToString();
            item.UpdateState();
        }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            RoomUser roomUser = null;

            if (session != null)
                roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUser == null)
                return;

            if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y))
            {
                var num = item.GetBaseItem().Modes - 1;
                int num2, num3;
                int.TryParse(item.ExtraData, out num2);

                if (num2 <= 0)
                    num3 = 1;
                else
                {
                    if (num2 >= num)
                        num3 = 0;
                    else
                        num3 = num2 + 1;
                }

                item.ExtraData = num3.ToString();
                item.UpdateState();
                item.GetRoom().GetWiredHandler().ExecuteWired(Interaction.TriggerStateChanged, roomUser, item);

                return;
            }

            roomUser.MoveTo(item.SquareInFront);
        }
 public void OnPlace(GameClient Session, RoomItem Item)
 {
     if (Item.team == Team.none)
         return;
     Item.ExtraData = Item.GetRoom().GetGameManager().Points[(int)Item.team].ToString();
     Item.UpdateState(false, true);
 }
        public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            if (!HasRights)
            {
                return;
            }

            int OldValue = 0;

            if (!int.TryParse(Item.ExtraData, out OldValue))
            {

            }

            if (Request == 1)
            {
                OldValue++;
            }
            else if (Request == 2)
            {
                OldValue--;
            }
            else if (Request == 3)
            {
                OldValue = 0;
            }

            Item.ExtraData = OldValue.ToString();
            Item.UpdateState(false, true);
        }
Example #46
0
        /// <summary>
        ///     Updates the specified instance.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Update(Room instance)
        {
            if (IsPlaying && (CurrentSong == null || TimePlaying >= CurrentSong.SongData.LengthSeconds + 1.0))
            {
                lock (_mPlaylist)
                {
                    if (!_mPlaylist.Any())
                    {
                        Stop();
                        _mRoomOutputItem.ExtraData = "0";
                        _mRoomOutputItem.UpdateState();
                    }
                    else
                    {
                        SetNextSong();
                    }
                }

                _mBroadcastNeeded = true;
            }

            if (!_mBroadcastNeeded)
            {
                return;
            }

            BroadcastCurrentSongData(instance);
            _mBroadcastNeeded = false;
        }
Example #47
0
        public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            if (!HasRights)
            {
                return;
            }
            int num = 0;

            int.TryParse(Item.ExtraData, out num);
            checked
            {
                if (Request == 1)
                {
                    num++;
                }
                else
                {
                    if (Request == 2)
                    {
                        num--;
                    }
                    else
                    {
                        if (Request == 3)
                        {
                            num = 0;
                        }
                    }
                }
                Item.ExtraData = num.ToString();
                Item.UpdateState(false, true);
            }
        }
 public void Handle(GameClient Session, ClientMessage Event)
 {
     try
     {
         Room @class = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         if (@class != null && @class.CheckRights(Session, true) && @class.MoodlightData != null)
         {
             RoomItem class2 = null;
             foreach (RoomItem class3 in @class.Hashtable_1.Values)
             {
                 if (class3.GetBaseItem().InteractionType.ToLower() == "dimmer")
                 {
                     class2 = class3;
                     break;
                 }
             }
             if (class2 != null)
             {
                 if (@class.MoodlightData.Enabled)
                 {
                     @class.MoodlightData.Deactivate();
                 }
                 else
                 {
                     @class.MoodlightData.Activate();
                 }
                 class2.ExtraData = @class.MoodlightData.GenerateExtraData();
                 class2.UpdateState();
             }
         }
     }
     catch
     {
     }
 }
Example #49
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
            {
                return;
            }
            int num = 0;

            int.TryParse(item.ExtraData, out num);

            {
                switch (request)
                {
                case 1:
                    num++;
                    break;

                case 2:
                    num--;
                    break;

                case 3:
                    num = 0;
                    break;
                }
                item.ExtraData = num.ToString();
                item.UpdateState(false, true);
            }
        }
Example #50
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
            {
                return;
            }
            int result;
            if (!int.TryParse(item.ExtraData, out result))
            {
                item.ExtraData = "0";
                result = 0;
            }
            if (request == 0 && result == 0)
            {
                result = 30;
            }
            else
            {
                switch (request)
                {
                    case 2:
                        if (item.GetRoom().GetBanzai().IsBanzaiActive && item.PendingReset && result > 0)
                        {
                            result = 0;
                            item.PendingReset = false;
                        }
                        else
                        {
                            result = result >= 30 ? (result != 30 ? (result != 60 ? (result != 120 ? (result != 180 ? (result != 300 ? 0 : 600) : 300) : 180) : 120) : 60) : 30;
                            item.UpdateNeeded = false;
                        }
                        break;

                    case 0:
                    case 1:
                        if (!item.GetRoom().GetBanzai().IsBanzaiActive)
                        {
                            item.UpdateNeeded = !item.UpdateNeeded;
                            if (item.UpdateNeeded)
                            {
                                item.GetRoom().GetBanzai().BanzaiStart();
                            }
                            item.PendingReset = true;
                        }
                        else
                        {
                            item.UpdateNeeded = !item.UpdateNeeded;
                            if (item.UpdateNeeded)
                            {
                                item.GetRoom().GetBanzai().BanzaiEnd();
                            }
                            item.PendingReset = true;
                        }
                        break;
                }
            }
            item.ExtraData = Convert.ToString(result);
            item.UpdateState();
        }
        public override void OnWiredTrigger(RoomItem item)
        {
            if (item.OnCannonActing)
                return;

            item.OnCannonActing = true;

            var coords = new HashSet<Point>();

            var itemX = item.X;
            var itemY = item.Y;

            switch (item.Rot)
            {
                case 0: // TESTEADO OK
                    var startingcoordX = itemX - 1;

                    for (var i = startingcoordX; i > 0; i--)
                        coords.Add(new Point(i, itemY));

                    break;

                case 4: // TESTEADO OK
                    var startingcoordX2 = itemX + 2;
                    var mapsizeX = item.GetRoom().GetGameMap().Model.MapSizeX;

                    for (var i = startingcoordX2; i < mapsizeX; i++)
                        coords.Add(new Point(i, itemY));

                    break;

                case 2: // TESTEADO OK
                    var startingcoordY = itemY - 1;

                    for (var i = startingcoordY; i > 0; i--)
                        coords.Add(new Point(itemX, i));

                    break;

                case 6: // OK!
                    var startingcoordY2 = itemY + 2;
                    var mapsizeY = item.GetRoom().GetGameMap().Model.MapSizeY;

                    for (var i = startingcoordY2; i < mapsizeY; i++)
                        coords.Add(new Point(itemX, i));

                    break;
            }

            item.ExtraData = (item.ExtraData == "0") ? "1" : "0";
            item.UpdateState();

            _mItem = item;
            _mCoords = coords;

            var explodeTimer = new Timer(1350);
            explodeTimer.Elapsed += ExplodeAndKick;
            explodeTimer.Enabled = true;
        }
Example #52
0
        public override void OnPlace(GameClient session, RoomItem item)
        {
            if (item.Team == Team.None)
                return;

            item.ExtraData = item.GetRoom().GetGameManager().Points[(int) item.Team].ToString();
            item.UpdateState(false, true);
        }
Example #53
0
        private static void UpdateTeamPoints(int points, Team team, RoomItem Item)
        {
            if (team == Team.none)
                return;

            Item.GetRoom().GetGameManager().Points[(int)Item.team] = points;
            Item.UpdateState();
        }
 public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
 {
     if (!HasRights)
         return;
     Item.GetRoom().GetGameManager().Points[(int)Item.team] = 0;
     Item.ExtraData = "0";
     Item.UpdateState();
 }
Example #55
0
 public void ExecuteAction(RoomItem theItem)
 {
     if (theItem.ExtraData == "1")
     {
         theItem.ExtraData = "0";
         theItem.UpdateState(false, true);
     }
 }
Example #56
0
		public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
		{
			checked
			{
				int num = Item.GetBaseItem().Modes - 1;
				if (!HasRights)
				{
					return;
				}
				if (num <= 0)
				{
					Item.UpdateState(false, true);
				}
				int num2 = 0;
				int.TryParse(Item.ExtraData, out num2);
				int num3;
				if (num2 <= 0)
				{
					num3 = 1;
				}
				else
				{
					if (num2 >= num)
					{
						num3 = 0;
					}
					else
					{
						num3 = num2 + 1;
					}
				}
				if (num3 == 0 && !Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))
				{
					return;
				}
				Item.ExtraData = num3.ToString();
				Item.UpdateState();
				Item.GetRoom().GetGameMap().updateMapForItem(Item);
				Item.GetRoom().GetWiredHandler().ExecuteWired(WiredItemType.TriggerToggleFurni, new object[]
				{
					Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id),
					Item
				});
			}
		}
Example #57
0
 public void OnWiredTrigger(RoomItem Item)
 {
     if (Item.ExtraData != "0")
     {
         Item.ExtraData = "0";
         Item.UpdateState(false, true);
         Item.ReqUpdate(10, true);
     }
 }
        public override void OnWiredTrigger(RoomItem item)
        {
            if (item.ExtraData == "-1")
                return;

            item.ExtraData = "-1";
            item.UpdateState(false, true);
            item.ReqUpdate(3, true);
        }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "-1")
                return;

            item.ExtraData = "-1";
            item.UpdateState(false, true);
            item.ReqUpdate(3, true);
        }
Example #60
0
        public override void OnWiredTrigger(RoomItem item)
        {
            int num;
            int.TryParse(item.ExtraData, out num);

            num++;
            item.ExtraData = num.ToString();
            item.UpdateState(false, true);
        }