public override void OnPlace(GameClient Session, RoomItem RoomItem_0)
 {
     RoomItem_0.ExtraData = "0";
     if (RoomItem_0.InteractingUser != 0u)
     {
         RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser);
         if (@class != null)
         {
             @class.method_3(true);
             @class.bool_1 = false;
             @class.bool_0 = true;
         }
         RoomItem_0.InteractingUser = 0u;
     }
     if (RoomItem_0.uint_4 != 0u)
     {
         RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.uint_4);
         if (@class != null)
         {
             @class.method_3(true);
             @class.bool_1 = false;
             @class.bool_0 = true;
         }
         RoomItem_0.uint_4 = 0u;
     }
 }
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);
			if (@class != null && (RoomItem_0.GStruct1_2.x < RoomItem_0.GetRoom().RoomModel.int_4 && RoomItem_0.GStruct1_2.y < RoomItem_0.GetRoom().RoomModel.int_5))
			{
                if (ThreeDCoord.IsNot(@class.Position, RoomItem_0.GStruct1_1) && @class.bool_0)
				{
					@class.MoveTo(RoomItem_0.GStruct1_1);
				}
				else
				{
                    if (RoomItem_0.GetRoom().method_30(RoomItem_0.GStruct1_2.x, RoomItem_0.GStruct1_2.y, RoomItem_0.Double_0, true, false) && RoomItem_0.InteractingUser == 0)
					{
                        RoomItem_0.InteractingUser = @class.UId;
						@class.bool_0 = false;
						if (@class.bool_6 && (@class.int_10 != RoomItem_0.GStruct1_1.x || @class.int_11 != RoomItem_0.GStruct1_1.y))
						{
							@class.method_3(true);
						}
						@class.bool_1 = true;
						@class.MoveTo(RoomItem_0.GStruct1_0);
						RoomItem_0.ReqUpdate(3);
					}
				}
			}
		}
