fix: Adds more null checks for text definition to prevent NPEs (#936)

This commit is contained in:
Kamron Batman 2022-02-18 11:13:38 -08:00 committed by GitHub
parent 04909828c8
commit 2009ac6892
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 82 additions and 61 deletions

View file

@ -106,13 +106,16 @@ namespace Server.Engines.Craft
}
// ****************************************
if (notice.Number > 0)
if (notice != null)
{
AddHtmlLocalized(170, 295, 350, 40, notice.Number, LabelColor);
}
else
{
AddHtml(170, 295, 350, 40, $"<BASEFONT COLOR=#{FontColor:X6}>{notice.String}</BASEFONT>");
if (notice.Number > 0)
{
AddHtmlLocalized(170, 295, 350, 40, notice.Number, LabelColor);
}
else
{
AddHtml(170, 295, 350, 40, $"<BASEFONT COLOR=#{FontColor:X6}>{notice.String}</BASEFONT>");
}
}
// If the system has more than one resource

View file

@ -1088,13 +1088,16 @@ namespace Server.Engines.Craft
{
from.SendGump(new CraftGump(from, craftSystem, tool, message));
}
else if (message.Number > 0)
else if (message != null)
{
from.SendLocalizedMessage(message.Number);
}
else
{
from.SendMessage(message.String);
if (message.Number > 0)
{
from.SendLocalizedMessage(message.Number);
}
else
{
from.SendMessage(message.String);
}
}
return;
@ -1268,13 +1271,16 @@ namespace Server.Engines.Craft
{
from.SendGump(new CraftGump(from, craftSystem, tool, message));
}
else if (message.Number > 0)
else if (message != null)
{
from.SendLocalizedMessage(message.Number);
}
else
{
from.SendMessage(message.String);
if (message.Number > 0)
{
from.SendLocalizedMessage(message.Number);
}
else
{
from.SendMessage(message.String);
}
}
return;

View file

@ -23,11 +23,11 @@ namespace Server.Engines.Craft
public void SendMessage(Mobile from)
{
if (Message.Number > 0)
if (Message?.Number > 0)
{
from.SendLocalizedMessage(Message.Number);
}
else if (!string.IsNullOrEmpty(Message.String))
else if (!string.IsNullOrEmpty(Message?.String))
{
from.SendMessage(Message.String);
}

View file

@ -98,13 +98,16 @@ namespace Server.Factions
{
m_Mobile.SendGump(new CraftGump(m_Mobile, m_CraftSystem, m_Tool, m_Notice));
}
else if (m_Notice.Number > 0)
else if (m_Notice != null)
{
m_Mobile.SendLocalizedMessage(m_Notice.Number);
}
else
{
m_Mobile.SendMessage(m_Notice.String);
if (m_Notice.Number > 0)
{
m_Mobile.SendLocalizedMessage(m_Notice.Number);
}
else
{
m_Mobile.SendMessage(m_Notice.String);
}
}
}
}

View file

@ -25,13 +25,16 @@ namespace Server.Engines.Harvest
public void SendSuccessTo(Mobile m)
{
if (SuccessMessage.Number > 0)
if (SuccessMessage != null)
{
m.SendLocalizedMessage(SuccessMessage.Number);
}
else
{
m.SendMessage(SuccessMessage.String);
if (SuccessMessage.Number > 0)
{
m.SendLocalizedMessage(SuccessMessage.Number);
}
else
{
m.SendMessage(SuccessMessage.String);
}
}
}
}

View file

@ -28,21 +28,24 @@ namespace Server.Gumps
AddImageTiled(10, 40, width - 20, height - 80, 2624);
AddAlphaRegion(10, 40, width - 20, height - 80);
if (content.Number > 0)
if (content != null)
{
AddHtmlLocalized(10, 40, width - 20, height - 80, content.Number, contentColor, false, true);
}
else
{
AddHtml(
10,
40,
width - 20,
height - 80,
$"<BASEFONT COLOR=#{contentColor:X6}>{content.String}</BASEFONT>",
false,
true
);
if (content.Number > 0)
{
AddHtmlLocalized(10, 40, width - 20, height - 80, content.Number, contentColor, false, true);
}
else
{
AddHtml(
10,
40,
width - 20,
height - 80,
$"<BASEFONT COLOR=#{contentColor:X6}>{content.String}</BASEFONT>",
false,
true
);
}
}
AddImageTiled(10, height - 30, width - 20, 20, 2624);

View file

@ -28,21 +28,24 @@ namespace Server.Gumps
AddImageTiled(10, 40, width - 20, height - 80, 2624);
AddAlphaRegion(10, 40, width - 20, height - 80);
if (content.Number > 0)
if (content != null)
{
AddHtmlLocalized(10, 40, width - 20, height - 80, content.Number, contentColor, false, true);
}
else
{
AddHtml(
10,
40,
width - 20,
height - 80,
$"<BASEFONT COLOR=#{contentColor:X6}>{content.String}</BASEFONT>",
false,
true
);
if (content.Number > 0)
{
AddHtmlLocalized(10, 40, width - 20, height - 80, content.Number, contentColor, false, true);
}
else
{
AddHtml(
10,
40,
width - 20,
height - 80,
$"<BASEFONT COLOR=#{contentColor:X6}>{content.String}</BASEFONT>",
false,
true
);
}
}
AddImageTiled(10, height - 30, width - 20, 20, 2624);

View file

@ -286,7 +286,7 @@ namespace Server.Items
public override void BeginConfirmation(Mobile from)
{
if (GumpWidth > 0 && GumpHeight > 0 && TitleNumber > 0 && !Message.IsEmpty)
if (GumpWidth > 0 && GumpHeight > 0 && TitleNumber > 0 && Message?.IsEmpty == false)
{
from.CloseGump<WarningGump>();
from.SendGump(