From a5bab68b039e0400263ab45efd222a41b60691c7 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Fri, 5 Nov 2021 07:05:38 -0400 Subject: [PATCH] Fix horse dismount not closing swfmodule --- .../HorseIsleServer/Server/GameServer.cs | 15 +++++------ .../HorseIsleServer/Server/PacketBuilder.cs | 25 ------------------- 2 files changed, 8 insertions(+), 32 deletions(-) diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index 282ba5b..6d15825 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -8012,11 +8012,11 @@ namespace HISP.Server sender.LoggedinUser.Facing += incBy; sender.LoggedinUser.LastRiddenHorse = horseRandomId; - - byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true); - sender.SendPacket(rideHorsePacket); - UpdateUserFacingAndLocation(sender.LoggedinUser); + + byte[] updatePlayer = PacketBuilder.CreateMovementPacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, PacketBuilder.DIRECTION_NONE, true); + sender.SendPacket(updatePlayer); + if (sender.LoggedinUser.HorseWindowOpen) UpdateArea(sender); } @@ -8025,10 +8025,11 @@ namespace HISP.Server sender.LoggedinUser.CurrentlyRidingHorse = null; sender.LoggedinUser.Facing %= 5; - byte[] rideHorsePacket = PacketBuilder.CreateHorseRidePacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, 10, true); - sender.SendPacket(rideHorsePacket); - UpdateUserFacingAndLocation(sender.LoggedinUser); + + byte[] updatePlayer = PacketBuilder.CreateMovementPacket(sender.LoggedinUser.X, sender.LoggedinUser.Y, sender.LoggedinUser.CharacterId, sender.LoggedinUser.Facing, PacketBuilder.DIRECTION_NONE, true); + sender.SendPacket(updatePlayer); + if (sender.LoggedinUser.HorseWindowOpen) UpdateArea(sender); } diff --git a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs index ffe0b88..bfe7e44 100644 --- a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs +++ b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs @@ -476,31 +476,6 @@ namespace HISP.Server return packet; } - public static byte[] CreateHorseRidePacket(int x, int y, int charId, int facing, int direction, bool walk) - { - // Header information - byte[] packet = new byte[(1 * 10)]; - packet[0] = PACKET_MOVE; - - packet[1] = (byte)(((x - 4) / 64) + 20); - packet[2] = (byte)(((x - 4) % 64) + 20); - - packet[3] = (byte)(((y - 1) / 64) + 20); - packet[4] = (byte)(((y - 1) % 64) + 20); - - packet[5] = (byte)(facing + 20); - - packet[6] = (byte)((charId / 64) + 20); - packet[7] = (byte)((charId % 64) + 20); - - packet[8] = (byte)(direction + 20); - - packet[9] = (byte)(Convert.ToInt32(walk) + 20); - packet[packet.Length-1] = PACKET_TERMINATOR; - - return packet; - } - public static byte[] CreateMovementPacket(int x, int y, int charId, int facing, int direction, bool walk) { // Header information