示例#3
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();
			}
		}
 public override void OnRemove(GameClient Session, RoomItem RoomItem_0)
 {
     for (int i = 0; i < RoomItem_0.GetRoom().RoomUsers.Length; i++)
     {
         RoomUser user = RoomItem_0.GetRoom().RoomUsers[i];
         if (user != null)
         {
             if (user.onPrivateTile && user.privateTileID == RoomItem_0.uint_0)
             {
                 user.privateTileID = 0;
                 user.onPrivateTile = false;
             }
         }
     }
 }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);
     if (@class != null && @class.class34_1 == null)
     {
         if (ThreeDCoord.Equals(@class.Position, RoomItem_0.GStruct1_0) || ThreeDCoord.Equals(@class.Position, RoomItem_0.GStruct1_1))
         {
             if (RoomItem_0.InteractingUser == 0u)
             {
                 @class.int_19 = -1;
                 RoomItem_0.InteractingUser = @class.GetClient().GetHabbo().Id;
                 @class.RoomItem_0 = RoomItem_0;
             }
         }
         else
         {
             if (@class.bool_0)
             {
                 try
                 {
                     @class.MoveTo(RoomItem_0.GStruct1_1);
                 }
                 catch
                 {
                 }
             }
         }
     }
 }
		public override void OnPlace(GameClient Session, RoomItem RoomItem_0)
		{
			RoomItem_0.ExtraData = "0";
			if (RoomItem_0.InteractingUser > 0u)
			{
				RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser);
				if (@class != null)
				{
					@class.bool_0 = true;
				}
			}
		}
 public override void OnRemove(GameClient Session, RoomItem RoomItem_0)
 {
     RoomItem_0.ExtraData = "0";
     if (RoomItem_0.InteractingUser != 0u)
     {
         RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.InteractingUser);
         if (@class != null)
         {
             @class.method_6();
         }
         RoomItem_0.InteractingUser = 0u;
     }
     if (RoomItem_0.uint_4 != 0u)
     {
         RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(RoomItem_0.uint_4);
         if (@class != null)
         {
             @class.method_6();
         }
         RoomItem_0.uint_4 = 0u;
     }
 }
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (RoomItem_0.ExtraData != "1" && RoomItem_0.GetBaseItem().VendingIds.Count >= 1 && RoomItem_0.InteractingUser == 0u)
			{
				if (Session != null)
				{
					RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);
					if (@class == null)
					{
						return;
					}
                    if (!RoomItem_0.GetRoom().method_99(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.Int32_1))
					{
						if ([email protected]_0)
						{
							return;
						}
						try
						{
							@class.MoveTo(RoomItem_0.GStruct1_1);
							return;
						}
						catch
						{
							return;
						}
					}
					RoomItem_0.InteractingUser = Session.GetHabbo().Id;
					@class.bool_0 = false;
					@class.method_3(true);
                    @class.method_9(Rotation.GetRotation(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.Int32_1));
				}
				RoomItem_0.ReqUpdate(2);
				RoomItem_0.ExtraData = "1";
				RoomItem_0.UpdateState(false, true);
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (RoomItem_0.GetBaseItem().Height_Adjustable.Count > 1)
			{
				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);
				RoomItem_0.GetRoom().method_22();
				RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(RoomItem_0.GetX, RoomItem_0.Int32_1), true, true);
				foreach (AffectedTile current in dictionary.Values)
				{
					RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(current.Int32_0, current.Int32_1), true, true);
				}
			}
			if (Session != null)
			{
				RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
				RoomItem_0.GetRoom().method_10(RoomUser_, RoomItem_0);
			}
		}
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            RoomUser User = Item.GetRoom().GetRoomUserByHabbo((uint)Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (Request == 0 && Item.FireWorkCount > 0 && Item.ExtraData == "1")
            {
                Item.ExtraData = "2";
                Item.UpdateState(false, true);

                if (Item.FireWorkCount > 0)
                {
                    Task T = null;
                    T = new Task(delegate() { Action(Item, T, "1"); });
                    T.Start();
                }
                else
                {
                    Task T = null;
                    T = new Task(delegate() { Action(Item, T, "0"); });
                    T.Start();
                }
            }
            else if (Request == 1 && Session.GetHabbo().ActivityPoints >= 20)
            {
              /*  ServerMessage PixelMessage = new ServerMessage(629);
                PixelMessage.AppendUInt(Item.uint_0);
                PixelMessage.AppendInt32(Item.FireWorkCount);
                PixelMessage.AppendBoolean(false);
                PixelMessage.AppendInt32(Pixels); // pixels :D
                PixelMessage.AppendBoolean(false);
                PixelMessage.AppendInt32(Fireworks); // 10 fireworks :D
                Session.SendMessage(PixelMessage);
                */
                Item.FireWorkCount += Fireworks;

                Session.GetHabbo().FireworkPixelLoadedCount += Pixels;
                Session.GetHabbo().ActivityPoints -= 20;
                Session.GetHabbo().UpdateActivityPoints(true);

                using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                {
                    dbClient.AddParamWithValue("itemid", Item.uint_0);
                    dbClient.AddParamWithValue("sessionid", Session.GetHabbo().Id);
                    dbClient.ExecuteQuery("UPDATE items_firework SET fw_count = fw_count + '" + Fireworks + "' WHERE item_id = @itemid LIMIT 1");
                    dbClient.ExecuteQuery("UPDATE user_stats SET fireworks = fireworks + '" + Pixels + "' WHERE id = @sessionid LIMIT 1");
                }

                ServerMessage Message2 = new ServerMessage(Outgoing.Whisp);
						Message2.AppendInt32(Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id).VirtualId);
                        Message2.AppendStringWithBreak("Feuerwerk für 20 Pixel aufgeladen. Du hast "+ Session.GetHabbo().FireworkPixelLoadedCount + " Schüsse übrig.");
                        Message2.AppendInt32(0);
                        Message2.AppendInt32(0);
                        Message2.AppendInt32(-1);
						Session.SendMessage(Message2);

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

                Session.GetHabbo().CheckFireworkAchievements();
            }
            else if (Request == 2)
            {
               
            }
        }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (this.Modes != 0 && (bool_0 || RoomItem_0.GetBaseItem().InteractionType.ToLower() == "switch"))
     {
         if (RoomItem_0.GetBaseItem().InteractionType.ToLower() == "switch" && Session != null)
         {
             RoomUser @class = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (@class.Position.x - RoomItem_0.GStruct1_1.x > 1 || @class.Position.y - RoomItem_0.GStruct1_1.y > 1)
             {
                 if (@class.bool_0)
                 {
                     @class.MoveTo(RoomItem_0.GStruct1_0);
                     return;
                 }
                 return;
             }
         }
         int num = 0;
         if (RoomItem_0.ExtraData.Length > 0)
         {
             num = int.Parse(RoomItem_0.ExtraData);
         }
         int num2;
         if (num <= 0)
         {
             num2 = 1;
         }
         else
         {
             if (num >= this.Modes)
             {
                 num2 = 0;
             }
             else
             {
                 num2 = num + 1;
             }
         }
         double double_ = RoomItem_0.Double_1;
         RoomItem_0.ExtraData = num2.ToString();
         RoomItem_0.UpdateState();
         if (double_ != RoomItem_0.Double_1)
         {
             Dictionary<int, AffectedTile> dictionary = RoomItem_0.Dictionary_0;
             if (dictionary == null)
             {
                 dictionary = new Dictionary<int, AffectedTile>();
             }
             RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(RoomItem_0.GetX, RoomItem_0.Int32_1), true, false);
             foreach (AffectedTile current in dictionary.Values)
             {
                 RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(current.Int32_0, current.Int32_1), true, false);
             }
         }
         if (Session != null)
         {
             RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
             RoomItem_0.GetRoom().method_10(RoomUser_, RoomItem_0);
         }
     }
 }
