Add muted player functions

This commit is contained in:
SilicaAndPina 2021-03-23 17:36:55 +13:00
parent 61383e8b9f
commit b15e6996fe
10 changed files with 272 additions and 20 deletions

View file

@ -57,6 +57,25 @@ namespace HISP.Player
}
public void AddFriend(User userToFriend)
{
if(baseUser.MuteBuddy)
{
byte[] cantFriend = PacketBuilder.CreateChat(Messages.CantSendBuddyRequestWhileMuted, PacketBuilder.CHAT_BOTTOM_RIGHT);
baseUser.LoggedinClient.SendPacket(cantFriend);
return;
}
else if(userToFriend.MuteBuddyRequests)
{
byte[] cantFriend = PacketBuilder.CreateChat(Messages.PlayerIgnoringAllBuddyRequests, PacketBuilder.CHAT_BOTTOM_RIGHT);
baseUser.LoggedinClient.SendPacket(cantFriend);
return;
}
else if(userToFriend.MutePlayer.IsUserMuted(userToFriend))
{
byte[] cantFriend = PacketBuilder.CreateChat(Messages.PlayerIgnoringYourBuddyRequests, PacketBuilder.CHAT_BOTTOM_RIGHT);
baseUser.LoggedinClient.SendPacket(cantFriend);
return;
}
if (userToFriend.PendingBuddyRequestTo == baseUser)
{
Database.AddBuddy(baseUser.Id, userToFriend.Id);

View file

@ -0,0 +1,40 @@
using HISP.Server;
using System.Collections.Generic;
namespace HISP.Player
{
public class MutedPlayers
{
private User baseUser;
private List<int> userIds;
public MutedPlayers(User BaseUser)
{
userIds = new List<int>();
baseUser = BaseUser;
int[] userids = Database.GetMutedPlayers(BaseUser.Id);
foreach (int userid in userids)
userIds.Add(userid);
}
public bool IsUserMuted(User user)
{
return userIds.Contains(user.Id);
}
public void MuteUser(User user)
{
userIds.Add(user.Id);
Database.AddMutedPlayer(baseUser.Id, user.Id);
}
public void UnmuteUser(User user)
{
userIds.Remove(user.Id);
Database.DeleteMutedPlayer(baseUser.Id, user.Id);
}
}
}

View file

@ -95,6 +95,7 @@ namespace HISP.Player
public Ranch OwnedRanch = null;
public PlayerQuests Quests;
public Highscore Highscores;
public MutedPlayers MutePlayer;
public Riddler LastRiddle;
public Award Awards;
public User SocializingWith;
@ -548,6 +549,7 @@ namespace HISP.Player
MailBox = new Mailbox(this);
Highscores = new Highscore(this);
Awards = new Award(this);
MutePlayer = new MutedPlayers(this);
TrackedItems = new Tracking(this);
HorseInventory = new HorseInventory(this);