From 04c44e29680045ca187652aa6acd289e1b5fe421 Mon Sep 17 00:00:00 2001 From: Quick <577652+markdwags@users.noreply.github.com> Date: Sat, 2 Jul 2022 03:54:58 -0500 Subject: [PATCH] fix: Fixes bug with town crier NPE from random entry (#1106) --- Projects/UOContent/Mobiles/Townfolk/TownCrier.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Projects/UOContent/Mobiles/Townfolk/TownCrier.cs b/Projects/UOContent/Mobiles/Townfolk/TownCrier.cs index 0162b9093..50e7a9b6b 100644 --- a/Projects/UOContent/Mobiles/Townfolk/TownCrier.cs +++ b/Projects/UOContent/Mobiles/Townfolk/TownCrier.cs @@ -361,7 +361,8 @@ namespace Server.Mobiles public TownCrierEntry GetRandomEntry() { - for (var i = (Entries?.Count ?? 0) - 1; i >= 0; --i) + var count = Entries?.Count ?? 0; + for (var i = count - 1; i >= 0; --i) { if (i >= Entries!.Count) { @@ -377,12 +378,12 @@ namespace Server.Mobiles } var entry = GlobalTownCrierEntryList.Instance.GetRandomEntry(); - if (entry == null || Entries?.Count > 0 && Utility.RandomBool()) + if (count > 0 && entry != null && Utility.RandomBool()) { - entry = Entries.RandomElement(); + return entry; } - return entry; + return Entries.RandomElement(); } public TownCrierEntry AddEntry(string[] lines, TimeSpan duration)