diff --git a/HorseIsleServer/HorseIsleServer/Player/User.cs b/HorseIsleServer/HorseIsleServer/Player/User.cs index 9e394b9..053fb3f 100644 --- a/HorseIsleServer/HorseIsleServer/Player/User.cs +++ b/HorseIsleServer/HorseIsleServer/Player/User.cs @@ -33,16 +33,39 @@ namespace HISP.Player private int hunger; private int thirst; private int tired; + private bool noClip = false; + public bool NoClip + { + get + { + if(CurrentlyRidingHorse != null) + { + if(CurrentlyRidingHorse.Breed != null) + { + if (CurrentlyRidingHorse.Breed.Type == "pegasus") + { + return true; + } + if (CurrentlyRidingHorse.Breed.Id == 170) + { + return true; + } + } + } + return noClip; + } + set + { + noClip = true; + } + } public Trade TradingWith = null; - public int AttemptingToOfferItem; public bool TradeMenuPriority = false; - public byte[] SecCodeSeeds = new byte[3]; public int SecCodeInc = 0; public int SecCodeCount = 0; - public int Id; public string Username; public bool Administrator; @@ -62,7 +85,6 @@ namespace HISP.Player public bool MuteSocials = false; public bool MuteAll = false; public bool MuteLogins = false; - public bool NoClip = false; public string Gender; public bool MetaPriority = false; public bool Idle; diff --git a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs index 28ac421..68cc949 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameServer.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameServer.cs @@ -1985,6 +1985,10 @@ namespace HISP.Server { if(sender.LoggedinUser.CurrentlyRidingHorse != null) { + + byte[] stopRidingHorseMessagePacket = PacketBuilder.CreateChat(Messages.HorseStopRidingMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); + sender.SendPacket(stopRidingHorseMessagePacket); + StopRidingHorse(sender); } else @@ -2007,6 +2011,10 @@ namespace HISP.Server } if (sender.LoggedinUser.HorseInventory.HorseIdExist(randomId)) { + + byte[] stopRidingHorseMessagePacket = PacketBuilder.CreateChat(Messages.HorseStopRidingMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); + sender.SendPacket(stopRidingHorseMessagePacket); + StopRidingHorse(sender); } else @@ -7949,12 +7957,10 @@ namespace HISP.Server if (horseMountInst.Breed.Type == "pegasus") { incBy = 16; - sender.LoggedinUser.NoClip = true; } if (horseMountInst.Breed.Id == 170) // Unipeg { incBy = 17; - sender.LoggedinUser.NoClip = true; } incBy *= 5; @@ -7972,14 +7978,9 @@ namespace HISP.Server { sender.LoggedinUser.CurrentlyRidingHorse = null; - byte[] stopRidingHorseMessagePacket = PacketBuilder.CreateChat(Messages.HorseStopRidingMessage, PacketBuilder.CHAT_BOTTOM_RIGHT); - sender.SendPacket(stopRidingHorseMessagePacket); - - 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); - sender.LoggedinUser.NoClip = false; UpdateUserFacingAndLocation(sender.LoggedinUser); }