Release 1.9.7.0 - Summer Update 2025

This commit is contained in:
Regalis11
2025-06-17 16:38:11 +03:00
parent 22227f13e5
commit ea5a2bc693
297 changed files with 7344 additions and 2421 deletions
@@ -166,9 +166,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;
@@ -178,14 +176,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>();
@@ -4222,6 +4222,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();
@@ -4231,6 +4234,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();