diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 03eaff932..73eb8d9a0 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"modernuoschemagenerator": {
- "version": "2.12.13",
+ "version": "2.12.18",
"commands": [
"ModernUOSchemaGenerator"
]
diff --git a/.gitignore b/.gitignore
index a0bf66daf..d4c5e3b5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
# Distribution Files
+/Distribution/Logger
+/Distribution/Logger.*
/Distribution/ModernUO
/Distribution/ModernUO.*
/Distribution/Server
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7344d9b80..a1df0f57f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -28,7 +28,6 @@ We accept fixes and features! Here are some resources to help you get started on
If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. Make sure the repository can build and all tests pass. Familiarize yourself with the project workflow and our coding conventions.
-1. Sign a [Contributor License Agreement](https://cla-assistant.io/modernuo/ModernUO) when submitting your pull request.
1. Ensure all files have the appropriate [LICENSE](/LICENSE) header (Line 634-649)
1. Ensure any install or build dependencies are removed.
1. Update the README.md with details of changes to the interface, this includes new build process,
@@ -38,6 +37,5 @@ If you don't know what a pull request is read this article: https://help.github.
1. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.
-[aspnet-contributing]: https://github.com/aspnet/AspNetCore/blob/456dbf1309f9fcae1d7b376784088dcd7818c01e/CONTRIBUTING.md
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
diff --git a/Directory.Build.props b/Directory.Build.props
index 738850042..43a8a6044 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -66,7 +66,7 @@
- 3.6.146
+ 3.7.112
all
diff --git a/Distribution/Data/Decoration/Felucca/VesperGraveyard.cfg b/Distribution/Data/Decoration/Felucca/VesperGraveyard.cfg
new file mode 100644
index 000000000..5936a98f3
--- /dev/null
+++ b/Distribution/Data/Decoration/Felucca/VesperGraveyard.cfg
@@ -0,0 +1,7 @@
+# Iron Gate right
+IronGateShort 0x0856 (Facing=NorthCCW)
+2783 867 0
+
+# Iron Gate left
+IronGateShort 0x0854 (Facing=SouthCW)
+2783 868 0
diff --git a/Distribution/Data/Decoration/Trammel/VesperGraveyard.cfg b/Distribution/Data/Decoration/Trammel/VesperGraveyard.cfg
new file mode 100644
index 000000000..5936a98f3
--- /dev/null
+++ b/Distribution/Data/Decoration/Trammel/VesperGraveyard.cfg
@@ -0,0 +1,7 @@
+# Iron Gate right
+IronGateShort 0x0856 (Facing=NorthCCW)
+2783 867 0
+
+# Iron Gate left
+IronGateShort 0x0854 (Facing=SouthCW)
+2783 868 0
diff --git a/ModernUO.sln b/ModernUO.sln
index de59750f0..d280756b2 100644
--- a/ModernUO.sln
+++ b/ModernUO.sln
@@ -14,6 +14,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Application", "Projects\App
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddonExample", "Projects\AddonExample\AddonExample.csproj", "{73F435F7-7D30-4275-8B74-D80A0BD7AC23}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Logger", "Projects\Logger\Logger.csproj", "{ECAD3793-A7C5-4546-AA88-77DD24574410}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Analyze|Any CPU = Analyze|Any CPU
@@ -57,6 +59,12 @@ Global
{73F435F7-7D30-4275-8B74-D80A0BD7AC23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{73F435F7-7D30-4275-8B74-D80A0BD7AC23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{73F435F7-7D30-4275-8B74-D80A0BD7AC23}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Analyze|Any CPU.ActiveCfg = Analyze|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Analyze|Any CPU.Build.0 = Analyze|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECAD3793-A7C5-4546-AA88-77DD24574410}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Projects/Server/Logging/ILogger.cs b/Projects/Logger/ILogger.cs
similarity index 100%
rename from Projects/Server/Logging/ILogger.cs
rename to Projects/Logger/ILogger.cs
diff --git a/Projects/Server/Logging/LogFactory.cs b/Projects/Logger/LogFactory.cs
similarity index 100%
rename from Projects/Server/Logging/LogFactory.cs
rename to Projects/Logger/LogFactory.cs
diff --git a/Projects/Logger/Logger.csproj b/Projects/Logger/Logger.csproj
new file mode 100644
index 000000000..e94ae59a8
--- /dev/null
+++ b/Projects/Logger/Logger.csproj
@@ -0,0 +1,20 @@
+
+
+ Server
+ Logger
+ ModernUO Logger
+ ..\..\Distribution\Assemblies
+ ..\..\Distribution\Assemblies
+ Debug;Release;Analyze
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Projects/Server/Logging/SerilogLogger.cs b/Projects/Logger/SerilogLogger.cs
similarity index 100%
rename from Projects/Server/Logging/SerilogLogger.cs
rename to Projects/Logger/SerilogLogger.cs
diff --git a/Projects/Server.Tests/Server.Tests.csproj b/Projects/Server.Tests/Server.Tests.csproj
index 13c30656a..e5d6a179b 100644
--- a/Projects/Server.Tests/Server.Tests.csproj
+++ b/Projects/Server.Tests/Server.Tests.csproj
@@ -7,7 +7,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Projects/Server/Network/TcpServer.cs b/Projects/Server/Network/TcpServer.cs
index be526f703..d2c6751c8 100644
--- a/Projects/Server/Network/TcpServer.cs
+++ b/Projects/Server/Network/TcpServer.cs
@@ -37,8 +37,8 @@ public static class TcpServer
public static void Start()
{
- HashSet listeningAddresses = new HashSet();
- List listeners = new List();
+ HashSet listeningAddresses = [];
+ List listeners = [];
foreach (var ipep in ServerConfiguration.Listeners)
{
var listener = CreateListener(ipep);
@@ -62,7 +62,7 @@ public static class TcpServer
foreach (var ipep in listeningAddresses)
{
- logger.Information("Listening: {Address}:{Port}", ipep.Address, ipep.Port);
+ logger.Information("Listening: {Address}", ipep);
}
ListeningAddresses = listeningAddresses.ToArray();
@@ -107,16 +107,16 @@ public static class TcpServer
// WSAEADDRINUSE
if (se.ErrorCode == 10048)
{
- logger.Warning("Listener: {Address}:{Port}: Failed (In Use)", ipep.Address, ipep.Port);
+ logger.Warning("Listener: {Address} Exception: {Reason}", ipep, "Currently in use");
}
// WSAEADDRNOTAVAIL
else if (se.ErrorCode == 10049)
{
- logger.Warning("Listener {Address}:{Port}: Failed (Unavailable)", ipep.Address, ipep.Port);
+ logger.Warning("Listener {Address} Exception: {Reason}", ipep, "Unavailable");
}
else
{
- logger.Warning(se, "Listener Exception:");
+ logger.Warning(se, "Listener {Address} Exception: {Reason}", ipep, se.Message);
}
}
diff --git a/Projects/Server/Server.csproj b/Projects/Server/Server.csproj
index 8536a2bb2..443802d8a 100644
--- a/Projects/Server/Server.csproj
+++ b/Projects/Server/Server.csproj
@@ -33,13 +33,14 @@
-
+
+
-
+
diff --git a/Projects/UOContent.Tests/UOContent.Tests.csproj b/Projects/UOContent.Tests/UOContent.Tests.csproj
index ce902d224..2e3acc315 100644
--- a/Projects/UOContent.Tests/UOContent.Tests.csproj
+++ b/Projects/UOContent.Tests/UOContent.Tests.csproj
@@ -6,7 +6,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Projects/UOContent/Items/Guilds/GuildTeleporter.cs b/Projects/UOContent/Items/Guilds/GuildTeleporter.cs
index 81d7efa12..dc471b0ad 100644
--- a/Projects/UOContent/Items/Guilds/GuildTeleporter.cs
+++ b/Projects/UOContent/Items/Guilds/GuildTeleporter.cs
@@ -51,7 +51,7 @@ public partial class GuildTeleporter : Item
{
from.SendLocalizedMessage(501141); // You can only place a guildstone in a house you own!
}
- else if (house.FindGuildstone() != null)
+ else if (house.FindGuildstone() != null && house.FindGuildstone() != _stone)
{
from.SendLocalizedMessage(501142); // Only one guildstone may reside in a given house.
}
diff --git a/Projects/UOContent/Mobiles/PlayerMobile.cs b/Projects/UOContent/Mobiles/PlayerMobile.cs
index da7e427cb..f2ea4fa28 100644
--- a/Projects/UOContent/Mobiles/PlayerMobile.cs
+++ b/Projects/UOContent/Mobiles/PlayerMobile.cs
@@ -28,13 +28,9 @@ using Server.Regions;
using Server.SkillHandlers;
using Server.Spells;
using Server.Spells.Bushido;
-using Server.Spells.Fifth;
-using Server.Spells.First;
using Server.Spells.Fourth;
-using Server.Spells.Mysticism;
using Server.Spells.Necromancy;
using Server.Spells.Ninjitsu;
-using Server.Spells.Second;
using Server.Spells.Sixth;
using Server.Spells.Spellweaving;
using Server.Targeting;
diff --git a/Projects/UOContent/UOContent.csproj b/Projects/UOContent/UOContent.csproj
index 60e867724..f6b8b40d6 100644
--- a/Projects/UOContent/UOContent.csproj
+++ b/Projects/UOContent/UOContent.csproj
@@ -34,20 +34,21 @@
+
false
-
+
-
+
-
+
diff --git a/version.json b/version.json
index 6221a7f26..3bb3f304b 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
- "version": "0.13.7"
+ "version": "0.14.0"
}