Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop

This commit is contained in:
EvilFactory
2025-06-17 15:45:16 -03:00
298 changed files with 7347 additions and 2422 deletions
@@ -176,9 +176,7 @@ namespace Barotrauma.Networking
}
else
{
ChatMessage denyMsg = Create("", TextManager.Get("SpamFilterBlocked").Value, ChatMessageType.Server, null);
c.ChatSpamTimer = 10.0f;
GameMain.Server.SendDirectChatMessage(denyMsg, c);
BlockBySpamFilter();
}
flaggedAsSpam = true;
return;
@@ -188,14 +186,20 @@ namespace Barotrauma.Networking
if (c.ChatSpamTimer > 0.0f && !isSpamExempt)
{
ChatMessage denyMsg = Create("", TextManager.Get("SpamFilterBlocked").Value, ChatMessageType.Server, null);
c.ChatSpamTimer = 10.0f;
GameMain.Server.SendDirectChatMessage(denyMsg, c);
BlockBySpamFilter();
flaggedAsSpam = true;
return;
}
flaggedAsSpam = false;
void BlockBySpamFilter()
{
ChatMessage denyMsg = Create("", TextManager.Get("SpamFilterBlocked").Value, ChatMessageType.BlockedBySpamFilter, null);
c.ChatSpamTimer = BlockedBySpamFilterTime;
GameMain.Server.SendDirectChatMessage(denyMsg, c);
GameServer.Log(c.Name + " blocked by spam filter", ServerLog.MessageType.ServerMessage);
}
}
public int EstimateLengthBytesServer(Client c)
@@ -138,6 +138,8 @@ namespace Barotrauma.Networking
get { return kickVoters.Count; }
}
public WeakReference<Character> PreviousCharacter;
partial void InitProjSpecific()
{
kickVoters = new List<Client>();
@@ -4279,6 +4279,9 @@ namespace Barotrauma.Networking
public void GiveAchievement(Client client, Identifier achievementIdentifier)
{
if (client.GivenAchievements.Contains(achievementIdentifier)) { return; }
DebugConsole.NewMessage($"Attempting to give the achievement {achievementIdentifier} to {client.Name}...");
client.GivenAchievements.Add(achievementIdentifier);
IWriteMessage msg = new WriteOnlyMessage();
@@ -4288,6 +4291,17 @@ namespace Barotrauma.Networking
serverPeer.Send(msg, client.Connection, DeliveryMethod.Reliable);
}
public void UnlockRecipe(Identifier identifier)
{
foreach (var client in connectedClients)
{
IWriteMessage msg = new WriteOnlyMessage();
msg.WriteByte((byte)ServerPacketHeader.UNLOCKRECIPE);
msg.WriteIdentifier(identifier);
serverPeer.Send(msg, client.Connection, DeliveryMethod.Reliable);
}
}
public void IncrementStat(Client client, AchievementStat stat, int amount)
{
IWriteMessage msg = new WriteOnlyMessage();