-using System.Linq;
+using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.Json;
_config.OnValueChanged(CVars.GameHostName, OnServerNameChanged, true);
_config.OnValueChanged(CCVars.AdminAhelpOverrideClientName, OnOverrideChanged, true);
_sawmill = IoCManager.Resolve<ILogManager>().GetSawmill("AHELP");
- _maxAdditionalChars = GenerateAHelpMessage("", "", true).Length;
+ _maxAdditionalChars = GenerateAHelpMessage("", "", true, _timing.CurTime.ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel).Length;
_playerManager.PlayerStatusChanged += OnPlayerStatusChanged;
SubscribeLocalEvent<GameRunLevelChangedEvent>(OnGameRunLevelChanged);
{
str = str[..(DescriptionMax - _maxAdditionalChars - unameLength)];
}
- _messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(senderSession.Name, str, !personalChannel, admins.Count == 0));
+ _messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(senderSession.Name, str, !personalChannel, _timing.CurTime.ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel, admins.Count == 0));
}
if (admins.Count != 0 || sendsWebhook)
.ToList();
}
- private static string GenerateAHelpMessage(string username, string message, bool admin, bool noReceivers = false)
+ private static string GenerateAHelpMessage(string username, string message, bool admin, string roundTime, GameRunLevel roundState, bool noReceivers = false)
{
var stringbuilder = new StringBuilder();
-
+
if (admin)
stringbuilder.Append(":outbox_tray:");
else if (noReceivers)
else
stringbuilder.Append(":inbox_tray:");
+ if(roundTime != string.Empty && roundState == GameRunLevel.InRound)
+ stringbuilder.Append($" **{roundTime}**");
stringbuilder.Append($" **{username}:** ");
stringbuilder.Append(message);
return stringbuilder.ToString();