namespace Holo.Virtual.Users { using Holo; using Holo.Managers; using Holo.Socketservers; using Holo.Virtual.Rooms; using Holo.Virtual.Rooms.Games; using Holo.Virtual.Rooms.Items; using Holo.Virtual.Rooms.Pathfinding; using Holo.Virtual.Users.Items; using Holo.Virtual.Users.Messenger; using System; using System.Net.Sockets; using System.Runtime.CompilerServices; using System.Text; using System.Threading; public class virtualUser { private int ᙅ; internal string _Badge; internal bool _clubMember; internal string _consoleMission; internal int _Credits; internal string _Figure; internal int _groupID; internal int _groupMemberRank; internal bool _hasRights; internal bool _hostsEvent; internal bool _inPublicroom; public bool _isInvisible; internal bool _isMuted; internal bool _isOwner; public bool _isPet; internal string _Mission; internal string _nowBadge; public string _petColour = "98A1C5"; public string _petType = "1"; internal byte _Rank; internal bool _ROOMACCESS_PRIMARY_OK; internal bool _ROOMACCESS_SECONDARY_OK; internal int _roomID; internal char _Sex; internal int _teleporterID; internal int _Tickets; internal bool _tradeAccept; internal int _tradeItemCount; internal int[] _tradeItems = new int[0x41]; internal int _tradePartnerRoomUID = -1; internal int _tradePartnerUID = -1; internal string _Username; private Socket 4AAAA; private byte[] 5AAA1 = new byte[0x400]; private bool 6AAAA; private bool 7AAA1; private bool 8AAAA; private int 9AAA1; private virtualSongEditor BAAAA; internal Holo.Virtual.Rooms.Games.gamePlayer gamePlayer; public bool imitateEnabled; public int imitateID; public bool imitateSpeech; internal virtualMessenger Messenger; internal bool pingOK; internal virtualRoom Room; internal virtualRoomUser roomUser; public bool spyMode; internal virtualRoomUserStatusManager statusManager; internal string swimOutfit; internal int userID; public virtualUser(int connectionID, Socket connectionSocket) { this.ᙅ = connectionID; this.4AAAA = connectionSocket; try { string str = userManager.getBanReason(this.connectionRemoteIP); if (str != "") { this.sendData("@c" + str); this.Disconnect(); } else { this.pingOK = true; this.sendData("@@"); connectionSocket.BeginReceive(this.5AAA1, 0, this.5AAA1.Length, SocketFlags.None, new AsyncCallback(this.dataArrival), null); } } catch { } } internal void abortTrade() { if (((this.Room != null) && this.Room.containsUser(this._tradePartnerRoomUID)) && (this.roomUser != null)) { virtualUser user = this.Room.getUser(this._tradePartnerRoomUID); this.sendData("An"); this.refreshHand("update"); user.sendData("An"); user.refreshHand("update"); this._tradePartnerRoomUID = -1; this._tradeAccept = false; this._tradeItems = new int[0x41]; this._tradeItemCount = 0; this.statusManager.removeStatus("trd"); this.roomUser.Refresh(); user._tradePartnerRoomUID = -1; user._tradeAccept = false; user._tradeItems = new int[0x41]; user._tradeItemCount = 0; user.statusManager.removeStatus("trd"); user.roomUser.Refresh(); } } private void dataArrival(IAsyncResult iAr) { try { int num2; int count = this.4AAAA.EndReceive(iAr); string str = System.Text.Encoding.Default.GetString(this.5AAA1, 0, count); if ((!str.Contains("\x0001") && !str.Contains("\x0002")) && (!str.Contains("\x0005") && !str.Contains("\t"))) { goto Label_0082; } this.Disconnect(); return; Label_005C: num2 = Holo.Encoding.decodeB64(str.Substring(1, 2)); this.processPacket(str.Substring(3, num2)); str = str.Substring(num2 + 3); Label_0082: if (str != "") { goto Label_005C; } this.4AAAA.BeginReceive(this.5AAA1, 0, this.5AAA1.Length, SocketFlags.None, new AsyncCallback(this.dataArrival), null); } catch { this.Disconnect(); } } internal void deadSocketKiller() { try { byte[] buffer = new byte[1]; this.4AAAA.Send(buffer, SocketFlags.None); } catch { this.Disconnect(); } } private void delDisconnectTimed(int ms) { this.4AAAA.Shutdown(SocketShutdown.Receive); Thread.Sleep(ms); this.Disconnect(); } internal void Disconnect() { if (!this.6AAAA) { try { this.4AAAA.Close(); } catch { } this.4AAAA = null; if ((this.Room != null) && (this.roomUser != null)) { this.Room.removeUser(this.roomUser.roomUID, false, ""); } if (this.Messenger != null) { this.Messenger.Clear(); } userManager.removeUser(this.userID); gameSocketServer.freeConnection(this.ᙅ); this.6AAAA = true; } } internal void Disconnect(int ms) { new ᙃ(this.delDisconnectTimed).BeginInvoke(ms, null, null); } private bool isSpeechCommand(string Text) { string[] s = Text.Split(new char[] { ' ' }); try { string str; string str2; virtualUser user; string str3; string str4; virtualUser user8; string str6; virtualUser user9; string str8; virtualUser user10; virtualUser user11; string str10; int[] numArray; int[] numArray2; string str14; int num3; string str15; virtualUser user12; int num4; virtualUser user13; int num6; int num7; int num8; switch (s[0]) { case "comandi": this.sendData("BKCiao " + this._Username + ", Benvenuti nella Lista dei Comandi Pubblici! - [Sempre in Aggiornamento!]\r\r:info (Serve per Controllare le Info Del Server)\r:puliscimano (Serve per Eliminare i Furni Presenti nella Tua Mano)\r:aggiorna (Aggiorna I Dati MUS Del Personaggio)\r:hansolaris (Ti trasforma come solito vestirsi il coder di questo server)\r:competizione (Informazioni riguardante l'ultima competizione)\r:tuffo (Tuffo Nella Stanza Pubblica Del Lido)"); goto Label_1983; case "info": this.sendData(string.Concat(new object[] { "BKCiao ", this._Username, ", sei connesso con un Hotel che usa ImagiNeXt Server.\r\rSono le ore: ", DateTime.Now.ToString(), ". (GMT +1)\rIl server asincrono ha accettato ", gameSocketServer.acceptedConnections, " connessioni dall'ultimo avvio.\rCi sono ", userManager.userCount, " utenti connessi in questo momento, se ne sono connessi ", userManager.peakUserCount, " dall'ultimo avvio.\rCi sono ", roomManager.roomCount, " stanze attive in questo momento, se ne sono attivate ", roomManager.roomCount, " dall'ultimo avvio.\r\rPer maggiori informazioni sul server digita il comando :versione\rPer scoprire tutti i comandi a te disponibili digita il comando :comandi" })); goto Label_1983; case "hansolaris": DB.runQuery("UPDATE users SET figure = 'hr-170-40.hd-180-1.ch-255-73.lg-285-82.sh-305-62.ea-1401-62.fa-1205-62.he-1601' WHERE name = '" + this._Username + "'"); this.refreshAppearance(true, true, true); goto Label_1983; case "competizione": str = DB.runRead("SELECT titolo FROM competizione"); str2 = DB.runRead("SELECT testo FROM competizione"); if (str != null) { break; } this.sendData("BKAl momento non ci sono competizioni disponibili"); goto Label_1983; case "versione": this.sendData("BKImagiNext Server 2009 Beta 2 - v5.0.0.1\rVersione registrata su http://www.hansolaris.it/imaginext \rCodername: HanSolaris"); goto Label_1983; case "puliscimano": DB.runQuery("DELETE FROM furniture WHERE ownerid = '" + this.userID + "' AND roomid = '0'"); this.refreshHand("new"); goto Label_1983; case "tuffo": this.sendData("A}"); goto Label_1983; case "aggiorna": this.refreshAppearance(false, false, true); goto Label_1983; case "care": this.sendData("BK/care"); goto Label_1983; case "specbar": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_0536; } return false; case "listacomandi": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_0591; } this.sendData("BKMi Dispiace " + this._Username + ", Non Hai i Privilegi per Accedere a Questa Sessione! [LiveXenon]"); goto Label_1983; case "comandimod": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_05E8; } this.sendData("BKMi Dispiace " + this._Username + ", Non Hai i Privilegi per Accedere a Questa Sessione! [LiveXenon]"); goto Label_1983; case "teletome": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_063F; } this.sendData("BKMi Dispiace " + this._Username + ", Non Hai i Privilegi per Accedere a Questa Sessione! [LiveXenon]"); goto Label_1983; case "aggiornahotel": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_06DC; } return false; case "dettagli": this.sendData(string.Concat(new object[] { "BKSalve ", this._Username, ", Ecco Alcuni Dettagli di Questo Hotel [LiveXenon]\r\rUtenti Online In Questo Momento: ", userManager.userCount, ".\rUsers Online Ora Peak: ", userManager.peakUserCount, ".\rUtenti Registrati In Hotel: ", DB.runRead("SELECT COUNT(*) FROM users"), ".\rStanze in Uso Del Server: ", roomManager.roomCount, ".\rRooms in uso Del Server Peak: ", roomManager.peakRoomCount, ".\rStanze Create In Hotel: ", DB.runRead("SELECT COUNT(*) FROM rooms"), ".\rAmmontare di Furni In Hotel: ", DB.runRead("SELECT COUNT(*) FROM furniture"), ".\r\rCi auguriamo che abbia avuto una buona esperienza qui in Hotel e speriamo di vederti di nuovo!\r | LiveXenon Server | Tutti i Diritti Riservati | Coder: Live | " })); goto Label_1983; case "catalogo": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_07ED; } return false; case "freeze": if (rankManager.containsRight(this._Rank, "fuse_freeze")) { goto Label_0811; } return false; case "unfreeze": if (rankManager.containsRight(this._Rank, "fuse_freeze")) { goto Label_084B; } return false; case "rape": { virtualUser user5 = userManager.getUser(DB.Stripslash(s[1])); if (user5._Rank > this._Rank) { goto Label_090E; } user5.sendData("BKDear " + user5._Username + ", at " + DateTime.Now.ToShortTimeString() + " you have been raped by " + this._Username + "!"); this.sendData("BKYou have successfully raped " + user5._Username + "!"); goto Label_1983; } case "Verkracht": { virtualUser user6 = userManager.getUser(DB.Stripslash(s[1])); if (user6._Rank > this._Rank) { goto Label_09C8; } user6.sendData("BKBeste " + user6._Username + ", op " + DateTime.Now.ToShortTimeString() + " ben verkracht door " + this._Username + "!"); this.sendData("BKU hebt met succes " + user6._Username + " verkracht!"); goto Label_09E0; } case "slaphead": { virtualUser user7 = userManager.getUser(DB.Stripslash(s[1])); if (user7._Rank > this._Rank) { goto Label_0A7F; } user7.sendData("BKOh noes, " + user7._Username + "!
" + this._Username + " has slapped your head!"); this.sendData("BKYou have successfully slapped " + user7._Username + "'s head!"); goto Label_1983; } case "avviso": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0AB6; } return false; case "avvisocamera": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0B44; } return false; case "caccia": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0BB1; } return false; case "cacciaroom": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0C76; } return false; case "muta": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0CED; } return false; case "parla": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0DBD; } return false; case "roommuta": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0E80; } return false; case "roomparla": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0EF7; } return false; case "ban": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_0F66; } return false; case "superban": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_1098; } return false; case "ha": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_11E5; } return false; case "chiudihotel": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_1245; } return false; case "ra": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_12CF; } return false; case "ottimizzadatabase": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_133B; } return false; case "copialook": user12 = userManager.getUser(DB.Stripslash(s[1])); if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_13E3; } this.sendData("BKNon hai i diritti per rubare questo look!"); goto Label_1983; case "teletrasporto": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_1454; } return false; case "trasporta": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_1495; } return false; case "infoutente": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_1508; } return false; case "crediti": user13 = userManager.getUser(DB.Stripslash(s[1])); num6 = int.Parse(s[2]); if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_1570; } this.sendData("BKYou don't have the rights to send credits to someone!"); goto Label_1983; case "massacrediti": num7 = int.Parse(s[1]); if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_1682; } this.sendData("BKNon hai i diritti per inviare crediti!"); goto Label_1983; case "coordinate": if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { goto Label_170E; } return false; case "coins": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_17B6; } return false; case "utentionline": if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { goto Label_18C1; } this.sendData(string.Concat(new object[] { "BKCi Sono ", userManager.userCount, " Utenti Online:\r\r", DB.runRead("SELECT id FROM users WHERE online > 0 ORDER BY id"), ". ", DB.runRead("SELECT name FROM users WHERE online > 0 ORDER BY id"), "\r" })); goto Label_1983; case "offlinedrastyc": DB.runQuery("DELETE FROM system_chatlog WHERE username = '" + this._Username + "'"); Eucalypt.Shutdown(); goto Label_1983; default: return false; } this.sendData("BKCompetisione attuale\rTitolo: " + str + "\rDescrizione: " + str2); goto Label_1983; Label_0536: this.sendData("Dj" + Holo.Encoding.encodeVL64(userManager.userCount) + Holo.Encoding.encodeVL64(roomManager.roomCount)); goto Label_1983; Label_0591: if (rankManager.containsRight(this._Rank, "fuse_administrator_access")) { this.sendData("BK- Lista Comandi ADMIN [LiveXenon Server] * Created By Live *\r\r:avviso [Nome] [Messaggio] - [Messaggio Di ALERT ad Utente]\r:avvisocamera [Messaggio] - [Messaggio Di ALERT a Tutta La Stanza]\r:caccia [Nome] [Messaggio] - [Escludi Dalla Stanza Solo Utente Selezionato]\r:cacciaroom [Messaggio] - [Escludi Tutti Gli utenti Dalla Stanza]\r:muta [Nome] [Messaggio] - [Disabilita la Chat a Utente Selezionato]\r:parla [Nome] [Messaggio] - [Abilita la Chat a Utente Selezionato]\r:roommuta [Messaggio] - [Disabilita La Chat a Tutta la Stanza]\r:roomparla [Messaggio] - [Abilita La Chat a Tutta la Stanza]\r:ban [Nome] [Ore] [Motivo] - [Banna L'Utente Selezionato (No Per IP)]\r:superban [Nome] [Ore] [Motivo] - [Banna L'Utente Selezionato (Per IP)]\r:ha [Messaggio] - [Questo Messaggio Sar\x00e0 Visualizzato a Tutto L'Hotel]\r:ra [Messaggio] - [Questo Messaggio Sar\x00e0 Visualizzato Solo Allo Staff]\r:trasporta [X] [Y] - [Trasportati Nel Punto Indicato]\r:chiudihotel [Minuti] - [Messaggio Di Chiusura Hotel] \r:coordinate - [Coordinate Punto Dove Si Trova Il PG] \r:teletome [Nome] [ID Stanza] - [Trasporta Utente In Un Punto X] \r:aggiornahotel - [Refresha Tutto L'Hotel]\r:crediti [Nome] [Ammonto] - [Comando Per Dare Crediti]\r:massacrediti [Ammonto] - [Comando Per Distribuire Crediti In Massa] \r:teletrasporto - [Teletrasportarsi In Quelunque Luogo In Stanza]\r:infoutente [Nome] - [Informazioni: ID,Rank,Missione,Crediti,Email,IP..]\r:copialook [Nome] - [Copia Il Look Del Personaggio Indicato]\r:ottimizzadatabase - [Comando Per Ottimizzare Il Database, 1 Volta a Settimana.] \r"); } goto Label_1983; Label_05E8: if (rankManager.containsRight(this._Rank, "fuse_moderator_access")) { this.sendData("BKLista Comandi MODERATORI [LiveXenon Server] * Created By Live *\r\r:infoutente [Nome] - [Informazioni: ID,Rank,Missione,Crediti,Email,IP..]\r:crediti [Nome] [Ammonto] - [Comando Per Dare Crediti]\r:ra [Messaggio] - [Questo Messaggio Sar\x00e0 Visualizzato Solo Ai Membri Staff]\r:avviso [Nome] [Messaggio] - [Messaggio Di ALERT ad Utente]\r:avvisocamera [Messaggio] - [Messaggio Di ALERT a Tutta La Stanza]\r:caccia [Nome] [Messaggio] - [Escludi Dalla Stanza Solo Utente Selezionato]\r:cacciaroom [Messaggio] - [Escludi Tutti Gli utenti Dalla Stanza]\r:muta [Nome] [Messaggio] - [Disabilita la Chat a Utente Selezionato]\r:parla [Nome] [Messaggio] - [Abilita la Chat a Utente Selezionato]\r:roommuta [Messaggio] - [Disabilita La Chat a Tutta la Stanza]\r:roomparla [Messaggio] - [Abilita La Chat a Tutta la Stanza]\r:ban [Nome] [Ore] [Motivo] - [Banna L'Utente Selezionato (No Per IP)]\r:superban [Nome] [Ore] [Motivo] - [Banna L'Utente Selezionato (Per IP)]\r"); } goto Label_1983; Label_063F: user = userManager.getUser(DB.Stripslash(s[1])); virtualUser user2 = userManager.getUser(DB.Stripslash(s[1])); user2.sendData("BKSiete Stati Teletrasportati da " + this._Username + "."); if (user._inPublicroom) { user2.sendData("D^I" + Holo.Encoding.encodeVL64(user._roomID)); } else { user2.sendData("D^H" + Holo.Encoding.encodeVL64(user._roomID)); } goto Label_1983; Label_06DC: Text.Substring(3); userManager.sendData("DBO\r"); goto Label_1983; Label_07ED: catalogueManager.Init(); goto Label_1983; Label_0811: str3 = s[1]; userManager.getUser(str3).roomUser.walkLock = true; goto Label_1983; Label_084B: str4 = s[1]; userManager.getUser(str4).roomUser.walkLock = false; goto Label_1983; Label_090E: this.sendData("BKThe virtual user '" + s[1] + "' was not online, or you do not have the right to rape him/her.\rYou can't rape staff!"); goto Label_1983; Label_09C8: this.sendData("BKDe virtuele gebruiker '" + s[1] + "' was niet online, of u hebt niet het recht hem/haar te verkrachten. \r je kan niet staff verkrachten!"); Label_09E0: Out.WriteLine(this._Username + " Heeft Iemand verkracht"); goto Label_1983; Label_0A7F: this.sendData("BKThe virtual user '" + s[1] + "' was not online, or you do not have the right to slaphead him/her.\rYou can't slaphead staff btw."); goto Label_1983; Label_0AB6: user8 = userManager.getUser(DB.Stripslash(s[1])); user8.sendData("B!" + stringManager.wrapParameters(s, 2) + Convert.ToChar(2)); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("alert", this.userID, user8.userID, s[2], ""); goto Label_1983; Label_0B44: str6 = Text.Substring(10); this.Room.sendData("B!" + str6 + Convert.ToChar(2)); staffManager.addStaffMessage("ralert", this.userID, this.Room.roomID, str6, ""); goto Label_1983; Label_0BB1: user9 = userManager.getUser(DB.Stripslash(s[1])); if (user9._Rank < this._Rank) { string moderatorMessage = ""; if (s.Length > 2) { moderatorMessage = stringManager.wrapParameters(s, 2); } user9.Room.removeUser(user9.roomUser.roomUID, true, moderatorMessage); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("kick", this.userID, user9.userID, moderatorMessage, ""); } else { this.sendData("BK" + stringManager.getString("scommand_failed")); } goto Label_1983; Label_0C76: str8 = stringManager.wrapParameters(s, 1); this.Room.kickUsers(this._Rank, str8); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("rkick", this.userID, this.Room.roomID, str8, ""); goto Label_1983; Label_0CED: user10 = userManager.getUser(DB.Stripslash(s[1])); if ((user10._Rank < this._Rank) && !user10._isMuted) { string message = stringManager.wrapParameters(s, 2); user10._isMuted = true; user10.sendData("BK" + stringManager.getString("scommand_muted") + "\r" + message); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("mute", this.userID, user10.userID, message, ""); } else { this.sendData("BK" + stringManager.getString("scommand_failed")); } goto Label_1983; Label_0DBD: user11 = userManager.getUser(DB.Stripslash(s[1])); if ((user11._Rank < this._Rank) && user11._isMuted) { user11._isMuted = false; user11.sendData("BK" + stringManager.getString("scommand_unmuted")); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("unmute", this.userID, user11.userID, "", ""); } else { this.sendData("BK" + stringManager.getString("scommand_failed")); } goto Label_1983; Label_0E80: str10 = stringManager.wrapParameters(s, 1); this.Room.muteUsers(this._Rank, str10); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("rmute", this.userID, this.Room.roomID, str10, ""); goto Label_1983; Label_0EF7: this.Room.unmuteUsers(this._Rank); this.sendData("BK" + stringManager.getString("scommand_success")); staffManager.addStaffMessage("runmute", this.userID, this.Room.roomID, "", ""); goto Label_1983; Label_0F66: numArray = DB.runReadRow("SELECT id,rank FROM users WHERE name = '" + DB.Stripslash(s[1]) + "'", null); if (numArray.Length == 0) { this.sendData("BK" + stringManager.getString("modtool_actionfailed") + "\r" + stringManager.getString("modtool_usernotfound")); } else if (((byte) numArray[1]) > this._Rank) { this.sendData("BK" + stringManager.getString("modtool_actionfailed") + "\r" + stringManager.getString("modtool_rankerror")); } else { int hours = int.Parse(s[2]); string str11 = stringManager.wrapParameters(s, 3); if ((hours == 0) || (str11 == "")) { this.sendData("BK" + stringManager.getString("scommand_failed")); } else { staffManager.addStaffMessage("ban", this.userID, numArray[0], str11, ""); userManager.setBan(numArray[0], hours, str11); this.sendData("BK" + userManager.generateBanReport(numArray[0])); } } goto Label_1983; Label_1098: numArray2 = DB.runReadRow("SELECT id,rank FROM users WHERE name = '" + DB.Stripslash(s[1]) + "'", null); if (numArray2.Length == 0) { this.sendData("BK" + stringManager.getString("modtool_actionfailed") + "\r" + stringManager.getString("modtool_usernotfound")); } else if (((byte) numArray2[1]) > this._Rank) { this.sendData("BK" + stringManager.getString("modtool_actionfailed") + "\r" + stringManager.getString("modtool_rankerror")); } else { int num2 = int.Parse(s[2]); string str12 = stringManager.wrapParameters(s, 3); if ((num2 == 0) || (str12 == "")) { this.sendData("BK" + stringManager.getString("scommand_failed")); } else { string iP = DB.runRead("SELECT ipaddress_last FROM users WHERE id = '" + numArray2[0] + "'"); staffManager.addStaffMessage("ban", this.userID, numArray2[0], str12, ""); userManager.setBan(iP, num2, str12); this.sendData("BK" + userManager.generateBanReport(iP)); } } goto Label_1983; Label_11E5: str14 = Text.Substring(3); userManager.sendData("BK" + stringManager.getString("scommand_hotelalert") + "\r" + str14); staffManager.addStaffMessage("halert", this.userID, 0, str14, ""); goto Label_1983; Label_1245: num3 = int.Parse(s[1]); userManager.sendData("Dc" + Holo.Encoding.encodeVL64(num3)); staffManager.addStaffMessage("offline", this.userID, 0, "mm=" + num3, ""); Out.WriteLine("Chiusura Hotel Completata."); DB.closeConnection(); Console.Beep(0x578, 0x3e8); Environment.Exit(2); goto Label_1983; Label_12CF: str15 = Text.Substring(3); userManager.sendToRank(this._Rank, false, "BK" + stringManager.getString("scommand_rankalert") + "\r" + str15); staffManager.addStaffMessage("rankalert", this.userID, this._Rank, str15, ""); goto Label_1983; Label_133B: DB.runQuery("TRUNCATE cms_help"); DB.runQuery("TRUNCATE system_stafflog"); DB.runQuery("TRUNCATE cms_minimail"); DB.runQuery("TRUNCATE room_votes"); DB.runQuery("TRUNCATE system_chatlog"); string iniLocation = IO.workingDirectory + @"\locale\mysql.ini"; DB.runQuery("OPTIMIZE TABLE " + IO.readINI("mysql", "database", iniLocation)); this.sendData("BKOttimizzazzione Database Completata [LiveXenon]"); goto Label_1983; Label_13E3:; DB.runQuery(string.Concat(new object[] { "UPDATE users SET figure = '", user12._Figure, "' WHERE id = '", this.userID, "'" })); this.refreshAppearance(true, true, true); goto Label_1983; Label_1454: this.roomUser.SPECIAL_TELEPORTABLE = !this.roomUser.SPECIAL_TELEPORTABLE; this.refreshAppearance(false, false, true); goto Label_1983; Label_1495: num4 = int.Parse(s[1]); int num5 = int.Parse(s[2]); this.roomUser.X = num4; this.roomUser.Y = num5; this.roomUser.goalX = -1; this.Room.Refresh(this.roomUser); this.refreshAppearance(false, false, true); goto Label_1983; Label_1508: this.sendData("BK" + userManager.generateUserInfo(userManager.getUserID(DB.Stripslash(s[1])), this._Rank)); goto Label_1983; Label_1570:; DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = ", user13._Credits, " + ", num6, " WHERE id = ", user13.userID })); user13.sendData("BKHai Ricevuto " + num6 + " Crediti Dallo Staff!"); this.sendData(string.Concat(new object[] { "BKYou've succesfully sent ", num6, " credits to ", user13._Username, "." })); this.Room.Refresh(this.roomUser); user13.refreshAppearance(true, true, true); user13.refreshValueables(true, false); goto Label_1983; Label_1682:; DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = ", this._Credits, " + ", num7 })); this.sendData("BKHai inviato " + num7 + " Credti Agli Utenti!"); this.refreshAppearance(false, true, false); this.refreshValueables(true, true); goto Label_1983; Label_170E:; this.sendData(string.Concat(new object[] { "BKX: ", this.roomUser.X, "\rY: ", this.roomUser.Y, "\rZ: ", this.roomUser.Z1, "\rHeight: ", this.roomUser.H })); goto Label_1983; Label_17B6: num8 = int.Parse(s[1]); this._Credits += num8; this.sendData("@F" + this._Credits); this.sendData("CT"); DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = '", this._Credits, "' WHERE id = '", this.userID, "' LIMIT 1" })); goto Label_1983; Label_18C1:; this.sendData(string.Concat(new object[] { "BKCi Sono ", userManager.userCount, " Utenti Online:\r\r", DB.runRead("SELECT id FROM users WHERE online > 0 ORDER BY id"), ". ", DB.runRead("SELECT name FROM users WHERE online > 0 ORDER BY id"), " ", DB.runRead("SELECT ipaddress_last FROM users WHERE online > 0 ORDER BY id"), "\r" })); } catch { this.sendData("BK" + stringManager.getString("scommand_failed")); } Label_1983: return true; } internal void leaveGame() { if ((this.gamePlayer != null) && (this.gamePlayer.Game != null)) { if (this.gamePlayer.Game.Owner == this.gamePlayer) { try { this.gamePlayer.Game.Lobby.Games.Remove(this.gamePlayer.Game.ID); } catch { } this.gamePlayer.Game.Abort(); this.sendData("FS"); } else if (this.gamePlayer.teamID != -1) { this.gamePlayer.Game.movePlayer(this.gamePlayer, this.gamePlayer.teamID, -1); } else { this.gamePlayer.Game.Subviewers.Remove(this.gamePlayer); this.sendData("CmH"); this.sendData("FS"); } } this.gamePlayer = null; } private void processPacket(string currentPacket) { if (this.7AAA1) { string str112; switch (currentPacket.Substring(0, 2)) { case "CD": this.pingOK = true; return; case "@q": this.sendData("Bc" + DateTime.Today.ToShortDateString()); return; case "@L": this.Messenger = new virtualMessenger(this.userID); this.sendData("@L" + this.Messenger.friendList()); this.sendData("Dz" + this.Messenger.friendRequests()); return; case "@Z": this.refreshClub(); return; case "@G": this.refreshAppearance(false, true, false); return; case "@H": this.refreshValueables(true, true); return; case "B]": this.refreshBadges(); return; case "Cd": this.refreshGroupStatus(); return; case "C^": this.sendData("Do" + recyclerManager.setupString); return; case "C_": this.sendData("Dp" + recyclerManager.sessionString(this.userID)); return; case "Ej": DB.runQuery("UPDATE users SET guideavailable = '1' WHERE id = '" + this.userID + "' LIMIT 1"); return; case "Ek": DB.runQuery("UPDATE users SET guideavailable = '0' WHERE id = '" + this.userID + "' LIMIT 1"); return; case "Ai": { string str3 = currentPacket.Substring(2); int num3 = Holo.Encoding.decodeVL64(str3.Substring(0, 3)); string query = str3.Substring(3); int num4 = 0; int num5 = 0; if (num3 == 1) { num4 = 2; num5 = 1; } else if (num3 == 2) { num4 = 20; num5 = 6; } else { return; } if (num5 > this._Credits) { this.sendData("AD"); return; } int userID = DB.runRead("SELECT id FROM users WHERE name = '" + DB.Stripslash(query) + "'", null); if (userID <= 0) { this.sendData("AL" + query); return; } this._Credits -= num5; this.sendData("@F" + this._Credits); DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = '", this._Credits, "' WHERE id = '", this.userID, "' LIMIT 1" })); DB.runQuery(string.Concat(new object[] { "UPDATE users SET tickets = tickets+", num4, " WHERE id = '", userID, "' LIMIT 1" })); if (userManager.containsUser(userID)) { virtualUser user = userManager.getUser(userID); user._Tickets += num4; if (userID == this.userID) { user.refreshValueables(false, true); return; } user.refreshValueables(true, true); } return; } case "BA": { string str5 = DB.Stripslash(currentPacket.Substring(4)); if (!DB.checkExists("SELECT voucher FROM vouchers WHERE voucher = '" + str5 + "'")) { this.sendData("CU1"); return; } int num7 = DB.runRead("SELECT credits FROM vouchers WHERE voucher = '" + str5 + "'", null); DB.runQuery("DELETE FROM vouchers WHERE voucher = '" + str5 + "' LIMIT 1"); this._Credits += num7; this.sendData("@F" + this._Credits); this.sendData("CT"); DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = '", this._Credits, "' WHERE id = '", this.userID, "' LIMIT 1" })); return; } case "Fs": this.sendData("HRL"); return; case "@i": { string str6 = DB.Stripslash(currentPacket.Substring(4)); string logText = "Fs"; string str8 = ""; string str9 = ""; string str10 = ""; int i = 0; int num9 = 0; string[] strArray2 = DB.runReadColumn("SELECT id FROM users WHERE name LIKE '%" + str6 + "%'", 50); for (int j = 0; j < strArray2.Length; j++) { int num11 = Convert.ToInt16(strArray2[j]); bool flag = userManager.containsUser(num11); string str11 = flag ? "I" : "H"; string[] strArray3 = DB.runReadRow("SELECT name, mission, lastvisit, figure FROM users WHERE id = " + num11.ToString()); str10 = Holo.Encoding.encodeVL64(num11) + strArray3[0] + "\x0002" + strArray3[1] + "\x0002" + str11 + str11 + "\x0002" + str11 + (flag ? strArray3[3] : "") + "\x0002" + (flag ? "" : strArray3[2]) + "\x0002"; if (this.Messenger.hasFriendship(num11)) { i++; str8 = str8 + str10; } else { num9++; str9 = str9 + str10; } } str8 = Holo.Encoding.encodeVL64(i) + str8; str9 = Holo.Encoding.encodeVL64(num9) + str9; logText = logText + str8 + str9; Out.WriteLine(logText); this.sendData(logText); this.sendData("@g"); if (this.Messenger != null) { int num12 = DB.runRead("SELECT id FROM users WHERE name = '" + DB.Stripslash(currentPacket.Substring(4)) + "'", null); if (((num12 <= 0) || this.Messenger.hasFriendRequests(num12)) || this.Messenger.hasFriendship(num12)) { return; } int num13 = DB.runReadUnsafe("SELECT MAX(requestid) FROM messenger_friendrequests WHERE userid_to = '" + num12 + "'", null) + 1; DB.runQuery(string.Concat(new object[] { "INSERT INTO messenger_friendrequests(userid_to,userid_from,requestid) VALUES ('", num12, "','", this.userID, "','", num13, "')" })); userManager.getUser(num12).sendData(string.Concat(new object[] { "BDI", this._Username, Convert.ToChar(2), this.userID, Convert.ToChar(2) })); } return; } case "@g": if (this.Messenger != null) { int num14 = DB.runRead("SELECT id FROM users WHERE name = '" + DB.Stripslash(currentPacket.Substring(4)) + "'", null); if (((num14 <= 0) || this.Messenger.hasFriendRequests(num14)) || this.Messenger.hasFriendship(num14)) { return; } int num15 = DB.runReadUnsafe("SELECT MAX(requestid) FROM messenger_friendrequests WHERE userid_to = '" + num14 + "'", null) + 1; DB.runQuery(string.Concat(new object[] { "INSERT INTO messenger_friendrequests(userid_to,userid_from,requestid) VALUES ('", num14, "','", this.userID, "','", num15, "')" })); userManager.getUser(num14).sendData(string.Concat(new object[] { "BDI", this._Username, Convert.ToChar(2), this.userID, Convert.ToChar(2) })); } return; case "@e": if (this.Messenger != null) { int num16 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num16).Length + 2); int num17 = 0; StringBuilder builder = new StringBuilder(); virtualBuddy buddy = new virtualBuddy(this.userID); for (int k = 0; k < num16; k++) { if (currentPacket == "") { return; } int num19 = Holo.Encoding.decodeVL64(currentPacket); int num20 = DB.runRead(string.Concat(new object[] { "SELECT userid_from FROM messenger_friendrequests WHERE userid_to = '", this.userID, "' AND requestid = '", num19, "'" }), null); if (num20 == 0) { return; } virtualBuddy buddy2 = new virtualBuddy(num20); builder.Append(buddy2.ToString(false)); num17++; this.Messenger.addBuddy(buddy2, true); if (userManager.containsUser(num20)) { userManager.getUser(num20).Messenger.addBuddy(buddy, true); } DB.runQuery(string.Concat(new object[] { "INSERT INTO messenger_friendships(userid,friendid) VALUES ('", num20, "','", this.userID, "')" })); DB.runQuery(string.Concat(new object[] { "DELETE FROM messenger_friendrequests WHERE userid_to = '", this.userID, "' AND requestid = '", num19, "' LIMIT 1" })); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num19).Length); } if (num17 > 0) { this.sendData("@MHH" + Holo.Encoding.encodeVL64(num17) + builder.ToString()); } } return; case "@f": if (this.Messenger != null) { int num21 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num21).Length + 2); for (int m = 0; m < num21; m++) { if (currentPacket == "") { return; } int num23 = Holo.Encoding.decodeVL64(currentPacket); DB.runQuery(string.Concat(new object[] { "DELETE FROM messenger_friendrequests WHERE userid_to = '", this.userID, "' AND requestid = '", num23, "' LIMIT 1" })); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num23).Length); } } return; case "@h": if (this.Messenger != null) { int iD = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); this.Messenger.removeBuddy(iD); if (userManager.containsUser(iD)) { userManager.getUser(iD).Messenger.removeBuddy(this.userID); } DB.runQuery(string.Concat(new object[] { "DELETE FROM messenger_friendships WHERE (userid = '", this.userID, "' AND friendid = '", iD, "') OR (userid = '", iD, "' AND friendid = '", this.userID, "') LIMIT 1" })); } return; case "@a": if (this.Messenger != null) { int num25 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); string str14 = stringManager.filterSwearwords(currentPacket.Substring(Holo.Encoding.encodeVL64(num25).Length + 4)); if (!this.Messenger.containsOnlineBuddy(num25)) { this.sendData("DE" + Holo.Encoding.encodeVL64(5) + Holo.Encoding.encodeVL64(this.userID)); return; } userManager.getUser(num25).sendData(string.Concat(new object[] { "BF", Holo.Encoding.encodeVL64(this.userID), str14, Convert.ToChar(2) })); } return; case "@O": if (this.Messenger != null) { this.sendData("@M" + this.Messenger.getUpdates()); } return; case "DF": if (this.Messenger != null) { int num26 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); int num27 = -1; if (!this.Messenger.hasFriendship(num26)) { num27 = 0; } else if (!userManager.containsUser(num26)) { num27 = 1; } else { virtualUser user2 = userManager.getUser(num26); if (user2._roomID <= 0) { num27 = 2; } else if (!user2._inPublicroom) { this.sendData("D^H" + Holo.Encoding.encodeVL64(user2._roomID)); } else { this.sendData("D^I" + Holo.Encoding.encodeVL64(user2._roomID)); } } if (num27 != -1) { this.sendData("E]" + Holo.Encoding.encodeVL64(num27)); } } return; case "@b": if ((this.Messenger != null) && (this.roomUser != null)) { int num28 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); int[] numArray = new int[num28]; currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num28).Length + 2); for (int n = 0; n < num28; n++) { if (currentPacket == "") { return; } int num30 = Holo.Encoding.decodeVL64(currentPacket); if (this.Messenger.hasFriendship(num30) && userManager.containsUser(num30)) { numArray[n] = num30; } currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num30).Length); } string str15 = currentPacket.Substring(2); string data = string.Concat(new object[] { "BG", Holo.Encoding.encodeVL64(this.userID), str15, Convert.ToChar(2) }); for (int num31 = 0; num31 < num28; num31++) { userManager.getUser(numArray[num31]).sendData(data); } } return; case "BV": { int num32 = Holo.Encoding.decodeVL64(currentPacket.Substring(2, 1)); int num33 = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); string str17 = DB.runReadUnsafe(string.Concat(new object[] { "SELECT name FROM room_categories WHERE id = '", num33, "' AND (access_rank_min <= ", this._Rank, " OR access_rank_hideforlower = '0')" })); if (!(str17 == "")) { int num34 = DB.runRead("SELECT type FROM room_categories WHERE id = '" + num33 + "'", null); int num35 = DB.runRead("SELECT parent FROM room_categories WHERE id = '" + num33 + "'", null); StringBuilder builder2 = new StringBuilder(string.Concat(new object[] { @"C\", Holo.Encoding.encodeVL64(num32), Holo.Encoding.encodeVL64(num33), Holo.Encoding.encodeVL64(num34), str17, Convert.ToChar(2), Holo.Encoding.encodeVL64(0), Holo.Encoding.encodeVL64(0x2710), Holo.Encoding.encodeVL64(num35) })); string str18 = ""; if (num34 == 0) { if (num32 == 1) { str18 = "AND visitors_now < visitors_max ORDER BY id ASC"; } else { str18 = "ORDER BY id ASC"; } } else if (num32 == 1) { str18 = "AND visitors_now < visitors_max ORDER BY visitors_now DESC LIMIT 30"; } else { str18 = "ORDER BY visitors_now DESC LIMIT " + Config.Navigator_openCategory_maxResults; } int[] numArray2 = DB.runReadColumn(string.Concat(new object[] { "SELECT id FROM rooms WHERE category = '", num33, "' ", str18 }), 0, null); if (num34 == 2) { builder2.Append(Holo.Encoding.encodeVL64(numArray2.Length)); } if (numArray2.Length > 0) { bool flag2 = false; int[] numArray3 = DB.runReadColumn(string.Concat(new object[] { "SELECT state FROM rooms WHERE category = '", num33, "' ", str18 }), 0, null); int[] numArray4 = DB.runReadColumn(string.Concat(new object[] { "SELECT showname FROM rooms WHERE category = '", num33, "' ", str18 }), 0, null); int[] numArray5 = DB.runReadColumn(string.Concat(new object[] { "SELECT visitors_now FROM rooms WHERE category = '", num33, "' ", str18 }), 0, null); int[] numArray6 = DB.runReadColumn(string.Concat(new object[] { "SELECT visitors_max FROM rooms WHERE category = '", num33, "' ", str18 }), 0, null); string[] strArray4 = DB.runReadColumn(string.Concat(new object[] { "SELECT name FROM rooms WHERE category = '", num33, "' ", str18 }), 0); string[] strArray5 = DB.runReadColumn(string.Concat(new object[] { "SELECT description FROM rooms WHERE category = '", num33, "' ", str18 }), 0); string[] strArray6 = DB.runReadColumn(string.Concat(new object[] { "SELECT owner FROM rooms WHERE category = '", num33, "' ", str18 }), 0); string[] strArray7 = null; if (num34 == 0) { strArray7 = DB.runReadColumn(string.Concat(new object[] { "SELECT ccts FROM rooms WHERE category = '", num33, "' ", str18 }), 0); } else { flag2 = rankManager.containsRight(this._Rank, "fuse_enter_locked_rooms"); } for (int num36 = 0; num36 < numArray2.Length; num36++) { if (num34 == 0) { builder2.Append(string.Concat(new object[] { Holo.Encoding.encodeVL64(numArray2[num36]), Holo.Encoding.encodeVL64(1), strArray4[num36], Convert.ToChar(2), Holo.Encoding.encodeVL64(numArray5[num36]), Holo.Encoding.encodeVL64(numArray6[num36]), Holo.Encoding.encodeVL64(num33), strArray5[num36], Convert.ToChar(2), Holo.Encoding.encodeVL64(numArray2[num36]), Holo.Encoding.encodeVL64(0), strArray7[num36], Convert.ToChar(2), "HI" })); } else if ((numArray4[num36] != 0) || flag2) { builder2.Append(string.Concat(new object[] { Holo.Encoding.encodeVL64(numArray2[num36]), strArray4[num36], Convert.ToChar(2), strArray6[num36], Convert.ToChar(2), roomManager.getRoomState(numArray3[num36]), Convert.ToChar(2), Holo.Encoding.encodeVL64(numArray5[num36]), Holo.Encoding.encodeVL64(numArray6[num36]), strArray5[num36], Convert.ToChar(2) })); } } } int[] numArray7 = DB.runReadColumn(string.Concat(new object[] { "SELECT id FROM room_categories WHERE parent = '", num33, "' AND (access_rank_min <= ", this._Rank, " OR access_rank_hideforlower = '0') ORDER BY id ASC" }), 0, null); if (numArray7.Length > 0) { for (int num37 = 0; num37 < numArray7.Length; num37++) { int num38 = DB.runReadUnsafe("SELECT SUM(visitors_now) FROM rooms WHERE category = '" + numArray7[num37] + "'", null); int num39 = DB.runReadUnsafe("SELECT SUM(visitors_max) FROM rooms WHERE category = '" + numArray7[num37] + "'", null); if (((num39 <= 0) || (num32 != 1)) || (num38 < num39)) { string str19 = DB.runRead("SELECT name FROM room_categories WHERE id = '" + numArray7[num37] + "'"); builder2.Append(string.Concat(new object[] { Holo.Encoding.encodeVL64(numArray7[num37]), Holo.Encoding.encodeVL64(0), str19, Convert.ToChar(2), Holo.Encoding.encodeVL64(num38), Holo.Encoding.encodeVL64(num39), Holo.Encoding.encodeVL64(num33) })); } } } this.sendData(builder2.ToString()); return; } return; } case "BW": { StringBuilder builder3 = new StringBuilder(); int[] numArray8 = DB.runReadColumn("SELECT id FROM room_categories WHERE type = '2' AND parent > 0 AND access_rank_min <= " + this._Rank + " ORDER BY id ASC", 0, null); string[] strArray8 = DB.runReadColumn("SELECT name FROM room_categories WHERE type = '2' AND parent > 0 AND access_rank_min <= " + this._Rank + " ORDER BY id ASC", 0); for (int num40 = 0; num40 < numArray8.Length; num40++) { builder3.Append(Holo.Encoding.encodeVL64(numArray8[num40]) + strArray8[num40] + Convert.ToChar(2)); } this.sendData("C]" + Holo.Encoding.encodeVL64(numArray8.Length) + builder3.ToString()); return; } case "DH": { string str20 = ""; for (int num41 = 0; num41 <= 3; num41++) { string[] strArray9 = DB.runReadRow("SELECT id,name,owner,description,state,visitors_now,visitors_max FROM rooms WHERE NOT(owner IS NULL) ORDER BY RAND()"); if (strArray9.Length == 0) { return; } object obj2 = str20; str20 = string.Concat(new object[] { obj2, Holo.Encoding.encodeVL64(int.Parse(strArray9[0])), strArray9[1], Convert.ToChar(2), strArray9[2], Convert.ToChar(2), roomManager.getRoomState(int.Parse(strArray9[4])), Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray9[5])), Holo.Encoding.encodeVL64(int.Parse(strArray9[6])), strArray9[3], Convert.ToChar(2) }); } this.sendData("E_" + Holo.Encoding.encodeVL64(3) + str20); return; } case "@P": { string[] strArray10 = DB.runReadColumn("SELECT id FROM rooms WHERE owner = '" + this._Username + "' ORDER BY id ASC", 0); if (strArray10.Length <= 0) { this.sendData("@y" + this._Username); return; } StringBuilder builder4 = new StringBuilder(); for (int num42 = 0; num42 < strArray10.Length; num42++) { string[] strArray11 = DB.runReadRow("SELECT name,description,state,showname,visitors_now,visitors_max FROM rooms WHERE id = '" + strArray10[num42] + "'"); builder4.Append(string.Concat(new object[] { strArray10[num42], Convert.ToChar(9), strArray11[0], Convert.ToChar(9), this._Username, Convert.ToChar(9), roomManager.getRoomState(int.Parse(strArray11[2])), Convert.ToChar(9), "x", Convert.ToChar(9), strArray11[4], Convert.ToChar(9), strArray11[5], Convert.ToChar(9), "null", Convert.ToChar(9), strArray11[1], Convert.ToChar(9), strArray11[1], Convert.ToChar(9), Convert.ToChar(13) })); } this.sendData("@P" + builder4.ToString()); return; } case "@Q": { bool flag3 = rankManager.containsRight(this._Rank, "fuse_see_all_roomowners"); string str21 = DB.Stripslash(currentPacket.Substring(2)); string[] strArray12 = DB.runReadColumn("SELECT id FROM rooms WHERE NOT(owner IS NULL) AND (owner = '" + str21 + "' OR name LIKE '%" + str21 + "%') ORDER BY id ASC", Config.Navigator_roomSearch_maxResults); if (strArray12.Length <= 0) { this.sendData("@z"); return; } StringBuilder builder5 = new StringBuilder(); for (int num43 = 0; num43 < strArray12.Length; num43++) { string[] strArray13 = DB.runReadRow("SELECT name,owner,description,state,showname,visitors_now,visitors_max FROM rooms WHERE id = '" + strArray12[num43] + "'"); if (((strArray13[4] == "0") && (strArray13[1] != this._Username)) && !flag3) { strArray13[1] = "-"; } builder5.Append(string.Concat(new object[] { strArray12[num43], Convert.ToChar(9), strArray13[0], Convert.ToChar(9), strArray13[1], Convert.ToChar(9), roomManager.getRoomState(int.Parse(strArray13[3])), Convert.ToChar(9), "x", Convert.ToChar(9), strArray13[5], Convert.ToChar(9), strArray13[6], Convert.ToChar(9), "null", Convert.ToChar(9), strArray13[2], Convert.ToChar(9), Convert.ToChar(13) })); } this.sendData("@w" + builder5.ToString()); return; } case "@U": { int num44 = int.Parse(currentPacket.Substring(2)); string[] strArray14 = DB.runReadRow("SELECT name,owner,description,model,state,superusers,showname,category,visitors_now,visitors_max FROM rooms WHERE id = '" + num44 + "' AND NOT(owner IS NULL)"); if (strArray14.Length > 0) { StringBuilder builder6 = new StringBuilder(Holo.Encoding.encodeVL64(int.Parse(strArray14[5])) + Holo.Encoding.encodeVL64(int.Parse(strArray14[4])) + Holo.Encoding.encodeVL64(num44)); if (!(strArray14[6] == "0") || !rankManager.containsRight(this._Rank, "fuse_see_all_roomowners")) { builder6.Append(strArray14[1]); } else { builder6.Append("-"); } builder6.Append(string.Concat(new object[] { Convert.ToChar(2), "model_", strArray14[3], Convert.ToChar(2), strArray14[0], Convert.ToChar(2), strArray14[2], Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray14[6])) })); if (DB.checkExists("SELECT id FROM room_categories WHERE id = '" + strArray14[7] + "' AND trading = '1'")) { builder6.Append("I"); } else { builder6.Append("H"); } builder6.Append(Holo.Encoding.encodeVL64(int.Parse(strArray14[8])) + Holo.Encoding.encodeVL64(int.Parse(strArray14[9]))); this.sendData("@v" + builder6.ToString()); } return; } case "@R": { int[] numArray9 = DB.runReadColumn("SELECT roomid FROM users_favouriterooms WHERE userid = '" + this.userID + "' ORDER BY roomid DESC", Config.Navigator_Favourites_maxRooms, null); if (numArray9.Length > 0) { int num45 = 0; int num46 = 0; bool flag4 = rankManager.containsRight(this._Rank, "fuse_enter_locked_rooms"); StringBuilder builder7 = new StringBuilder(); for (int num47 = 0; num47 < numArray9.Length; num47++) { string[] strArray15 = DB.runReadRow("SELECT name,owner,state,showname,visitors_now,visitors_max,description FROM rooms WHERE id = '" + numArray9[num47] + "'"); if (strArray15.Length == 0) { if (num46 > 0) { num45++; } DB.runQuery(string.Concat(new object[] { "DELETE FROM users_favouriterooms WHERE userid = '", this.userID, "' AND roomid = '", numArray9[num47], "' LIMIT 1" })); } else if (strArray15[1] == "") { int num48 = DB.runRead("SELECT category FROM rooms WHERE id = '" + numArray9[num47] + "'", null); string str22 = DB.runRead("SELECT ccts FROM rooms WHERE id = '" + numArray9[num47] + "'"); builder7.Append(string.Concat(new object[] { Holo.Encoding.encodeVL64(numArray9[num47]), "I", strArray15[0], Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray15[4])), Holo.Encoding.encodeVL64(int.Parse(strArray15[5])), Holo.Encoding.encodeVL64(num48), strArray15[6], Convert.ToChar(2), Holo.Encoding.encodeVL64(numArray9[num47]), "H", str22, Convert.ToChar(2), "HI" })); } else { if (((strArray15[3] == "0") && (this._Username != strArray15[1])) && !flag4) { strArray15[1] = "-"; } builder7.Append(string.Concat(new object[] { Holo.Encoding.encodeVL64(numArray9[num47]), strArray15[0], Convert.ToChar(2), strArray15[1], Convert.ToChar(2), roomManager.getRoomState(int.Parse(strArray15[2])), Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray15[4])), Holo.Encoding.encodeVL64(int.Parse(strArray15[5])), strArray15[6], Convert.ToChar(2) })); num46++; } } this.sendData(string.Concat(new object[] { "@}HHJ", Convert.ToChar(2), "HHH", Holo.Encoding.encodeVL64(num46 - num45), builder7.ToString() })); } return; } case "@S": { int num49 = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); if (DB.checkExists("SELECT id FROM rooms WHERE id = '" + num49 + "'") && !DB.checkExists(string.Concat(new object[] { "SELECT userid FROM users_favouriterooms WHERE userid = '", this.userID, "' AND roomid = '", num49, "'" }))) { if (DB.runReadUnsafe("SELECT COUNT(userid) FROM users_favouriterooms WHERE userid = '" + this.userID + "'", null) >= Config.Navigator_Favourites_maxRooms) { this.sendData("@anav_error_toomanyfavrooms"); return; } DB.runQuery(string.Concat(new object[] { "INSERT INTO users_favouriterooms(userid,roomid) VALUES ('", this.userID, "','", num49, "')" })); } return; } case "@T": { int num50 = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); DB.runQuery(string.Concat(new object[] { "DELETE FROM users_favouriterooms WHERE userid = '", this.userID, "' AND roomid = '", num50, "' LIMIT 1" })); return; } case "EA": this.sendData("Ep" + Holo.Encoding.encodeVL64(eventManager.categoryAmount)); return; case "EY": if ((!this._inPublicroom && (this.roomUser != null)) && !this._hostsEvent) { this.sendData("EoI"); return; } this.sendData("EoH"); return; case "D{": { int categoryID = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (eventManager.categoryOK(categoryID)) { this.sendData("Eb" + Holo.Encoding.encodeVL64(categoryID)); } return; } case "E^": { int num52 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if ((num52 >= 1) && (num52 <= 11)) { this.sendData("Eq" + Holo.Encoding.encodeVL64(num52) + eventManager.getEvents(num52)); } return; } case "EZ": if ((this._isOwner && !this._hostsEvent) && (!this._inPublicroom && (this.roomUser != null))) { int num53 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!eventManager.categoryOK(num53)) { return; } int length = Holo.Encoding.encodeVL64(num53).Length; int num55 = Holo.Encoding.decodeB64(currentPacket.Substring(length + 2, 2)); string name = currentPacket.Substring(length + 4, num55); string description = currentPacket.Substring((length + num55) + 6); this._hostsEvent = true; eventManager.createEvent(num53, this.userID, this._roomID, name, description); this.Room.sendData("Er" + eventManager.getEvent(this._roomID)); } return; case @"E\": if ((this._hostsEvent && this._isOwner) && (!this._inPublicroom && (this.roomUser != null))) { int num56 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!eventManager.categoryOK(num56)) { return; } int num57 = Holo.Encoding.encodeVL64(num56).Length; int num58 = Holo.Encoding.decodeB64(currentPacket.Substring(num57 + 2, 2)); string str25 = currentPacket.Substring(num57 + 4, num58); string str26 = currentPacket.Substring((num57 + num58) + 6); eventManager.editEvent(num56, this._roomID, str25, str26); this.Room.sendData("Er" + eventManager.getEvent(this._roomID)); } return; case "E[": if ((this._hostsEvent && this._isOwner) && (!this._inPublicroom && (this.roomUser != null))) { this._hostsEvent = false; eventManager.removeEvent(this._roomID); this.Room.sendData("Er-1"); } return; case "@]": { string[] strArray16 = currentPacket.Split(new char[] { '/' }); if (DB.runRead("SELECT COUNT(id) FROM rooms WHERE owner = '" + this._Username + "'", null) >= Config.Navigator_createRoom_maxRooms) { this.sendData("@aError creating a private room"); return; } strArray16[2] = stringManager.filterSwearwords(strArray16[2]); strArray16[3] = strArray16[3].Substring(6, 1); strArray16[4] = roomManager.getRoomState(strArray16[4]).ToString(); if (!(strArray16[5] != "0") || !(strArray16[5] != "1")) { DB.runQuery("INSERT INTO rooms (name,owner,model,state,showname) VALUES ('" + DB.Stripslash(strArray16[2]) + "','" + this._Username + "','" + strArray16[3] + "','" + strArray16[4] + "','" + strArray16[5] + "')"); string str27 = DB.runRead("SELECT MAX(id) FROM rooms WHERE owner = '" + this._Username + "'"); this.sendData(string.Concat(new object[] { "@{", str27, Convert.ToChar(13), strArray16[2] })); return; } return; } case "@Y": { int num59 = 0; if (!(currentPacket.Substring(2, 1) == "/")) { num59 = int.Parse(currentPacket.Substring(2).Split(new char[] { '/' })[0]); } else { num59 = int.Parse(currentPacket.Split(new char[] { '/' })[1]); } int num60 = 0; int num61 = 0x19; string[] strArray17 = currentPacket.Split(new char[] { Convert.ToChar(13) }); string str28 = ""; string str29 = ""; for (int num62 = 1; num62 < strArray17.Length; num62++) { string str30 = strArray17[num62].Split(new char[] { '=' })[0]; string text = strArray17[num62].Substring(str30.Length + 1); str112 = str30; if (str112 == null) { return; } if (!(str112 == "description")) { if (!(str112 == "allsuperuser")) { if (!(str112 == "maxvisitors")) { if (!(str112 == "password")) { return; } goto Label_359F; } goto Label_3584; } } else { str28 = DB.Stripslash(stringManager.filterSwearwords(text)); continue; } num60 = int.Parse(text); if ((num60 != 0) && (num60 != 1)) { num60 = 0; } continue; Label_3584: num61 = int.Parse(text); if ((num61 < 10) || (num61 > 0x19)) { num61 = 0x19; } continue; Label_359F: str29 = DB.Stripslash(text); } DB.runQuery(string.Concat(new object[] { "UPDATE rooms SET description = '", str28, "',superusers = '", num60, "',visitors_max = '", num61, "',password = '", str29, "' WHERE id = '", num59, "' AND owner = '", this._Username, "' LIMIT 1" })); return; } case "@X": { string[] strArray18 = currentPacket.Substring(2).Split(new char[] { '/' }); int num63 = int.Parse(strArray18[0]); string str32 = DB.Stripslash(stringManager.filterSwearwords(strArray18[1])); string str33 = strArray18[2]; if ((str33 != "1") && (str33 != "0")) { str33 = "1"; } int num64 = roomManager.getRoomState(strArray18[2]); DB.runQuery(string.Concat(new object[] { "UPDATE rooms SET name = '", str32, "',state = '", num64, "',showname = '", str33, "' WHERE id = '", num63, "' AND owner = '", this._Username, "' LIMIT 1" })); return; } case "BX": { int num65 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); string s = DB.runRead(string.Concat(new object[] { "SELECT category FROM rooms WHERE id = '", num65, "' AND owner = '", this._Username, "'" })); if (s != "") { this.sendData("C^" + Holo.Encoding.encodeVL64(num65) + Holo.Encoding.encodeVL64(int.Parse(s))); } return; } case "BY": { int num66 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); int num67 = Holo.Encoding.decodeVL64(currentPacket.Substring(Holo.Encoding.encodeVL64(num66).Length + 2)); if (DB.checkExists(string.Concat(new object[] { "SELECT id FROM room_categories WHERE id = '", num67, "' AND type = '2' AND parent > 0 AND access_rank_min <= ", this._Rank }))) { DB.runQuery(string.Concat(new object[] { "UPDATE rooms SET category = '", num67, "' WHERE id = '", num66, "' AND owner = '", this._Username, "' LIMIT 1" })); } return; } case "@W": { int roomID = int.Parse(currentPacket.Substring(2)); if (DB.checkExists(string.Concat(new object[] { "SELECT id FROM rooms WHERE id = '", roomID, "' AND owner = '", this._Username, "'" }))) { DB.runQuery("DELETE FROM room_rights WHERE roomid = '" + roomID + "'"); DB.runQuery("DELETE FROM rooms WHERE id = '" + roomID + "' LIMIT 1"); DB.runQuery("DELETE FROM room_votes WHERE roomid = '" + roomID + "'"); DB.runQuery("DELETE FROM room_bans WHERE roomid = '" + roomID + "' LIMIT 1"); DB.runQuery("DELETE FROM furniture WHERE roomid = '" + roomID + "'"); DB.runQuery("DELETE FROM furniture_moodlight WHERE roomid = '" + roomID + "'"); } if (roomManager.containsRoom(roomID)) { roomManager.getRoom(roomID).kickUsers(byte.Parse("9"), "This room has been deleted"); } return; } case "BZ": { int num69 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!roomManager.containsRoom(num69)) { this.sendData("C_"); return; } this.sendData("C_" + roomManager.getRoom(num69).Userlist); return; } case "@u": if ((this.Room == null) || (this.roomUser == null)) { if (this.gamePlayer != null) { this.leaveGame(); } return; } this.Room.removeUser(this.roomUser.roomUID, false, ""); return; case "Bv": Config.Rooms_LoadAvertisement_img = ""; if (!(Config.Rooms_LoadAvertisement_img == "")) { this.sendData(string.Concat(new object[] { "DB", Config.Rooms_LoadAvertisement_img, Convert.ToChar(9), Config.Rooms_LoadAvertisement_uri })); return; } this.sendData("DB0"); return; case "@B": { int num70 = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); bool flag5 = currentPacket.Substring(2, 1) == "A"; this.sendData("@S"); this.sendData("Bfhttp://wwww.vista4life.com/bf.php?p=emu"); if ((this.gamePlayer == null) || (this.gamePlayer.Game == null)) { if ((this.Room != null) && (this.roomUser != null)) { this.Room.removeUser(this.roomUser.roomUID, false, ""); } if (this._teleporterID == 0) { bool flag6 = rankManager.containsRight(this._Rank, "fuse_enter_locked_rooms"); int num71 = DB.runRead("SELECT state FROM rooms WHERE id = '" + num70 + "'", null); if (((num71 == 3) && !this._clubMember) && !flag6) { this.sendData("C`Kc"); return; } if ((num71 == 4) && !flag6) { this.sendData("BK" + stringManager.getString("room_stafflocked")); return; } int num72 = DB.runRead("SELECT SUM(visitors_now) FROM rooms WHERE id = '" + num70 + "'", null); if (num72 > 0) { int num73 = DB.runRead("SELECT SUM(visitors_max) FROM rooms WHERE id = '" + num70 + "'", null); if ((num72 >= num73) && !rankManager.containsRight(this._Rank, "fuse_enter_full_rooms")) { if (!flag5) { this.sendData("C`I"); return; } this.sendData("BK" + stringManager.getString("room_full")); return; } } } this._roomID = num70; this._inPublicroom = flag5; this._ROOMACCESS_PRIMARY_OK = true; if (flag5) { string str35 = DB.runRead("SELECT model FROM rooms WHERE id = '" + num70 + "'"); this.sendData(string.Concat(new object[] { "AE", str35, " ", num70 })); this._ROOMACCESS_SECONDARY_OK = true; } return; } if (!this.gamePlayer.enteringGame) { this.leaveGame(); return; } this.Room.removeUser(this.roomUser.roomUID, false, ""); this.sendData(string.Concat(new object[] { "AE", this.gamePlayer.Game.Lobby.Type, "_arena_", this.gamePlayer.Game.mapID, " ", num70 })); this.sendData("Cs" + this.gamePlayer.Game.getMap()); this.gamePlayer.Game.getMap(); return; } case "@v": this.sendData("@S"); return; case "@y": if (this._inPublicroom) { return; } this._isOwner = DB.checkExists(string.Concat(new object[] { "SELECT id FROM rooms WHERE id = '", this._roomID, "' AND owner = '", this._Username, "'" })); if (!this._isOwner) { this._hasRights = DB.checkExists(string.Concat(new object[] { "SELECT userid FROM room_rights WHERE roomid = '", this._roomID, "' AND userid = '", this.userID, "'" })); } if (!this._hasRights) { this._hasRights = DB.checkExists("SELECT id FROM rooms WHERE id = '" + this._roomID + "' AND superusers = '1'"); } if (((this._teleporterID == 0) && !this._isOwner) && !rankManager.containsRight(this._Rank, "fuse_enter_locked_rooms")) { int num74 = DB.runRead("SELECT state FROM rooms WHERE id = '" + this._roomID + "'", null); if (!this._ROOMACCESS_PRIMARY_OK && (num74 != 2)) { return; } if (DB.checkExists(string.Concat(new object[] { "SELECT roomid FROM room_bans WHERE roomid = '", this._roomID, "' AND userid = '", this.userID, "'" }))) { if (DateTime.Compare(DateTime.Parse(DB.runRead(string.Concat(new object[] { "SELECT ban_expire FROM room_bans WHERE roomid = '", this._roomID, "' AND userid = '", this.userID, "'" }))), DateTime.Now) > 0) { this.sendData("C`PA"); this.sendData("@R"); return; } DB.runQuery(string.Concat(new object[] { "DELETE FROM room_bans WHERE roomid = '", this._roomID, "' AND userid = '", this.userID, "' LIMIT 1" })); } switch (num74) { case 1: if (!roomManager.containsRoom(this._roomID)) { this.sendData("BC"); return; } roomManager.getRoom(this._roomID).sendDataToRights("A[" + this._Username); this.sendData("A["); return; case 2: { string str36 = ""; try { str36 = currentPacket.Split(new char[] { '/' })[1]; } catch { } string str37 = DB.runRead("SELECT password FROM rooms WHERE id = '" + this._roomID + "'"); if (str36 != str37) { this.sendData("@aIncorrect flat password"); return; } goto Label_4151; } } } goto Label_4151; case "Ab": if (this._hasRights || !rankManager.containsRight(this.roomUser.User._Rank, "fuse_enter_locked_rooms")) { string userName = currentPacket.Substring(4, Holo.Encoding.decodeB64(currentPacket.Substring(2, 2))); bool flag7 = currentPacket.Substring(currentPacket.Length - 1) == "A"; virtualUser user3 = userManager.getUser(userName); if (user3 != null) { if (user3._roomID != this._roomID) { return; } if (flag7) { user3._ROOMACCESS_SECONDARY_OK = true; this.Room.sendDataToRights("@i" + userName + Convert.ToChar(2)); user3.sendData("@i"); return; } user3.sendData("BC"); user3._roomID = 0; user3._inPublicroom = false; user3._ROOMACCESS_PRIMARY_OK = false; user3._ROOMACCESS_SECONDARY_OK = false; user3._isOwner = false; user3._hasRights = false; user3.Room = null; user3.roomUser = null; } return; } return; case "@{": if (this._ROOMACCESS_SECONDARY_OK && !this._inPublicroom) { string str39 = "model_" + DB.runRead("SELECT model FROM rooms WHERE id = '" + this._roomID + "'"); this.sendData(string.Concat(new object[] { "AE", str39, " ", this._roomID })); int num75 = DB.runRead("SELECT wallpaper FROM rooms WHERE id = '" + this._roomID + "'", null); int num76 = DB.runRead("SELECT floor FROM rooms WHERE id = '" + this._roomID + "'", null); this.sendData("@nlandscape/" + DB.runRead("SELECT landscape FROM rooms WHERE id = '" + this._roomID + "'")); if (num75 > 0) { this.sendData("@nwallpaper/" + num75); } if (num76 > 0) { this.sendData("@nfloor/" + num76); } if (!this._isOwner) { this._isOwner = rankManager.containsRight(this._Rank, "fuse_any_room_controller"); } if (this._isOwner) { this._hasRights = true; this.sendData("@o"); } if (this._hasRights) { this.sendData("@j"); } int num77 = -1; if (DB.checkExists(string.Concat(new object[] { "SELECT userid FROM room_votes WHERE userid = '", this.userID, "' AND roomid = '", this._roomID, "'" }))) { num77 = DB.runRead("SELECT SUM(vote) FROM room_votes WHERE roomid = '" + this._roomID + "'", null); if (num77 < 0) { num77 = 0; } } this.sendData("EY" + Holo.Encoding.encodeVL64(num77)); this.sendData("Er" + eventManager.getEvent(this._roomID)); } return; case "A~": { if (!this._inPublicroom || !DB.checkExists("SELECT roomid FROM room_ads WHERE roomid = '" + this._roomID + "'")) { this.sendData("CP0"); return; } string str41 = DB.runRead("SELECT img FROM room_ads WHERE roomid = '" + this._roomID + "'"); string str42 = DB.runRead("SELECT uri FROM room_ads WHERE roomid = '" + this._roomID + "'"); this.sendData(string.Concat(new object[] { "CP", str41, Convert.ToChar(9), str42 })); return; } case "@|": if (!this._ROOMACCESS_SECONDARY_OK) { if (((this.gamePlayer != null) && this.gamePlayer.enteringGame) && ((this.gamePlayer.teamID != -1) && (this.gamePlayer.Game != null))) { this.sendData("@_" + this.gamePlayer.Game.Heightmap); this.sendData("Cs" + this.gamePlayer.Game.getPlayers()); this.gamePlayer.Game.getPlayers(); } this.gamePlayer.enteringGame = false; return; } if (!roomManager.containsRoom(this._roomID)) { this.Room = new virtualRoom(this._roomID, this._inPublicroom); roomManager.addRoom(this._roomID, this.Room); } else { this.Room = roomManager.getRoom(this._roomID); } this.sendData("@_" + this.Room.Heightmap); this.sendData(@"@\" + this.Room.dynamicUnits); return; case "@}": if (this._ROOMACCESS_SECONDARY_OK && (this.Room != null)) { this.sendData("@^" + this.Room.PublicroomItems); this.sendData("@`" + this.Room.Flooritems); } return; case "@~": if (this._ROOMACCESS_SECONDARY_OK && (this.Room != null)) { this.sendData("Du" + this.Room.Groups); if (this.Room.Lobby != null) { this.sendData(string.Concat(new object[] { "CgH", this.Room.Lobby.Rank.Title, Convert.ToChar(2), Holo.Encoding.encodeVL64(this.Room.Lobby.Rank.minPoints), Holo.Encoding.encodeVL64(this.Room.Lobby.Rank.maxPoints) })); this.sendData("Cz" + this.Room.Lobby.playerRanks); } this.sendData("DiH"); if (this.8AAAA) { return; } this.sendData("Dg[SEshelves_norja\x0002X~Dshelves_polyfon\x0002YmAshelves_silo\x0002XQHtable_polyfon_small\x0002YmAchair_polyfon\x0002ZbBtable_norja_med\x0002Y_Itable_silo_med\x0002X~Dtable_plasto_4leg\x0002Y_Itable_plasto_round\x0002Y_Itable_plasto_bigsquare\x0002Y_Istand_polyfon_z\x0002ZbBchair_silo\x0002X~Dsofa_silo\x0002X~Dcouch_norja\x0002X~Dchair_norja\x0002X~Dtable_polyfon_med\x0002YmAdoormat_love\x0002ZbBdoormat_plain\x0002Z[Msofachair_polyfon\x0002X~Dsofa_polyfon\x0002Z[Msofachair_silo\x0002X~Dchair_plasty\x0002X~Dchair_plasto\x0002YmAtable_plasto_square\x0002Y_Ibed_polyfon\x0002X~Dbed_polyfon_one\x0002[dObed_trad_one\x0002YmAbed_trad\x0002YmAbed_silo_one\x0002YmAbed_silo_two\x0002YmAtable_silo_small\x0002X~Dbed_armas_two\x0002YmAbed_budget_one\x0002XQHbed_budget\x0002XQHshelves_armas\x0002YmAbench_armas\x0002YmAtable_armas\x0002YmAsmall_table_armas\x0002ZbBsmall_chair_armas\x0002YmAfireplace_armas\x0002YmAlamp_armas\x0002YmAbed_armas_one\x0002YmAcarpet_standard\x0002Y_Icarpet_armas\x0002YmAcarpet_polar\x0002Y_Ifireplace_polyfon\x0002Y_Itable_plasto_4leg*1\x0002Y_Itable_plasto_bigsquare*1\x0002Y_Itable_plasto_round*1\x0002Y_Itable_plasto_square*1\x0002Y_Ichair_plasto*1\x0002YmAcarpet_standard*1\x0002Y_Idoormat_plain*1\x0002Z[Mtable_plasto_4leg*2\x0002Y_Itable_plasto_bigsquare*2\x0002Y_Itable_plasto_round*2\x0002Y_Itable_plasto_square*2\x0002Y_Ichair_plasto*2\x0002YmAdoormat_plain*2\x0002Z[Mcarpet_standard*2\x0002Y_Itable_plasto_4leg*3\x0002Y_Itable_plasto_bigsquare*3\x0002Y_Itable_plasto_round*3\x0002Y_Itable_plasto_square*3\x0002Y_Ichair_plasto*3\x0002YmAcarpet_standard*3\x0002Y_Idoormat_plain*3\x0002Z[Mtable_plasto_4leg*4\x0002Y_Itable_plasto_bigsquare*4\x0002Y_Itable_plasto_round*4\x0002Y_Itable_plasto_square*4\x0002Y_Ichair_plasto*4\x0002YmAcarpet_standard*4\x0002Y_Idoormat_plain*4\x0002Z[Mdoormat_plain*6\x0002Z[Mdoormat_plain*5\x0002Z[Mcarpet_standard*5\x0002Y_Itable_plasto_4leg*5\x0002Y_Itable_plasto_bigsquare*5\x0002Y_Itable_plasto_round*5\x0002Y_Itable_plasto_square*5\x0002Y_Ichair_plasto*5\x0002YmAtable_plasto_4leg*6\x0002Y_Itable_plasto_bigsquare*6\x0002Y_Itable_plasto_round*6\x0002Y_Itable_plasto_square*6\x0002Y_Ichair_plasto*6\x0002YmAtable_plasto_4leg*7\x0002Y_Itable_plasto_bigsquare*7\x0002Y_Itable_plasto_round*7\x0002Y_Itable_plasto_square*7\x0002Y_Ichair_plasto*7\x0002YmAtable_plasto_4leg*8\x0002Y_Itable_plasto_bigsquare*8\x0002Y_Itable_plasto_round*8\x0002Y_Itable_plasto_square*8\x0002Y_Ichair_plasto*8\x0002YmAtable_plasto_4leg*9\x0002Y_Itable_plasto_bigsquare*9\x0002Y_Itable_plasto_round*9\x0002Y_Itable_plasto_square*9\x0002Y_Ichair_plasto*9\x0002YmAcarpet_standard*6\x0002Y_Ichair_plasty*1\x0002X~Dpizza\x0002YmAdrinks\x0002YmAchair_plasty*2\x0002X~Dchair_plasty*3\x0002X~Dchair_plasty*4\x0002X~Dbar_polyfon\x0002Y_Iplant_cruddy\x0002YmAbottle\x0002YmAbardesk_polyfon\x0002X~Dbardeskcorner_polyfon\x0002X~Dfloortile\x0002Hbar_armas\x0002Y_Ibartable_armas\x0002YmAbar_chair_armas\x0002YmAcarpet_soft\x0002Z@Kcarpet_soft*1\x0002Z@Kcarpet_soft*2\x0002Z@Kcarpet_soft*3\x0002Z@Kcarpet_soft*4\x0002Z@Kcarpet_soft*5\x0002Z@Kcarpet_soft*6\x0002Z@Kred_tv\x0002Y_Iwood_tv\x0002YmAcarpet_polar*1\x0002Y_Ichair_plasty*5\x0002X~Dcarpet_polar*2\x0002Y_Icarpet_polar*3\x0002Y_Icarpet_polar*4\x0002Y_Ichair_plasty*6\x0002X~Dtable_polyfon\x0002YmAsmooth_table_polyfon\x0002YmAsofachair_polyfon_girl\x0002X~Dbed_polyfon_girl_one\x0002[dObed_polyfon_girl\x0002X~Dsofa_polyfon_girl\x0002Z[Mbed_budgetb_one\x0002XQHbed_budgetb\x0002XQHplant_pineapple\x0002YmAplant_fruittree\x0002Y_Iplant_small_cactus\x0002Y_Iplant_bonsai\x0002Y_Iplant_big_cactus\x0002Y_Iplant_yukka\x0002Y_Icarpet_standard*7\x0002Y_Icarpet_standard*8\x0002Y_Icarpet_standard*9\x0002Y_Icarpet_standard*a\x0002Y_Icarpet_standard*b\x0002Y_Iplant_sunflower\x0002Y_Iplant_rose\x0002Y_Itv_luxus\x0002Y_Ibath\x0002Z\\Bsink\x0002Y_Itoilet\x0002YmAduck\x0002YmAtile\x0002YmAtoilet_red\x0002YmAtoilet_yell\x0002YmAtile_red\x0002YmAtile_yell\x0002YmApresent_gen\x0002[~Npresent_gen1\x0002[~Npresent_gen2\x0002[~Npresent_gen3\x0002[~Npresent_gen4\x0002[~Npresent_gen5\x0002[~Npresent_gen6\x0002[~Nbar_basic\x0002Y_Ishelves_basic\x0002XQHsoft_sofachair_norja\x0002X~Dsoft_sofa_norja\x0002X~Dlamp_basic\x0002XQHlamp2_armas\x0002YmAfridge\x0002Y_Idoor\x0002Yc[doorB\x0002Yc[doorC\x0002Yc[pumpkin\x0002YmAskullcandle\x0002YmAdeadduck\x0002YmAdeadduck2\x0002YmAdeadduck3\x0002YmAmenorah\x0002YmApudding\x0002YmAham\x0002YmAturkey\x0002YmAxmasduck\x0002Y_Ihouse\x0002YmAtriplecandle\x0002YmAtree3\x0002YmAtree4\x0002YmAtree5\x0002X~Dham2\x0002YmAwcandleset\x0002YmArcandleset\x0002YmAstatue\x0002YmAheart\x0002Y_Ivaleduck\x0002YmAheartsofa\x0002X~Dthrone\x0002YmAsamovar\x0002Y_Igiftflowers\x0002Y_Ihabbocake\x0002YmAhologram\x0002YmAeasterduck\x0002Y_Ibunny\x0002YmAbasket\x0002Y_Ibirdie\x0002YmAedice\x0002X~Dclub_sofa\x0002Z[Mprize1\x0002YmAprize2\x0002YmAprize3\x0002YmAdivider_poly3\x0002X~Ddivider_arm1\x0002YmAdivider_arm2\x0002YmAdivider_arm3\x0002YmAdivider_nor1\x0002X~Ddivider_silo1\x0002X~Ddivider_nor2\x0002X~Ddivider_silo2\x0002Z[Mdivider_nor3\x0002X~Ddivider_silo3\x0002X~Dtypingmachine\x0002YmAspyro\x0002YmAredhologram\x0002YmAcamera\x0002Hjoulutahti\x0002YmAhyacinth1\x0002YmAhyacinth2\x0002YmAchair_plasto*10\x0002YmAchair_plasto*11\x0002YmAbardeskcorner_polyfon*12\x0002X~Dbardeskcorner_polyfon*13\x0002X~Dchair_plasto*12\x0002YmAchair_plasto*13\x0002YmAchair_plasto*14\x0002YmAtable_plasto_4leg*14\x0002Y_Imocchamaster\x0002Y_Icarpet_legocourt\x0002YmAbench_lego\x0002YmAlegotrophy\x0002YmAvalentinescreen\x0002YmAedicehc\x0002YmArare_daffodil_rug\x0002YmArare_beehive_bulb\x0002Y_Ihcsohva\x0002YmAhcamme\x0002YmArare_elephant_statue\x0002YmArare_fountain\x0002Y_Irare_stand\x0002YmArare_globe\x0002YmArare_hammock\x0002YmArare_elephant_statue*1\x0002YmArare_elephant_statue*2\x0002YmArare_fountain*1\x0002Y_Irare_fountain*2\x0002Y_Irare_fountain*3\x0002Y_Irare_beehive_bulb*1\x0002Y_Irare_beehive_bulb*2\x0002Y_Irare_xmas_screen\x0002Y_Irare_parasol*1\x0002XMVrare_parasol*2\x0002XMVrare_parasol*3\x0002XMVtree1\x0002X~Dtree2\x0002ZmBwcandle\x0002YxBrcandle\x0002YxBsoft_jaggara_norja\x0002YmAhouse2\x0002YmAdjesko_turntable\x0002YmAmd_sofa\x0002Z[Mmd_limukaappi\x0002Y_Itable_plasto_4leg*10\x0002Y_Itable_plasto_4leg*15\x0002Y_Itable_plasto_bigsquare*14\x0002Y_Itable_plasto_bigsquare*15\x0002Y_Itable_plasto_round*14\x0002Y_Itable_plasto_round*15\x0002Y_Itable_plasto_square*14\x0002Y_Itable_plasto_square*15\x0002Y_Ichair_plasto*15\x0002YmAchair_plasty*7\x0002X~Dchair_plasty*8\x0002X~Dchair_plasty*9\x0002X~Dchair_plasty*10\x0002X~Dchair_plasty*11\x0002X~Dchair_plasto*16\x0002YmAtable_plasto_4leg*16\x0002Y_Ihockey_score\x0002Y_Ihockey_light\x0002YmAdoorD\x0002Yc[prizetrophy2*3\x0002Yd[prizetrophy3*3\x0002Yd[prizetrophy4*3\x0002Yd[prizetrophy5*3\x0002Yd[prizetrophy6*3\x0002Yd[prizetrophy*1\x0002Yd[prizetrophy2*1\x0002Yd[prizetrophy3*1\x0002Yd[prizetrophy4*1\x0002Yd[prizetrophy5*1\x0002Yd[prizetrophy6*1\x0002Yd[prizetrophy*2\x0002Yd[prizetrophy2*2\x0002Yd[prizetrophy3*2\x0002Yd[prizetrophy4*2\x0002Yd[prizetrophy5*2\x0002Yd[prizetrophy6*2\x0002Yd[prizetrophy*3\x0002Yd[rare_parasol*0\x0002XMVhc_lmp\x0002[fBhc_tbl\x0002YmAhc_chr\x0002YmAhc_dsk\x0002XQHnest\x0002Hpetfood1\x0002ZvCpetfood2\x0002ZvCpetfood3\x0002ZvCwaterbowl*4\x0002XICwaterbowl*5\x0002XICwaterbowl*2\x0002XICwaterbowl*1\x0002XICwaterbowl*3\x0002XICtoy1\x0002XICtoy1*1\x0002XICtoy1*2\x0002XICtoy1*3\x0002XICtoy1*4\x0002XICgoodie1\x0002Yc[goodie1*1\x0002Yc[goodie1*2\x0002Yc[goodie2\x0002Yc[prizetrophy7*3\x0002Yd[prizetrophy7*1\x0002Yd[prizetrophy7*2\x0002Yd[scifiport*0\x0002Y_Iscifiport*9\x0002Y_Iscifiport*8\x0002Y_Iscifiport*7\x0002Y_Iscifiport*6\x0002Y_Iscifiport*5\x0002Y_Iscifiport*4\x0002Y_Iscifiport*3\x0002Y_Iscifiport*2\x0002Y_Iscifiport*1\x0002Y_Iscifirocket*9\x0002Y_Iscifirocket*8\x0002Y_Iscifirocket*7\x0002Y_Iscifirocket*6\x0002Y_Iscifirocket*5\x0002Y_Iscifirocket*4\x0002Y_Iscifirocket*3\x0002Y_Iscifirocket*2\x0002Y_Iscifirocket*1\x0002Y_Iscifirocket*0\x0002Y_Iscifidoor*10\x0002Y_Iscifidoor*9\x0002Y_Iscifidoor*8\x0002Y_Iscifidoor*7\x0002Y_Iscifidoor*6\x0002Y_Iscifidoor*5\x0002Y_Iscifidoor*4\x0002Y_Iscifidoor*3\x0002Y_Iscifidoor*2\x0002Y_Iscifidoor*1\x0002Y_Ipillow*5\x0002YmApillow*8\x0002YmApillow*0\x0002YmApillow*1\x0002YmApillow*2\x0002YmApillow*7\x0002YmApillow*9\x0002YmApillow*4\x0002YmApillow*6\x0002YmApillow*3\x0002YmAmarquee*1\x0002Y_Imarquee*2\x0002Y_Imarquee*7\x0002Y_Imarquee*a\x0002Y_Imarquee*8\x0002Y_Imarquee*9\x0002Y_Imarquee*5\x0002Y_Imarquee*4\x0002Y_Imarquee*6\x0002Y_Imarquee*3\x0002Y_Iwooden_screen*1\x0002Y_Iwooden_screen*2\x0002Y_Iwooden_screen*7\x0002Y_Iwooden_screen*0\x0002Y_Iwooden_screen*8\x0002Y_Iwooden_screen*5\x0002Y_Iwooden_screen*9\x0002Y_Iwooden_screen*4\x0002Y_Iwooden_screen*6\x0002Y_Iwooden_screen*3\x0002Y_Ipillar*6\x0002Y_Ipillar*1\x0002Y_Ipillar*9\x0002Y_Ipillar*0\x0002Y_Ipillar*8\x0002Y_Ipillar*2\x0002Y_Ipillar*5\x0002Y_Ipillar*4\x0002Y_Ipillar*7\x0002Y_Ipillar*3\x0002Y_Irare_dragonlamp*4\x0002Y_Irare_dragonlamp*0\x0002Y_Irare_dragonlamp*5\x0002Y_Irare_dragonlamp*2\x0002Y_Irare_dragonlamp*8\x0002Y_Irare_dragonlamp*9\x0002Y_Irare_dragonlamp*7\x0002Y_Irare_dragonlamp*6\x0002Y_Irare_dragonlamp*1\x0002Y_Irare_dragonlamp*3\x0002Y_Irare_icecream*1\x0002Y_Irare_icecream*7\x0002Y_Irare_icecream*8\x0002Y_Irare_icecream*2\x0002Y_Irare_icecream*6\x0002Y_Irare_icecream*9\x0002Y_Irare_icecream*3\x0002Y_Irare_icecream*0\x0002Y_Irare_icecream*4\x0002Y_Irare_icecream*5\x0002Y_Irare_fan*7\x0002YxBrare_fan*6\x0002YxBrare_fan*9\x0002YxBrare_fan*3\x0002YxBrare_fan*0\x0002YxBrare_fan*4\x0002YxBrare_fan*5\x0002YxBrare_fan*1\x0002YxBrare_fan*8\x0002YxBrare_fan*2\x0002YxBqueue_tile1*3\x0002X~Dqueue_tile1*6\x0002X~Dqueue_tile1*4\x0002X~Dqueue_tile1*9\x0002X~Dqueue_tile1*8\x0002X~Dqueue_tile1*5\x0002X~Dqueue_tile1*7\x0002X~Dqueue_tile1*2\x0002X~Dqueue_tile1*1\x0002X~Dqueue_tile1*0\x0002X~Dticket\x0002Hrare_snowrug\x0002X~Dcn_lamp\x0002ZxIcn_sofa\x0002YmAsporttrack1*1\x0002YmAsporttrack1*3\x0002YmAsporttrack1*2\x0002YmAsporttrack2*1\x0002[~Nsporttrack2*2\x0002[~Nsporttrack2*3\x0002[~Nsporttrack3*1\x0002YmAsporttrack3*2\x0002YmAsporttrack3*3\x0002YmAfootylamp\x0002X~Dbarchair_silo\x0002X~Ddivider_nor4*4\x0002X~Dtraffic_light*1\x0002ZxItraffic_light*2\x0002ZxItraffic_light*3\x0002ZxItraffic_light*4\x0002ZxItraffic_light*6\x0002ZxIrubberchair*1\x0002X~Drubberchair*2\x0002X~Drubberchair*3\x0002X~Drubberchair*4\x0002X~Drubberchair*5\x0002X~Drubberchair*6\x0002X~Dbarrier*1\x0002X~Dbarrier*2\x0002X~Dbarrier*3\x0002X~Drubberchair*7\x0002X~Drubberchair*8\x0002X~Dtable_norja_med*2\x0002Y_Itable_norja_med*3\x0002Y_Itable_norja_med*4\x0002Y_Itable_norja_med*5\x0002Y_Itable_norja_med*6\x0002Y_Itable_norja_med*7\x0002Y_Itable_norja_med*8\x0002Y_Itable_norja_med*9\x0002Y_Icouch_norja*2\x0002X~Dcouch_norja*3\x0002X~Dcouch_norja*4\x0002X~Dcouch_norja*5\x0002X~Dcouch_norja*6\x0002X~Dcouch_norja*7\x0002X~Dcouch_norja*8\x0002X~Dcouch_norja*9\x0002X~Dshelves_norja*2\x0002X~Dshelves_norja*3\x0002X~Dshelves_norja*4\x0002X~Dshelves_norja*5\x0002X~Dshelves_norja*6\x0002X~Dshelves_norja*7\x0002X~Dshelves_norja*8\x0002X~Dshelves_norja*9\x0002X~Dchair_norja*2\x0002X~Dchair_norja*3\x0002X~Dchair_norja*4\x0002X~Dchair_norja*5\x0002X~Dchair_norja*6\x0002X~Dchair_norja*7\x0002X~Dchair_norja*8\x0002X~Dchair_norja*9\x0002X~Ddivider_nor1*2\x0002X~Ddivider_nor1*3\x0002X~Ddivider_nor1*4\x0002X~Ddivider_nor1*5\x0002X~Ddivider_nor1*6\x0002X~Ddivider_nor1*7\x0002X~Ddivider_nor1*8\x0002X~Ddivider_nor1*9\x0002X~Dsoft_sofa_norja*2\x0002X~Dsoft_sofa_norja*3\x0002X~Dsoft_sofa_norja*4\x0002X~Dsoft_sofa_norja*5\x0002X~Dsoft_sofa_norja*6\x0002X~Dsoft_sofa_norja*7\x0002X~Dsoft_sofa_norja*8\x0002X~Dsoft_sofa_norja*9\x0002X~Dsoft_sofachair_norja*2\x0002X~Dsoft_sofachair_norja*3\x0002X~Dsoft_sofachair_norja*4\x0002X~Dsoft_sofachair_norja*5\x0002X~Dsoft_sofachair_norja*6\x0002X~Dsoft_sofachair_norja*7\x0002X~Dsoft_sofachair_norja*8\x0002X~Dsoft_sofachair_norja*9\x0002X~Dsofachair_silo*2\x0002X~Dsofachair_silo*3\x0002X~Dsofachair_silo*4\x0002X~Dsofachair_silo*5\x0002X~Dsofachair_silo*6\x0002X~Dsofachair_silo*7\x0002X~Dsofachair_silo*8\x0002X~Dsofachair_silo*9\x0002X~Dtable_silo_small*2\x0002X~Dtable_silo_small*3\x0002X~Dtable_silo_small*4\x0002X~Dtable_silo_small*5\x0002X~Dtable_silo_small*6\x0002X~Dtable_silo_small*7\x0002X~Dtable_silo_small*8\x0002X~Dtable_silo_small*9\x0002X~Ddivider_silo1*2\x0002X~Ddivider_silo1*3\x0002X~Ddivider_silo1*4\x0002X~Ddivider_silo1*5\x0002X~Ddivider_silo1*6\x0002X~Ddivider_silo1*7\x0002X~Ddivider_silo1*8\x0002X~Ddivider_silo1*9\x0002X~Ddivider_silo3*2\x0002X~Ddivider_silo3*3\x0002X~Ddivider_silo3*4\x0002X~Ddivider_silo3*5\x0002X~Ddivider_silo3*6\x0002X~Ddivider_silo3*7\x0002X~Ddivider_silo3*8\x0002X~Ddivider_silo3*9\x0002X~Dtable_silo_med*2\x0002X~Dtable_silo_med*3\x0002X~Dtable_silo_med*4\x0002X~Dtable_silo_med*5\x0002X~Dtable_silo_med*6\x0002X~Dtable_silo_med*7\x0002X~Dtable_silo_med*8\x0002X~Dtable_silo_med*9\x0002X~Dsofa_silo*2\x0002X~Dsofa_silo*3\x0002X~Dsofa_silo*4\x0002X~Dsofa_silo*5\x0002X~Dsofa_silo*6\x0002X~Dsofa_silo*7\x0002X~Dsofa_silo*8\x0002X~Dsofa_silo*9\x0002X~Dsofachair_polyfon*2\x0002X~Dsofachair_polyfon*3\x0002X~Dsofachair_polyfon*4\x0002X~Dsofachair_polyfon*6\x0002X~Dsofachair_polyfon*7\x0002X~Dsofachair_polyfon*8\x0002X~Dsofachair_polyfon*9\x0002X~Dsofa_polyfon*2\x0002Z[Msofa_polyfon*3\x0002Z[Msofa_polyfon*4\x0002Z[Msofa_polyfon*6\x0002Z[Msofa_polyfon*7\x0002Z[Msofa_polyfon*8\x0002Z[Msofa_polyfon*9\x0002Z[Mbed_polyfon*2\x0002X~Dbed_polyfon*3\x0002X~Dbed_polyfon*4\x0002X~Dbed_polyfon*6\x0002X~Dbed_polyfon*7\x0002X~Dbed_polyfon*8\x0002X~Dbed_polyfon*9\x0002X~Dbed_polyfon_one*2\x0002[dObed_polyfon_one*3\x0002[dObed_polyfon_one*4\x0002[dObed_polyfon_one*6\x0002[dObed_polyfon_one*7\x0002[dObed_polyfon_one*8\x0002[dObed_polyfon_one*9\x0002[dObardesk_polyfon*2\x0002X~Dbardesk_polyfon*3\x0002X~Dbardesk_polyfon*4\x0002X~Dbardesk_polyfon*5\x0002X~Dbardesk_polyfon*6\x0002X~Dbardesk_polyfon*7\x0002X~Dbardesk_polyfon*8\x0002X~Dbardesk_polyfon*9\x0002X~Dbardeskcorner_polyfon*2\x0002X~Dbardeskcorner_polyfon*3\x0002X~Dbardeskcorner_polyfon*4\x0002X~Dbardeskcorner_polyfon*5\x0002X~Dbardeskcorner_polyfon*6\x0002X~Dbardeskcorner_polyfon*7\x0002X~Dbardeskcorner_polyfon*8\x0002X~Dbardeskcorner_polyfon*9\x0002X~Ddivider_poly3*2\x0002X~Ddivider_poly3*3\x0002X~Ddivider_poly3*4\x0002X~Ddivider_poly3*5\x0002X~Ddivider_poly3*6\x0002X~Ddivider_poly3*7\x0002X~Ddivider_poly3*8\x0002X~Ddivider_poly3*9\x0002X~Dchair_silo*2\x0002X~Dchair_silo*3\x0002X~Dchair_silo*4\x0002X~Dchair_silo*5\x0002X~Dchair_silo*6\x0002X~Dchair_silo*7\x0002X~Dchair_silo*8\x0002X~Dchair_silo*9\x0002X~Ddivider_nor3*2\x0002X~Ddivider_nor3*3\x0002X~Ddivider_nor3*4\x0002X~Ddivider_nor3*5\x0002X~Ddivider_nor3*6\x0002X~Ddivider_nor3*7\x0002X~Ddivider_nor3*8\x0002X~Ddivider_nor3*9\x0002X~Ddivider_nor2*2\x0002X~Ddivider_nor2*3\x0002X~Ddivider_nor2*4\x0002X~Ddivider_nor2*5\x0002X~Ddivider_nor2*6\x0002X~Ddivider_nor2*7\x0002X~Ddivider_nor2*8\x0002X~Ddivider_nor2*9\x0002X~Dsilo_studydesk\x0002X~Dsolarium_norja\x0002Y_Isolarium_norja*1\x0002Y_Isolarium_norja*2\x0002Y_Isolarium_norja*3\x0002Y_Isolarium_norja*5\x0002Y_Isolarium_norja*6\x0002Y_Isolarium_norja*7\x0002Y_Isolarium_norja*8\x0002Y_Isolarium_norja*9\x0002Y_Isandrug\x0002X~Drare_moonrug\x0002YmAchair_china\x0002YmAchina_table\x0002YmAsleepingbag*1\x0002YmAsleepingbag*2\x0002YmAsleepingbag*3\x0002YmAsleepingbag*4\x0002YmAsafe_silo\x0002Y_Isleepingbag*7\x0002YmAsleepingbag*9\x0002YmAsleepingbag*5\x0002YmAsleepingbag*10\x0002YmAsleepingbag*6\x0002YmAsleepingbag*8\x0002YmAchina_shelve\x0002X~Dtraffic_light*5\x0002ZxIdivider_nor4*2\x0002X~Ddivider_nor4*3\x0002X~Ddivider_nor4*5\x0002X~Ddivider_nor4*6\x0002X~Ddivider_nor4*7\x0002X~Ddivider_nor4*8\x0002X~Ddivider_nor4*9\x0002X~Ddivider_nor5*2\x0002X~Ddivider_nor5*3\x0002X~Ddivider_nor5*4\x0002X~Ddivider_nor5*5\x0002X~Ddivider_nor5*6\x0002X~Ddivider_nor5*7\x0002X~Ddivider_nor5*8\x0002X~Ddivider_nor5*9\x0002X~Ddivider_nor5\x0002X~Ddivider_nor4\x0002X~Dwall_china\x0002YmAcorner_china\x0002YmAbarchair_silo*2\x0002X~Dbarchair_silo*3\x0002X~Dbarchair_silo*4\x0002X~Dbarchair_silo*5\x0002X~Dbarchair_silo*6\x0002X~Dbarchair_silo*7\x0002X~Dbarchair_silo*8\x0002X~Dbarchair_silo*9\x0002X~Dsafe_silo*2\x0002Y_Isafe_silo*3\x0002Y_Isafe_silo*4\x0002Y_Isafe_silo*5\x0002Y_Isafe_silo*6\x0002Y_Isafe_silo*7\x0002Y_Isafe_silo*8\x0002Y_Isafe_silo*9\x0002Y_Iglass_shelf\x0002Y_Iglass_chair\x0002Y_Iglass_stool\x0002Y_Iglass_sofa\x0002Y_Iglass_table\x0002Y_Iglass_table*2\x0002Y_Iglass_table*3\x0002Y_Iglass_table*4\x0002Y_Iglass_table*5\x0002Y_Iglass_table*6\x0002Y_Iglass_table*7\x0002Y_Iglass_table*8\x0002Y_Iglass_table*9\x0002Y_Iglass_chair*2\x0002Y_Iglass_chair*3\x0002Y_Iglass_chair*4\x0002Y_Iglass_chair*5\x0002Y_Iglass_chair*6\x0002Y_Iglass_chair*7\x0002Y_Iglass_chair*8\x0002Y_Iglass_chair*9\x0002Y_Iglass_sofa*2\x0002Y_Iglass_sofa*3\x0002Y_Iglass_sofa*4\x0002Y_Iglass_sofa*5\x0002Y_Iglass_sofa*6\x0002Y_Iglass_sofa*7\x0002Y_Iglass_sofa*8\x0002Y_Iglass_sofa*9\x0002Y_Iglass_stool*2\x0002Y_Iglass_stool*4\x0002Y_Iglass_stool*5\x0002Y_Iglass_stool*6\x0002Y_Iglass_stool*7\x0002Y_Iglass_stool*8\x0002Y_Iglass_stool*3\x0002Y_Iglass_stool*9\x0002Y_ICF_10_coin_gold\x0002ZvCCF_1_coin_bronze\x0002ZvCCF_20_moneybag\x0002ZvCCF_50_goldbar\x0002ZvCCF_5_coin_silver\x0002ZvChc_crpt\x0002YmAhc_tv\x0002Z\\Bgothgate\x0002X~Dgothiccandelabra\x0002YxBgothrailing\x0002X~Dgoth_table\x0002YmAhc_bkshlf\x0002YmAhc_btlr\x0002Y_Ihc_crtn\x0002YmAhc_djset\x0002YmAhc_frplc\x0002ZbBhc_lmpst\x0002YmAhc_machine\x0002YmAhc_rllr\x0002XQHhc_rntgn\x0002X~Dhc_trll\x0002YmAgothic_chair*1\x0002X~Dgothic_sofa*1\x0002X~Dgothic_stool*1\x0002X~Dgothic_chair*2\x0002X~Dgothic_sofa*2\x0002X~Dgothic_stool*2\x0002X~Dgothic_chair*3\x0002X~Dgothic_sofa*3\x0002X~Dgothic_stool*3\x0002X~Dgothic_chair*4\x0002X~Dgothic_sofa*4\x0002X~Dgothic_stool*4\x0002X~Dgothic_chair*5\x0002X~Dgothic_sofa*5\x0002X~Dgothic_stool*5\x0002X~Dgothic_chair*6\x0002X~Dgothic_sofa*6\x0002X~Dgothic_stool*6\x0002X~Dval_cauldron\x0002X~Dsound_machine\x0002X~Dromantique_pianochair*3\x0002Y_Iromantique_pianochair*5\x0002Y_Iromantique_pianochair*2\x0002Y_Iromantique_pianochair*4\x0002Y_Iromantique_pianochair*1\x0002Y_Iromantique_divan*3\x0002Y_Iromantique_divan*5\x0002Y_Iromantique_divan*2\x0002Y_Iromantique_divan*4\x0002Y_Iromantique_divan*1\x0002Y_Iromantique_chair*3\x0002Y_Iromantique_chair*5\x0002Y_Iromantique_chair*2\x0002Y_Iromantique_chair*4\x0002Y_Iromantique_chair*1\x0002Y_Irare_parasol\x0002Y_Iplant_valentinerose*3\x0002XICplant_valentinerose*5\x0002XICplant_valentinerose*2\x0002XICplant_valentinerose*4\x0002XICplant_valentinerose*1\x0002XICplant_mazegate\x0002YeCplant_maze\x0002ZcCplant_bulrush\x0002XICpetfood4\x0002Y_Icarpet_valentine\x0002Z|Egothic_carpet\x0002XICgothic_carpet2\x0002Z|Egothic_chair\x0002X~Dgothic_sofa\x0002X~Dgothic_stool\x0002X~Dgrand_piano*3\x0002Z|Egrand_piano*5\x0002Z|Egrand_piano*2\x0002Z|Egrand_piano*4\x0002Z|Egrand_piano*1\x0002Z|Etheatre_seat\x0002Z@Kromantique_tray2\x0002Y_Iromantique_tray1\x0002Y_Iromantique_smalltabl*3\x0002Y_Iromantique_smalltabl*5\x0002Y_Iromantique_smalltabl*2\x0002Y_Iromantique_smalltabl*4\x0002Y_Iromantique_smalltabl*1\x0002Y_Iromantique_mirrortabl\x0002Y_Iromantique_divider*3\x0002Z[Mromantique_divider*2\x0002Z[Mromantique_divider*4\x0002Z[Mromantique_divider*1\x0002Z[Mjp_tatami2\x0002[dWjp_tatami\x0002YGGhabbowood_chair\x0002YGGjp_bamboo\x0002YGGjp_irori\x0002XQHjp_pillow\x0002YGGsound_set_1\x0002[dWsound_set_2\x0002[dWsound_set_3\x0002[dWsound_set_4\x0002[dWsound_set_5\x0002[dWsound_set_6\x0002[dWsound_set_7\x0002[dWsound_set_8\x0002[dWsound_set_9\x0002[dWsound_machine*1\x0002Yc[spotlight\x0002Y_Isound_machine*2\x0002Yc[sound_machine*3\x0002Yc[sound_machine*4\x0002Yc[sound_machine*5\x0002Yc[sound_machine*6\x0002Yc[sound_machine*7\x0002Yc[rom_lamp\x0002Z|Erclr_sofa\x0002XQHrclr_garden\x0002XQHrclr_chair\x0002Z|Esound_set_28\x0002[dWsound_set_27\x0002[dWsound_set_26\x0002[dWsound_set_25\x0002[dWsound_set_24\x0002[dWsound_set_23\x0002[dWsound_set_22\x0002[dWsound_set_21\x0002[dWsound_set_20\x0002[dWsound_set_19\x0002[dWsound_set_18\x0002[dWsound_set_17\x0002[dWsound_set_16\x0002[dWsound_set_15\x0002[dWsound_set_14\x0002[dWsound_set_13\x0002[dWsound_set_12\x0002[dWsound_set_11\x0002[dWsound_set_10\x0002[dWrope_divider\x0002XQHromantique_clock\x0002Y_Irare_icecream_campaign\x0002Y_Ipura_mdl5*1\x0002Yc[pura_mdl5*2\x0002Yc[pura_mdl5*3\x0002Yc[pura_mdl5*4\x0002Yc[pura_mdl5*5\x0002Yc[pura_mdl5*6\x0002Yc[pura_mdl5*7\x0002Yc[pura_mdl5*8\x0002Yc[pura_mdl5*9\x0002Yc[pura_mdl4*1\x0002XQHpura_mdl4*2\x0002XQHpura_mdl4*3\x0002XQHpura_mdl4*4\x0002XQHpura_mdl4*5\x0002XQHpura_mdl4*6\x0002XQHpura_mdl4*7\x0002XQHpura_mdl4*8\x0002XQHpura_mdl4*9\x0002XQHpura_mdl3*1\x0002XQHpura_mdl3*2\x0002XQHpura_mdl3*3\x0002XQHpura_mdl3*4\x0002XQHpura_mdl3*5\x0002XQHpura_mdl3*6\x0002XQHpura_mdl3*7\x0002XQHpura_mdl3*8\x0002XQHpura_mdl3*9\x0002XQHpura_mdl2*1\x0002XQHpura_mdl2*2\x0002XQHpura_mdl2*3\x0002XQHpura_mdl2*4\x0002XQHpura_mdl2*5\x0002XQHpura_mdl2*6\x0002XQHpura_mdl2*7\x0002XQHpura_mdl2*8\x0002XQHpura_mdl2*9\x0002XQHpura_mdl1*1\x0002XQHpura_mdl1*2\x0002XQHpura_mdl1*3\x0002XQHpura_mdl1*4\x0002XQHpura_mdl1*5\x0002XQHpura_mdl1*6\x0002XQHpura_mdl1*7\x0002XQHpura_mdl1*8\x0002XQHpura_mdl1*9\x0002XQHjp_lantern\x0002XQHchair_basic*1\x0002XQHchair_basic*2\x0002XQHchair_basic*3\x0002XQHchair_basic*4\x0002XQHchair_basic*5\x0002XQHchair_basic*6\x0002XQHchair_basic*7\x0002XQHchair_basic*8\x0002XQHchair_basic*9\x0002XQHbed_budget*1\x0002XQHbed_budget*2\x0002XQHbed_budget*3\x0002XQHbed_budget*4\x0002XQHbed_budget*5\x0002XQHbed_budget*6\x0002XQHbed_budget*7\x0002XQHbed_budget*8\x0002XQHbed_budget*9\x0002XQHbed_budget_one*1\x0002XQHbed_budget_one*2\x0002XQHbed_budget_one*3\x0002XQHbed_budget_one*4\x0002XQHbed_budget_one*5\x0002XQHbed_budget_one*6\x0002XQHbed_budget_one*7\x0002XQHbed_budget_one*8\x0002XQHbed_budget_one*9\x0002XQHjp_drawer\x0002XQHtile_stella\x0002Z[Mtile_marble\x0002Z[Mtile_brown\x0002Z[Msummer_grill*1\x0002Y_Isummer_grill*2\x0002Y_Isummer_grill*3\x0002Y_Isummer_grill*4\x0002Y_Isummer_chair*1\x0002Y_Isummer_chair*2\x0002Y_Isummer_chair*3\x0002Y_Isummer_chair*4\x0002Y_Isummer_chair*5\x0002Y_Isummer_chair*6\x0002Y_Isummer_chair*7\x0002Y_Isummer_chair*8\x0002Y_Isummer_chair*9\x0002Y_Isound_set_36\x0002[dWsound_set_35\x0002[dWsound_set_34\x0002[dWsound_set_33\x0002[dWsound_set_32\x0002[dWsound_set_31\x0002[dWsound_set_30\x0002[dWsound_set_29\x0002[dWsound_machine_pro\x0002Yc[rare_mnstr\x0002Y_Ione_way_door*1\x0002XQHone_way_door*2\x0002XQHone_way_door*3\x0002XQHone_way_door*4\x0002XQHone_way_door*5\x0002XQHone_way_door*6\x0002XQHone_way_door*7\x0002XQHone_way_door*8\x0002XQHone_way_door*9\x0002XQHexe_rug\x0002Z[Mexe_s_table\x0002ZGRsound_set_37\x0002[dWsummer_pool*1\x0002ZlIsummer_pool*2\x0002ZlIsummer_pool*3\x0002ZlIsummer_pool*4\x0002ZlIsong_disk\x0002Yc[jukebox*1\x0002Yc[carpet_soft_tut\x0002[~Nsound_set_44\x0002[dWsound_set_43\x0002[dWsound_set_42\x0002[dWsound_set_41\x0002[dWsound_set_40\x0002[dWsound_set_39\x0002[dWsound_set_38\x0002[dWgrunge_chair\x0002Z@Kgrunge_mattress\x0002Z@Kgrunge_radiator\x0002Z@Kgrunge_shelf\x0002Z@Kgrunge_sign\x0002Z@Kgrunge_table\x0002Z@Khabboween_crypt\x0002[uKhabboween_grass\x0002Z@Khal_cauldron\x0002Z@Khal_grave\x0002Z@Ksound_set_52\x0002[dWsound_set_51\x0002[dWsound_set_50\x0002[dWsound_set_49\x0002[dWsound_set_48\x0002[dWsound_set_47\x0002[dWsound_set_46\x0002[dWsound_set_45\x0002[dWxmas_icelamp\x0002Z[Mxmas_cstl_wall\x0002Z[Mxmas_cstl_twr\x0002Z[Mxmas_cstl_gate\x0002[~Ntree7\x0002Z[Mtree6\x0002Z[Msound_set_54\x0002[dWsound_set_53\x0002[dWsafe_silo_pb\x0002[dOplant_mazegate_snow\x0002Z[Mplant_maze_snow\x0002Z[Mchristmas_sleigh\x0002Z[Mchristmas_reindeer\x0002[~Nchristmas_poop\x0002Z[Mexe_bardesk\x0002Z[Mexe_chair\x0002Z[Mexe_chair2\x0002Z[Mexe_corner\x0002Z[Mexe_drinks\x0002Z[Mexe_sofa\x0002Z[Mexe_table\x0002Z[Msound_set_59\x0002[dWsound_set_58\x0002[dWsound_set_57\x0002[dWsound_set_56\x0002[dWsound_set_55\x0002[dWnoob_table*1\x0002[~Nnoob_table*2\x0002[~Nnoob_table*3\x0002[~Nnoob_table*4\x0002[~Nnoob_table*5\x0002[~Nnoob_table*6\x0002[~Nnoob_stool*1\x0002[~Nnoob_stool*2\x0002[~Nnoob_stool*3\x0002[~Nnoob_stool*4\x0002[~Nnoob_stool*5\x0002[~Nnoob_stool*6\x0002[~Nnoob_rug*1\x0002[~Nnoob_rug*2\x0002[~Nnoob_rug*3\x0002[~Nnoob_rug*4\x0002[~Nnoob_rug*5\x0002[~Nnoob_rug*6\x0002[~Nnoob_lamp*1\x0002[dOnoob_lamp*2\x0002[dOnoob_lamp*3\x0002[dOnoob_lamp*4\x0002[dOnoob_lamp*5\x0002[dOnoob_lamp*6\x0002[dOnoob_chair*1\x0002[~Nnoob_chair*2\x0002[~Nnoob_chair*3\x0002[~Nnoob_chair*4\x0002[~Nnoob_chair*5\x0002[~Nnoob_chair*6\x0002[~Nexe_globe\x0002[~Nexe_plant\x0002Z[Mval_teddy*1\x0002[dOval_teddy*2\x0002[dOval_teddy*3\x0002[dOval_teddy*4\x0002[dOval_teddy*5\x0002[dOval_teddy*6\x0002[dOval_randomizer\x0002[dOval_choco\x0002[dOteleport_door\x0002Yc[sound_set_61\x0002[dWsound_set_60\x0002[dWfortune\x0002[dOsw_table\x0002ZIPsw_raven\x0002[cQsw_chest\x0002ZIPsand_cstl_wall\x0002ZIPsand_cstl_twr\x0002ZIPsand_cstl_gate\x0002ZIPgrunge_candle\x0002ZIPgrunge_bench\x0002ZIPgrunge_barrel\x0002ZIPrclr_lamp\x0002ZGRprizetrophy9*1\x0002Yd[prizetrophy8*1\x0002Yd[nouvelle_trax\x0002Yc[md_rug\x0002ZGRjp_tray6\x0002ZGRjp_tray5\x0002ZGRjp_tray4\x0002ZGRjp_tray3\x0002ZGRjp_tray2\x0002ZGRjp_tray1\x0002ZGRarabian_teamk\x0002ZGRarabian_snake\x0002ZGRarabian_rug\x0002ZGRarabian_pllw\x0002ZGRarabian_divdr\x0002ZGRarabian_chair\x0002ZGRarabian_bigtb\x0002ZGRarabian_tetbl\x0002ZGRarabian_tray1\x0002ZGRarabian_tray2\x0002ZGRarabian_tray3\x0002ZGRarabian_tray4\x0002ZGRsound_set_64\x0002[dWsound_set_63\x0002[dWsound_set_62\x0002[dWjukebox_ptv*1\x0002Yc[calippo\x0002ZAStraxsilver\x0002Yc[traxgold\x0002Yc[traxbronze\x0002Yc[bench_puffet\x0002YATCFC_500_goldbar\x0002ZvCCFC_200_moneybag\x0002ZvCCFC_10_coin_bronze\x0002ZvCCFC_100_coin_gold\x0002ZvCCFC_50_coin_silver\x0002ZvCjp_table\x0002XMVjp_rare\x0002XMVjp_katana3\x0002XMVjp_katana2\x0002XMVjp_katana1\x0002XMVfootylamp_campaign\x0002XMVtiki_waterfall\x0002[dWtiki_tray4\x0002[dWtiki_tray3\x0002[dWtiki_tray2\x0002[dWtiki_tray1\x0002[dWtiki_tray0\x0002[dWtiki_toucan\x0002[dWtiki_torch\x0002[dWtiki_statue\x0002[dWtiki_sand\x0002[dWtiki_parasol\x0002[dWtiki_junglerug\x0002[dWtiki_corner\x0002[dWtiki_bflies\x0002[dWtiki_bench\x0002[dWtiki_bardesk\x0002[dWtampax_rug\x0002[dWsound_set_70\x0002[dWsound_set_69\x0002[dWsound_set_68\x0002[dWsound_set_67\x0002[dWsound_set_66\x0002[dWsound_set_65\x0002[dWnoob_rug_tradeable*1\x0002[dWnoob_rug_tradeable*2\x0002[dWnoob_rug_tradeable*3\x0002[dWnoob_rug_tradeable*4\x0002[dWnoob_rug_tradeable*5\x0002[dWnoob_rug_tradeable*6\x0002[dWnoob_plant\x0002[dWnoob_lamp_tradeable*1\x0002[dWnoob_lamp_tradeable*2\x0002[dWnoob_lamp_tradeable*3\x0002[dWnoob_lamp_tradeable*4\x0002[dWnoob_lamp_tradeable*5\x0002[dWnoob_lamp_tradeable*6\x0002[dWnoob_chair_tradeable*1\x0002[dWnoob_chair_tradeable*2\x0002[dWnoob_chair_tradeable*3\x0002[dWnoob_chair_tradeable*4\x0002[dWnoob_chair_tradeable*5\x0002[dWnoob_chair_tradeable*6\x0002[dWjp_teamaker\x0002[dWsvnr_uk\x0002[`_svnr_nl\x0002XhXsvnr_it\x0002XhXsvnr_de\x0002[gXsvnr_aus\x0002[gXdiner_tray_7\x0002[gXdiner_tray_6\x0002[gXdiner_tray_5\x0002[gXdiner_tray_4\x0002[gXdiner_tray_3\x0002[gXdiner_tray_2\x0002[gXdiner_tray_1\x0002[gXdiner_tray_0\x0002[gXdiner_sofa_2*1\x0002[gXdiner_sofa_2*2\x0002[gXdiner_sofa_2*3\x0002[gXdiner_sofa_2*4\x0002[gXdiner_sofa_2*5\x0002[gXdiner_sofa_2*6\x0002[gXdiner_sofa_2*7\x0002[gXdiner_sofa_2*8\x0002[gXdiner_sofa_2*9\x0002[gXdiner_shaker\x0002[gXdiner_rug\x0002[gXdiner_gumvendor*1\x0002[gXdiner_gumvendor*2\x0002[gXdiner_gumvendor*3\x0002[gXdiner_gumvendor*4\x0002[gXdiner_gumvendor*5\x0002[gXdiner_gumvendor*6\x0002[gXdiner_gumvendor*7\x0002[gXdiner_gumvendor*8\x0002[gXdiner_gumvendor*9\x0002[gXdiner_cashreg*1\x0002[gXdiner_cashreg*2\x0002[gXdiner_cashreg*3\x0002[gXdiner_cashreg*4\x0002[gXdiner_cashreg*5\x0002[gXdiner_cashreg*6\x0002[gXdiner_cashreg*7\x0002[gXdiner_cashreg*8\x0002[gXdiner_cashreg*9\x0002[gXdiner_table_2*1\x0002XiZdiner_table_2*2diner_table_2*2\x0002XiZdiner_table_2*3\x0002XiZdiner_table_2*4\x0002XiZdiner_table_2*5\x0002XiZdiner_table_2*6\x0002XiZdiner_table_2*7\x0002XiZdiner_table_2*8\x0002XiZdiner_table_2*9\x0002XiZdiner_table_1*1\x0002XiZdiner_table_1*2\x0002XiZdiner_table_1*3\x0002XiZdiner_table_1*4\x0002XiZdiner_table_1*5\x0002XiZdiner_table_1*6\x0002XiZdiner_table_1*7\x0002XiZdiner_table_1*8\x0002XiZdiner_table_1*9\x0002XiZdiner_sofa_1*1\x0002XiZdiner_sofa_1*2\x0002XiZdiner_sofa_1*3\x0002XiZdiner_sofa_1*4\x0002XiZdiner_sofa_1*5\x0002XiZdiner_sofa_1*6\x0002XiZdiner_sofa_1*7\x0002XiZdiner_sofa_1*8\x0002XiZdiner_sofa_1*9\x0002XiZdiner_chair*1\x0002XiZdiner_chair*2\x0002XiZdiner_chair*3\x0002XiZdiner_chair*4\x0002XiZdiner_chair*5\x0002XiZdiner_chair*6\x0002XiZdiner_chair*7\x0002XiZdiner_chair*8\x0002XiZdiner_chair*9\x0002XiZdiner_bardesk_gate*1\x0002XiZdiner_bardesk_gate*2\x0002XiZdiner_bardesk_gate*3\x0002XiZdiner_bardesk_gate*4\x0002XiZdiner_bardesk_gate*5\x0002XiZdiner_bardesk_gate*6\x0002XiZdiner_bardesk_gate*7\x0002XiZdiner_bardesk_gate*8\x0002XiZdiner_bardesk_gate*9\x0002XiZdiner_bardesk_corner*1\x0002XiZdiner_bardesk_corner*2\x0002XiZdiner_bardesk_corner*3\x0002XiZdiner_bardesk_corner*4\x0002XiZdiner_bardesk_corner*5\x0002XiZdiner_bardesk_corner*6\x0002XiZdiner_bardesk_corner*7\x0002XiZdiner_bardesk_corner*8\x0002XiZdiner_bardesk_corner*9\x0002XiZdiner_bardesk*1\x0002XiZdiner_bardesk*2\x0002XiZdiner_bardesk*3\x0002XiZdiner_bardesk*4\x0002XiZdiner_bardesk*5\x0002XiZdiner_bardesk*6\x0002XiZdiner_bardesk*7\x0002XiZdiner_bardesk*8\x0002XiZdiner_bardesk*9\x0002XiZads_dave_cns\x0002XiZeasy_carpet\x0002Yc[easy_bowl2\x0002Yc[greek_corner\x0002Yc[greek_gate\x0002Yc[greek_pillars\x0002Yc[greek_seat\x0002Yc[greektrophy*1\x0002[P\\greektrophy*2\x0002[P\\greektrophy*3\x0002[P\\greek_block\x0002Xt[hcc_table\x0002Y`]hcc_shelf\x0002Y`]hcc_sofa\x0002Y`]hcc_minibar\x0002Y`]hcc_chair\x0002Y`]det_divider\x0002Y`]netari_carpet\x0002Y`]det_body\x0002Y`]hcc_stool\x0002Y`]hcc_sofachair\x0002Y`]hcc_crnr\x0002Xw]hcc_dvdr\x0002Xw]sob_carpet\x0002[`_igor_seat\x0002[`_ads_igorbrain\x0002Y_aads_igorswitch\x0002Y_aads_711*1\x0002Y_aads_711*2\x0002Y_aads_711*3\x0002Y_aads_711*4\x0002Y_aads_igorraygun\x0002Y_ahween08_sink\x0002Y[chween08_curtain\x0002Y[chween08_bath\x0002Y[chween08_defibs\x0002Y[chween08_bbag\x0002Y[chween08_curtain2\x0002Y[chween08_defibs2\x0002Y[chween08_bed\x0002Y[chween08_sink2\x0002Y[chween08_bed2\x0002Y[chween08_bath2\x0002Y[chween08_manhole\x0002Y[chween08_trll\x0002Y[cPRpost.it\x0002Hpost.it.vd\x0002Hphoto\x0002HChess\x0002HTicTacToe\x0002HBattleShip\x0002HPoker\x0002Hwallpaper\x0002Hfloor\x0002Hposter\x0002Z@Kgothicfountain\x0002YxBhc_wall_lamp\x0002ZbBindustrialfan\x0002Z`Btorch\x0002Z\\Bval_heart\x0002XBCwallmirror\x0002Z|Ejp_ninjastars\x0002XQHhabw_mirror\x0002XQHhabbowheel\x0002Z[Mguitar_skull\x0002Z@Kguitar_v\x0002Z@Kxmas_light\x0002[~Nhrella_poster_3\x0002[\x007fNhrella_poster_2\x0002ZIPhrella_poster_1\x0002[\x007fNsw_swords\x0002ZIPsw_stone\x0002ZIPsw_hole\x0002ZIProomdimmer\x0002Yc[md_logo_wall\x0002ZGRmd_can\x0002ZGRjp_sheet3\x0002ZGRjp_sheet2\x0002ZGRjp_sheet1\x0002ZGRarabian_swords\x0002ZGRarabian_wndw\x0002ZGRtiki_wallplnt\x0002[dWtiki_surfboard\x0002[dWtampax_wall\x0002[dWwindow_single_default\x0002[gXwindow_double_default\x0002[gXnoob_window_double\x0002[dWwindow_triple\x0002[gXwindow_square\x0002[gXwindow_romantic_wide\x0002[gXwindow_romantic_narrow\x0002[gXwindow_grunge\x0002[gXwindow_golden\x0002[gXwindow_chinese_wide\x0002[gXwindow_chinese_narrow\x0002YA\\window_basic\x0002[gXwindow_70s_wide\x0002[gXwindow_70s_narrow\x0002[gXads_sunnyd\x0002YlXwindow_diner2\x0002XiZwindow_diner\x0002XiZdiner_walltable\x0002XiZads_dave_wall\x0002XiZwindow_hole\x0002Yc[easy_poster\x0002Yc[ads_nokia_logo\x0002Yc[ads_nokia_phone\x0002Yc[landscape\x0002XV^window_skyscraper\x0002[j\\netari_poster\x0002Y`]det_bhole\x0002Y`]ads_campguitar\x0002Xw]hween08_rad\x0002Y[chween08_wndwb\x0002Y[chween08_wndw\x0002Y[chween08_bio\x0002Y[chw_08_xray\x0002Y[c"); this.8AAAA = true; } return; case "@\x007f": if (this._ROOMACCESS_SECONDARY_OK && (this.Room != null)) { this.sendData("@m" + this.Room.Wallitems); } return; case "A@": if ((this._ROOMACCESS_SECONDARY_OK && (this.Room != null)) && (this.roomUser == null)) { this.sendData("@b" + this.Room.dynamicStatuses); this.Room.addUser(this); } return; case "CH": { int num78 = 0; string message = ""; int num79 = 0; string note = ""; string str45 = ""; str112 = currentPacket.Substring(2, 2); if (str112 != null) { if (str112 == "HH") { if (!rankManager.containsRight(this._Rank, "fuse_alert")) { this.sendData("BK" + stringManager.getString("modtool_accesserror")); return; } num78 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); message = currentPacket.Substring(6, num78).Replace(Convert.ToChar(1).ToString(), " "); num79 = Holo.Encoding.decodeB64(currentPacket.Substring(num78 + 6, 2)); note = currentPacket.Substring(num78 + 8, num79); str45 = currentPacket.Substring((num78 + num79) + 10); if ((message != "") && (str45 != "")) { virtualUser user4 = userManager.getUser(str45); if (user4 == null) { this.sendData("BK" + stringManager.getString("modtool_actionfail") + "\r" + stringManager.getString("modtool_usernotfound")); return; } user4.sendData("B!" + message + Convert.ToChar(2)); staffManager.addStaffMessage("alert", this.userID, user4.userID, message, note); } return; } if (str112 == "HI") { if (!rankManager.containsRight(this._Rank, "fuse_kick")) { this.sendData("BK" + stringManager.getString("modtool_accesserror")); return; } num78 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); message = currentPacket.Substring(6, num78).Replace(Convert.ToChar(1).ToString(), " "); num79 = Holo.Encoding.decodeB64(currentPacket.Substring(num78 + 6, 2)); note = currentPacket.Substring(num78 + 8, num79); str45 = currentPacket.Substring((num78 + num79) + 10); if ((message != "") && (str45 != "")) { virtualUser user5 = userManager.getUser(str45); if (user5 == null) { this.sendData("BK" + stringManager.getString("modtool_actionfail") + "\r" + stringManager.getString("modtool_usernotfound")); return; } if ((user5.Room == null) || (user5.roomUser == null)) { return; } if (user5._Rank < this._Rank) { user5.Room.removeUser(user5.roomUser.roomUID, true, message); staffManager.addStaffMessage("kick", this.userID, user5.userID, message, note); return; } this.sendData("BK" + stringManager.getString("modtool_actionfail") + "\r" + stringManager.getString("modtool_rankerror")); } return; } if (str112 == "HJ") { if (!rankManager.containsRight(this._Rank, "fuse_ban")) { this.sendData("BK" + stringManager.getString("modtool_accesserror")); return; } int num80 = 0; int hours = 0; bool flag8 = currentPacket.Substring(currentPacket.Length - 1, 1) == "I"; num78 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); message = currentPacket.Substring(6, num78).Replace(Convert.ToChar(1).ToString(), " "); num79 = Holo.Encoding.decodeB64(currentPacket.Substring(num78 + 6, 2)); note = currentPacket.Substring(num78 + 8, num79); num80 = Holo.Encoding.decodeB64(currentPacket.Substring((num78 + num79) + 8, 2)); str45 = currentPacket.Substring((num78 + num79) + 10, num80); hours = Holo.Encoding.decodeVL64(currentPacket.Substring(((num78 + num79) + num80) + 10)); if (((message != "") && (str45 != "")) && (hours != 0)) { string[] strArray19 = DB.runReadRow("SELECT id,rank,ipaddress_last FROM users WHERE name = '" + DB.Stripslash(str45) + "'"); if (strArray19.Length == 0) { this.sendData("BK" + stringManager.getString("modtool_actionfail") + "\r" + stringManager.getString("modtool_usernotfound")); return; } if (byte.Parse(strArray19[1]) >= this._Rank) { this.sendData("BK" + stringManager.getString("modtool_actionfail") + "\r" + stringManager.getString("modtool_rankerror")); return; } int targetID = int.Parse(strArray19[0]); string str46 = ""; staffManager.addStaffMessage("ban", this.userID, targetID, message, note); if (flag8 && rankManager.containsRight(this._Rank, "fuse_superban")) { userManager.setBan(strArray19[2], hours, message); str46 = userManager.generateBanReport(strArray19[2]); } else { userManager.setBan(targetID, hours, message); str46 = userManager.generateBanReport(targetID); } this.sendData("BK" + str46); } return; } if (str112 == "IH") { if (!rankManager.containsRight(this._Rank, "fuse_room_alert")) { this.sendData("BK" + stringManager.getString("modtool_accesserror")); return; } if ((this.Room != null) && (this.roomUser != null)) { num78 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); message = currentPacket.Substring(6, num78).Replace(Convert.ToChar(1).ToString(), " "); num79 = Holo.Encoding.decodeB64(currentPacket.Substring(num78 + 6, 2)); note = currentPacket.Substring(num78 + 8, num79); if (!(message != "")) { return; } this.Room.sendData("B!" + message + Convert.ToChar(2)); staffManager.addStaffMessage("ralert", this.userID, this._roomID, message, note); } return; } if (str112 == "II") { if (!rankManager.containsRight(this._Rank, "fuse_room_kick")) { this.sendData("BK" + stringManager.getString("modtool_accesserror")); return; } if ((this.Room != null) && (this.roomUser != null)) { num78 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); message = currentPacket.Substring(6, num78).Replace(Convert.ToChar(1).ToString(), " "); num79 = Holo.Encoding.decodeB64(currentPacket.Substring(num78 + 6, 2)); note = currentPacket.Substring(num78 + 8, num79); if (!(message != "")) { return; } this.Room.kickUsers(this._Rank, message); staffManager.addStaffMessage("rkick", this.userID, this._roomID, message, note); } return; } } return; } case "Cm": { string[] strArray20 = DB.runReadRow("SELECT id, date, message, picked_up FROM cms_help WHERE username = '" + this._Username + "' AND picked_up = '0'"); if (strArray20.Length != 0) { this.sendData(string.Concat(new object[] { "D\x007fI", strArray20[0], Convert.ToChar(2), strArray20[1], Convert.ToChar(2), strArray20[2], Convert.ToChar(2) })); return; } this.sendData("D\x007fH"); return; } case "Cn": { int num83 = DB.runRead("SELECT id FROM cms_help WHERE username = '" + this._Username + "' AND picked_up = '0'", null); DB.runQuery("DELETE FROM cms_help WHERE picked_up = '0' AND username = '" + this._Username + "' LIMIT 1"); this.sendData("D\x007fH"); userManager.sendToRank(Config.Minimum_CFH_Rank, true, string.Concat(new object[] { "BT", Holo.Encoding.encodeVL64(num83), Convert.ToChar(2), "IUser Deleted!", Convert.ToChar(2), "User Deleted!", Convert.ToChar(2), "User Deleted!", Convert.ToChar(2), Holo.Encoding.encodeVL64(0), Convert.ToChar(2), Convert.ToChar(2), "H", Convert.ToChar(2), Holo.Encoding.encodeVL64(0) })); return; } case "AV": if (currentPacket.Contains("\x0001")) { currentPacket = currentPacket.Replace("\x0001", ""); this.sendData("BKNon si Scripta! [LiveXenon Server]"); } if (!DB.checkExists("SELECT id FROM cms_help WHERE username = '" + this._Username + "' AND picked_up = '0'")) { int num84 = Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)); if (num84 == 0) { return; } string str47 = currentPacket.Substring(4, num84); DB.runQuery(string.Concat(new object[] { "INSERT INTO cms_help (username,ip,message,date,picked_up,subject,roomid) VALUES ('", this._Username, "','", this.4AAAA.RemoteEndPoint.ToString().Split(new char[] { char.Parse(":") })[0], "','", DB.Stripslash(str47), "','", DateTime.Now, "','0','CFH message [hotel]','", this._roomID.ToString(), "')" })); int num85 = DB.runRead("SELECT id FROM cms_help WHERE username = '" + this._Username + "' AND picked_up = '0'", null); string str48 = DB.runRead("SELECT name FROM rooms WHERE id = '" + this._roomID + "'"); this.sendData("EAH"); userManager.sendToRank(Config.Minimum_CFH_Rank, true, string.Concat(new object[] { "BT", Holo.Encoding.encodeVL64(num85), Convert.ToChar(2), "ISent: ", DateTime.Now, Convert.ToChar(2), this._Username, Convert.ToChar(2), str47, Convert.ToChar(2), Holo.Encoding.encodeVL64(this._roomID), Convert.ToChar(2), str48, Convert.ToChar(2), "I", Convert.ToChar(2), Holo.Encoding.encodeVL64(this._roomID) })); } return; case "CG": if (rankManager.containsRight(this._Rank, "fuse_receive_calls_for_help")) { int num86 = Holo.Encoding.decodeVL64(currentPacket.Substring(4, Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)))); string str49 = currentPacket.Substring(Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)) + 6); string str50 = DB.runRead("SELECT username FROM cms_help WHERE id = '" + num86 + "'"); if (str50 == null) { this.sendData("BK" + stringManager.getString("cfh_fail")); return; } virtualUser user6 = userManager.getUser(userManager.getUserID(str50)); if (user6.7AAA1) { user6.sendData("DR" + str49 + Convert.ToChar(2)); DB.runQuery(string.Concat(new object[] { "UPDATE cms_help SET picked_up = '", this._Username, "' WHERE id = '", num86, "' LIMIT 1" })); } return; } return; case "CF": if (rankManager.containsRight(this._Rank, "fuse_receive_calls_for_help")) { int num88 = Holo.Encoding.decodeVL64(currentPacket.Substring(4, Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)))); string[] strArray21 = DB.runReadRow("SELECT username,message,date,picked_up,roomid FROM cms_help WHERE id = '" + num88 + "'"); if (strArray21.Length != 0) { if (strArray21[3] == "1") { this.sendData("BK" + stringManager.getString("cfh_picked_up")); return; } DB.runQuery("DELETE FROM cms_help WHERE id = '" + num88 + "' LIMIT 1"); userManager.sendToRank(Config.Minimum_CFH_Rank, true, string.Concat(new object[] { "BT", Holo.Encoding.encodeVL64(num88), Convert.ToChar(2), "HStaff Deleted!", Convert.ToChar(2), "Staff Deleted!", Convert.ToChar(2), "Staff Deleted!", Convert.ToChar(2), Holo.Encoding.encodeVL64(0), Convert.ToChar(2), Convert.ToChar(2), "H", Convert.ToChar(2), Holo.Encoding.encodeVL64(0) })); } return; } return; case "@p": { int num89 = Holo.Encoding.decodeVL64(currentPacket.Substring(4)); if (DB.checkExists("SELECT id FROM cms_help WHERE id = '" + num89 + "'")) { string[] strArray22 = DB.runReadRow("SELECT picked_up,username,message,roomid FROM cms_help WHERE id = '" + num89 + "'"); string str51 = DB.runRead("SELECT name FROM rooms WHERE id = '" + strArray22[3] + "'"); if (strArray22[0] == "1") { this.sendData("BK" + stringManager.getString("cfh_picked_up")); } else { userManager.sendToRank(Config.Minimum_CFH_Rank, true, string.Concat(new object[] { "BT", Holo.Encoding.encodeVL64(num89), Convert.ToChar(2), "IPicked up: ", DateTime.Now, Convert.ToChar(2), strArray22[1], Convert.ToChar(2), strArray22[2], Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray22[3])), Convert.ToChar(2), str51, Convert.ToChar(2), "I", Convert.ToChar(2), Holo.Encoding.encodeVL64(int.Parse(strArray22[3])) })); } DB.runQuery("UPDATE cms_help SET picked_up = '1' WHERE id = '" + num89 + "' LIMIT 1"); return; } this.sendData(stringManager.getString("cfh_deleted")); return; } case "EC": if (rankManager.containsRight(this._Rank, "fuse_receive_calls_for_help")) { int num90 = Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)); int num92 = DB.runRead("SELECT roomid FROM cms_help WHERE id = '" + Holo.Encoding.decodeVL64(currentPacket.Substring(4, num90)) + "'", null); if (num92 != 0) { if (roomManager.getRoom(num92).isPublicroom) { this.sendData("D^I" + Holo.Encoding.encodeVL64(num92)); return; } this.sendData("D^H" + Holo.Encoding.encodeVL64(num92)); } return; } return; case "cI": if (((this.Room != null) && (this.roomUser != null)) && (this.statusManager.containsStatus("sit") && this.statusManager.containsStatus("lay"))) { this.statusManager.dropCarrydItem(); if (currentPacket.Length == 2) { this.statusManager.addStatus("ignore", ""); } this.statusManager.Refresh(); } return; case "cK": return; case "AO": if (((this.Room != null) && (this.roomUser != null)) && (!this.statusManager.containsStatus("sit") && !this.statusManager.containsStatus("lay"))) { int num93 = int.Parse(currentPacket.Substring(2).Split(new char[] { ' ' })[0]); int num94 = int.Parse(currentPacket.Split(new char[] { ' ' })[1]); this.roomUser.Z1 = Rotation.Calculate(this.roomUser.X, this.roomUser.Y, num93, num94); this.roomUser.Z2 = this.roomUser.Z1; this.roomUser.Refresh(); } return; case "AK": if (((this.Room != null) && (this.roomUser != null)) && !this.roomUser.walkLock) { int num95 = Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)); int num96 = Holo.Encoding.decodeB64(currentPacket.Substring(4, 2)); if (!this.roomUser.SPECIAL_TELEPORTABLE) { this.roomUser.goalX = num95; this.roomUser.goalY = num96; return; } this.roomUser.X = num95; this.roomUser.Y = num96; this.roomUser.goalX = -1; this.Room.Refresh(this.roomUser); this.refreshAppearance(false, false, true); } return; case "As": if (((this.Room != null) && (this.roomUser != null)) && !this.roomUser.walkDoor) { this.roomUser.walkDoor = true; this.roomUser.goalX = this.Room.doorX; this.roomUser.goalY = this.Room.doorY; } return; case "At": if ((this.Room != null) || ((this.roomUser != null) && this.Room.hasSwimmingPool)) { virtualRoom.squareTrigger trigger = this.Room.getTrigger(this.roomUser.X, this.roomUser.Y); if (!(trigger.Object == "curtains1") && !(trigger.Object == "curtains2")) { return; } string str52 = DB.Stripslash(currentPacket.Substring(2)); this.roomUser.SwimOutfit = str52; this.Room.sendData(@"@\" + this.roomUser.detailsString); this.Room.sendSpecialCast(trigger.Object, "open"); this.roomUser.walkLock = false; this.roomUser.goalX = trigger.goalX; this.roomUser.goalY = trigger.goalY; DB.runQuery(string.Concat(new object[] { "UPDATE users SET figure_swim = '", str52, "' WHERE id = '", this.userID, "' LIMIT 1" })); userManager.getUser(this.userID).refreshAppearance(true, true, true); } return; case "B^": if ((this.Room != null) && (this.roomUser != null)) { string str53 = currentPacket.Substring(2); DB.runQuery("UPDATE users_badgescur SET badge1 = '' WHERE userid = '" + this.userID + "'"); DB.runQuery("UPDATE users_badgescur SET badge2 = '' WHERE userid = '" + this.userID + "'"); DB.runQuery("UPDATE users_badgescur SET badge3 = '' WHERE userid = '" + this.userID + "'"); DB.runQuery("UPDATE users_badgescur SET badge4 = '' WHERE userid = '" + this.userID + "'"); DB.runQuery("UPDATE users_badgescur SET badge5 = '' WHERE userid = '" + this.userID + "'"); while (str53 != "") { int num97 = Holo.Encoding.decodeVL64(str53); str53 = str53.Substring(Holo.Encoding.encodeVL64(num97).Length); int num98 = Holo.Encoding.decodeB64(str53.Substring(0, 2)); string str54 = ""; str54 = str53.Substring(2, num98); if (num98 > 0) { DB.runQuery(string.Concat(new object[] { "UPDATE users_badgescur SET badge", num97, " = '", str54, "' WHERE userid = '", this.userID, "'" })); } str53 = str53.Substring(2 + num98); } string str55 = "Cd" + this.userID + Convert.ToChar(2); string str56 = DB.runRead("SELECT badge1 FROM users_badgescur WHERE userid = '" + this.userID + "'"); string str57 = DB.runRead("SELECT badge2 FROM users_badgescur WHERE userid = '" + this.userID + "'"); string str58 = DB.runRead("SELECT badge3 FROM users_badgescur WHERE userid = '" + this.userID + "'"); string str59 = DB.runRead("SELECT badge4 FROM users_badgescur WHERE userid = '" + this.userID + "'"); string str60 = DB.runRead("SELECT badge5 FROM users_badgescur WHERE userid = '" + this.userID + "'"); if (str56 != "") { str55 = str55 + str56 + Convert.ToChar(2); } if (str57 != "") { str55 = str55 + str57 + Convert.ToChar(2); } if (str58 != "") { str55 = str55 + str58 + Convert.ToChar(2); } if (str59 != "") { str55 = str55 + str59 + Convert.ToChar(2); } if (str60 != "") { str55 = str55 + str60 + Convert.ToChar(2); } this.Room.sendData(str55); this.Room.sendData(@"@\" + this.roomUser.detailsString); } return; case "DG": { int num99 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); string[] strArray23 = DB.runReadColumn("SELECT tag FROM cms_tags WHERE ownerid = '" + num99 + "'", 20); StringBuilder builder8 = new StringBuilder(Holo.Encoding.encodeVL64(num99) + Holo.Encoding.encodeVL64(strArray23.Length)); for (int num100 = 0; num100 < strArray23.Length; num100++) { builder8.Append(strArray23[num100] + Convert.ToChar(2)); } this.sendData("E^" + builder8.ToString()); return; } case "Cg": if ((this.Room != null) && (this.roomUser != null)) { int num101 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!DB.checkExists("SELECT id FROM groups_details WHERE id = '" + num101 + "'")) { return; } string str61 = DB.runRead("SELECT name FROM groups_details WHERE id = '" + num101 + "'"); string str62 = DB.runRead("SELECT description FROM groups_details WHERE id = '" + num101 + "'"); int num102 = DB.runRead("SELECT roomid FROM groups_details WHERE id = '" + num101 + "'", null); string str63 = ""; if (num102 <= 0) { num102 = -1; } else { str63 = DB.runRead("SELECT name FROM rooms WHERE id = '" + num102 + "'"); } this.sendData(string.Concat(new object[] { "Dw", Holo.Encoding.encodeVL64(num101), str61, Convert.ToChar(2), str62, Convert.ToChar(2), Holo.Encoding.encodeVL64(num102), str63, Convert.ToChar(2) })); } return; case "AX": if (this.statusManager != null) { string str64 = currentPacket.Substring(2); if (!(str64 == "CarryItem")) { if (str64 == "Dance") { this.statusManager.removeStatus("dance"); this.statusManager.Refresh(); } return; } this.statusManager.dropCarrydItem(); } return; case "A^": if (((this.Room != null) && (this.roomUser != null)) && !this.statusManager.containsStatus("wave")) { this.statusManager.removeStatus("dance"); this.statusManager.handleStatus("wave", "", Config.Statuses_Wave_waveDuration); } return; case "A]": if (((this.Room != null) && (this.roomUser != null)) && (!this.statusManager.containsStatus("sit") && !this.statusManager.containsStatus("lay"))) { this.statusManager.dropCarrydItem(); if (currentPacket.Length != 2) { if (!rankManager.containsRight(this._Rank, "fuse_use_club_dance")) { return; } int num103 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if ((num103 < 0) || (num103 > 4)) { return; } this.statusManager.addStatus("dance", num103.ToString()); } else { this.statusManager.addStatus("dance", ""); } this.statusManager.Refresh(); } return; case "AP": if ((this.Room != null) && (this.roomUser != null)) { string str65 = currentPacket.Substring(2); if (!this.statusManager.containsStatus("lay") && !str65.Contains("/")) { try { int num104 = int.Parse(str65); if ((num104 < 1) || (num104 > 0x1a)) { return; } } catch { if ((!this._inPublicroom && (str65 != "Water")) && ((str65 != "Milk") && (str65 != "Juice"))) { return; } } this.statusManager.carryItem(str65); return; } } return; case "Cl": if ((this.Room != null) && (this.roomUser != null)) { int startIndex = 2; int num106 = Holo.Encoding.decodeVL64(currentPacket.Substring(startIndex)); if (!DB.checkExists(string.Concat(new object[] { "SELECT aid FROM poll_results WHERE uid = '", this.userID, "' AND pid = '", num106, "'" }))) { startIndex += Holo.Encoding.encodeVL64(num106).Length; int num107 = Holo.Encoding.decodeVL64(currentPacket.Substring(startIndex)); startIndex += Holo.Encoding.encodeVL64(num107).Length; if (DB.checkExists("SELECT type FROM poll_questions WHERE qid = '" + num107 + "' AND type = '3'")) { int num108 = Holo.Encoding.decodeB64(currentPacket.Substring(startIndex, 2)); startIndex += 2; string str66 = DB.Stripslash(currentPacket.Substring(startIndex, num108)); DB.runQuery(string.Concat(new object[] { "INSERT INTO poll_results (pid,qid,aid,answers,uid) VALUES ('", num106, "','", num107, "','0','", str66, "','", this.userID, "')" })); return; } int num109 = Holo.Encoding.decodeVL64(currentPacket.Substring(startIndex)); startIndex += Holo.Encoding.encodeVL64(num109).Length; int[] numArray10 = new int[num109]; for (int num110 = 0; num110 < num109; num110++) { numArray10[num110] = Holo.Encoding.decodeVL64(currentPacket.Substring(startIndex)); startIndex += Holo.Encoding.encodeVL64(numArray10[num110]).Length; } foreach (int num111 in numArray10) { DB.runQuery(string.Concat(new object[] { "INSERT INTO poll_results (pid,qid,aid,answers,uid) VALUES ('", num106, "','", num107, "','", num111, "',' ','", this.userID, "')" })); } } return; } return; case "@t": case "@w": if (((!this._isMuted && (this.Room != null)) && (this.roomUser != null)) || ((this.Room == null) && (this.gamePlayer != null))) { string str67 = currentPacket.Substring(4); if (str67.Length > 100) { this.sendData("BKError Room Patchato! [LiveXenon Server]"); return; } userManager.addChatMessage(this._Username, this._roomID, str67); str67 = stringManager.filterSwearwords(str67); if ((str67.Substring(0, 1) == ":") && this.isSpeechCommand(str67.Substring(1))) { if (this.roomUser == null) { this.gamePlayer.Game.sendData("Ei" + Holo.Encoding.encodeVL64(this.gamePlayer.roomUID) + "H"); return; } if (this.roomUser.isTyping) { this.Room.sendData("Ei" + Holo.Encoding.encodeVL64(this.roomUser.roomUID) + "H"); this.roomUser.isTyping = false; return; } return; } if (currentPacket.Substring(1, 1) == "w") { if (this.gamePlayer == null) { this.Room.sendShout(this.roomUser, str67); return; } this.gamePlayer.Game.sendData(string.Concat(new object[] { "Ei", Holo.Encoding.encodeVL64(this.gamePlayer.roomUID), "H", Convert.ToChar(1), "@Z", Holo.Encoding.encodeVL64(this.gamePlayer.roomUID), str67, Convert.ToChar(2) })); return; } if (this.gamePlayer == null) { this.Room.sendSaying(this.roomUser, str67); return; } this.gamePlayer.Game.sendData(string.Concat(new object[] { "Ei", Holo.Encoding.encodeVL64(this.gamePlayer.roomUID), "H", Convert.ToChar(1), "@X", Holo.Encoding.encodeVL64(this.gamePlayer.roomUID), str67, Convert.ToChar(2) })); } return; case "@x": if ((!this._isMuted && (this.Room != null)) && (this.roomUser != null)) { string receiver = currentPacket.Substring(4).Split(new char[] { ' ' })[0]; string str69 = currentPacket.Substring(receiver.Length + 5); userManager.addChatMessage(this._Username, this._roomID, str69); str69 = stringManager.filterSwearwords(str69); this.Room.sendWhisper(this.roomUser, receiver, str69); } return; case "D}": if (((!this._isMuted && (this.Room != null)) && (this.roomUser != null)) || ((this.Room == null) && (this.gamePlayer != null))) { if (this.gamePlayer == null) { this.Room.sendData("Ei" + Holo.Encoding.encodeVL64(this.roomUser.roomUID) + "I"); this.roomUser.isTyping = true; return; } this.gamePlayer.Game.sendData("Ei" + Holo.Encoding.encodeVL64(this.gamePlayer.roomUID) + "I"); } return; case "D~": if (((this.Room != null) && (this.roomUser != null)) || ((this.Room == null) && (this.gamePlayer != null))) { if (this.gamePlayer == null) { this.Room.sendData("Ei" + Holo.Encoding.encodeVL64(this.roomUser.roomUID) + "H"); this.roomUser.isTyping = false; return; } this.gamePlayer.Game.sendData("Ei" + Holo.Encoding.encodeVL64(this.gamePlayer.roomUID) + "H"); } return; case "A`": if (((this.Room != null) && (this.roomUser != null)) && (!this._inPublicroom && this._isOwner)) { string str70 = currentPacket.Substring(2); if (userManager.containsUser(str70)) { virtualUser user7 = userManager.getUser(str70); if (((user7._roomID != this._roomID) || user7._hasRights) || user7._isOwner) { return; } DB.runQuery(string.Concat(new object[] { "INSERT INTO room_rights(roomid,userid) VALUES ('", this._roomID, "','", user7.userID, "')" })); user7._hasRights = true; user7.statusManager.addStatus("flatctrl", "onlyfurniture"); user7.roomUser.Refresh(); user7.sendData("@j"); } return; } return; case "Aa": if (((this.Room != null) && (this.roomUser != null)) && (!this._inPublicroom && this._isOwner)) { string str71 = currentPacket.Substring(2); if (userManager.containsUser(str71)) { virtualUser user8 = userManager.getUser(str71); if (((user8._roomID != this._roomID) || !user8._hasRights) || user8._isOwner) { return; } DB.runQuery(string.Concat(new object[] { "DELETE FROM room_rights WHERE roomid = '", this._roomID, "' AND userid = '", user8.userID, "' LIMIT 1" })); user8._hasRights = false; user8.statusManager.removeStatus("flatctrl"); user8.roomUser.Refresh(); user8.sendData("@k"); } return; } return; case "A_": if (((this.Room != null) && (this.roomUser != null)) && (!this._inPublicroom && this._hasRights)) { string str72 = currentPacket.Substring(2); if (userManager.containsUser(str72)) { virtualUser user9 = userManager.getUser(str72); if (user9._roomID != this._roomID) { return; } if (user9._isOwner && ((user9._Rank > this._Rank) || rankManager.containsRight(user9._Rank, "fuse_any_room_controller"))) { return; } user9.roomUser.walkLock = true; user9.roomUser.walkDoor = true; user9.roomUser.goalX = this.Room.doorX; user9.roomUser.goalY = this.Room.doorY; } return; } return; case "E@": if ((this._hasRights && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { string str73 = currentPacket.Substring(2); if (userManager.containsUser(str73)) { virtualUser user10 = userManager.getUser(str73); if (user10._roomID != this._roomID) { return; } if (user10._isOwner && ((user10._Rank > this._Rank) || rankManager.containsRight(user10._Rank, "fuse_any_room_controller"))) { return; } string str74 = DateTime.Now.AddMinutes((double) Config.Rooms_roomBan_banDuration).ToString(); DB.runQuery(string.Concat(new object[] { "INSERT INTO room_bans (roomid,userid,ban_expire) VALUES ('", this._roomID, "','", user10.userID, "','", str74, "')" })); user10.roomUser.walkLock = true; user10.roomUser.walkDoor = true; user10.roomUser.goalX = this.Room.doorX; user10.roomUser.goalY = this.Room.doorY; } return; } return; case "DE": if ((!this._inPublicroom && (this.Room != null)) && (this.roomUser != null)) { int num112 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (((num112 == 1) || (num112 == -1)) && !DB.checkExists(string.Concat(new object[] { "SELECT userid FROM room_votes WHERE userid = '", this.userID, "' AND roomid = '", this._roomID, "'" }))) { DB.runQuery(string.Concat(new object[] { "INSERT INTO room_votes (userid,roomid,vote) VALUES ('", this.userID, "','", this._roomID, "','", num112, "')" })); int voteAmount = DB.runRead("SELECT SUM(vote) FROM room_votes WHERE roomid = '" + this._roomID + "'", null); if (voteAmount < 0) { voteAmount = 0; } this.roomUser.hasVoted = true; if (!this._isOwner) { return; } this.Room.sendNewVoteAmount(voteAmount); } return; } return; case "Ae": this.sendData("A~" + catalogueManager.getPageIndex(this._Rank)); return; case "Af": { string pageName = currentPacket.Split(new char[] { '/' })[1]; this.sendData("A\x007f" + catalogueManager.getPage(pageName, this._Rank)); return; } case "Ad": { string[] strArray24 = currentPacket.Split(new char[] { Convert.ToChar(13) }); string str76 = strArray24[1]; string str77 = strArray24[3]; int num114 = DB.runRead(string.Concat(new object[] { "SELECT indexid FROM catalogue_pages WHERE indexname = '", DB.Stripslash(str76), "' AND minrank <= ", this._Rank }), null); int templateID = DB.runRead("SELECT tid FROM catalogue_items WHERE name_cct = '" + DB.Stripslash(str77) + "'", null); int num116 = DB.runRead(string.Concat(new object[] { "SELECT catalogue_cost FROM catalogue_items WHERE catalogue_id_page = '", num114, "' AND tid = '", templateID, "'" }), null); if ((num116 != 0) && (num116 <= this._Credits)) { int receiverID = this.userID; int presentBoxID = 0; int num119 = 0; if (strArray24[5] == "1") { string str78 = strArray24[6]; if (str78 != this._Username) { int num120 = DB.runRead("SELECT id FROM users WHERE name = '" + DB.Stripslash(str78) + "'", null); if (num120 <= 0) { this.sendData("AL" + str78); return; } receiverID = num120; } string str80 = DB.runRead("SELECT tid FROM catalogue_items WHERE name_cct = '" + ("present_gen" + new Random().Next(1, 7)) + "'"); string str81 = DB.Stripslash(stringManager.filterSwearwords(strArray24[7])); DB.runQuery(string.Concat(new object[] { "INSERT INTO furniture(tid,ownerid,var) VALUES ('", str80, "','", receiverID, "','!", str81, "')" })); presentBoxID = catalogueManager.lastItemID; num119 = -1; } this._Credits -= num116; this.sendData("@F" + this._Credits); DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = '", this._Credits, "' WHERE id = '", this.userID, "' LIMIT 1" })); if (stringManager.getStringPart(str77, 0, 4) == "deal") { int num121 = int.Parse(str77.Substring(4)); int[] numArray11 = DB.runReadColumn("SELECT tid FROM catalogue_deals WHERE id = '" + num121 + "'", 0, null); int[] numArray12 = DB.runReadColumn("SELECT amount FROM catalogue_deals WHERE id = '" + num121 + "'", 0, null); for (int num122 = 0; num122 < numArray11.Length; num122++) { for (int num123 = 1; num123 <= numArray12[num122]; num123++) { DB.runQuery(string.Concat(new object[] { "INSERT INTO furniture(tid,ownerid,roomid) VALUES ('", numArray11[num122], "','", receiverID, "','", num119, "')" })); catalogueManager.handlePurchase(numArray11[num122], receiverID, num119, 0, presentBoxID); } } } else { DB.runQuery(string.Concat(new object[] { "INSERT INTO furniture(tid,ownerid,roomid) VALUES ('", templateID, "','", receiverID, "','", num119, "')" })); if (((catalogueManager.getTemplate(templateID).Sprite == "wallpaper") || (catalogueManager.getTemplate(templateID).Sprite == "floor")) || (catalogueManager.getTemplate(templateID).Sprite == "landscape")) { int decorID = int.Parse(strArray24[4]); catalogueManager.handlePurchase(templateID, receiverID, 0, decorID, presentBoxID); } else if ((stringManager.getStringPart(str77, 0, 11) == "prizetrophy") || (stringManager.getStringPart(str77, 0, 11) == "greektrophy")) { string str82 = DB.Stripslash(stringManager.filterSwearwords(strArray24[4])); string str83 = string.Concat(new object[] { this._Username, Convert.ToChar(9), DateTime.Today.ToShortDateString(), Convert.ToChar(9), str82 }); DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", str83, "' WHERE id = '", catalogueManager.lastItemID, "' LIMIT 1" })); catalogueManager.handlePurchase(templateID, receiverID, num119, 0, presentBoxID); } else { catalogueManager.handlePurchase(templateID, receiverID, num119, 0, presentBoxID); } } if (receiverID == this.userID) { this.refreshHand("last"); return; } if (userManager.containsUser(receiverID)) { userManager.getUser(receiverID).refreshHand("last"); } return; } this.sendData("AD"); return; } case "Ca": if ((Config.enableRecycler && (this.Room != null)) && !recyclerManager.sessionExists(this.userID)) { int itemCount = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (recyclerManager.rewardExists(itemCount)) { recyclerManager.createSession(this.userID, itemCount); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(itemCount).Length + 2); for (int num126 = 0; num126 < itemCount; num126++) { int num127 = Holo.Encoding.decodeVL64(currentPacket); if (DB.checkExists("SELECT id FROM furniture WHERE ownerid = '" + this.userID + "' AND roomid = '0'")) { DB.runQuery("UPDATE furniture SET roomid = '-2' WHERE id = '" + num127 + "' LIMIT 1"); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num127).Length); } else { recyclerManager.dropSession(this.userID, true); this.sendData("DpH"); return; } } this.sendData("Dp" + recyclerManager.sessionString(this.userID)); this.refreshHand("update"); } return; } return; case "Cb": if (!Config.enableRecycler || ((this.Room != null) && recyclerManager.sessionExists(this.userID))) { bool dropItems = currentPacket.Substring(2) == "I"; if (dropItems && recyclerManager.sessionReady(this.userID)) { recyclerManager.rewardSession(this.userID); } recyclerManager.dropSession(this.userID, dropItems); this.sendData("Dp" + recyclerManager.sessionString(this.userID)); if (dropItems) { this.refreshHand("last"); return; } this.refreshHand("new"); } return; case "AA": if ((this.Room != null) && (this.roomUser != null)) { string mode = currentPacket.Substring(2); this.refreshHand(mode); return; } return; case "LB": if ((this.Room != null) && (this.roomUser != null)) { string str85 = currentPacket.Substring(2); this.refreshHand(str85); return; } return; case "AB": if ((this._hasRights && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int num128 = int.Parse(currentPacket.Split(new char[] { '/' })[1]); string str86 = currentPacket.Substring(2).Split(new char[] { '/' })[0]; switch (str86) { case "wallpaper": case "floor": case "landscape": { if (catalogueManager.getTemplate(DB.runRead(string.Concat(new object[] { "SELECT tid FROM furniture WHERE id = '", num128, "' AND ownerid = '", this.userID, "' AND roomid = '0'" }), null)).Sprite != str86) { return; } string str87 = DB.runRead("SELECT var FROM furniture WHERE id = '" + num128 + "'"); DB.runQuery(string.Concat(new object[] { "UPDATE rooms SET ", str86, " = '", str87, "' WHERE id = '", this._roomID, "' LIMIT 1" })); this.Room.sendData("@n" + str86 + "/" + str87); DB.runQuery("DELETE FROM furniture WHERE id = '" + num128 + "' LIMIT 1"); break; } } return; } return; case "AZ": if ((this._hasRights && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int itemID = int.Parse(currentPacket.Split(new char[] { ' ' })[0].Substring(2)); int num131 = DB.runRead(string.Concat(new object[] { "SELECT tid FROM furniture WHERE id = '", itemID, "' AND ownerid = '", this.userID, "' AND roomid = '0'" }), null); if (num131 != 0) { if (catalogueManager.getTemplate(num131).typeID == 0) { string wallPosition = currentPacket.Substring(itemID.ToString().Length + 3); string str89 = catalogueManager.wallPositionOK(wallPosition); if (str89 == wallPosition) { string str90 = DB.runRead("SELECT var FROM furniture WHERE id = '" + itemID + "'"); if (stringManager.getStringPart(catalogueManager.getTemplate(num131).Sprite, 0, 7) == "post.it") { if (int.Parse(str90) > 1) { DB.runQuery("UPDATE furniture SET var = var - 1 WHERE id = '" + itemID + "' LIMIT 1"); } else { DB.runQuery("DELETE FROM furniture WHERE id = '" + itemID + "' LIMIT 1"); } DB.runQuery(string.Concat(new object[] { "INSERT INTO furniture(tid,ownerid) VALUES ('", num131, "','", this.userID, "')" })); itemID = catalogueManager.lastItemID; DB.runQuery("INSERT INTO furniture_stickies(id) VALUES ('" + itemID + "')"); str90 = "FFFF33"; DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", str90, "' WHERE id = '", itemID, "' LIMIT 1" })); } this.Room.wallItemManager.addItem(itemID, num131, str89, str90, true); } return; } string[] strArray25 = currentPacket.Split(new char[] { ' ' }); int x = int.Parse(strArray25[1]); int y = int.Parse(strArray25[2]); byte z = byte.Parse(strArray25[3]); byte typeID = catalogueManager.getTemplate(num131).typeID; this.Room.floorItemManager.placeItem(itemID, num131, x, y, typeID, z); } return; } return; case "AC": if ((this._isOwner && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int num136 = int.Parse(currentPacket.Split(new char[] { ' ' })[2]); if (this.Room.floorItemManager.containsItem(num136)) { this.Room.floorItemManager.removeItem(num136, this.userID); } else if (this.Room.wallItemManager.containsItem(num136) && (stringManager.getStringPart(this.Room.wallItemManager.getItem(num136).Sprite, 0, 7) != "post.it")) { this.Room.wallItemManager.removeItem(num136, this.userID); } else { return; } this.refreshHand("update"); return; } return; case "AI": if ((this._hasRights && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int num137 = int.Parse(currentPacket.Split(new char[] { ' ' })[0].Substring(2)); if (this.Room.floorItemManager.containsItem(num137)) { string[] strArray26 = currentPacket.Split(new char[] { ' ' }); int num138 = int.Parse(strArray26[1]); int num139 = int.Parse(strArray26[2]); byte num140 = byte.Parse(strArray26[3]); this.Room.floorItemManager.relocateItem(num137, num138, num139, num140); } return; } return; case "CV": if ((!this._inPublicroom && (this.Room != null)) && (this.roomUser != null)) { int num141 = int.Parse(currentPacket.Substring(4, Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)))); int toStatus = Holo.Encoding.decodeVL64(currentPacket.Substring(num141.ToString().Length + 4)); this.Room.wallItemManager.toggleItemStatus(num141, toStatus); return; } return; case "AJ": try { int num143 = int.Parse(currentPacket.Substring(4, Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)))); string str91 = DB.Stripslash(currentPacket.Substring(num143.ToString().Length + 6)); this.Room.floorItemManager.toggleItemStatus(num143, str91, this._hasRights); } catch { } return; case "AN": if ((this._isOwner && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int num144 = int.Parse(currentPacket.Substring(2)); if (!this.Room.floorItemManager.containsItem(num144)) { return; } int[] numArray13 = DB.runReadColumn("SELECT itemid FROM furniture_presents WHERE id = '" + num144 + "'", 0, null); if (numArray13.Length > 0) { for (int num145 = 0; num145 < numArray13.Length; num145++) { DB.runQuery("UPDATE furniture SET roomid = '0' WHERE id = '" + numArray13[num145] + "' LIMIT 1"); } this.Room.floorItemManager.removeItem(num144, 0); catalogueManager.itemTemplate template = catalogueManager.getTemplate(DB.runRead("SELECT tid FROM furniture WHERE id = '" + numArray13[numArray13.Length - 1] + "'", null)); if (template.typeID > 0) { this.sendData(string.Concat(new object[] { "BA", template.Sprite, Convert.ToChar(13), template.Sprite, Convert.ToChar(13), template.Length, Convert.ToChar(30), template.Width, Convert.ToChar(30), template.Colour })); } else { this.sendData(string.Concat(new object[] { "BA", template.Sprite, Convert.ToChar(13), template.Sprite, " ", template.Colour, Convert.ToChar(13) })); } } DB.runQuery(string.Concat(new object[] { "DELETE FROM furniture_presents WHERE id = '", num144, "' LIMIT ", numArray13.Length })); DB.runQuery("DELETE FROM furniture WHERE id = '" + num144 + "' LIMIT 1"); this.refreshHand("last"); } return; case "Bw": if ((this._isOwner && !this._inPublicroom) && ((this.Room != null) && (this.roomUser != null))) { int num147 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num147)) { string sprite = this.Room.floorItemManager.getItem(num147).Sprite; if ((sprite.Substring(0, 3).ToLower() == "cf_") || (sprite.Substring(0, 4).ToLower() == "cfc_")) { int num148 = 0; try { num148 = int.Parse(sprite.Split(new char[] { '_' })[1]); } catch { return; } this.Room.floorItemManager.removeItem(num147, 0); this._Credits += num148; this.sendData("@F" + this._Credits); DB.runQuery(string.Concat(new object[] { "UPDATE users SET credits = '", this._Credits, "' WHERE id = '", this.userID, "' LIMIT 1" })); } } return; } return; case "AQ": if ((!this._inPublicroom && (this.Room != null)) && (this.roomUser != null)) { int num149 = int.Parse(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num149)) { floorItem item = this.Room.floorItemManager.getItem(num149); if (((item.Z != 2) || (this.roomUser.X == (item.X + 1))) || (this.roomUser.Y == item.Y)) { if (((item.Z == 4) && (this.roomUser.X != item.X)) && (this.roomUser.Y != (item.Y + 1))) { return; } this.roomUser.goalX = -1; this.Room.moveUser(this.roomUser, item.X, item.Y, true); } } return; } return; case @"@\": if ((!this._inPublicroom && (this.Room != null)) && (this.roomUser != null)) { int num150 = int.Parse(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num150)) { floorItem item2 = this.Room.floorItemManager.getItem(num150); if ((this.roomUser.X == item2.X) || (this.roomUser.Y == item2.Y)) { int num151 = DB.runRead("SELECT teleportid FROM furniture WHERE id = '" + num150 + "'", null); int num152 = DB.runRead("SELECT roomid FROM furniture WHERE id = '" + num151 + "'", null); if (num152 <= 0) { return; } new ᙄ(this.useTeleporter).BeginInvoke(item2, num151, num152, null, null); } } return; } return; case "AM": if (((this.Room != null) && (this.roomUser != null)) && !this._inPublicroom) { int num153 = int.Parse(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num153)) { floorItem item3 = this.Room.floorItemManager.getItem(num153); switch (item3.Sprite) { case "edice": case "edicehc": if ((Math.Abs((int) (this.roomUser.X - item3.X)) > 1) || (Math.Abs((int) (this.roomUser.Y - item3.Y)) > 1)) { return; } item3.Var = "0"; this.Room.sendData(string.Concat(new object[] { "AZ", num153, " ", num153 * 0x26 })); DB.runQuery("UPDATE furniture SET var = '0' WHERE id = '" + num153 + "' LIMIT 1"); break; } } return; } return; case "AL": if (((this.Room != null) && (this.roomUser != null)) && !this._inPublicroom) { int num154 = int.Parse(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num154)) { floorItem item4 = this.Room.floorItemManager.getItem(num154); switch (item4.Sprite) { case "edice": case "edicehc": { if ((Math.Abs((int) (this.roomUser.X - item4.X)) > 1) || (Math.Abs((int) (this.roomUser.Y - item4.Y)) > 1)) { return; } this.Room.sendData("AZ" + num154); int num155 = new Random(DateTime.Now.Millisecond).Next(1, 7); this.Room.sendData(string.Concat(new object[] { "AZ", num154, " ", (num154 * 0x26) + num155 }), 0x7d0); item4.Var = num155.ToString(); DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", num155, "' WHERE id = '", num154, "' LIMIT 1" })); break; } } } return; } return; case "Cw": if ((this._hasRights && (this.Room != null)) && ((this.roomUser != null) && !this._inPublicroom)) { int num156 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (this.Room.wallItemManager.containsItem(num156)) { wallItem item5 = this.Room.wallItemManager.getItem(num156); if (!(item5.Sprite == "habbowheel")) { return; } int num157 = new Random(DateTime.Now.Millisecond).Next(0, 10); this.Room.sendData(string.Concat(new object[] { "AU", num156, Convert.ToChar(9), "habbowheel", Convert.ToChar(9), " ", item5.wallPosition, Convert.ToChar(9), "-1" })); this.Room.sendData(string.Concat(new object[] { "AU", num156, Convert.ToChar(9), "habbowheel", Convert.ToChar(9), " ", item5.wallPosition, Convert.ToChar(9), num157 }), 0x109a); DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", num157, "' WHERE id = '", num156, "' LIMIT 1" })); } return; } return; case "Dz": currentPacket.Substring(4); if (((this.Room != null) && (this.roomUser != null)) && !this._inPublicroom) { int num158 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (this.Room.floorItemManager.containsItem(num158) && (this.Room.floorItemManager.getItem(num158).Sprite == "val_randomizer")) { int num159 = new Random(DateTime.Now.Millisecond).Next(1, 5); this.Room.sendData(string.Concat(new object[] { "AX", num158, Convert.ToChar(2), "123456789", Convert.ToChar(2) })); this.Room.sendData(string.Concat(new object[] { "AX", num158, Convert.ToChar(2), num159, Convert.ToChar(2) }), 0x1388); DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", num159, "' WHERE id = '", num158, "' LIMIT 1" })); } return; } return; case "AS": { string str95 = currentPacket.Substring(4); if (((this.Room != null) && (this.roomUser != null)) && !this._inPublicroom) { int num160 = int.Parse(currentPacket.Substring(2)); if (this.Room.wallItemManager.containsItem(num160)) { str95 = DB.runRead("SELECT text FROM furniture_stickies WHERE id = '" + num160 + "'"); string str96 = DB.runRead("SELECT var FROM furniture WHERE id = '" + num160 + "'"); this.sendData(string.Concat(new object[] { "@p", num160, Convert.ToChar(9), str96, " ", str95 })); } return; } return; } case "AT": if ((this._hasRights && (this.Room != null)) && ((this.roomUser != null) && !this._inPublicroom)) { int num161 = int.Parse(currentPacket.Substring(2, currentPacket.IndexOf("/") - 2)); if (this.Room.wallItemManager.containsItem(num161)) { wallItem item6 = this.Room.wallItemManager.getItem(num161); string str97 = item6.Sprite; switch (str97) { case "post.it": case "post.it.vd": { string str98 = "FFFFFF"; if (str97 == "post.it") { str98 = currentPacket.Substring((2 + num161.ToString().Length) + 1, 6); if (((str98 != "FFFF33") && (str98 != "FF9CFF")) && ((str98 != "9CFF9C") && (str98 != "9CCEFF"))) { return; } } string str99 = currentPacket.Substring((2 + num161.ToString().Length) + 7); if (str99.Length > 0x2ac) { return; } if (str98 != item6.Var) { DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET var = '", str98, "' WHERE id = '", num161, "' LIMIT 1" })); } item6.Var = str98; this.Room.sendData(string.Concat(new object[] { "AU", num161, Convert.ToChar(9), str97, Convert.ToChar(9), " ", item6.wallPosition, Convert.ToChar(9), str98 })); str99 = DB.Stripslash(stringManager.filterSwearwords(str99)).Replace("/r", Convert.ToChar(13).ToString()); DB.runQuery(string.Concat(new object[] { "UPDATE furniture_stickies SET text = '", str99, "' WHERE id = '", num161, "' LIMIT 1" })); break; } } } return; } return; case "AU": if ((this._isOwner && (this.Room != null)) && ((this.roomUser != null) && !this._inPublicroom)) { int num162 = int.Parse(currentPacket.Substring(2)); if (this.Room.wallItemManager.containsItem(num162) && (stringManager.getStringPart(this.Room.wallItemManager.getItem(num162).Sprite, 0, 7) == "post.it")) { this.Room.wallItemManager.removeItem(num162, 0); DB.runQuery("DELETE FROM furniture_stickies WHERE id = '" + num162 + "' LIMIT 1"); } return; } return; case "Ah": if (((this.Room != null) && (this.roomUser != null)) && (!this.statusManager.containsStatus("sit") && !this.statusManager.containsStatus("lay"))) { if (currentPacket.Length != 2) { string str100 = currentPacket.Substring(2); this.statusManager.handleStatus("sign", str100, Config.Statuses_Wave_waveDuration); } else { this.statusManager.addStatus("sign", ""); } this.statusManager.Refresh(); } return; case "Ct": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { this.sendData("EB" + soundMachineManager.getMachineSongList(this.Room.floorItemManager.soundMachineID)); } return; case "Cu": if ((this.Room != null) && (this.Room.floorItemManager.soundMachineID > 0)) { this.sendData("EC" + soundMachineManager.getMachinePlaylist(this.Room.floorItemManager.soundMachineID)); } return; case "C]": if ((this.Room != null) && (this.Room.floorItemManager.soundMachineID > 0)) { int songID = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); this.sendData("Dl" + soundMachineManager.getSong(songID)); } return; case "Cs": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { int num164 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (num164 >= 6) { return; } currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num164).Length + 2); DB.runQuery("DELETE FROM soundmachine_playlists WHERE machineid = '" + this.Room.floorItemManager.soundMachineID + "'"); for (int num165 = 0; num165 < num164; num165++) { int num166 = Holo.Encoding.decodeVL64(currentPacket); DB.runQuery(string.Concat(new object[] { "INSERT INTO soundmachine_playlists(machineid,songid,pos) VALUES ('", this.Room.floorItemManager.soundMachineID, "','", num166, "','", num165, "')" })); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num166).Length); } this.Room.sendData("EC" + soundMachineManager.getMachinePlaylist(this.Room.floorItemManager.soundMachineID)); } return; case "C~": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { int num167 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if ((this._Credits <= 0) || !DB.checkExists(string.Concat(new object[] { "SELECT id FROM soundmachine_songs WHERE id = '", num167, "' AND userid = '", this.userID, "' AND machineid = '", this.Room.floorItemManager.soundMachineID, "'" }))) { this.sendData("AD"); return; } string[] strArray27 = DB.runReadRow("SELECT title,length FROM soundmachine_songs WHERE id = '" + num167 + "'"); DB.runRead("SELECT length FROM soundmachine_songs WHERE id = '" + num167 + "'", null); string str101 = string.Concat(new object[] { Holo.Encoding.encodeVL64(num167), this._Username, Convert.ToChar(10), DateTime.Today.Day, Convert.ToChar(10), DateTime.Today.Month, Convert.ToChar(10), DateTime.Today.Year, Convert.ToChar(10), strArray27[1], Convert.ToChar(10), strArray27[0] }); DB.runQuery(string.Concat(new object[] { "INSERT INTO furniture(tid,ownerid,var) VALUES ('", Config.Soundmachine_burnToDisk_diskTemplateID, "','", this.userID, "','", str101, "')" })); DB.runQuery("UPDATE soundmachine_songs SET burnt = '1' WHERE id = '" + num167 + "' LIMIT 1"); DB.runQuery("UPDATE users SET credits = credits - 1 WHERE id = '" + this.userID + "' LIMIT 1"); this._Credits--; this.sendData("@F" + this._Credits); this.sendData("EB" + soundMachineManager.getMachineSongList(this.Room.floorItemManager.soundMachineID)); this.refreshHand("last"); } return; case "Cx": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { int num168 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!DB.checkExists(string.Concat(new object[] { "SELECT id FROM soundmachine_songs WHERE id = '", num168, "' AND machineid = '", this.Room.floorItemManager.soundMachineID, "'" }))) { return; } DB.runQuery("UPDATE soundmachine_songs SET machineid = '0' WHERE id = '" + num168 + "' AND burnt = '1'"); DB.runQuery("DELETE FROM soundmachine_songs WHERE id = '" + num168 + "' AND burnt = '0' LIMIT 1"); DB.runQuery(string.Concat(new object[] { "DELETE FROM soundmachine_playlists WHERE machineid = '", this.Room.floorItemManager.soundMachineID, "' AND songid = '", num168, "'" })); this.Room.sendData("EC" + soundMachineManager.getMachinePlaylist(this.Room.floorItemManager.soundMachineID)); } return; case "Co": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { this.BAAAA = new virtualSongEditor(this.Room.floorItemManager.soundMachineID, this.userID); this.BAAAA.loadSoundsets(); this.sendData("Dm" + this.BAAAA.getSoundsets()); this.sendData("Dn" + soundMachineManager.getHandSoundsets(this.userID)); } return; case "C[": if ((((this.BAAAA != null) && this._isOwner) && ((this.Room != null) && this._isOwner)) && (this.Room.floorItemManager.soundMachineID > 0)) { int num169 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); int slotID = Holo.Encoding.decodeVL64(currentPacket.Substring(Holo.Encoding.encodeVL64(num169).Length + 2)); if (((slotID <= 0) || (slotID >= 5)) || !this.BAAAA.slotFree(slotID)) { return; } this.BAAAA.addSoundset(num169, slotID); this.sendData("Dn" + soundMachineManager.getHandSoundsets(this.userID)); this.sendData("Dm" + this.BAAAA.getSoundsets()); } return; case @"C\": if ((((this.BAAAA != null) && this._isOwner) && ((this.Room != null) && this._isOwner)) && (this.Room.floorItemManager.soundMachineID > 0)) { int num171 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (this.BAAAA.slotFree(num171)) { return; } this.BAAAA.removeSoundset(num171); this.sendData("Dm" + this.BAAAA.getSoundsets()); this.sendData("Dn" + soundMachineManager.getHandSoundsets(this.userID)); } return; case "Cp": if ((((this.BAAAA != null) && this._isOwner) && ((this.Room != null) && this._isOwner)) && (this.Room.floorItemManager.soundMachineID > 0)) { int num172 = Holo.Encoding.decodeB64(currentPacket.Substring(2, 2)); string str102 = currentPacket.Substring(4, num172); string str103 = currentPacket.Substring(num172 + 6); int num173 = soundMachineManager.calculateSongLength(str103); if (num173 == -1) { return; } str102 = DB.Stripslash(stringManager.filterSwearwords(str102)); str103 = DB.Stripslash(str103); DB.runQuery(string.Concat(new object[] { "INSERT INTO soundmachine_songs (userid,machineid,title,length,data) VALUES ('", this.userID, "','", this.Room.floorItemManager.soundMachineID, "','", str102, "','", num173, "','", DB.Stripslash(str103), "')" })); this.sendData("EB" + soundMachineManager.getMachineSongList(this.Room.floorItemManager.soundMachineID)); this.sendData(string.Concat(new object[] { "EK", Holo.Encoding.encodeVL64(this.Room.floorItemManager.soundMachineID), str102, Convert.ToChar(2) })); } return; case "Cq": if ((this._isOwner && (this.Room != null)) && (this._isOwner && (this.Room.floorItemManager.soundMachineID > 0))) { int num174 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); this.sendData("Dl" + soundMachineManager.getSong(num174)); this.BAAAA = new virtualSongEditor(this.Room.floorItemManager.soundMachineID, this.userID); this.BAAAA.loadSoundsets(); this.sendData("Dm" + this.BAAAA.getSoundsets()); this.sendData("Dn" + soundMachineManager.getHandSoundsets(this.userID)); } return; case "Cr": if ((((this.BAAAA != null) && this._isOwner) && ((this.Room != null) && this._isOwner)) && (this.Room.floorItemManager.soundMachineID > 0)) { int num175 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!DB.checkExists(string.Concat(new object[] { "SELECT id FROM soundmachine_songs WHERE id = '", num175, "' AND userid = '", this.userID, "' AND machineid = '", this.Room.floorItemManager.soundMachineID, "'" }))) { return; } int num176 = Holo.Encoding.encodeVL64(num175).Length; int num177 = Holo.Encoding.decodeB64(currentPacket.Substring(num176 + 2, 2)); string str104 = currentPacket.Substring(num176 + 4, num177); string str105 = currentPacket.Substring((num176 + num177) + 6); int num178 = soundMachineManager.calculateSongLength(str105); if (num178 == -1) { return; } str104 = DB.Stripslash(stringManager.filterSwearwords(str104)); str105 = DB.Stripslash(str105); DB.runQuery(string.Concat(new object[] { "UPDATE soundmachine_songs SET title = '", str104, "',data = '", str105, "',length = '", num178, "' WHERE id = '", num175, "' LIMIT 1" })); this.sendData("ES"); this.sendData("EB" + soundMachineManager.getMachineSongList(this.Room.floorItemManager.soundMachineID)); this.Room.sendData("EC" + soundMachineManager.getMachinePlaylist(this.Room.floorItemManager.soundMachineID)); } return; case "AG": if (((this.Room != null) || (this.roomUser != null)) || (this._tradePartnerRoomUID == -1)) { if (!Config.enableTrading) { this.sendData("BK" + stringManager.getString("trading_disabled")); return; } int roomUID = int.Parse(currentPacket.Substring(2)); if (!this.Room.containsUser(roomUID)) { return; } virtualUser user11 = this.Room.getUser(roomUID); if (!user11.statusManager.containsStatus("trd")) { this._tradePartnerRoomUID = roomUID; this.statusManager.addStatus("trd", ""); this.roomUser.Refresh(); user11._tradePartnerRoomUID = this.roomUser.roomUID; user11.statusManager.addStatus("trd", ""); user11.roomUser.Refresh(); this.refreshTradeBoxes(); user11.refreshTradeBoxes(); } } return; case "AH": if (((this.Room != null) && (this.roomUser != null)) && ((this._tradePartnerRoomUID != -1) && this.Room.containsUser(this._tradePartnerRoomUID))) { int num180 = int.Parse(currentPacket.Substring(2)); if (DB.runRead(string.Concat(new object[] { "SELECT tid FROM furniture WHERE id = '", num180, "' AND ownerid = '", this.userID, "' AND roomid = '0'" }), null) != 0) { this._tradeItems[this._tradeItemCount] = num180; this._tradeItemCount++; virtualUser user12 = this.Room.getUser(this._tradePartnerRoomUID); this._tradeAccept = false; user12._tradeAccept = false; this.refreshTradeBoxes(); user12.refreshTradeBoxes(); return; } } return; case "AD": if (((this.Room != null) && (this.roomUser != null)) && ((this._tradePartnerRoomUID != -1) && this.Room.containsUser(this._tradePartnerRoomUID))) { virtualUser user13 = this.Room.getUser(this._tradePartnerRoomUID); this._tradeAccept = false; user13._tradeAccept = false; this.refreshTradeBoxes(); user13.refreshTradeBoxes(); } return; case "AE": if (((this.Room != null) && (this.roomUser != null)) && ((this._tradePartnerRoomUID != -1) && this.Room.containsUser(this._tradePartnerRoomUID))) { virtualUser user14 = this.Room.getUser(this._tradePartnerRoomUID); this._tradeAccept = true; this.refreshTradeBoxes(); user14.refreshTradeBoxes(); if (!user14._tradeAccept) { return; } for (int num182 = 0; num182 < this._tradeItemCount; num182++) { if (this._tradeItems[num182] > 0) { DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET ownerid = '", user14.userID, "',roomid = '0' WHERE id = '", this._tradeItems[num182], "' LIMIT 1" })); } } for (int num183 = 0; num183 < user14._tradeItemCount; num183++) { if (user14._tradeItems[num183] > 0) { DB.runQuery(string.Concat(new object[] { "UPDATE furniture SET ownerid = '", this.userID, "',roomid = '0' WHERE id = '", user14._tradeItems[num183], "' LIMIT 1" })); } } this.abortTrade(); } return; case "AF": if (((this.Room != null) && (this.roomUser != null)) && ((this._tradePartnerRoomUID != -1) && this.Room.containsUser(this._tradePartnerRoomUID))) { this.abortTrade(); this.refreshHand("update"); } return; case "B_": if ((this.Room != null) && (this.Room.Lobby != null)) { this.sendData("Ch" + this.Room.Lobby.gameList()); } return; case "B`": if (((this.Room != null) && (this.roomUser != null)) && ((this.Room.Lobby != null) && (this.gamePlayer == null))) { int key = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); if (!this.Room.Lobby.Games.ContainsKey(key)) { return; } this.gamePlayer = new Holo.Virtual.Rooms.Games.gamePlayer(this, this.roomUser.roomUID, (Game) this.Room.Lobby.Games[key]); this.gamePlayer.Game.Subviewers.Add(this.gamePlayer); this.sendData("Ci" + this.gamePlayer.Game.Sub); } return; case "Bb": if (((this.Room != null) && (this.roomUser != null)) && ((this.Room.Lobby != null) && (this.gamePlayer == null))) { if (this._Tickets <= 1) { this.sendData("ClJ"); return; } if (!this.Room.Lobby.validGamerank(this.roomUser.gamePoints)) { this.sendData("ClK"); return; } if (!this.Room.Lobby.isBattleBall) { this.sendData(string.Concat(new object[] { "CkRAsecondsUntilRestart", Convert.ToChar(2), "HIRGIHHfieldType", Convert.ToChar(2), "HKIIIISAnumTeams", Convert.ToChar(2), "HJJIIIPAgameLengthChoice", Convert.ToChar(2), "HJIIIIKname", Convert.ToChar(2), "IJ", Convert.ToChar(2), "HsecondsUntilStart", Convert.ToChar(2), "HIRBIHH" })); return; } this.sendData("Ck" + this.Room.Lobby.getCreateGameSettings()); } return; case "Bc": if (((this.Room != null) && (this.roomUser != null)) && ((this.Room.Lobby != null) && (this.gamePlayer == null))) { if (this._Tickets <= 1) { this.sendData("ClJ"); return; } if (this.Room.Lobby.validGamerank(this.roomUser.gamePoints)) { try { int mapID = -1; int teamAmount = -1; int[] enabledPowerups = null; string str106 = ""; int num187 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); currentPacket = currentPacket.Substring(Holo.Encoding.encodeVL64(num187).Length + 2); for (int num188 = 0; num188 < num187; num188++) { int num191; int num192; int num189 = Holo.Encoding.decodeB64(currentPacket.Substring(0, 2)); string str107 = currentPacket.Substring(2, num189); if (!(currentPacket.Substring(num189 + 2, 1) == "H")) { goto Label_A911; } int num190 = Holo.Encoding.decodeVL64(currentPacket.Substring(num189 + 3)); str112 = str107; if (str112 != null) { if (!(str112 == "fieldType")) { if (str112 == "numTeams") { goto Label_A8DF; } } else { mapID = num190; } } goto Label_A8E7; Label_A8DF: teamAmount = num190; Label_A8E7: num191 = Holo.Encoding.encodeVL64(num190).Length; currentPacket = currentPacket.Substring((num189 + num191) + 3); continue; Label_A911: num192 = Holo.Encoding.decodeB64(currentPacket.Substring(num189 + 3, 2)); string str108 = currentPacket.Substring(num189 + 5, num192); str112 = str107; if (str112 != null) { if (!(str112 == "allowedPowerups")) { if (str112 == "name") { goto Label_A9FE; } } else { string[] strArray28 = str108.Split(new char[] { ',' }); enabledPowerups = new int[strArray28.Length]; for (int num193 = 0; num193 < strArray28.Length; num193++) { int num194 = int.Parse(strArray28[num193]); if (!this.Room.Lobby.allowsPowerup(num194)) { return; } enabledPowerups[num193] = num194; } } } goto Label_AA0B; Label_A9FE: str106 = stringManager.filterSwearwords(str108); Label_AA0B: currentPacket = currentPacket.Substring((num189 + num192) + 5); } if (((mapID != -1) && (teamAmount != -1)) && (str106 != "")) { this.gamePlayer = new Holo.Virtual.Rooms.Games.gamePlayer(this, this.roomUser.roomUID, null); this.Room.Lobby.createGame(this.gamePlayer, str106, mapID, teamAmount, enabledPowerups); } return; } catch { return; } } this.sendData("ClK"); } return; case "Be": if (((this.Room != null) && (this.Room.Lobby != null)) && ((this.gamePlayer != null) && (this.gamePlayer.Game.State == Game.gameState.Waiting))) { if (this._Tickets <= 1) { this.sendData("ClJ"); return; } if (!this.Room.Lobby.validGamerank(this.roomUser.gamePoints)) { this.sendData("ClK"); return; } int num195 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); int teamID = Holo.Encoding.decodeVL64(currentPacket.Substring(Holo.Encoding.encodeVL64(num195).Length + 2)); if ((teamID == this.gamePlayer.teamID) || !this.gamePlayer.Game.teamHasSpace(teamID)) { this.sendData("ClH"); return; } if (this.gamePlayer.teamID == -1) { this.gamePlayer.Game.Subviewers.Remove(this.gamePlayer); } this.gamePlayer.Game.movePlayer(this.gamePlayer, this.gamePlayer.teamID, teamID); } return; case "Bg": this.leaveGame(); return; case "Bh": if ((((this.Room != null) && (this.Room.Lobby != null)) && ((this.gamePlayer != null) && (this.gamePlayer.Game != null))) && (this.gamePlayer == this.gamePlayer.Game.Owner)) { int num197 = Holo.Encoding.decodeVL64(currentPacket.Substring(2)); for (int num198 = 0; num198 < this.gamePlayer.Game.Teams.Length; num198++) { foreach (Holo.Virtual.Rooms.Games.gamePlayer player in this.gamePlayer.Game.Teams[num198]) { if (player.roomUID == num197) { player.sendData("ClRA"); this.gamePlayer.Game.movePlayer(player, num198, -1); return; } } } } return; case "Bj": if (((this.Room != null) && (this.Room.Lobby != null)) && ((this.gamePlayer != null) && (this.gamePlayer == this.gamePlayer.Game.Owner))) { this.gamePlayer.Game.startGame(); } return; case "Bk": if (((this.gamePlayer != null) && (this.gamePlayer.Game.State == Game.gameState.Started)) && (this.gamePlayer.teamID != -1)) { this.gamePlayer.goalX = Holo.Encoding.decodeVL64(currentPacket.Substring(3)); this.gamePlayer.goalY = Holo.Encoding.decodeVL64(currentPacket.Substring(Holo.Encoding.encodeVL64(this.gamePlayer.goalX).Length + 3)); Out.WriteLine(string.Concat(new object[] { this._Username, ": ", this.gamePlayer.goalX, ",", this.gamePlayer.goalY })); } return; case "Bl": if (((this.gamePlayer != null) && (this.gamePlayer.Game.State == Game.gameState.Ended)) && (this.gamePlayer.teamID != -1)) { this.gamePlayer.Game.sendData("BK" + this._Username + " wants to replay!"); } return; case "EW": if (this._isOwner) { roomManager.moodlight.setSettings(this._roomID, false, 0, 0, null, 0); return; } return; case "EU": if (this._isOwner) { string str109 = roomManager.moodlight.getSettings(this._roomID); if (str109 != null) { this.sendData("Em" + str109); } return; } return; case "EV": if ((this._hasRights && (this.Room != null)) && ((this.roomUser != null) && !this._inPublicroom)) { int presetID = Holo.Encoding.decodeVL64(currentPacket.Substring(2, 1)); int bgState = Holo.Encoding.decodeVL64(currentPacket.Substring(3, 1)); currentPacket = DB.Stripslash(currentPacket); string presetColour = currentPacket.Substring(6, Holo.Encoding.decodeB64(currentPacket.Substring(4, 2))); int alphaDarkF = Holo.Encoding.decodeVL64(currentPacket.Substring(presetColour.Length + 6)); roomManager.moodlight.setSettings(this._roomID, true, presetID, bgState, presetColour, alphaDarkF); string str111 = roomManager.moodlight.getSettings(this._roomID); if (str111 != null) { this.Room.sendData("Em" + str111); } return; } return; } return; } switch (currentPacket.Substring(0, 2)) { case "CD": this.pingOK = true; return; case "CN": this.sendData("DUIH"); return; case "CJ": this.sendData(string.Concat(new object[] { "DAQBHHIIKHJIPAHQAdd-MM-yyyy", Convert.ToChar(2), "SAHPBhotel-co.uk", Convert.ToChar(2), "QBH" })); return; case "_R": this.sendData(string.Concat(new object[] { "DAQBHIIIKHJIPAIQAdd-MM-yyyy", Convert.ToChar(2), "SAHPB/client", Convert.ToChar(2), "QBHIJWVVVSNKQCFUBJASMSLKUUOJCOLJQPNSBIRSVQBRXZQOTGPMNJIHLVJCRRULBLUO", Convert.ToChar(1) })); return; case "CL": { int num = DB.runRead("SELECT id FROM users WHERE ticket_sso = '" + DB.Stripslash(currentPacket.Substring(4)) + "'", null); if (num == 0) { this.Disconnect(); return; } string str2 = userManager.getBanReason(num); if (str2 != "") { this.sendData("@c" + str2); this.Disconnect(0x3e8); return; } this.userID = num; string[] strArray = DB.runReadRow("SELECT name,figure,sex,mission,rank,consolemission FROM users WHERE id = '" + num + "'"); this._Username = strArray[0]; this._Figure = strArray[1]; this._Sex = char.Parse(strArray[2]); this._Mission = strArray[3]; this._Rank = byte.Parse(strArray[4]); this._consoleMission = strArray[5]; userManager.addUser(num, this); this.7AAA1 = true; this.sendData("@B" + rankManager.fuseRights(this._Rank)); this.sendData("DbIH"); this.sendData("@C"); if (DB.runRead("SELECT guide FROM users WHERE id = '" + this.userID + "'", null) == 1) { this.sendData("BKguide"); } this.sendData("FiI"); this.sendData("FC"); if (Config.enableWelcomeMessage) { this.sendData("BK" + stringManager.getString("welcomemessage_text")); } return; } default: this.Disconnect(); return; } Label_4151: this._ROOMACCESS_SECONDARY_OK = true; this.sendData("@i"); } private void Refresh() { this.roomUser.Refresh(); } internal void refreshAppearance(bool Reload, bool refreshSettings, bool refreshRoom) { if (Reload) { string[] strArray = DB.runReadRow("SELECT figure,sex,mission FROM users WHERE id = '" + this.userID + "'"); this._Figure = strArray[0]; this._Sex = char.Parse(strArray[1]); this._Mission = strArray[2]; } if (refreshSettings) { this.sendData(string.Concat(new object[] { "@E", this.userID, Convert.ToChar(2), this._Username, Convert.ToChar(2), this._Figure, Convert.ToChar(2), this._Sex, Convert.ToChar(2), this._Mission, Convert.ToChar(2), "H", Convert.ToChar(2), "HH" })); } if ((refreshRoom && (this.Room != null)) && (this.roomUser != null)) { this.Room.sendData(string.Concat(new object[] { "DJ", Holo.Encoding.encodeVL64(this.roomUser.roomUID), this._Figure, Convert.ToChar(2), this._Sex, Convert.ToChar(2), this._Mission, Convert.ToChar(2) })); } } internal void refreshBadges() { this._nowBadge = ""; int i = 0; int num2 = 0; string[] strArray = DB.runReadColumn("SELECT badgeid FROM users_badges WHERE userid = '" + this.userID + "'", 0); StringBuilder builder = new StringBuilder(); if (strArray.Length > 0) { num2 = DB.runRead("SELECT badge_status FROM users WHERE id = '" + this.userID + "'", null); string str = DB.runRead("SELECT badgeid FROM users_badges WHERE userid = '" + this.userID + "'"); for (int j = 0; j < strArray.Length; j++) { builder.Append(strArray[j] + Convert.ToChar(2)); if (strArray[j] == str) { i = j; } } if (num2 == 1) { this._nowBadge = str; } } this.sendData("Ce" + Holo.Encoding.encodeVL64(strArray.Length) + builder.ToString() + Holo.Encoding.encodeVL64(i) + Holo.Encoding.encodeVL64(num2)); this.sendData(string.Concat(new object[] { "FtACH_Graduate1", Convert.ToChar(2), "ACH_Login1", Convert.ToChar(2), "PAJACH_Login2", Convert.ToChar(2), "PAKACH_Login3", Convert.ToChar(2), "PAPAACH_Login4", Convert.ToChar(2), "PAQAACH_Login5", Convert.ToChar(2), "PBIACH_RoomEntry1", Convert.ToChar(2), "PBJACH_RoomEntry2", Convert.ToChar(2), "PBKACH_RoomEntry3", Convert.ToChar(2), "SBRAACH_RegistrationDuration6", Convert.ToChar(2), "SBSAACH_RegistrationDuration7", Convert.ToChar(2), "SBPBACH_RegistrationDuration8", Convert.ToChar(2), "SBQBACH_RegistrationDuration9", Convert.ToChar(2), "SBRBACH_RegistrationDuration10", Convert.ToChar(2), "RAIACH_AvatarLooks1", Convert.ToChar(2), "IJGLB", Convert.ToChar(2), "IKGLC", Convert.ToChar(2), "IPAGLD", Convert.ToChar(2), "IQAGLE", Convert.ToChar(2), "IRAGLF", Convert.ToChar(2), "ISAGLG", Convert.ToChar(2), "IPBGLH", Convert.ToChar(2), "IQBGLI", Convert.ToChar(2), "IRBGLJ", Convert.ToChar(2), "SAIACH_Student1", Convert.ToChar(2), "PCIHC1", Convert.ToChar(2), "PCJHC2", Convert.ToChar(2), "PCKHC3", Convert.ToChar(2), "PCPAHC4", Convert.ToChar(2), "PCQAHC5", Convert.ToChar(2), "QAIACH_GamePlayed1", Convert.ToChar(2), "QAJACH_GamePlayed2", Convert.ToChar(2), "QAKACH_GamePlayed3", Convert.ToChar(2), "QAPAACH_GamePlayed4", Convert.ToChar(2), "QAQAACH_GamePlayed5", Convert.ToChar(2) })); } internal void refreshClub() { int i = 0; int num2 = 0; int num3 = 0; string[] strArray = DB.runReadRow("SELECT months_expired,months_left,date_monthstarted FROM users_club WHERE userid = '" + this.userID + "'"); if (strArray.Length > 0) { num2 = int.Parse(strArray[0]); num3 = int.Parse(strArray[1]) - 1; i = ((int) DateTime.Parse(strArray[2]).Subtract(DateTime.Now).TotalDays) + 0x20; this._clubMember = true; } else { this._clubMember = false; } this.sendData(string.Concat(new object[] { "@Gclub_habbo", Convert.ToChar(2), Holo.Encoding.encodeVL64(i), Holo.Encoding.encodeVL64(num2), Holo.Encoding.encodeVL64(num3), Holo.Encoding.encodeVL64(1) })); } internal void refreshGroupStatus() { this._groupID = DB.runReadUnsafe("SELECT groupid FROM groups_memberships WHERE userid = '" + this.userID + "' AND is_current = '1'", null); if (this._groupID > 0) { this._groupMemberRank = DB.runRead(string.Concat(new object[] { "SELECT member_rank FROM groups_memberships WHERE userid = '", this.userID, "' AND groupID = '", this._groupID, "'" }), null); } } internal void refreshHand(string Mode) { int[] numArray = DB.runReadColumn("SELECT id FROM furniture WHERE ownerid = '" + this.userID + "' AND roomid = '0' ORDER BY id ASC", 0, null); StringBuilder builder = new StringBuilder("BL"); int num = 0; int length = numArray.Length; string str2 = Mode; if (str2 != null) { if (!(str2 == "next")) { if (str2 == "prev") { this.9AAA1--; goto Label_00A8; } if (str2 == "last") { this.9AAA1 = (length - 1) / 9; goto Label_00A8; } if (str2 == "update") { goto Label_00A8; } } else { this.9AAA1++; goto Label_00A8; } } this.9AAA1 = 0; Label_00A8: try { if (numArray.Length > 0) { while (true) { num = this.9AAA1 * 9; if (length > (num + 9)) { length = num + 9; } if ((num <= length) && (num != length)) { break; } this.9AAA1--; } for (int i = num; i < length; i++) { catalogueManager.itemTemplate template = catalogueManager.getTemplate(DB.runRead("SELECT tid FROM furniture WHERE id = '" + numArray[i] + "'", null)); char ch = '1'; if (!template.isRecycleable) { ch = '0'; } if (template.typeID == 0) { string colour = template.Colour; if ((template.Sprite == "post.it") || (template.Sprite == "post.it.vd")) { colour = DB.runRead("SELECT var FROM furniture WHERE id = '" + numArray[i] + "'"); } builder.Append(string.Concat(new object[] { "SI", Convert.ToChar(30).ToString(), numArray[i], Convert.ToChar(30).ToString(), i, Convert.ToChar(30).ToString(), "I", Convert.ToChar(30).ToString(), numArray[i], Convert.ToChar(30).ToString(), template.Sprite, Convert.ToChar(30).ToString(), colour, Convert.ToChar(30).ToString(), ch, "/" })); } else { builder.Append(string.Concat(new object[] { "SI", Convert.ToChar(30).ToString(), numArray[i], Convert.ToChar(30).ToString(), i, Convert.ToChar(30).ToString(), "S", Convert.ToChar(30).ToString(), numArray[i], Convert.ToChar(30).ToString(), template.Sprite, Convert.ToChar(30).ToString(), template.Length, Convert.ToChar(30).ToString(), template.Width, Convert.ToChar(30).ToString(), DB.runRead("SELECT var FROM furniture WHERE id = '" + numArray[i] + "'"), Convert.ToChar(30).ToString(), template.Colour, Convert.ToChar(30).ToString(), ch, Convert.ToChar(30).ToString(), template.Sprite, Convert.ToChar(30).ToString(), "/" })); } } } builder.Append(Convert.ToChar(13).ToString() + numArray.Length); this.sendData(builder.ToString()); } catch { this.sendData("BL" + Convert.ToChar(13) + "0"); } } internal void refreshTradeBoxes() { if (((this.Room != null) && this.Room.containsUser(this._tradePartnerRoomUID)) && (this.roomUser != null)) { virtualUser user = this.Room.getUser(this._tradePartnerRoomUID); StringBuilder builder = new StringBuilder(string.Concat(new object[] { "Al", this._Username, Convert.ToChar(9), this._tradeAccept.ToString().ToLower(), Convert.ToChar(9) })); if (this._tradeItemCount > 0) { builder.Append(catalogueManager.tradeItemList(this._tradeItems)); } builder.Append(string.Concat(new object[] { Convert.ToChar(13), user._Username, Convert.ToChar(9), user._tradeAccept.ToString().ToLower(), Convert.ToChar(9) })); if (user._tradeItemCount > 0) { builder.Append(catalogueManager.tradeItemList(user._tradeItems)); } this.sendData(builder.ToString()); } } internal void refreshValueables(bool Credits, bool Tickets) { if (Credits) { this._Credits = DB.runRead("SELECT credits FROM users WHERE id = '" + this.userID + "'", null); this.sendData("@F" + this._Credits); } if (Tickets) { this._Tickets = DB.runRead("SELECT tickets FROM users WHERE id = '" + this.userID + "'", null); this.sendData("A|" + this._Tickets); } } private void sendData(int myID) { throw new NotImplementedException(); } internal void sendData(string Data) { try { byte[] bytes = System.Text.Encoding.Default.GetBytes(Data + Convert.ToChar(1)); this.4AAAA.BeginSend(bytes, 0, bytes.Length, SocketFlags.None, new AsyncCallback(this.sentData), null); } catch { this.Disconnect(); } } private void sentData(IAsyncResult iAr) { try { this.4AAAA.EndSend(iAr); } catch { this.Disconnect(); } } private void useTeleporter(floorItem Teleporter1, int idTeleporter2, int roomIDTeleporter2) { this.roomUser.walkLock = true; string sprite = Teleporter1.Sprite; if (roomIDTeleporter2 == this._roomID) { floorItem item = this.Room.floorItemManager.getItem(idTeleporter2); Thread.Sleep(500); this.Room.sendData(string.Concat(new object[] { "AY", Teleporter1.ID, "/", this._Username, "/", sprite })); this.Room.sendData(string.Concat(new object[] { @"A\", item.ID, "/", this._Username, "/", sprite })); this.roomUser.X = item.X; this.roomUser.Y = item.Y; this.roomUser.H = item.H; this.roomUser.Z1 = item.Z; this.roomUser.Z2 = item.Z; this.roomUser.Refresh(); this.roomUser.walkLock = false; } else { this._teleporterID = idTeleporter2; this.sendData("@~" + Holo.Encoding.encodeVL64(idTeleporter2) + Holo.Encoding.encodeVL64(roomIDTeleporter2)); this.Room.sendData(string.Concat(new object[] { "AY", Teleporter1.ID, "/", this._Username, "/", sprite })); } } internal string connectionRemoteIP { get { return this.4AAAA.RemoteEndPoint.ToString().Split(new char[] { ':' })[0]; } } private delegate void ᙄ(floorItem Teleporter1, int idTeleporter2, int roomIDTeleporter2); private delegate void ᙃ(int ms); } }