fix(core): Updates expansion and map configurations (fixes map issues) (#570)

- [X] Adds question about expansion at start of server
- [X] Adds question about client version to determine old have and map diffs
- [X] Adds config setting "maps.enablePre6000Trammel"
- [X] Rearranges some of the loading order.
- [X] Added support for deserializing nullable enums from json

TODO:
Expand the nullable enums deserialization factory to work with any type by pulling the factory and creating an instance of the converter.
This commit is contained in:
Kamron Batman 2021-04-14 01:45:18 -07:00 committed by GitHub
parent 151eef470f
commit 98ce65083a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 324 additions and 92 deletions

View file

@ -8,6 +8,31 @@ using Xunit;
namespace UOContent.Tests
{
public class TestBook : BaseBook
{
public TestBook(int itemID, int pageCount = 20, bool writable = true) : base(itemID, pageCount, writable)
{
}
public TestBook(int itemID, string title, string author, int pageCount, bool writable) : base(itemID, title, author, pageCount, writable)
{
}
public TestBook(int itemID, bool writable) : base(itemID, writable)
{
}
public TestBook(Serial serial) : base(serial)
{
Pages = new BookPageInfo[20];
for (var i = 0; i < Pages.Length; ++i)
{
Pages[i] = new BookPageInfo();
}
}
}
public class BookPacketTests : IClassFixture<ServerFixture>
{
[Theory]
@ -17,7 +42,8 @@ namespace UOContent.Tests
var m = new Mobile(0x1);
m.DefaultMobileInit();
var book = new BlueBook { Author = author, Title = title };
Serial serial = 0x1001;
var book = new TestBook(serial) { Author = author, Title = title };
var expected = new BookHeader(m, book).Compile();
@ -34,7 +60,8 @@ namespace UOContent.Tests
var m = new Mobile(0x1);
m.DefaultMobileInit();
var book = new BlueBook { Author = "Some Author", Title = "Some Title" };
Serial serial = 0x1001;
var book = new TestBook(serial) { Author = "Some Author", Title = "Some Title" };
book.Pages[0].Lines = new[]
{
"Some books start with actual content",