fix: Fixes town crier NPE (#942)
This commit is contained in:
parent
032f21ff27
commit
dc2b00ec5b
1 changed files with 10 additions and 16 deletions
|
|
@ -28,14 +28,9 @@ namespace Server.Mobiles
|
|||
|
||||
public TownCrierEntry GetRandomEntry()
|
||||
{
|
||||
if (Entries == null || Entries.Count == 0)
|
||||
for (var i = (Entries?.Count ?? 0) - 1; i >= 0; --i)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
for (var i = Entries.Count - 1; Entries != null && i >= 0; --i)
|
||||
{
|
||||
if (i >= Entries.Count)
|
||||
if (i >= Entries!.Count)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -366,14 +361,9 @@ namespace Server.Mobiles
|
|||
|
||||
public TownCrierEntry GetRandomEntry()
|
||||
{
|
||||
if (Entries == null || Entries.Count == 0)
|
||||
for (var i = (Entries?.Count ?? 0) - 1; i >= 0; --i)
|
||||
{
|
||||
return GlobalTownCrierEntryList.Instance.GetRandomEntry();
|
||||
}
|
||||
|
||||
for (var i = Entries.Count - 1; Entries != null && i >= 0; --i)
|
||||
{
|
||||
if (i >= Entries.Count)
|
||||
if (i >= Entries!.Count)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -387,8 +377,12 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
var entry = GlobalTownCrierEntryList.Instance.GetRandomEntry();
|
||||
if (entry == null || Entries?.Count > 0 && Utility.RandomBool())
|
||||
{
|
||||
entry = Entries.RandomElement();
|
||||
}
|
||||
|
||||
return entry ?? (Entries?.Count > 0 && Utility.RandomBool() ? Entries.RandomElement() : null);
|
||||
return entry;
|
||||
}
|
||||
|
||||
public TownCrierEntry AddEntry(string[] lines, TimeSpan duration)
|
||||
|
|
@ -420,7 +414,7 @@ namespace Server.Mobiles
|
|||
|
||||
if (Entries == null && GlobalTownCrierEntryList.Instance.IsEmpty)
|
||||
{
|
||||
_autoShoutTimer.Stop();
|
||||
_autoShoutTimer?.Stop();
|
||||
_autoShoutTimer = null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue