fix: Fixes bug with town crier NPE from random entry (#1106)

This commit is contained in:
Quick 2022-07-02 03:54:58 -05:00 • committed by GitHub
parent 7c981b2d10
commit 04c44e2968
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -361,7 +361,8 @@ namespace Server.Mobiles
public TownCrierEntry GetRandomEntry() 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) if (i >= Entries!.Count)
{ {
@ -377,12 +378,12 @@ namespace Server.Mobiles
} }
var entry = GlobalTownCrierEntryList.Instance.GetRandomEntry(); 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) public TownCrierEntry AddEntry(string[] lines, TimeSpan duration)