public override void OnPlace(GameClient Session, RoomItem RoomItem_0) { RoomItem_0.ExtraData = "0"; if (RoomItem_0.uint_3 != 0u) { RoomUser @class = RoomItem_0.method_8().GetRoomUserByHabbo(RoomItem_0.uint_3); if (@class != null) { @class.method_3(true); @class.bool_1 = false; @class.bool_0 = true; } RoomItem_0.uint_3 = 0u; } if (RoomItem_0.uint_4 != 0u) { RoomUser @class = RoomItem_0.method_8().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.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id); if (@class != null && (RoomItem_0.GStruct1_2.x < RoomItem_0.method_8().Class28_0.int_4 && RoomItem_0.GStruct1_2.y < RoomItem_0.method_8().Class28_0.int_5)) { if (ThreeDCoord.smethod_1(@class.GStruct1_0, RoomItem_0.GStruct1_1) && @class.bool_0) { @class.method_4(RoomItem_0.GStruct1_1); } else { if (RoomItem_0.method_8().method_30(RoomItem_0.GStruct1_2.x, RoomItem_0.GStruct1_2.y, RoomItem_0.Double_0, true, false) && RoomItem_0.uint_3 == 0u) { RoomItem_0.uint_3 = @class.uint_0; @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.method_4(RoomItem_0.GStruct1_0); RoomItem_0.ReqUpdate(3); } } } }
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.method_8().method_97(RoomItem_0.Int32_0, RoomItem_0.Int32_1)) { return; } Dictionary<int, AffectedTile> dictionary = RoomItem_0.method_8().method_94(RoomItem_0.GetBaseItem().Length, RoomItem_0.GetBaseItem().Width, RoomItem_0.Int32_0, 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.method_8().method_97(current.Int32_0, current.Int32_1)) { return; } } } RoomItem_0.ExtraData = num2.ToString(); RoomItem_0.method_4(); RoomItem_0.method_8().method_22(); } }
public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0) { RoomUser @class = RoomItem_0.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id); if (@class != null && @class.class34_1 == null) { if (ThreeDCoord.smethod_0(@class.GStruct1_0, RoomItem_0.GStruct1_0) || ThreeDCoord.smethod_0(@class.GStruct1_0, RoomItem_0.GStruct1_1)) { if (RoomItem_0.uint_3 == 0u) { @class.int_19 = -1; RoomItem_0.uint_3 = @class.GetClient().GetHabbo().Id; @class.RoomItem_0 = RoomItem_0; } } else { if (@class.bool_0) { try { @class.method_4(RoomItem_0.GStruct1_1); } catch { } } } } }
public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0) { RoomUser @class = null; if (Session != null) { @class = RoomItem_0.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id); if (@class == null) { return; } } if (Session == null || RoomItem_0.method_8().method_99(RoomItem_0.Int32_0, RoomItem_0.Int32_1, @class.int_3, @class.int_4)) { if (RoomItem_0.ExtraData != "-1") { if (int_0 == -1) { RoomItem_0.ExtraData = "0"; RoomItem_0.method_4(); } else { RoomItem_0.uint_3 = @class.uint_0; RoomItem_0.ExtraData = "-1"; RoomItem_0.UpdateState(false, true); RoomItem_0.ReqUpdate(4); } } } else { if (Session != null && @class != null && @class.bool_0) { try { @class.method_4(RoomItem_0.GStruct1_1); } catch { } } } }
public void FreezeUser(RoomItem Item, RoomItem Item2) { if (Item.method_8().frzTimer == true) { for (int i = 0; i < Item.method_8().RoomUser_0.Length; i++) { RoomUser User2 = Item.method_8().RoomUser_0[i]; if (User2 != null) { if (User2.int_3 == Item2.Int32_0 && User2.int_4 == Item2.Int32_1) { ThreadPool.QueueUserWorkItem(o => { Item.method_8().GetFreeze().FreezeUser(User2); }); } } } } }
public bool BreakIceBlock(RoomItem Item, RoomItem Item2) { if (Item.method_8().frzTimer == true) { Item2.ExtraData = "11200"; Item2.UpdateState(false, true); int rand = GoldTreeEnvironment.GetRandomNumber(1, 11); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeBlocks.Values) { if (Item2.Int32_0 == Item3.Int32_0 && Item2.Int32_1 == Item3.Int32_1) { if (string.IsNullOrEmpty(Item3.ExtraData)) { Item3.method_8().GetFreeze().SetRandomPowerUp(Item3); return true; } } } } return false; }
public override void OnRemove(GameClient Session, RoomItem RoomItem_0) { RoomItem_0.ExtraData = "0"; if (RoomItem_0.uint_3 != 0u) { RoomUser @class = RoomItem_0.method_8().GetRoomUserByHabbo(RoomItem_0.uint_3); if (@class != null) { @class.method_6(); } RoomItem_0.uint_3 = 0u; } if (RoomItem_0.uint_4 != 0u) { RoomUser @class = RoomItem_0.method_8().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.GetBaseItem().Height_Adjustable.Count > 1) { Dictionary<int, AffectedTile> dictionary = RoomItem_0.method_8().method_94(RoomItem_0.GetBaseItem().Length, RoomItem_0.GetBaseItem().Width, RoomItem_0.Int32_0, RoomItem_0.Int32_1, RoomItem_0.int_3); RoomItem_0.method_8().method_22(); RoomItem_0.method_8().method_87(RoomItem_0.method_8().method_43(RoomItem_0.Int32_0, RoomItem_0.Int32_1), true, true); foreach (AffectedTile current in dictionary.Values) { RoomItem_0.method_8().method_87(RoomItem_0.method_8().method_43(current.Int32_0, current.Int32_1), true, true); } } if (Session != null) { RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); RoomItem_0.method_8().method_10(RoomUser_, RoomItem_0); } }
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.method_8(); if (RoomItem_0.method_8().method_99(RoomItem_0.Int32_0, RoomItem_0.Int32_1, @class.int_3, @class.int_4)) { RoomItem_0.method_8().method_10(@class, RoomItem_0); int num = RoomItem_0.Int32_0; int num2 = RoomItem_0.Int32_1; RoomItem_0.ExtraData = "11"; if (@class.int_8 == 4) { num2--; } else { if (@class.int_8 == 0) { num2++; } else { if (@class.int_8 == 6) { num++; } else { if (@class.int_8 == 2) { num--; } else { if (@class.int_8 == 3) { num--; num2--; } else { if (@class.int_8 == 1) { num--; num2++; } else { if (@class.int_8 == 7) { num++; num2++; } else { if (@class.int_8 == 5) { num++; num2--; } } } } } } } } @class.MoveTo(RoomItem_0.Int32_0, RoomItem_0.Int32_1); class2.method_79(null, RoomItem_0, num, num2, 0, false, true, true); } } }
public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { Room @class = Item.method_8(); RoomUser User = @class.GetRoomUserByHabbo(Session.GetHabbo().Id); if (User.Freezed == false) { if (User.team != Rooms.Games.Team.None) { if (Item.method_8().frzTimer == true) { if (Item.Int32_0 == User.int_3 || Item.Int32_0 - 1 == User.int_3 || Item.Int32_0 + 1 == User.int_3) { if (Item.Int32_1 == User.int_4 || Item.Int32_1 - 1 == User.int_4 || Item.Int32_1 + 1 == User.int_4) { ThreadPool.QueueUserWorkItem(o => { if (User.FreezeBalls > 0) { foreach (RoomItem Item2 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item2.Int32_0 == Item.Int32_0 && Item2.Int32_1 == Item.Int32_1 && (!string.IsNullOrEmpty(Item2.ExtraData))) { Rooms.Games.FreezePowerUp BallType = User.freezePowerUp; User.freezePowerUp = Rooms.Games.FreezePowerUp.None; bool pX, pY, pD1, pD2, nX, nY, nD1, nD2; pX = false; pY = false; pD1 = false; pD2 = false; nX = false; nY = false; nD1 = false; nD2 = false; if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { User.FreezeBalls -= 1; Item2.ExtraData = "6000"; Item2.UpdateState(false, true); Thread.Sleep(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } else { User.FreezeBalls -= 1; Item2.ExtraData = "1000"; Item2.UpdateState(false, true); Thread.Sleep(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } if (BallType == Rooms.Games.FreezePowerUp.None) { BallType = Rooms.Games.FreezePowerUp.None; for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } else if (BallType == Rooms.Games.FreezePowerUp.GreenArrow) { BallType = Rooms.Games.FreezePowerUp.None; for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } User.freezePowerUp = Rooms.Games.FreezePowerUp.None; } else if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { BallType = Rooms.Games.FreezePowerUp.None; for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } User.FreezeBalls += 1; } } } }); } } } } } }
public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { RoomUser User = Item.method_8().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) { 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); } else if (Request == 2 && Session.GetHabbo().ActivityPoints >= 20) { Item.FireWorkCount += Fireworks; Session.GetHabbo().FireworkPixelLoadedCount += Pixels; Session.GetHabbo().ActivityPoints -= 20; Session.GetHabbo().method_15(true); using (DatabaseClient dbClient = GoldTree.GetDatabase().GetClient()) { dbClient.AddParamWithValue("itemid", Item.uint_0); dbClient.AddParamWithValue("sessionid", Session.GetHabbo().Id); dbClient.ExecuteQuery("UPDATE items SET fw_count = fw_count + '" + Fireworks + "' WHERE id = @itemid LIMIT 1"); dbClient.ExecuteQuery("UPDATE user_stats SET fireworks = fireworks + '" + Pixels + "' WHERE id = @sessionid LIMIT 1"); } 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); if (Item.ExtraData == "0") { Item.ExtraData = "1"; Item.UpdateState(true, true); } Session.GetHabbo().CheckFireworkAchievements(); } }
public async override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { if (Session == null || Session.GetHabbo() == null) { return; } if (string.IsNullOrEmpty(Item.ExtraData)) { return; } if (Item == null || Item.method_8() == null) { return; } Room @class = Item.method_8(); if (@class == null) { return; } RoomUser User = @class.GetRoomUserByHabbo(Session.GetHabbo().Id); if (User.Freezed == false) { if (User.team != Rooms.Games.Team.None) { if (Item.method_8().frzTimer == true) { if (Item.Int32_0 == User.int_3 || Item.Int32_0 - 1 == User.int_3 || Item.Int32_0 + 1 == User.int_3) { if (Item.Int32_1 == User.int_4 || Item.Int32_1 - 1 == User.int_4 || Item.Int32_1 + 1 == User.int_4) { if (User.FreezeBalls > 0) { foreach (RoomItem Item2 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item2.Int32_0 == Item.Int32_0 && Item2.Int32_1 == Item.Int32_1 && (Item2.ExtraData == "11200" || string.IsNullOrEmpty(Item2.ExtraData))) { Rooms.Games.FreezePowerUp BallType = User.freezePowerUp; User.freezePowerUp = Rooms.Games.FreezePowerUp.None; bool pX, pY, pD1, pD2, nX, nY, nD1, nD2; pX = false; pY = false; pD1 = false; pD2 = false; nX = false; nY = false; nD1 = false; nD2 = false; if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { User.FreezeBalls -= 1; Item2.ExtraData = "6000"; Item2.UpdateState(false, true); await Task.Delay(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } else { User.FreezeBalls -= 1; Item2.ExtraData = "1000"; Item2.UpdateState(false, true); await Task.Delay(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } if (BallType == Rooms.Games.FreezePowerUp.None) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { await Task.Delay(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } else if (BallType == Rooms.Games.FreezePowerUp.GreenArrow) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { await Task.Delay(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } else if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { await Task.Delay(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } BallType = Rooms.Games.FreezePowerUp.None; User.FreezeBalls += 1; } } } /*int progress = 0; System.Timers.Timer t1 = new System.Timers.Timer(); Rooms.Games.FreezePowerUp FreezePowerUp = User.freezePowerUp; User.freezePowerUp = Rooms.Games.FreezePowerUp.None; t1.Elapsed += delegate { ThrowBomb(t1, User, Item, FreezePowerUp, progress++); }; t1.Interval = 200; t1.Start();*/ /*ThreadPool.QueueUserWorkItem(o => { //System.Diagnostics.Stopwatch Stopwatch = new System.Diagnostics.Stopwatch(); //Stopwatch.Start(); if (User.FreezeBalls > 0) { foreach (RoomItem Item2 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item2.Int32_0 == Item.Int32_0 && Item2.Int32_1 == Item.Int32_1 && (!string.IsNullOrEmpty(Item2.ExtraData))) { Rooms.Games.FreezePowerUp BallType = User.freezePowerUp; User.freezePowerUp = Rooms.Games.FreezePowerUp.None; bool pX, pY, pD1, pD2, nX, nY, nD1, nD2; pX = false; pY = false; pD1 = false; pD2 = false; nX = false; nY = false; nD1 = false; nD2 = false; if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { User.FreezeBalls -= 1; Item2.ExtraData = "6000"; Item2.UpdateState(false, true); Thread.Sleep(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } else { User.FreezeBalls -= 1; Item2.ExtraData = "1000"; Item2.UpdateState(false, true); Thread.Sleep(2000); BreakIceBlock(Item2, Item2); FreezeUser(Item2, Item2); } if (BallType == Rooms.Games.FreezePowerUp.None) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } else if (BallType == Rooms.Games.FreezePowerUp.GreenArrow) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } else if (BallType == Rooms.Games.FreezePowerUp.OrangeSnowball) { for (int i = 1; i < 20; i++) { if (User.FreezeRange >= i) { Thread.Sleep(200); foreach (RoomItem Item3 in Item.method_8().GetFreeze().freezeTiles.Values) { if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 + i && !pX) { pX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 && Item3.Int32_1 == Item.Int32_1 - i && !pY) { pY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 && !nX) { nX = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 && !nY) { nY = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 + i && !pD1) { pD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 + i && Item3.Int32_1 == Item.Int32_1 - i && !nD1) { nD1 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 + i && !pD2) { pD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } if (Item3.Int32_0 == Item.Int32_0 - i && Item3.Int32_1 == Item.Int32_1 - i && !nD2) { nD2 = BreakIceBlock(Item, Item3); FreezeUser(Item, Item3); } } } } } BallType = Rooms.Games.FreezePowerUp.None; User.FreezeBalls += 1; } } } });*/ } } } } } }
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.method_8().method_38(item.Int32_0, item.Int32_1); break; } }
public void method_25() { this.hashtable_0.Clear(); this.hashtable_4.Clear(); DataTable dataTable; using (DatabaseClient @class = GoldTree.GetDatabase().GetClient()) { dataTable = @class.ReadDataTable("SELECT Id, base_item, extra_data, x, y, z, rot, wall_pos FROM items WHERE room_id = '" + this.uint_0 + "' ORDER BY room_id DESC"); } if (dataTable != null) { foreach (DataRow dataRow in dataTable.Rows) { RoomItem class2 = new RoomItem((uint)dataRow["Id"], this.Id, (uint)dataRow["base_item"], (string)dataRow["extra_data"], (int)dataRow["x"], (int)dataRow["y"], (double)dataRow["z"], (int)dataRow["rot"], (string)dataRow["wall_pos"], this); if (class2.Boolean_0) { this.bool_11 = true; } if (class2.GetBaseItem().InteractionType.ToLower().Contains("wf_") || class2.GetBaseItem().InteractionType.ToLower().Contains("fbgate")) { DataRow dataRow2; using (DatabaseClient @class = GoldTree.GetDatabase().GetClient()) { dataRow2 = @class.ReadDataRow("SELECT extra1,extra2,extra3,extra4,extra5 FROM wired_items WHERE item_id = '" + class2.uint_0 + "'"); } if (dataRow2 != null) { class2.string_2 = (string)dataRow2["extra1"]; class2.string_3 = (string)dataRow2["extra2"]; class2.string_4 = (string)dataRow2["extra3"]; class2.string_5 = (string)dataRow2["extra4"]; class2.string_6 = (string)dataRow2["extra5"]; } } if (class2.GetBaseItem().InteractionType.ToLower() == "firework") { DataRow dataRow2; using (DatabaseClient @class = GoldTree.GetDatabase().GetClient()) { dataRow2 = @class.ReadDataRow("SELECT fw_count FROM items WHERE id = '" + class2.uint_0 + "'"); } if (dataRow2 != null) { class2.FireWorkCount = (int)dataRow2["fw_count"]; } } if (class2.GetBaseItem().InteractionType.ToLower() == "jukebox") { RoomMusicController roomMusicController = class2.method_8().GetRoomMusicController(); roomMusicController.LinkRoomOutputItemIfNotAlreadyExits(class2); } string text = class2.GetBaseItem().InteractionType.ToLower(); switch (text) { case "dice": if (class2.ExtraData == "-1") { class2.ExtraData = "0"; } break; case "fbgate": if (class2.ExtraData != "" && class2.ExtraData.Contains(',')) { class2.string_2 = class2.ExtraData.Split(new char[] { ',' })[0]; class2.string_3 = class2.ExtraData.Split(new char[] { ',' })[1]; } break; case "dimmer": if (this.class67_0 == null) { this.class67_0 = new MoodlightData(class2.uint_0); } break; case "bb_patch": this.list_5.Add(class2); if (class2.ExtraData == "5") { this.list_6.Add(class2); } else { if (class2.ExtraData == "8") { this.list_7.Add(class2); } else { if (class2.ExtraData == "11") { this.list_9.Add(class2); } else { if (class2.ExtraData == "14") { this.list_8.Add(class2); } } } } break; case "blue_score": this.list_12.Add(class2); break; case "green_score": this.list_13.Add(class2); break; case "red_score": this.list_10.Add(class2); break; case "yellow_score": this.list_11.Add(class2); break; case "stickiepole": this.list_3.Add(class2); break; case "wf_trg_onsay": case "wf_trg_enterroom": case "wf_trg_furnistate": case "wf_trg_onfurni": case "wf_trg_offfurni": case "wf_trg_gameend": case "wf_trg_gamestart": if (!this.list_14.Contains(class2)) { this.list_14.Add(class2); } break; case "wf_trg_attime": if (class2.string_2.Length <= 0) { class2.string_2 = "10"; } if (!this.list_14.Contains(class2)) { this.list_14.Add(class2); } class2.bool_0 = true; class2.ReqUpdate(1); break; case "wf_trg_atscore": if (!this.list_14.Contains(class2)) { this.list_14.Add(class2); } class2.WiredAtTimeNeedReset = false; class2.ReqUpdate(1); break; case "wf_trg_timer": if (class2.string_2.Length <= 0) { class2.string_2 = "10"; } if (!this.list_14.Contains(class2)) { this.list_14.Add(class2); } class2.bool_0 = true; class2.ReqUpdate(1); break; case "wf_act_saymsg": case "wf_act_kick_user": case "wf_act_moveuser": case "wf_act_togglefurni": case "wf_act_givepoints": case "wf_act_moverotate": case "wf_act_matchfurni": case "wf_act_give_phx": if (!this.list_15.Contains(class2)) { this.list_15.Add(class2); } break; case "wf_cnd_trggrer_on_frn": case "wf_cnd_furnis_hv_avtrs": case "wf_cnd_has_furni_on": case "wf_cnd_match_snapshot": case "wf_cnd_time_more_than": case "wf_cnd_time_less_than": case "wf_cnd_phx": if (!this.list_16.Contains(class2)) { this.list_16.Add(class2); } break; case "freeze_tile": this.GetFreeze().AddFreezeTile(class2); break; case "freeze_ice_block": this.GetFreeze().AddFreezeBlock(class2); break; case "freeze_exit": RoomItem exitTeleport = this.GetFreeze().ExitTeleport; if (exitTeleport == null) { this.GetFreeze().ExitTeleport = class2; } break; case "freeze_blue_gate": this.GetGameManager().AddFreezeGate(class2); break; case "freeze_red_gate": this.GetGameManager().AddFreezeGate(class2); break; case "freeze_green_gate": this.GetGameManager().AddFreezeGate(class2); break; case "freeze_yellow_gate": this.GetGameManager().AddFreezeGate(class2); break; case "freeze_blue_score": this.GetGameManager().AddFreezeScoreboard(class2); break; case "freeze_red_score": this.GetGameManager().AddFreezeScoreboard(class2); break; case "freeze_green_score": this.GetGameManager().AddFreezeScoreboard(class2); break; case "freeze_yellow_score": this.GetGameManager().AddFreezeScoreboard(class2); break; } if (this.hashtable_0.Contains(class2.uint_0)) { this.hashtable_0.Remove(class2.uint_0); } if (this.hashtable_4.Contains(class2.uint_0)) { this.hashtable_4.Remove(class2.uint_0); } if (class2.Boolean_2) { this.hashtable_0.Add(class2.uint_0, class2); } else { this.hashtable_4.Add(class2.uint_0, class2); } } } }
public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0) { if (bool_0) { int num = 0; if (RoomItem_0.ExtraData.Length > 0) { num = int.Parse(RoomItem_0.ExtraData); } if (int_0 == 0) { if (num <= -1) { num = 0; } else { if (num >= 0) { num = -1; } } } else { if (int_0 >= 1) { if (int_0 == 1) { if (!RoomItem_0.bool_0) { RoomItem_0.bool_0 = true; RoomItem_0.ReqUpdate(1); if (Session != null) { RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); RoomItem_0.method_8().method_14(RoomUser_); foreach (RoomItem Item in RoomItem_0.method_8().Hashtable_0.Values) { if (Item.GetBaseItem().Name == "bb_apparatus") { Item.ExtraData = "1"; Item.UpdateState(false, true); Item.ReqUpdate(1); } } } } else { RoomItem_0.bool_0 = false; foreach (RoomItem Item in RoomItem_0.method_8().Hashtable_0.Values) { if (Item.GetBaseItem().Name == "bb_apparatus") { Item.ExtraData = "0"; Item.UpdateState(false, true); Item.ReqUpdate(1); } } } } else { if (int_0 == 2) { num += 60; if (num >= 600) { num = 0; } } } } } RoomItem_0.ExtraData = num.ToString(); RoomItem_0.UpdateState(true, true); } }
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.method_8().method_38(item.Int32_0, item.Int32_1); item.UpdateState(false, true); } }
public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0) { Room @class = RoomItem_0.method_8(); RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id); if (class2 != null && @class != null) { ThreeDCoord gstruct1_ = new ThreeDCoord(RoomItem_0.Int32_0 + 1, RoomItem_0.Int32_1); ThreeDCoord gstruct1_2 = new ThreeDCoord(RoomItem_0.Int32_0 - 1, RoomItem_0.Int32_1); ThreeDCoord gstruct1_3 = new ThreeDCoord(RoomItem_0.Int32_0, RoomItem_0.Int32_1 + 1); ThreeDCoord gstruct1_4 = new ThreeDCoord(RoomItem_0.Int32_0, RoomItem_0.Int32_1 - 1); if (ThreeDCoord.smethod_1(class2.GStruct1_0, gstruct1_) && ThreeDCoord.smethod_1(class2.GStruct1_0, gstruct1_2) && ThreeDCoord.smethod_1(class2.GStruct1_0, gstruct1_3) && ThreeDCoord.smethod_1(class2.GStruct1_0, gstruct1_4)) { if (class2.bool_0) { class2.method_4(RoomItem_0.GStruct1_0); } } else { int num = RoomItem_0.Int32_0; int num2 = RoomItem_0.Int32_1; if (ThreeDCoord.smethod_0(class2.GStruct1_0, gstruct1_)) { num = RoomItem_0.Int32_0 - 1; num2 = RoomItem_0.Int32_1; } else { if (ThreeDCoord.smethod_0(class2.GStruct1_0, gstruct1_2)) { num = RoomItem_0.Int32_0 + 1; num2 = RoomItem_0.Int32_1; } else { if (ThreeDCoord.smethod_0(class2.GStruct1_0, gstruct1_3)) { num = RoomItem_0.Int32_0; num2 = RoomItem_0.Int32_1 - 1; } else { if (ThreeDCoord.smethod_0(class2.GStruct1_0, gstruct1_4)) { num = RoomItem_0.Int32_0; 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(230u); Message.AppendInt32(RoomItem_0.Int32_0); Message.AppendInt32(RoomItem_0.Int32_1); Message.AppendInt32(num); Message.AppendInt32(num2); Message.AppendInt32(1); Message.AppendUInt(RoomItem_0.uint_0); Message.AppendByte(2); Message.AppendStringWithBreak(double_.ToString()); Message.AppendString("M"); @class.SendMessage(Message, null); @class.method_81(RoomItem_0, num, num2, double_); } } } }
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.GStruct1_0.x - RoomItem_0.GStruct1_1.x > 1 || @class.GStruct1_0.y - RoomItem_0.GStruct1_1.y > 1) { if (@class.bool_0) { @class.method_4(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.method_4(); if (double_ != RoomItem_0.Double_1) { Dictionary<int, AffectedTile> dictionary = RoomItem_0.Dictionary_0; if (dictionary == null) { dictionary = new Dictionary<int, AffectedTile>(); } RoomItem_0.method_8().method_87(RoomItem_0.method_8().method_43(RoomItem_0.Int32_0, RoomItem_0.Int32_1), true, false); foreach (AffectedTile current in dictionary.Values) { RoomItem_0.method_8().method_87(RoomItem_0.method_8().method_43(current.Int32_0, current.Int32_1), true, false); } } if (Session != null) { RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); RoomItem_0.method_8().method_10(RoomUser_, RoomItem_0); } } }
public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { if (UserHasRights) { int num = 0; if (Item.ExtraData.Length > 0) { num = int.Parse(Item.ExtraData); } if (Request == 0) { if (num <= -1) { num = 0; } else { if (num >= 0) { num = -1; } } } else { if (Request >= 1) { if (Request == 1) { if (!Item.method_8().frzTimer) { Item.method_8().frzTimer = true; Item.ReqUpdate(1); if (Session != null) { RoomUser RoomUser_ = Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); Item.method_8().method_14(RoomUser_); Item.method_8().GetFreeze().StartGame(); } } else { Item.method_8().frzTimer = false; Item.method_8().GetFreeze().StopGame(); } } else { if (Request == 2) { num += 60; if (num >= 600) { num = 0; } } } } } Item.ExtraData = num.ToString(); Item.UpdateState(true, true); } }