internal List<RoomItem> method_24(GameClient Session) { List<RoomItem> list = new List<RoomItem>(); foreach (RoomItem @class in this.Hashtable_0.Values) { @class.Class69_0.OnRemove(Session, @class); ServerMessage Message = new ServerMessage(94u); Message.AppendRawUInt(@class.uint_0); Message.AppendStringWithBreak(""); Message.AppendBoolean(false); this.SendMessage(Message, null); list.Add(@class); } foreach (RoomItem @class in this.Hashtable_1.Values) { @class.Class69_0.OnRemove(Session, @class); ServerMessage Message = new ServerMessage(84u); Message.AppendRawUInt(@class.uint_0); Message.AppendStringWithBreak(""); Message.AppendBoolean(false); this.SendMessage(Message, null); list.Add(@class); } this.hashtable_4.Clear(); this.hashtable_0.Clear(); this.hashtable_1.Clear(); this.hashtable_2.Clear(); this.hashtable_3.Clear(); using (DatabaseClient class2 = GoldTree.GetDatabase().GetClient()) { class2.ExecuteQuery(string.Concat(new object[] { "UPDATE items SET room_id = 0, user_id = '", Session.GetHabbo().Id, "' WHERE room_id = '", this.Id, "'" })); } this.method_22(); this.method_83(); return list; }
public void method_29(GameClient Session, uint uint_2, bool bool_13, bool bool_14) { RoomItem @class = this.method_28(uint_2); if (@class != null) { Dictionary<int, AffectedTile> dictionary = this.method_94(@class.GetBaseItem().Length, @class.GetBaseItem().Width, @class.Int32_0, @class.Int32_1, @class.int_3); @class.Class69_0.OnRemove(Session, @class); if (@class.Boolean_1) { ServerMessage Message = new ServerMessage(84u); Message.AppendRawUInt(@class.uint_0); Message.AppendStringWithBreak(""); Message.AppendBoolean(false); this.SendMessage(Message, null); } else { if (@class.Boolean_2) { ServerMessage Message = new ServerMessage(94u); Message.AppendRawUInt(@class.uint_0); Message.AppendStringWithBreak(""); Message.AppendBoolean(false); this.SendMessage(Message, null); string text = @class.GetBaseItem().InteractionType.ToLower(); switch (text) { case "bb_patch": this.list_5.Remove(@class); if (@class.ExtraData == "5") { this.list_6.Remove(@class); } else { if (@class.ExtraData == "8") { this.list_7.Remove(@class); } else { if (@class.ExtraData == "11") { this.list_9.Remove(@class); } else { if (@class.ExtraData == "14") { this.list_8.Remove(@class); } } } } break; case "blue_score": this.list_12.Remove(@class); break; case "green_score": this.list_13.Remove(@class); break; case "red_score": this.list_10.Remove(@class); break; case "yellow_score": this.list_11.Remove(@class); break; case "stickiepole": this.list_3.Remove(@class); 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": case "wf_trg_atscore": this.list_14.Remove(@class); break; case "wf_trg_attime": @class.bool_0 = false; this.list_14.Remove(@class); break; case "wf_trg_timer": @class.bool_0 = false; this.list_14.Remove(@class); 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": this.list_15.Remove(@class); 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": this.list_16.Remove(@class); break; case "freeze_tile": this.GetFreeze().RemoveFreezeTile(@class); break; case "freeze_ice_block": this.GetFreeze().RemoveFreezeBlock(@class); break; case "freeze_exit": RoomItem exitTeleport = this.GetFreeze().ExitTeleport; if ((exitTeleport != null) && (@class.uint_0 == exitTeleport.uint_0)) { this.GetFreeze().ExitTeleport = null; } break; case "freeze_blue_gate": this.GetGameManager().RemoveFreezeGate(@class); break; case "freeze_red_gate": this.GetGameManager().RemoveFreezeGate(@class); break; case "freeze_green_gate": this.GetGameManager().RemoveFreezeGate(@class); break; case "freeze_yellow_gate": this.GetGameManager().RemoveFreezeGate(@class); break; case "freeze_blue_score": this.GetGameManager().RemoveFreezeScoreboard(@class); break; case "freeze_red_score": this.GetGameManager().RemoveFreezeScoreboard(@class); break; case "freeze_green_score": this.GetGameManager().RemoveFreezeScoreboard(@class); break; case "freeze_yellow_score": this.GetGameManager().RemoveFreezeScoreboard(@class); break; } } } if (@class.Boolean_1) { this.hashtable_4.Remove(@class.uint_0); } else { this.hashtable_0.Remove(@class.uint_0); } if (this.hashtable_3.Contains(@class.uint_0)) { this.hashtable_3.Remove(@class.uint_0); } if (this.hashtable_2.Contains(@class.uint_0)) { this.hashtable_2.Remove(@class.uint_0); } if (!this.hashtable_1.Contains(@class.uint_0)) { this.hashtable_1.Add(@class.uint_0, @class); } if (bool_13) { using (DatabaseClient class2 = GoldTree.GetDatabase().GetClient()) { class2.ExecuteQuery("DELETE FROM items WHERE Id = '" + uint_2 + "' LIMIT 1"); } } if (bool_14) { this.method_22(); } this.method_87(this.method_43(@class.Int32_0, @class.Int32_1), true, true); foreach (AffectedTile current in dictionary.Values) { this.method_87(this.method_43(current.Int32_0, current.Int32_1), true, true); } } }