diff --git a/Directory.Packages.props b/Directory.Packages.props index ca38fa549..72ad532bd 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -44,7 +44,7 @@ - + diff --git a/src/NosCore.PacketHandlers/Miniland/MlobjPacketHandler.cs b/src/NosCore.PacketHandlers/Miniland/MlobjPacketHandler.cs index ab621bea1..56789455a 100644 --- a/src/NosCore.PacketHandlers/Miniland/MlobjPacketHandler.cs +++ b/src/NosCore.PacketHandlers/Miniland/MlobjPacketHandler.cs @@ -24,7 +24,7 @@ public override async Task ExecuteAsync(MLEditPacket mlEditPacket, ClientSession switch (mlEditPacket.Type) { case 1: - await clientSession.SendPacketAsync(new MlintroPacket { Intro = mlEditPacket.MinilandInfo!.Replace(' ', '^') }); + await clientSession.SendPacketAsync(new MlintroPacket { Intro = mlEditPacket.MinilandInfo }); miniland.MinilandMessage = mlEditPacket.MinilandInfo; await clientSession.SendPacketAsync(new InfoiPacket { diff --git a/test/NosCore.PacketHandlers.Tests/Miniland/MlEditPacketHandlerTests.cs b/test/NosCore.PacketHandlers.Tests/Miniland/MlEditPacketHandlerTests.cs index f6151a7a6..524110410 100644 --- a/test/NosCore.PacketHandlers.Tests/Miniland/MlEditPacketHandlerTests.cs +++ b/test/NosCore.PacketHandlers.Tests/Miniland/MlEditPacketHandlerTests.cs @@ -4,6 +4,7 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // +using NosCore.Packets; using Mapster; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; @@ -207,7 +208,11 @@ private void MinilandMessageWithSpaceShouldBeChanged() var miniland = MinilandProvider.GetMiniland(Session.Character.CharacterId); Assert.AreEqual("Test Test", miniland.MinilandMessage); var lastpacket2 = (MlintroPacket?)Session.LastPackets.FirstOrDefault(s => s is MlintroPacket); - Assert.AreEqual("Test^Test", lastpacket2?.Intro); + + // The packet carries the message as typed; the "^" encoding is the serializer's, + // which is why MlintroPacket.Intro declares EscapeSpaces. + Assert.AreEqual("Test Test", lastpacket2?.Intro); + Assert.AreEqual("mlintro Test^Test", new Serializer(new[] { typeof(MlintroPacket) }).Serialize(lastpacket2!)); } private void InfoPacketShouldBeSent()