Fix NoClip flag.

This commit is contained in:
Bluzume 2021-10-26 02:09:17 -04:00
parent c1df5292ec
commit 99f10ead55
2 changed files with 34 additions and 11 deletions

View file

@ -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;

View file

@ -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);
}