Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Communication/Packets/Incoming/ClientPacket.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ public class ClientPacket
private IByteBuffer buffer;
public short Id { get; }

public ClientPacket(IByteBuffer buf)
public ClientPacket(short id, IByteBuffer buf)
{
Id = id;
buffer = buf;
Id = buffer.ReadShort();
}

public string PopString()
Expand All @@ -28,5 +28,8 @@ public int PopInt() =>

public bool PopBoolean() =>
buffer.ReadByte() == 1;

public int RemainingLength() =>
buffer.ReadableBytes;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class GetAchievementsEvent : IPacketEvent
{
public void Parse(GameClient session, ClientPacket packet)
{
session.SendPacket(new AchievementsComposer(session, PlusEnvironment.GetGame().GetAchievementManager().Achievements.Values.ToList()));
session.SendPacket(new AchievementsComposer(session.GetHabbo(), PlusEnvironment.GetGame().GetAchievementManager().Achievements.Values.ToList()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class GetBadgesEvent : IPacketEvent
{
public void Parse(GameClient session, ClientPacket packet)
{
session.SendPacket(new BadgesComposer(session));
session.SendPacket(new BadgesComposer(session.GetHabbo().GetBadgeComponent().GetBadges()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public void Parse(GameClient session, ClientPacket packet)
continue;

string[] data = value.Split(',');
campaingName = data[1];
campaingName = data.Length > 1 ? data[1] : "";
}

session.SendPacket(new CampaignComposer(parseCampaings, campaingName));
Expand Down
3 changes: 2 additions & 1 deletion Communication/Packets/Incoming/Misc/ClientVariablesEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ class ClientVariablesEvent : IPacketEvent
{
public void Parse(GameClient session, ClientPacket packet)
{
int idkYet = packet.PopInt();
string gordanPath = packet.PopString();
string externalVariables = packet.PopString();
string externalVariables = packet.PopString();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet
categories = PlusEnvironment.GetGame().GetNavigator().GetResultByIdentifier(category);
if (categories.Count > 0)
{
session.SendPacket(new NavigatorSearchResultSetComposer(category, search, categories, session, 2, 100));
session.SendPacket(new NavigatorSearchResultSetComposer(category, search, categories, session.GetHabbo(), 2, 100));
return;
}
}
}

session.SendPacket(new NavigatorSearchResultSetComposer(category, search, categories, session));
session.SendPacket(new NavigatorSearchResultSetComposer(category, search, categories, session.GetHabbo()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,16 @@ public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet
#region Copy Looks (1)
case 1:
{
ServerPacket userChangeComposer = new ServerPacket(ServerPacketHeader.UserChangeMessageComposer);
userChangeComposer.WriteInteger(bot.VirtualId);
userChangeComposer.WriteString(session.GetHabbo().Look);
userChangeComposer.WriteString(session.GetHabbo().Gender);
userChangeComposer.WriteString(bot.BotData.Motto);
userChangeComposer.WriteInteger(0);
room.SendPacket(userChangeComposer);

//Change the defaults
bot.BotData.Look = session.GetHabbo().Look;
bot.BotData.Gender = session.GetHabbo().Gender;

UserChangeComposer userChangeComposer = new UserChangeComposer(bot.VirtualId, bot.BotData);

room.SendPacket(userChangeComposer);



using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("UPDATE `bots` SET `look` = @look, `gender` = '" + session.GetHabbo().Gender + "' WHERE `id` = '" + bot.BotData.Id + "' LIMIT 1");
Expand Down Expand Up @@ -170,7 +168,7 @@ public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet
bot.BotData.DanceId = randomDance.Next(1, 4);
}

room.SendPacket(new DanceComposer(bot, bot.BotData.DanceId));
room.SendPacket(new DanceComposer(bot.VirtualId, bot.BotData.DanceId));
break;
}
#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public void Parse(GameClient session, ClientPacket packet)

//Send the magic out.
if (room.RespectNotificationsEnabled)
room.SendPacket(new RespectPetNotificationMessageComposer(targetUser.GetClient().GetHabbo(), targetUser));
room.SendPacket(new RespectPetNotificationMessageComposer(targetUser));
room.SendPacket(new CarryObjectComposer(thisUser.VirtualId, thisUser.CarryItemId));
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public void Parse(GameClient session, ClientPacket packet)
dbClient.RunQuery();
}

session.SendPacket(new FlatControllerRemovedComposer(instance, userId));
session.SendPacket(new FlatControllerRemovedComposer(instance.Id, userId));
session.SendPacket(new RoomRightsListComposer(instance));
session.SendPacket(new UserUpdateComposer(instance.GetRoomUserManager().GetUserList().ToList()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public void Parse(GameClient session, ClientPacket packet)
if (room.UsersWithRights.Contains(userId))
room.UsersWithRights.Remove(userId);

session.SendPacket(new FlatControllerRemovedComposer(room, userId));
session.SendPacket(new FlatControllerRemovedComposer(room.Id, userId));
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Communication/Packets/Incoming/Rooms/Avatar/ActionEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void Parse(GameClient session, ClientPacket packet)
if (action == 5) // idle
{
user.IsAsleep = true;
room.SendPacket(new SleepComposer(user, true));
room.SendPacket(new SleepComposer(user.VirtualId, true));
}

PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.SocialWave);
Expand Down
2 changes: 1 addition & 1 deletion Communication/Packets/Incoming/Rooms/Avatar/DanceEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void Parse(GameClient session, ClientPacket packet)

user.DanceId = danceId;

room.SendPacket(new DanceComposer(user, danceId));
room.SendPacket(new DanceComposer(user.VirtualId, danceId));

PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.SocialDance);
if (room.GetRoomUserManager().GetRoomUsers().Count > 19)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public void Parse(GameClient session, ClientPacket packet)
int doorDirection = packet.PopInt();
int wallThick = packet.PopInt();
int floorThick = packet.PopInt();
int wallHeight = packet.PopInt();
int wallHeight = packet.RemainingLength() >= 4 ? packet.PopInt() : 0;

int doorZ = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public void Parse(GameClient session, ClientPacket packet)
return;

if (instance.GetBans().BannedUsers().Count > 0)
session.SendPacket(new GetRoomBannedUsersComposer(instance));
session.SendPacket(new GetRoomBannedUsersComposer(instance.Id, instance.GetBans().BannedUsers()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public void Parse(GameClient session, ClientPacket packet)
if (!instance.CheckRights(session))
return;

session.SendPacket(new GetRoomFilterListComposer(instance));
session.SendPacket(new GetRoomFilterListComposer(instance.WordFilterList));
PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(session, "ACH_SelfModRoomFilterSeen", 1);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public void Parse(GameClient session, ClientPacket packet)
if (habbo != null)
{
if (session.GetHabbo().GetMessenger().TryGetFriend(user, out MessengerBuddy buddy))
session.SendPacket(new FriendListUpdateComposer(session, buddy));
session.SendPacket(new FriendListUpdateComposer(session.GetHabbo(), buddy));
}
}
}
Expand Down
23 changes: 15 additions & 8 deletions Communication/Packets/Outgoing/Avatar/WardrobeComposer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,34 @@

namespace Plus.Communication.Packets.Outgoing.Avatar
{
class WardrobeComposer : ServerPacket
class WardrobeComposer : MessageComposer
{
public int UserId { get; }

public WardrobeComposer(int userId)
: base(ServerPacketHeader.WardrobeMessageComposer)
{
WriteInteger(1);
this.UserId = userId;
}

public override void Compose(ServerPacket packet)
{
packet.WriteInteger(1);
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("SELECT `slot_id`,`look`,`gender` FROM `user_wardrobe` WHERE `user_id` = '" + userId + "'");
dbClient.SetQuery("SELECT `slot_id`,`look`,`gender` FROM `user_wardrobe` WHERE `user_id` = '" + UserId + "'");
DataTable WardrobeData = dbClient.GetTable();

if (WardrobeData == null)
WriteInteger(0);
packet.WriteInteger(0);
else
{
WriteInteger(WardrobeData.Rows.Count);
packet.WriteInteger(WardrobeData.Rows.Count);
foreach (DataRow Row in WardrobeData.Rows)
{
WriteInteger(Convert.ToInt32(Row["slot_id"]));
WriteString(Convert.ToString(Row["look"]));
WriteString(Row["gender"].ToString().ToUpper());
packet.WriteInteger(Convert.ToInt32(Row["slot_id"]));
packet.WriteString(Convert.ToString(Row["look"]));
packet.WriteString(Row["gender"].ToString().ToUpper());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
namespace Plus.Communication.Packets.Outgoing.BuildersClub
{
class BCBorrowedItemsComposer : ServerPacket
class BCBorrowedItemsComposer : MessageComposer
{
public BCBorrowedItemsComposer()
: base(ServerPacketHeader.BCBorrowedItemsMessageComposer)
{
WriteInteger(0);

}

public override void Compose(ServerPacket packet)
{
packet.WriteInteger(0);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
namespace Plus.Communication.Packets.Outgoing.BuildersClub
{
class BuildersClubMembershipComposer : ServerPacket
class BuildersClubMembershipComposer : MessageComposer
{
public BuildersClubMembershipComposer()
: base(ServerPacketHeader.BuildersClubMembershipMessageComposer)
{
WriteInteger(int.MaxValue);
WriteInteger(100);
WriteInteger(0);
WriteInteger(int.MaxValue);

}

public override void Compose(ServerPacket packet)
{
packet.WriteInteger(int.MaxValue);
packet.WriteInteger(100);
packet.WriteInteger(0);
packet.WriteInteger(int.MaxValue);
}
}
}
Loading