示例#12
0
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_1, bool bool_0)
		{
            if (this.Modes != 0 && (bool_0 || RoomItem_0.GetBaseItem().InteractionType.ToLower() == "switch"))
			{
				if (RoomItem_0.GetBaseItem().InteractionType.ToLower() == "switch" && Session != null)
				{
					RoomUser @class = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
					if (@class.Position.x - RoomItem_0.GStruct1_1.x > 1 || @class.Position.y - RoomItem_0.GStruct1_1.y > 1)
					{
						if (@class.bool_0)
						{
							@class.MoveTo(RoomItem_0.GStruct1_0);
							return;
						}
						return;
					}
				}
				int num = 0;
				if (RoomItem_0.ExtraData.Length > 0)
				{
					num = int.Parse(RoomItem_0.ExtraData);
				}
				int num2;
				if (num <= 0)
				{
					num2 = 1;
				}
				else
				{
					if (num >= this.Modes)
					{
						num2 = 0;
					}
					else
					{
						num2 = num + 1;
					}
				}
                //if (RoomItem_0.GetBaseItem().Name.Contains("jukebox"))
                //{
                //    ServerMessage Message = new ServerMessage(327u);
                //    if (num2 == 1)
                //    {
                //        Message.AppendInt32(7);
                //        Message.AppendInt32(6);
                //        Message.AppendInt32(7);
                //        Message.AppendInt32(0);
                //        Message.AppendInt32(0);
                //        RoomItem_0.int_0 = 1;
                //        RoomItem_0.bool_0 = true;
                //        RoomItem_0.bool_1 = true;
                //    }
                //    else
                //    {
                //        Message.AppendInt32(-1);
                //        Message.AppendInt32(-1);
                //        Message.AppendInt32(-1);
                //        Message.AppendInt32(-1);
                //        Message.AppendInt32(0);
                //        RoomItem_0.int_0 = 0;
                //        RoomItem_0.bool_0 = false;
                //        RoomItem_0.method_8().int_13 = 0;
                //    }
                //    RoomItem_0.method_8().SendMessage(Message, null);
                //}
				double double_ = RoomItem_0.Double_1;
				RoomItem_0.ExtraData = num2.ToString();
				RoomItem_0.UpdateState();
				if (double_ != RoomItem_0.Double_1)
				{
					Dictionary<int, AffectedTile> dictionary = RoomItem_0.Dictionary_0;
					if (dictionary == null)
					{
						dictionary = new Dictionary<int, AffectedTile>();
					}
                    RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(RoomItem_0.GetX, RoomItem_0.Int32_1), true, false);
					foreach (AffectedTile current in dictionary.Values)
					{
						RoomItem_0.GetRoom().method_87(RoomItem_0.GetRoom().method_43(current.Int32_0, current.Int32_1), true, false);
					}
				}
				if (Session != null)
				{
					RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
					RoomItem_0.GetRoom().method_10(RoomUser_, RoomItem_0);
				}
			}
		}
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			Room @class = RoomItem_0.GetRoom();
			RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
			if (class2 != null && @class != null)
			{
				ThreeDCoord gstruct1_ = new ThreeDCoord(RoomItem_0.GetX + 1, RoomItem_0.Int32_1);
				ThreeDCoord gstruct1_2 = new ThreeDCoord(RoomItem_0.GetX - 1, RoomItem_0.Int32_1);
				ThreeDCoord gstruct1_3 = new ThreeDCoord(RoomItem_0.GetX, RoomItem_0.Int32_1 + 1);
				ThreeDCoord gstruct1_4 = new ThreeDCoord(RoomItem_0.GetX, RoomItem_0.Int32_1 - 1);
                if (ThreeDCoord.IsNot(class2.Position, gstruct1_) && ThreeDCoord.IsNot(class2.Position, gstruct1_2) && ThreeDCoord.IsNot(class2.Position, gstruct1_3) && ThreeDCoord.IsNot(class2.Position, gstruct1_4))
				{
					if (class2.bool_0)
					{
						class2.MoveTo(RoomItem_0.GStruct1_0);
					}
				}
				else
				{
					int num = RoomItem_0.GetX;
					int num2 = RoomItem_0.Int32_1;
                    if (ThreeDCoord.Equals(class2.Position, gstruct1_))
					{
						num = RoomItem_0.GetX - 1;
						num2 = RoomItem_0.Int32_1;
					}
					else
					{
                        if (ThreeDCoord.Equals(class2.Position, gstruct1_2))
						{
							num = RoomItem_0.GetX + 1;
							num2 = RoomItem_0.Int32_1;
						}
						else
						{
                            if (ThreeDCoord.Equals(class2.Position, gstruct1_3))
							{
								num = RoomItem_0.GetX;
								num2 = RoomItem_0.Int32_1 - 1;
							}
							else
							{
                                if (ThreeDCoord.Equals(class2.Position, gstruct1_4))
								{
									num = RoomItem_0.GetX;
									num2 = RoomItem_0.Int32_1 + 1;
								}
							}
						}
					}
					if (@class.method_37(num, num2, true, true, true, true, false, false, false))
					{
						List<RoomItem> list_ = new List<RoomItem>();
						list_ = @class.method_93(num, num2);
						double double_ = @class.method_84(num, num2, list_);
                        ServerMessage Message = new ServerMessage(Outgoing.ObjectOnRoller); // Update
						Message.AppendInt32(RoomItem_0.GetX);
						Message.AppendInt32(RoomItem_0.Int32_1);
						Message.AppendInt32(num);
						Message.AppendInt32(num2);
						Message.AppendInt32(1);
						Message.AppendUInt(RoomItem_0.uint_0);
                        Message.AppendStringWithBreak(double_.ToString());
						Message.AppendStringWithBreak(double_.ToString());
                        Message.AppendInt32(-1);
						@class.SendMessage(Message, null);
						@class.method_81(RoomItem_0, num, num2, double_);
					}
				}
			}
		}
