diff --git a/src/Modules/LocalRecordsModule/Services/LocalRecordsService.cs b/src/Modules/LocalRecordsModule/Services/LocalRecordsService.cs index a5239abc8..4413eeee7 100644 --- a/src/Modules/LocalRecordsModule/Services/LocalRecordsService.cs +++ b/src/Modules/LocalRecordsModule/Services/LocalRecordsService.cs @@ -106,17 +106,24 @@ await server.InfoMessageAsync(new TextFormatter() if (record.Score < oldRecord.Record.Score) { + var timeDifference = RaceTime.FromMilliseconds(oldRecord.Record.Score - record.Score); + var timeDifferenceStr = timeDifference.ToString(); + + if (timeDifferenceStr == null) + { + throw new InvalidOperationException($"Failed to convert {timeDifference} to race time difference"); + } + await server.InfoMessageAsync(new TextFormatter() .AddText(record.Player.NickName) .AddText(" improved the ") .AddText($"{localRecord.Position}.", s => s.WithColor(themeManager.Theme.Info)) - .AddText(" local record ") + .AddText(" local record to ") .AddText(localRaceTime, s => s.WithColor(themeManager.Theme.Info)) - .AddText(" (") + .AddText(" (-") + .AddText(timeDifferenceStr, s => s.WithColor(themeManager.Theme.Info)) + .AddText(") from ") .AddText($"{oldRecord.Position}.", s => s.WithColor(themeManager.Theme.Info)) - .AddText(" - ") - .AddText($"{localRecord.Position}.", s => s.WithColor(themeManager.Theme.Info)) - .AddText(" )") .ToString()); await ShowWidgetToAllAsync(); }