From 50e9b367fc1157486056f50a27238ab3811ca84f Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Thu, 4 Feb 2021 10:40:41 -0800 Subject: [PATCH] fix(core): Fixes buy packet (#453) - [X] Fixes buy packet - [X] Changes from null to empty string in gump initial text --- Projects/Server/Gumps/GumpHtml.cs | 4 ++-- Projects/Server/Gumps/GumpLabel.cs | 4 ++-- Projects/Server/Gumps/GumpLabelCropped.cs | 4 ++-- Projects/Server/Gumps/GumpTextEntry.cs | 4 ++-- Projects/Server/Gumps/GumpTextEntryLimited.cs | 4 ++-- Projects/Server/Network/NetState/NetState.cs | 2 +- Projects/Server/Network/Packets/IncomingVendorPackets.cs | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Projects/Server/Gumps/GumpHtml.cs b/Projects/Server/Gumps/GumpHtml.cs index aa38bff9b..cb0759960 100644 --- a/Projects/Server/Gumps/GumpHtml.cs +++ b/Projects/Server/Gumps/GumpHtml.cs @@ -48,7 +48,7 @@ namespace Server.Gumps public bool Scrollbar { get; set; } public override string Compile(OrderedHashSet strings) => - $"{{ htmlgump {X} {Y} {Width} {Height} {strings.GetOrAdd(Text)} {(Background ? 1 : 0)} {(Scrollbar ? 1 : 0)} }}"; + $"{{ htmlgump {X} {Y} {Width} {Height} {strings.GetOrAdd(Text ?? "")} {(Background ? 1 : 0)} {(Scrollbar ? 1 : 0)} }}"; public override void AppendTo(ref SpanWriter writer, OrderedHashSet strings, ref int entries, ref int switches) { @@ -63,7 +63,7 @@ namespace Server.Gumps writer.WriteAscii(' '); writer.WriteAscii(Height.ToString()); writer.WriteAscii(' '); - writer.WriteAscii(strings.GetOrAdd(Text).ToString()); + writer.WriteAscii(strings.GetOrAdd(Text ?? "").ToString()); writer.WriteAscii(' '); writer.WriteAscii(Background ? '1' : '0'); writer.WriteAscii(' '); diff --git a/Projects/Server/Gumps/GumpLabel.cs b/Projects/Server/Gumps/GumpLabel.cs index 95ec04503..7f3b40e94 100644 --- a/Projects/Server/Gumps/GumpLabel.cs +++ b/Projects/Server/Gumps/GumpLabel.cs @@ -37,7 +37,7 @@ namespace Server.Gumps public int Hue { get; set; } public string Text { get; set; } - public override string Compile(OrderedHashSet strings) => $"{{ text {X} {Y} {Hue} {strings.GetOrAdd(Text)} }}"; + public override string Compile(OrderedHashSet strings) => $"{{ text {X} {Y} {Hue} {strings.GetOrAdd(Text ?? "")} }}"; public override void AppendTo(ref SpanWriter writer, OrderedHashSet strings, ref int entries, ref int switches) { @@ -50,7 +50,7 @@ namespace Server.Gumps writer.WriteAscii(' '); writer.WriteAscii(Hue.ToString()); writer.WriteAscii(' '); - writer.WriteAscii(strings.GetOrAdd(Text).ToString()); + writer.WriteAscii(strings.GetOrAdd(Text ?? "").ToString()); writer.Write((ushort)0x207D); // " }" } } diff --git a/Projects/Server/Gumps/GumpLabelCropped.cs b/Projects/Server/Gumps/GumpLabelCropped.cs index f31a1a6a1..18e7d67be 100644 --- a/Projects/Server/Gumps/GumpLabelCropped.cs +++ b/Projects/Server/Gumps/GumpLabelCropped.cs @@ -45,7 +45,7 @@ namespace Server.Gumps public string Text { get; set; } public override string Compile(OrderedHashSet strings) => - $"{{ croppedtext {X} {Y} {Width} {Height} {Hue} {strings.GetOrAdd(Text)} }}"; + $"{{ croppedtext {X} {Y} {Width} {Height} {Hue} {strings.GetOrAdd(Text ?? "")} }}"; public override void AppendTo(ref SpanWriter writer, OrderedHashSet strings, ref int entries, ref int switches) { @@ -62,7 +62,7 @@ namespace Server.Gumps writer.WriteAscii(' '); writer.WriteAscii(Hue.ToString()); writer.WriteAscii(' '); - writer.WriteAscii(strings.GetOrAdd(Text).ToString()); + writer.WriteAscii(strings.GetOrAdd(Text ?? "").ToString()); writer.Write((ushort)0x207D); // " }" } } diff --git a/Projects/Server/Gumps/GumpTextEntry.cs b/Projects/Server/Gumps/GumpTextEntry.cs index 43740cc1c..1eb0aa84c 100644 --- a/Projects/Server/Gumps/GumpTextEntry.cs +++ b/Projects/Server/Gumps/GumpTextEntry.cs @@ -48,7 +48,7 @@ namespace Server.Gumps public string InitialText { get; set; } public override string Compile(OrderedHashSet strings) => - $"{{ textentry {X} {Y} {Width} {Height} {Hue} {EntryID} {strings.GetOrAdd(InitialText)} }}"; + $"{{ textentry {X} {Y} {Width} {Height} {Hue} {EntryID} {strings.GetOrAdd(InitialText ?? "")} }}"; public override void AppendTo(ref SpanWriter writer, OrderedHashSet strings, ref int entries, ref int switches) { @@ -67,7 +67,7 @@ namespace Server.Gumps writer.WriteAscii(' '); writer.WriteAscii(EntryID.ToString()); writer.WriteAscii(' '); - writer.WriteAscii(strings.GetOrAdd(InitialText).ToString()); + writer.WriteAscii(strings.GetOrAdd(InitialText ?? "").ToString()); writer.Write((ushort)0x207D); // " }" entries++; diff --git a/Projects/Server/Gumps/GumpTextEntryLimited.cs b/Projects/Server/Gumps/GumpTextEntryLimited.cs index 906582b59..029a2d127 100644 --- a/Projects/Server/Gumps/GumpTextEntryLimited.cs +++ b/Projects/Server/Gumps/GumpTextEntryLimited.cs @@ -53,7 +53,7 @@ namespace Server.Gumps public int Size { get; set; } public override string Compile(OrderedHashSet strings) => - $"{{ textentrylimited {X} {Y} {Width} {Height} {Hue} {EntryID} {strings.GetOrAdd(InitialText)} {Size} }}"; + $"{{ textentrylimited {X} {Y} {Width} {Height} {Hue} {EntryID} {strings.GetOrAdd(InitialText ?? "")} {Size} }}"; public override void AppendTo(ref SpanWriter writer, OrderedHashSet strings, ref int entries, ref int switches) { @@ -72,7 +72,7 @@ namespace Server.Gumps writer.WriteAscii(' '); writer.WriteAscii(EntryID.ToString()); writer.WriteAscii(' '); - writer.WriteAscii(strings.GetOrAdd(InitialText).ToString()); + writer.WriteAscii(strings.GetOrAdd(InitialText ?? "").ToString()); writer.WriteAscii(' '); writer.WriteAscii(Size.ToString()); writer.Write((ushort)0x207D); // " }" diff --git a/Projects/Server/Network/NetState/NetState.cs b/Projects/Server/Network/NetState/NetState.cs index 0b333abfd..43f3bdeab 100644 --- a/Projects/Server/Network/NetState/NetState.cs +++ b/Projects/Server/Network/NetState/NetState.cs @@ -606,7 +606,7 @@ namespace Server.Network public bool HandleReceive() { - if (Connection == null) + if (Connection == null || !_running) { return false; } diff --git a/Projects/Server/Network/Packets/IncomingVendorPackets.cs b/Projects/Server/Network/Packets/IncomingVendorPackets.cs index 9cd88f01f..8589126e3 100644 --- a/Projects/Server/Network/Packets/IncomingVendorPackets.cs +++ b/Projects/Server/Network/Packets/IncomingVendorPackets.cs @@ -38,7 +38,7 @@ namespace Server.Network if (!vendor.Deleted && Utility.RangeCheck(vendor.Location, state.Mobile.Location, 10) && flag == 0x02) { - var msgSize = reader.Remaining; + var msgSize = packetLength - 8; // Remaining bytes if (msgSize / 7 > 100) {