示例#14
0
 private void UnlockGate(RoomItem item)
 {
     switch (item.GetBaseItem().InteractionType)
     {
         case "freeze_blue_gate":
         case "freeze_red_gate":
         case "freeze_green_gate":
         case "freeze_yellow_gate":
             item.GetRoom().method_38(item.GetX, item.Int32_1);
             break;
     }
 }
示例#15
0
        public void SetRandomPowerUp(RoomItem item)
        {
            if (string.IsNullOrEmpty(item.ExtraData))
            {
                switch (this.rnd.Next(1, 11))
                {
                    case 2:
                        item.ExtraData = "2000";
                        item.freezePowerUp = FreezePowerUp.BlueArrow;
                        break;

                    case 3:
                        item.ExtraData = "3000";
                        item.freezePowerUp = FreezePowerUp.Snowballs;
                        break;

                    case 4:
                        item.ExtraData = "4000";
                        item.freezePowerUp = FreezePowerUp.GreenArrow;
                        break;

                    case 5:
                        item.ExtraData = "5000";
                        item.freezePowerUp = FreezePowerUp.OrangeSnowball;
                        break;

                    case 6:
                        item.ExtraData = "6000";
                        item.freezePowerUp = FreezePowerUp.Heart;
                        break;

                    case 7:
                        item.ExtraData = "7000";
                        item.freezePowerUp = FreezePowerUp.Shield;
                        break;

                    default:
                        item.ExtraData = "1000";
                        item.freezePowerUp = FreezePowerUp.None;
                        break;
                }
                item.GetRoom().method_38(item.GetX, item.Int32_1);
                item.UpdateState(false, true);
            }
        }
		public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
		{
			if (Session != null)
			{
				RoomUser @class = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id);
				Room class2 = RoomItem_0.GetRoom();
                if (RoomItem_0.GetRoom().method_99(RoomItem_0.GetX, RoomItem_0.Int32_1, @class.X, @class.Y))
				{
					RoomItem_0.GetRoom().method_10(@class, RoomItem_0);
                    int num = RoomItem_0.GetX;
					int num2 = RoomItem_0.Int32_1;
					RoomItem_0.ExtraData = "11";
					if (@class.BodyRotation == 4)
					{
						num2--;
					}
					else
					{
						if (@class.BodyRotation == 0)
						{
							num2++;
						}
						else
						{
							if (@class.BodyRotation == 6)
							{
								num++;
							}
							else
							{
								if (@class.BodyRotation == 2)
								{
									num--;
								}
								else
								{
									if (@class.BodyRotation == 3)
									{
										num--;
										num2--;
									}
									else
									{
										if (@class.BodyRotation == 1)
										{
											num--;
											num2++;
										}
										else
										{
											if (@class.BodyRotation == 7)
											{
												num++;
												num2++;
											}
											else
											{
												if (@class.BodyRotation == 5)
												{
													num++;
													num2--;
												}
											}
										}
									}
								}
							}
						}
					}
                    @class.MoveTo(RoomItem_0.GetX, RoomItem_0.Int32_1);
					class2.method_79(null, RoomItem_0, num, num2, 0, false, true, true);
				}
			}
		}