Fix server crash on wink

This commit is contained in:
Bluzume 2021-11-06 03:03:39 -04:00
parent f7930fd4d3
commit 4d85001657

View file

@ -605,7 +605,8 @@ namespace HISP.Server
sender.SendPacket(cantSocialize); sender.SendPacket(cantSocialize);
break; break;
} }
else if (sender.LoggedinUser.SocializingWith.MutePlayer.IsUserMuted(sender.LoggedinUser))
if (sender.LoggedinUser.SocializingWith.MutePlayer.IsUserMuted(sender.LoggedinUser))
{ {
byte[] cantSocialize = PacketBuilder.CreateChat(Messages.PlayerIgnoringYourSocials, PacketBuilder.CHAT_BOTTOM_RIGHT); byte[] cantSocialize = PacketBuilder.CreateChat(Messages.PlayerIgnoringYourSocials, PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(cantSocialize); sender.SendPacket(cantSocialize);
@ -621,6 +622,8 @@ namespace HISP.Server
} }
if(social.ForEveryone != null)
{
foreach (User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true)) foreach (User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true))
{ {
if (social.BaseSocialType.Type != "GROUP") if (social.BaseSocialType.Type != "GROUP")
@ -635,10 +638,11 @@ namespace HISP.Server
string socialTarget = ""; string socialTarget = "";
if(sender.LoggedinUser.SocializingWith != null) if(sender.LoggedinUser.SocializingWith != null)
socialTarget = sender.LoggedinUser.SocializingWith.Username; socialTarget = sender.LoggedinUser.SocializingWith.Username;
byte[] msgEveryone = PacketBuilder.CreateChat(Messages.FormatSocialMessage(social.ForEveryone, socialTarget, sender.LoggedinUser.Username), PacketBuilder.CHAT_BOTTOM_RIGHT); byte[] msgEveryone = PacketBuilder.CreateChat(Messages.FormatSocialMessage(social.ForEveryone, socialTarget, sender.LoggedinUser.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
user.LoggedinClient.SendPacket(msgEveryone); user.LoggedinClient.SendPacket(msgEveryone);
} }
}
if(social.ForTarget != null) if(social.ForTarget != null)
{ {
if(sender.LoggedinUser.SocializingWith != null) if(sender.LoggedinUser.SocializingWith != null)
@ -662,10 +666,11 @@ namespace HISP.Server
} }
foreach(User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true))
{
if (social.SoundEffect != null) if (social.SoundEffect != null)
{ {
foreach (User user in GetUsersAt(sender.LoggedinUser.X, sender.LoggedinUser.Y, true, true))
{
if (user.MuteAll || user.MuteSocials) if (user.MuteAll || user.MuteSocials)
continue; continue;