View difference between Paste ID: 2R7QiWqf and NCq9KFLs
SHOW: | | - or go back to the newest paste.
1-
using System;
1+
internal void ChangeLook()
2-
using System.Collections;
2+
3-
using System.Collections.Generic;
3+
            if (_session.GetHabbo().MutantPenalty)
4-
using System.Drawing;
4+
5-
using System.Linq;
5+
                _session.SendNotif(
6-
using Butterfly.Core;
6+
                    "Because of a penalty or restriction on your account, you are not allowed to change your look.");
7-
using Butterfly.HabboHotel.Items;
7+
8-
using Butterfly.HabboHotel.Pathfinding;
8+
9-
using Butterfly.HabboHotel.Rooms.Games;
9+
10-
using Butterfly.HabboHotel.Rooms.Wired;
10+
            var gender = _request.PopFixedString().ToUpper();
11-
using Butterfly.HabboHotel.GameClients;
11+
            var look = Xeno.FilterInjectionChars(_request.PopFixedString());
12
13-
namespace Butterfly.HabboHotel.Rooms
13+
            if (!AntiMutant.ValidateLook(look, gender))
14-
{
14+
15-
    internal class GameMap
15+
16-
    {
16+
            _session.GetHabbo().Look = AntiMutant.ReFixeateLook(Xeno.FilterFigure(look));
17-
        #region Variables
17+
            _session.GetHabbo().Gender = gender.ToLower();
18
19-
        /// <summary>
19+
            if (_session.GetHabbo().GetMessenger() != null)
20-
        /// La variable que mantiene la información de sala.
20+
                Xeno.GetGame().GetClientManager().QueueConsoleUpdate(_session);
21-
        /// </summary>
21+
22-
        private Room _room;
22+
            Xeno.GetGame()
23
                .GetQuestManager()
24-
        /// <summary>
24+
                .ProgressUserQuest(_session, QuestType.ProfileChangeLook);
25-
        /// Movimientos diagonales permitidos.
25+
            Xeno.GetGame()
26-
        /// </summary>
26+
                .GetAchievementManager()
27-
        internal bool DiagonalEnabled;
27+
                .ProgressUserAchievement(_session, _session.GetHabbo().Id, "ACH_AvatarLooks", 1);
28
29-
        /// <summary>
29+
            if (_session.GetHabbo().CitizenshipLevel == 1)
30-
        /// En esta podremos encontrar los usuarios que están sobre las baldosas.
30+
                Xeno.GetGame().GetTalentManager().UpdateTalentTravel(_session, "citizenship");
31-
        /// </summary>
31+
32-
        private Hashtable _userMap;
32+
            _session.GetMessageHandler().GetResponse().Init(Outgoing.ChangeMiniLook);
33
            _session.GetMessageHandler().GetResponse().AppendStringWithBreak(_session.GetHabbo().Look);
34-
        /// <summary>
34+
            _session.GetMessageHandler().GetResponse().AppendStringWithBreak(_session.GetHabbo().Gender.ToUpper());
35-
        /// Caché de puertas de grupo en esta sala.
35+
            _session.GetMessageHandler().SendResponse();
36-
        /// </summary>
36+
37-
        internal Dictionary<Point, RoomItem> GuildGates;
37+
            _session.GetMessageHandler().GetResponse().Init(Outgoing.UpdateUserInformation);
38
            _session.GetMessageHandler().GetResponse().AppendInt32(-1);
39-
        internal DynamicRoomModel Model { get; private set; }
39+
            _session.GetMessageHandler().GetResponse().AppendStringWithBreak(_session.GetHabbo().Look);
40
            _session.GetMessageHandler().GetResponse().AppendStringWithBreak(_session.GetHabbo().Gender.ToLower());
41-
        internal RoomModel StaticModel { get; private set; }
41+
            _session.GetMessageHandler().GetResponse().AppendStringWithBreak(_session.GetHabbo().Motto);
42
            _session.GetMessageHandler().GetResponse().AppendUInt(_session.GetHabbo().AchievementPoints);
43-
        internal byte[][] EffectMap { get; private set; }
43+
            _session.GetMessageHandler().SendResponse();
44
45-
        internal Hashtable CoordinatedItems { get; private set; }
45+
            if (!_session.GetHabbo().InRoom)
46
                return;
47-
        internal Hashtable TileHeightApilable { get; private set; }
47+
            var room = _session.GetHabbo().CurrentRoom;
48
49-
        internal byte[][] Map { get; private set; }
49+
            if (room == null)
50
                return;
51-
        internal double[][] ItemHeightMap { get; private set; }
51+
52
            var user = room.GetRoomUserManager().GetRoomUserByHabbo(_session.GetHabbo().Id);
53-
        internal int[][] TileHeightMap { get; private set; }
53+
54
            if (user == null)
55-
        internal int[,] TileHeightMap1 { get; private set; }
55+
56
57-
        internal byte[,] GameMap1 { get; private set; }
57+
            var roomUpdate = new ServerMessage(Outgoing.UpdateUserInformation);
58
            roomUpdate.AppendInt32(user.VirtualId);
59-
        internal HashSet<Point> WalkableList;
59+
            roomUpdate.AppendStringWithBreak(_session.GetHabbo().Look);
60
            roomUpdate.AppendStringWithBreak(_session.GetHabbo().Gender.ToLower());
61-
        #endregion
61+
            roomUpdate.AppendStringWithBreak(_session.GetHabbo().Motto);
62
            roomUpdate.AppendUInt(_session.GetHabbo().AchievementPoints);
63-
        #region Constructor
63+
            room.SendMessage(roomUpdate);
64
            using (var dbClient = Xeno.GetDatabaseManager().GetQueryreactor())
65-
        public GameMap(Room room)
65+
66
                dbClient.SetQuery("UPDATE users SET look = @look WHERE id = '" + _session.GetHabbo().Id + "'");
67-
            _room = room;
67+
                dbClient.AddParameter("motto", _session.GetHabbo().Look);
68-
            DiagonalEnabled = true;
68+
                dbClient.RunQuery();
69
            }
70-
            StaticModel = Xeno.GetGame().GetRoomManager().GetModel(_room.RoomData.ModelName, _room.RoomId);
70+
71-
            if (StaticModel == null)
71+
        }