From b4b1b0b122f6e14ff5864117030188e6c407c831 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 16 Jan 2021 22:09:05 -0800 Subject: [PATCH] fix(core): Converts more packets and switches to Moq (#415) - [X] Switches testing to moq for mocking - [X] Converts race changer packets - [X] Renames some more folders and misc cleanup --- Projects/Server.Tests/Mocks/MockAccount.cs | 95 ------------------- Projects/Server.Tests/Mocks/MockSocket.cs | 22 ----- Projects/Server.Tests/Server.Tests.csproj | 1 + .../Packets/Outgoing/AccountPacketTests.cs | 74 ++++++++++++--- .../Packets/Utilities/PacketTestUtilities.cs | 18 +++- .../Engines/ML Quests/MLQuestPacketTests.cs | 43 +++++++++ .../Tests/Engines/ML Quests/Packets.cs | 28 ++++++ .../UOContent.Tests/UOContent.Tests.csproj | 1 + .../{BulkOrders => Bulk Orders}/BODTarget.cs | 0 .../{BulkOrders => Bulk Orders}/BaseBOD.cs | 0 .../Books/BOBFilter.cs | 0 .../Books/BOBFilterGump.cs | 0 .../Books/BOBGump.cs | 0 .../Books/BOBLargeEntry.cs | 0 .../Books/BOBLargeSubEntry.cs | 0 .../Books/BOBSmallEntry.cs | 0 .../Books/BODBuyGump.cs | 0 .../Books/BODType.cs | 0 .../Books/BulkOrderBook.cs | 0 .../Books/IBOBEntry.cs | 0 .../BulkMaterialType.cs | 0 .../{BulkOrders => Bulk Orders}/LargeBOD.cs | 0 .../LargeBODAcceptGump.cs | 0 .../LargeBODGump.cs | 0 .../LargeBulkEntry.cs | 0 .../LargeSmithBOD.cs | 0 .../LargeTailorBOD.cs | 0 .../{BulkOrders => Bulk Orders}/Rewards.cs | 0 .../{BulkOrders => Bulk Orders}/SmallBOD.cs | 0 .../SmallBODAcceptGump.cs | 0 .../SmallBODGump.cs | 0 .../SmallBulkEntry.cs | 0 .../SmallSmithBOD.cs | 0 .../SmallTailorBOD.cs | 0 .../Definitions/AGhostOfCovetous.cs | 0 .../Definitions/BaseEscort.cs | 0 .../Definitions/Bedlam.cs | 0 .../Definitions/BlightedGrove.cs | 0 .../Definitions/Britannia.cs | 0 .../Definitions/Heartwood.cs | 0 .../Definitions/Heritage.cs | 0 .../Definitions/HonestBeggar.cs | 0 .../Definitions/Ilshenar.cs | 0 .../Definitions/LostItems.cs | 0 .../Definitions/Malas.cs | 0 .../Definitions/MistakenIdentity.cs | 0 .../Definitions/NewHaven.cs | 0 .../Definitions/NewHavenSkillTraining.cs | 0 .../Definitions/NewHavenTraining.cs | 0 .../Definitions/Sanctuary.cs | 0 .../Definitions/Spellweaving.cs | 0 .../Definitions/TheAncientWorld.cs | 0 .../Definitions/TownEscorts.cs | 0 .../Definitions/UnfadingMemories.cs | 0 .../Definitions/WarriorsOfTheGemKeeper.cs | 0 .../Gumps/BaseQuestGump.cs | 0 .../Gumps/InfoNPCGump.cs | 0 .../Gumps/QuestCancelConfirmGump.cs | 0 .../Gumps/QuestConversationGump.cs | 0 .../Gumps/QuestLogDetailedGump.cs | 0 .../Gumps/QuestLogGump.cs | 0 .../Gumps/QuestOfferGump.cs | 0 .../Gumps/QuestReportBackGump.cs | 0 .../Gumps/QuestRewardGump.cs | 0 .../Gumps/RaceChangeGump.cs | 34 +------ .../{MLQuests => ML Quests}/IQuestGiver.cs | 0 .../{MLQuests => ML Quests}/Items/ABauble.cs | 0 .../Items/APersonalLetterAddressedToAhie.cs | 0 .../Items/AlchemistsBandage.cs | 0 .../Items/AnOldNecklace.cs | 0 .../Items/AnOldRing.cs | 0 .../Items/AndricSatchel.cs | 0 .../Items/AndrosGratitude.cs | 0 .../Items/AsandosSatchel.cs | 0 .../Items/BasinOfCrystalClearWater.cs | 0 .../Items/BedlamTeleporter.cs | 0 .../{MLQuests => ML Quests}/Items/Bleach.cs | 0 .../Items/BridesLetter.cs | 0 .../CompletedTuitionReimbursementForm.cs | 0 .../Items/CraftmansSatchel.cs | 0 .../Items/CrateForSledge.cs | 0 .../Items/DreadSpiderSilk.cs | 0 .../Items/FragmentOfAMap.cs | 0 .../Items/FragmentOfAMapDelivery.cs | 0 .../Items/FriendOfTheLibraryToken.cs | 0 .../Items/FriendsOfTheLibraryApplication.cs | 0 .../Items/GamanHorns.cs | 0 .../Items/GervisSatchel.cs | 0 .../Items/GiftForArielle.cs | 0 .../Items/HargroveSatchel.cs | 0 .../Items/KirinBrains.cs | 0 .../Items/LowelSatchel.cs | 0 .../Items/MiniatureMushroom.cs | 0 .../Items/MirrorOfPurification.cs | 0 .../Items/MuggSatchel.cs | 0 .../Items/NibbetSatchel.cs | 0 .../Items/NotarizedApplication.cs | 0 .../Items/OfficialSealingWax.cs | 0 .../Items/PeppercornFishsteak.cs | 0 .../{MLQuests => ML Quests}/Items/PixieLeg.cs | 0 .../Items/PortraitOfTheBride.cs | 0 .../Items/PrismaticAmber.cs | 0 .../Items/PrismaticCrystal.cs | 0 .../Items/QuestGiverItem.cs | 0 .../Items/RedLeatherBook.cs | 0 .../Items/ReginasLetter.cs | 0 .../Items/ReginasRing.cs | 0 .../Items/RewardBags.cs | 0 .../Items/SadrahSatchel.cs | 0 .../Items/SapOfSosaria.cs | 0 .../Items/SealedNotesForJamal.cs | 0 .../Items/SealingWaxOrderAddressedToPetrus.cs | 0 .../Items/SeveredElfEars.cs | 0 .../Items/SeveredHumanEars.cs | 0 .../Items/SignedTuitionReimbursementForm.cs | 0 .../Items/SpecialTreatForDrithen.cs | 0 .../Items/SpeckledPoisonSac.cs | 0 .../Items/SpiritBottle.cs | 0 .../Items/StoutWhip.cs | 0 .../Items/TaintedTreeSample.cs | 0 .../Items/Teleporters.cs | 0 .../Items/TransparentHeart.cs | 0 .../Items/TuitionReimbursementForm.cs | 0 .../Items/UnicornRibs.cs | 0 .../{MLQuests => ML Quests}/MLQuest.cs | 0 .../{MLQuests => ML Quests}/MLQuestContext.cs | 0 .../{MLQuests => ML Quests}/MLQuestEntry.cs | 0 .../Engines/ML Quests/MLQuestPackets.cs | 32 +++++++ .../MLQuestPersistence.cs | 0 .../{MLQuests => ML Quests}/MLQuestSystem.cs | 0 .../Mobiles/BoonCollector.cs | 0 .../Mobiles/SirHelper.cs | 0 .../Objectives/BaseObjective.cs | 0 .../Objectives/CollectObjective.cs | 0 .../Objectives/DeliverObjective.cs | 0 .../Objectives/EscortObjective.cs | 0 .../Objectives/GainSkillObjective.cs | 0 .../Objectives/KillObjective.cs | 0 .../{MLQuests => ML Quests}/QuestArea.cs | 0 .../QuesterNameAttribute.cs | 0 .../Rewards/BaseReward.cs | 0 .../Rewards/DummyReward.cs | 0 .../Rewards/ItemReward.cs | 0 Projects/UOContent/Misc/RaceDefinitions.cs | 30 ++---- 144 files changed, 197 insertions(+), 181 deletions(-) delete mode 100644 Projects/Server.Tests/Mocks/MockAccount.cs delete mode 100644 Projects/Server.Tests/Mocks/MockSocket.cs create mode 100644 Projects/UOContent.Tests/Tests/Engines/ML Quests/MLQuestPacketTests.cs create mode 100644 Projects/UOContent.Tests/Tests/Engines/ML Quests/Packets.cs rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/BODTarget.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/BaseBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBFilter.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBFilterGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBLargeEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBLargeSubEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BOBSmallEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BODBuyGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BODType.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/BulkOrderBook.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Books/IBOBEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/BulkMaterialType.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeBODAcceptGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeBODGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeBulkEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeSmithBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/LargeTailorBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/Rewards.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallBODAcceptGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallBODGump.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallBulkEntry.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallSmithBOD.cs (100%) rename Projects/UOContent/Engines/{BulkOrders => Bulk Orders}/SmallTailorBOD.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/AGhostOfCovetous.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/BaseEscort.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Bedlam.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/BlightedGrove.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Britannia.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Heartwood.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Heritage.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/HonestBeggar.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Ilshenar.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/LostItems.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Malas.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/MistakenIdentity.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/NewHaven.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/NewHavenSkillTraining.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/NewHavenTraining.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Sanctuary.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/Spellweaving.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/TheAncientWorld.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/TownEscorts.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/UnfadingMemories.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Definitions/WarriorsOfTheGemKeeper.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/BaseQuestGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/InfoNPCGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestCancelConfirmGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestConversationGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestLogDetailedGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestLogGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestOfferGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestReportBackGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/QuestRewardGump.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Gumps/RaceChangeGump.cs (92%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/IQuestGiver.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/ABauble.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/APersonalLetterAddressedToAhie.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AlchemistsBandage.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AnOldNecklace.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AnOldRing.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AndricSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AndrosGratitude.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/AsandosSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/BasinOfCrystalClearWater.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/BedlamTeleporter.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/Bleach.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/BridesLetter.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/CompletedTuitionReimbursementForm.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/CraftmansSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/CrateForSledge.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/DreadSpiderSilk.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/FragmentOfAMap.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/FragmentOfAMapDelivery.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/FriendOfTheLibraryToken.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/FriendsOfTheLibraryApplication.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/GamanHorns.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/GervisSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/GiftForArielle.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/HargroveSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/KirinBrains.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/LowelSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/MiniatureMushroom.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/MirrorOfPurification.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/MuggSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/NibbetSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/NotarizedApplication.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/OfficialSealingWax.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/PeppercornFishsteak.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/PixieLeg.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/PortraitOfTheBride.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/PrismaticAmber.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/PrismaticCrystal.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/QuestGiverItem.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/RedLeatherBook.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/ReginasLetter.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/ReginasRing.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/RewardBags.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SadrahSatchel.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SapOfSosaria.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SealedNotesForJamal.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SealingWaxOrderAddressedToPetrus.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SeveredElfEars.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SeveredHumanEars.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SignedTuitionReimbursementForm.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SpecialTreatForDrithen.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SpeckledPoisonSac.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/SpiritBottle.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/StoutWhip.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/TaintedTreeSample.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/Teleporters.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/TransparentHeart.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/TuitionReimbursementForm.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Items/UnicornRibs.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/MLQuest.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/MLQuestContext.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/MLQuestEntry.cs (100%) create mode 100644 Projects/UOContent/Engines/ML Quests/MLQuestPackets.cs rename Projects/UOContent/Engines/{MLQuests => ML Quests}/MLQuestPersistence.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/MLQuestSystem.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Mobiles/BoonCollector.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Mobiles/SirHelper.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/BaseObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/CollectObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/DeliverObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/EscortObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/GainSkillObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Objectives/KillObjective.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/QuestArea.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/QuesterNameAttribute.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Rewards/BaseReward.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Rewards/DummyReward.cs (100%) rename Projects/UOContent/Engines/{MLQuests => ML Quests}/Rewards/ItemReward.cs (100%) diff --git a/Projects/Server.Tests/Mocks/MockAccount.cs b/Projects/Server.Tests/Mocks/MockAccount.cs deleted file mode 100644 index 405669db8..000000000 --- a/Projects/Server.Tests/Mocks/MockAccount.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Linq; -using Server.Accounting; - -namespace Server.Tests.Network -{ - public class MockAccount : IAccount, IComparable - { - private readonly Mobile[] m_Mobiles; - private string m_Password; - - public MockAccount(Mobile[] mobiles) - { - m_Mobiles = mobiles; - foreach (var mobile in mobiles) - { - if (mobile != null) - { - mobile.Account = this; - } - } - - Length = mobiles.Length; - Count = mobiles.Count(t => t != null); - Limit = mobiles.Length; - } - - public int TotalGold { get; private set; } - public int TotalPlat { get; private set; } - - public bool DepositGold(int amount) - { - TotalGold += amount; - return true; - } - - public bool DepositPlat(int amount) - { - TotalPlat += amount; - return true; - } - - public bool WithdrawGold(int amount) - { - if (TotalGold - amount < 0) - { - return false; - } - - TotalGold -= amount; - return true; - } - - public bool WithdrawPlat(int amount) - { - if (TotalPlat - amount < 0) - { - return false; - } - - TotalPlat -= amount; - return true; - } - - public long GetTotalGold() => TotalGold + TotalPlat * 100; - - public int CompareTo(IAccount other) => string.CompareOrdinal(Username, other?.Username); - - public string Username { get; set; } - public string Email { get; set; } - public AccessLevel AccessLevel { get; set; } - public int Length { get; } - public int Limit { get; } - public int Count { get; } - - public Mobile this[int index] - { - get => m_Mobiles[index]; - set => m_Mobiles[index] = value; - } - - public void Delete() - { - } - - public void SetPassword(string password) - { - m_Password = password; - } - - public bool CheckPassword(string password) => m_Password == password; - - public int CompareTo(MockAccount other) => string.CompareOrdinal(Username, other?.Username); - } -} diff --git a/Projects/Server.Tests/Mocks/MockSocket.cs b/Projects/Server.Tests/Mocks/MockSocket.cs deleted file mode 100644 index ef6201638..000000000 --- a/Projects/Server.Tests/Mocks/MockSocket.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Net; -using System.Net.Sockets; -using System.Threading.Tasks; -using Server.Network; - -namespace Server.Tests.Network -{ - public class MockSocket : ISocket - { - public EndPoint LocalEndPoint { get; set; } - public EndPoint RemoteEndPoint { get; set; } - public Task SendAsync(IList> buffers, SocketFlags flags) => Task.Run(() => 0); - - public Task ReceiveAsync(IList> buffers, SocketFlags flags) => Task.Run(() => 0); - - public void Shutdown(SocketShutdown how) - { - } - } -} diff --git a/Projects/Server.Tests/Server.Tests.csproj b/Projects/Server.Tests/Server.Tests.csproj index e1d0944d9..acb2da06f 100644 --- a/Projects/Server.Tests/Server.Tests.csproj +++ b/Projects/Server.Tests/Server.Tests.csproj @@ -4,6 +4,7 @@ + diff --git a/Projects/Server.Tests/Tests/Network/Packets/Outgoing/AccountPacketTests.cs b/Projects/Server.Tests/Tests/Network/Packets/Outgoing/AccountPacketTests.cs index 956a4764d..14b827f0a 100644 --- a/Projects/Server.Tests/Tests/Network/Packets/Outgoing/AccountPacketTests.cs +++ b/Projects/Server.Tests/Tests/Network/Packets/Outgoing/AccountPacketTests.cs @@ -1,5 +1,8 @@ using System; +using System.Collections.Generic; using System.Net; +using Moq; +using Server.Accounting; using Server.Network; using Xunit; @@ -7,6 +10,28 @@ namespace Server.Tests.Network { public class AccountPacketTests : IClassFixture { + public readonly Dictionary dictionary = new(); + public Mock accountMock; + + public AccountPacketTests() + { + accountMock = new Mock(); + accountMock + .Setup(sb => sb[It.IsAny()]) + .Returns((int key) => dictionary[key]); + accountMock + .SetupSet(sb => sb[It.IsAny()] = It.IsAny()) + .Callback( + (int key, Mobile m) => + { + dictionary[key] = m; + if (m != null) + { + m.Account = accountMock.Object; + } + }); + } + [Fact] public void TestChangeCharacter() { @@ -18,7 +43,12 @@ namespace Server.Tests.Network secondMobile.DefaultMobileInit(); secondMobile.RawName = null; - var account = new MockAccount(new[] { firstMobile, null, secondMobile }); + var account = accountMock.Object; + account[0] = firstMobile; + account[1] = null; + account[2] = secondMobile; + + // var account = new MockAccount(new[] { firstMobile, null, secondMobile }); var expected = new ChangeCharacter(account).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); @@ -72,7 +102,12 @@ namespace Server.Tests.Network firstMobile.DefaultMobileInit(); firstMobile.Name = "Test Mobile"; - var account = new MockAccount(new[] { firstMobile, null, null, null, null }); + var account = accountMock.Object; + account[0] = firstMobile; + account[1] = null; + account[2] = null; + account[3] = null; + account[4] = null; using var ns = PacketTestUtilities.CreateTestNetState(); ns.Account = account; @@ -125,12 +160,17 @@ namespace Server.Tests.Network firstMobile.DefaultMobileInit(); firstMobile.RawName = "Test Mobile"; - var acct = new MockAccount(new[] { null, firstMobile, null, null, null }); + var account = accountMock.Object; + account[0] = null; + account[1] = firstMobile; + account[2] = null; + account[3] = null; + account[4] = null; - var expected = new CharacterListUpdate(acct).Compile(); + var expected = new CharacterListUpdate(account).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); - ns.SendCharacterListUpdate(acct); + ns.SendCharacterListUpdate(account); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); @@ -143,17 +183,23 @@ namespace Server.Tests.Network firstMobile.DefaultMobileInit(); firstMobile.Name = "Test Mobile"; - var acct = new MockAccount(new[] { null, firstMobile, null, null, null }); + var account = accountMock.Object; + account[0] = null; + account[1] = firstMobile; + account[2] = null; + account[3] = null; + account[4] = null; + var info = new[] { new CityInfo("Test City", "Test Building", 50, 100, 10, -10) }; - var expected = new CharacterList(acct, info).Compile(); + var expected = new CharacterList(account, info).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.CityInfo = info; - ns.Account = acct; + ns.Account = account; ns.ProtocolChanges = ProtocolChanges.Version70130; ns.SendCharacterList(); @@ -169,17 +215,23 @@ namespace Server.Tests.Network firstMobile.DefaultMobileInit(); firstMobile.Name = "Test Mobile"; - var acct = new MockAccount(new[] { null, firstMobile, null, null, null }); + var account = accountMock.Object; + account[0] = null; + account[1] = firstMobile; + account[2] = null; + account[3] = null; + account[4] = null; + var info = new[] { new CityInfo("Test City", "Test Building", 50, 100, 10, -10) }; - var expected = new CharacterListOld(acct, info).Compile(); + var expected = new CharacterListOld(account, info).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.CityInfo = info; - ns.Account = acct; + ns.Account = account; ns.SendCharacterList(); diff --git a/Projects/Server.Tests/Tests/Network/Packets/Utilities/PacketTestUtilities.cs b/Projects/Server.Tests/Tests/Network/Packets/Utilities/PacketTestUtilities.cs index bfe4d48c1..b90c457e9 100644 --- a/Projects/Server.Tests/Tests/Network/Packets/Utilities/PacketTestUtilities.cs +++ b/Projects/Server.Tests/Tests/Network/Packets/Utilities/PacketTestUtilities.cs @@ -1,4 +1,7 @@ using System; +using System.Collections.Generic; +using System.Net.Sockets; +using Moq; using Server.Network; namespace Server.Tests.Network @@ -8,7 +11,18 @@ namespace Server.Tests.Network public static Span Compile(this Packet p) => p.Compile(false, out var length).AsSpan(0, length); - public static NetState CreateTestNetState() => - new(new MockSocket()); + public static NetState CreateTestNetState() + { + var socket = new Mock(); + socket + .Setup(s => s.SendAsync(It.IsAny>>(), SocketFlags.None)) + .ReturnsAsync(() => 0); + + socket + .Setup(s => s.ReceiveAsync(It.IsAny>>(), SocketFlags.None)) + .ReturnsAsync(() => 0); + + return new NetState(socket.Object); + } } } diff --git a/Projects/UOContent.Tests/Tests/Engines/ML Quests/MLQuestPacketTests.cs b/Projects/UOContent.Tests/Tests/Engines/ML Quests/MLQuestPacketTests.cs new file mode 100644 index 000000000..40f361c0b --- /dev/null +++ b/Projects/UOContent.Tests/Tests/Engines/ML Quests/MLQuestPacketTests.cs @@ -0,0 +1,43 @@ +using System; +using Moq; +using Server.Tests; +using Server.Tests.Network; +using Xunit; + +namespace Server.Engines.MLQuests +{ + public class MLQuestPacketTests + { + [Theory] + [InlineData(true, 1)] + [InlineData(false, 2)] + public void TestRaceChanger(bool female, int raceId) + { + var raceMock = new Mock( + raceId, 0, "Test Race", "Test Races", 0x1, 0x2, 0x3, 0x4, Expansion.None + ); + + var race = raceMock.Object; + + var expected = new RaceChanger(female, race).Compile(); + + using var ns = PacketTestUtilities.CreateTestNetState(); + ns.SendRaceChanger(female, race); + + var result = ns.SendPipe.Reader.TryRead(); + AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); + } + + [Fact] + public void TestCloseRaceChanger() + { + var expected = new CloseRaceChanger().Compile(); + + using var ns = PacketTestUtilities.CreateTestNetState(); + ns.SendCloseRaceChanger(); + + var result = ns.SendPipe.Reader.TryRead(); + AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); + } + } +} diff --git a/Projects/UOContent.Tests/Tests/Engines/ML Quests/Packets.cs b/Projects/UOContent.Tests/Tests/Engines/ML Quests/Packets.cs new file mode 100644 index 000000000..0c723a547 --- /dev/null +++ b/Projects/UOContent.Tests/Tests/Engines/ML Quests/Packets.cs @@ -0,0 +1,28 @@ +using Server.Network; + +namespace Server.Engines.MLQuests +{ + public sealed class RaceChanger : Packet + { + public RaceChanger(bool female, Race targetRace) : base(0xBF) + { + EnsureCapacity(7); + + Stream.Write((short)0x2A); + Stream.Write((byte)(female ? 1 : 0)); + Stream.Write((byte)(targetRace.RaceID + 1)); + } + } + + public sealed class CloseRaceChanger : Packet + { + public CloseRaceChanger() : base(0xBF) + { + EnsureCapacity(7); + + Stream.Write((short)0x2A); + Stream.Write((byte)0); + Stream.Write((byte)0xFF); + } + } +} diff --git a/Projects/UOContent.Tests/UOContent.Tests.csproj b/Projects/UOContent.Tests/UOContent.Tests.csproj index b722e4ddc..63d7b7c89 100644 --- a/Projects/UOContent.Tests/UOContent.Tests.csproj +++ b/Projects/UOContent.Tests/UOContent.Tests.csproj @@ -4,6 +4,7 @@ + diff --git a/Projects/UOContent/Engines/BulkOrders/BODTarget.cs b/Projects/UOContent/Engines/Bulk Orders/BODTarget.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/BODTarget.cs rename to Projects/UOContent/Engines/Bulk Orders/BODTarget.cs diff --git a/Projects/UOContent/Engines/BulkOrders/BaseBOD.cs b/Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/BaseBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBFilter.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBFilter.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBFilter.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBFilter.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBFilterGump.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBFilterGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBFilterGump.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBFilterGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBGump.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBGump.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBLargeEntry.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBLargeEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBLargeEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBLargeEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBLargeSubEntry.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBLargeSubEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBLargeSubEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBLargeSubEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BOBSmallEntry.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BOBSmallEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BOBSmallEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BOBSmallEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BODBuyGump.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BODBuyGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BODBuyGump.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BODBuyGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BODType.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BODType.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BODType.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BODType.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/BulkOrderBook.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/BulkOrderBook.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Books/IBOBEntry.cs b/Projects/UOContent/Engines/Bulk Orders/Books/IBOBEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Books/IBOBEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/Books/IBOBEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/BulkMaterialType.cs b/Projects/UOContent/Engines/Bulk Orders/BulkMaterialType.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/BulkMaterialType.cs rename to Projects/UOContent/Engines/Bulk Orders/BulkMaterialType.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeBOD.cs b/Projects/UOContent/Engines/Bulk Orders/LargeBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeBODAcceptGump.cs b/Projects/UOContent/Engines/Bulk Orders/LargeBODAcceptGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeBODAcceptGump.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeBODAcceptGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeBODGump.cs b/Projects/UOContent/Engines/Bulk Orders/LargeBODGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeBODGump.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeBODGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeBulkEntry.cs b/Projects/UOContent/Engines/Bulk Orders/LargeBulkEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeBulkEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeBulkEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeSmithBOD.cs b/Projects/UOContent/Engines/Bulk Orders/LargeSmithBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeSmithBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeSmithBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/LargeTailorBOD.cs b/Projects/UOContent/Engines/Bulk Orders/LargeTailorBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/LargeTailorBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/LargeTailorBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/Rewards.cs b/Projects/UOContent/Engines/Bulk Orders/Rewards.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/Rewards.cs rename to Projects/UOContent/Engines/Bulk Orders/Rewards.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallBOD.cs b/Projects/UOContent/Engines/Bulk Orders/SmallBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallBODAcceptGump.cs b/Projects/UOContent/Engines/Bulk Orders/SmallBODAcceptGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallBODAcceptGump.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallBODAcceptGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallBODGump.cs b/Projects/UOContent/Engines/Bulk Orders/SmallBODGump.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallBODGump.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallBODGump.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallBulkEntry.cs b/Projects/UOContent/Engines/Bulk Orders/SmallBulkEntry.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallBulkEntry.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallBulkEntry.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallSmithBOD.cs b/Projects/UOContent/Engines/Bulk Orders/SmallSmithBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallSmithBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallSmithBOD.cs diff --git a/Projects/UOContent/Engines/BulkOrders/SmallTailorBOD.cs b/Projects/UOContent/Engines/Bulk Orders/SmallTailorBOD.cs similarity index 100% rename from Projects/UOContent/Engines/BulkOrders/SmallTailorBOD.cs rename to Projects/UOContent/Engines/Bulk Orders/SmallTailorBOD.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/AGhostOfCovetous.cs b/Projects/UOContent/Engines/ML Quests/Definitions/AGhostOfCovetous.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/AGhostOfCovetous.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/AGhostOfCovetous.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/BaseEscort.cs b/Projects/UOContent/Engines/ML Quests/Definitions/BaseEscort.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/BaseEscort.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/BaseEscort.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Bedlam.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Bedlam.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Bedlam.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Bedlam.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/BlightedGrove.cs b/Projects/UOContent/Engines/ML Quests/Definitions/BlightedGrove.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/BlightedGrove.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/BlightedGrove.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Britannia.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Britannia.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Britannia.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Britannia.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Heartwood.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Heartwood.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Heartwood.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Heartwood.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Heritage.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Heritage.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Heritage.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Heritage.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/HonestBeggar.cs b/Projects/UOContent/Engines/ML Quests/Definitions/HonestBeggar.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/HonestBeggar.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/HonestBeggar.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Ilshenar.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Ilshenar.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Ilshenar.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Ilshenar.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/LostItems.cs b/Projects/UOContent/Engines/ML Quests/Definitions/LostItems.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/LostItems.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/LostItems.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Malas.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Malas.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Malas.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Malas.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/MistakenIdentity.cs b/Projects/UOContent/Engines/ML Quests/Definitions/MistakenIdentity.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/MistakenIdentity.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/MistakenIdentity.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/NewHaven.cs b/Projects/UOContent/Engines/ML Quests/Definitions/NewHaven.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/NewHaven.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/NewHaven.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/NewHavenSkillTraining.cs b/Projects/UOContent/Engines/ML Quests/Definitions/NewHavenSkillTraining.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/NewHavenSkillTraining.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/NewHavenSkillTraining.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/NewHavenTraining.cs b/Projects/UOContent/Engines/ML Quests/Definitions/NewHavenTraining.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/NewHavenTraining.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/NewHavenTraining.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Sanctuary.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Sanctuary.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Sanctuary.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Sanctuary.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/Spellweaving.cs b/Projects/UOContent/Engines/ML Quests/Definitions/Spellweaving.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/Spellweaving.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/Spellweaving.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/TheAncientWorld.cs b/Projects/UOContent/Engines/ML Quests/Definitions/TheAncientWorld.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/TheAncientWorld.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/TheAncientWorld.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/TownEscorts.cs b/Projects/UOContent/Engines/ML Quests/Definitions/TownEscorts.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/TownEscorts.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/TownEscorts.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/UnfadingMemories.cs b/Projects/UOContent/Engines/ML Quests/Definitions/UnfadingMemories.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/UnfadingMemories.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/UnfadingMemories.cs diff --git a/Projects/UOContent/Engines/MLQuests/Definitions/WarriorsOfTheGemKeeper.cs b/Projects/UOContent/Engines/ML Quests/Definitions/WarriorsOfTheGemKeeper.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Definitions/WarriorsOfTheGemKeeper.cs rename to Projects/UOContent/Engines/ML Quests/Definitions/WarriorsOfTheGemKeeper.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/BaseQuestGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/BaseQuestGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/BaseQuestGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/BaseQuestGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/InfoNPCGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/InfoNPCGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/InfoNPCGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/InfoNPCGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestCancelConfirmGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestCancelConfirmGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestCancelConfirmGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestCancelConfirmGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestConversationGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestConversationGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestConversationGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestConversationGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestLogDetailedGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestLogDetailedGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestLogDetailedGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestLogDetailedGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestLogGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestLogGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestLogGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestLogGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestOfferGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestOfferGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestOfferGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestOfferGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestReportBackGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestReportBackGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestReportBackGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestReportBackGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/QuestRewardGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/QuestRewardGump.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Gumps/QuestRewardGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/QuestRewardGump.cs diff --git a/Projects/UOContent/Engines/MLQuests/Gumps/RaceChangeGump.cs b/Projects/UOContent/Engines/ML Quests/Gumps/RaceChangeGump.cs similarity index 92% rename from Projects/UOContent/Engines/MLQuests/Gumps/RaceChangeGump.cs rename to Projects/UOContent/Engines/ML Quests/Gumps/RaceChangeGump.cs index 667fa8f39..7cdd95d4e 100644 --- a/Projects/UOContent/Engines/MLQuests/Gumps/RaceChangeGump.cs +++ b/Projects/UOContent/Engines/ML Quests/Gumps/RaceChangeGump.cs @@ -97,7 +97,7 @@ namespace Server.Engines.MLQuests.Gumps CloseCurrent(ns); m_Pending[ns] = new RaceChangeState(owner, ns, targetRace); - ns.Send(new RaceChanger(from.Female, targetRace)); + ns.SendRaceChanger(from.Female, targetRace); } private static void CloseCurrent(NetState ns) @@ -108,7 +108,7 @@ namespace Server.Engines.MLQuests.Gumps m_Pending.Remove(ns); } - ns.Send(CloseRaceChanger.Instance); + ns.SendCloseRaceChanger(); } private static void Timeout(NetState ns) @@ -116,7 +116,7 @@ namespace Server.Engines.MLQuests.Gumps if (IsPending(ns)) { m_Pending.Remove(ns); - ns.Send(CloseRaceChanger.Instance); + ns.SendCloseRaceChanger(); } } @@ -284,34 +284,6 @@ namespace Server.Engines.MLQuests.Gumps } } - public sealed class RaceChanger : Packet - { - public RaceChanger(bool female, Race targetRace) - : base(0xBF) - { - EnsureCapacity(7); - - Stream.Write((short)0x2A); - Stream.Write((byte)(female ? 1 : 0)); - Stream.Write((byte)(targetRace.RaceID + 1)); - } - } - - public sealed class CloseRaceChanger : Packet - { - public static readonly Packet Instance = SetStatic(new CloseRaceChanger()); - - private CloseRaceChanger() - : base(0xBF) - { - EnsureCapacity(7); - - Stream.Write((short)0x2A); - Stream.Write((byte)0); - Stream.Write((byte)0xFF); - } - } - public class RaceChangeDeed : Item, IRaceChanger { [Constructible] diff --git a/Projects/UOContent/Engines/MLQuests/IQuestGiver.cs b/Projects/UOContent/Engines/ML Quests/IQuestGiver.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/IQuestGiver.cs rename to Projects/UOContent/Engines/ML Quests/IQuestGiver.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/ABauble.cs b/Projects/UOContent/Engines/ML Quests/Items/ABauble.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/ABauble.cs rename to Projects/UOContent/Engines/ML Quests/Items/ABauble.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/APersonalLetterAddressedToAhie.cs b/Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/APersonalLetterAddressedToAhie.cs rename to Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AlchemistsBandage.cs b/Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AlchemistsBandage.cs rename to Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AnOldNecklace.cs b/Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AnOldNecklace.cs rename to Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AnOldRing.cs b/Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AnOldRing.cs rename to Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AndricSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AndricSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AndrosGratitude.cs b/Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AndrosGratitude.cs rename to Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/AsandosSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/AsandosSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/BasinOfCrystalClearWater.cs b/Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/BasinOfCrystalClearWater.cs rename to Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/BedlamTeleporter.cs b/Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/BedlamTeleporter.cs rename to Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/Bleach.cs b/Projects/UOContent/Engines/ML Quests/Items/Bleach.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/Bleach.cs rename to Projects/UOContent/Engines/ML Quests/Items/Bleach.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/BridesLetter.cs b/Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/BridesLetter.cs rename to Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/CompletedTuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/CompletedTuitionReimbursementForm.cs rename to Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/CraftmansSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/CraftmansSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/CrateForSledge.cs b/Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/CrateForSledge.cs rename to Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/DreadSpiderSilk.cs b/Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/DreadSpiderSilk.cs rename to Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/FragmentOfAMap.cs b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/FragmentOfAMap.cs rename to Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/FragmentOfAMapDelivery.cs b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/FragmentOfAMapDelivery.cs rename to Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/FriendOfTheLibraryToken.cs b/Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/FriendOfTheLibraryToken.cs rename to Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/FriendsOfTheLibraryApplication.cs b/Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/FriendsOfTheLibraryApplication.cs rename to Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/GamanHorns.cs b/Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/GamanHorns.cs rename to Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/GervisSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/GervisSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/GiftForArielle.cs b/Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/GiftForArielle.cs rename to Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/HargroveSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/HargroveSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/KirinBrains.cs b/Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/KirinBrains.cs rename to Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/LowelSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/LowelSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/MiniatureMushroom.cs b/Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/MiniatureMushroom.cs rename to Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/MirrorOfPurification.cs b/Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/MirrorOfPurification.cs rename to Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/MuggSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/MuggSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/NibbetSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/NibbetSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/NotarizedApplication.cs b/Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/NotarizedApplication.cs rename to Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/OfficialSealingWax.cs b/Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/OfficialSealingWax.cs rename to Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/PeppercornFishsteak.cs b/Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/PeppercornFishsteak.cs rename to Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/PixieLeg.cs b/Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/PixieLeg.cs rename to Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/PortraitOfTheBride.cs b/Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/PortraitOfTheBride.cs rename to Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/PrismaticAmber.cs b/Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/PrismaticAmber.cs rename to Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/PrismaticCrystal.cs b/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/PrismaticCrystal.cs rename to Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/QuestGiverItem.cs b/Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/QuestGiverItem.cs rename to Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/RedLeatherBook.cs b/Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/RedLeatherBook.cs rename to Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/ReginasLetter.cs b/Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/ReginasLetter.cs rename to Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/ReginasRing.cs b/Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/ReginasRing.cs rename to Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/RewardBags.cs b/Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/RewardBags.cs rename to Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SadrahSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SadrahSatchel.cs rename to Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SapOfSosaria.cs b/Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SapOfSosaria.cs rename to Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SealedNotesForJamal.cs b/Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SealedNotesForJamal.cs rename to Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SealingWaxOrderAddressedToPetrus.cs b/Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SealingWaxOrderAddressedToPetrus.cs rename to Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SeveredElfEars.cs b/Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SeveredElfEars.cs rename to Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SeveredHumanEars.cs b/Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SeveredHumanEars.cs rename to Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SignedTuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SignedTuitionReimbursementForm.cs rename to Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SpecialTreatForDrithen.cs b/Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SpecialTreatForDrithen.cs rename to Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SpeckledPoisonSac.cs b/Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SpeckledPoisonSac.cs rename to Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/SpiritBottle.cs b/Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/SpiritBottle.cs rename to Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/StoutWhip.cs b/Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/StoutWhip.cs rename to Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/TaintedTreeSample.cs b/Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/TaintedTreeSample.cs rename to Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/Teleporters.cs b/Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/Teleporters.cs rename to Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/TransparentHeart.cs b/Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/TransparentHeart.cs rename to Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/TuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/TuitionReimbursementForm.cs rename to Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs diff --git a/Projects/UOContent/Engines/MLQuests/Items/UnicornRibs.cs b/Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Items/UnicornRibs.cs rename to Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs diff --git a/Projects/UOContent/Engines/MLQuests/MLQuest.cs b/Projects/UOContent/Engines/ML Quests/MLQuest.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/MLQuest.cs rename to Projects/UOContent/Engines/ML Quests/MLQuest.cs diff --git a/Projects/UOContent/Engines/MLQuests/MLQuestContext.cs b/Projects/UOContent/Engines/ML Quests/MLQuestContext.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/MLQuestContext.cs rename to Projects/UOContent/Engines/ML Quests/MLQuestContext.cs diff --git a/Projects/UOContent/Engines/MLQuests/MLQuestEntry.cs b/Projects/UOContent/Engines/ML Quests/MLQuestEntry.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/MLQuestEntry.cs rename to Projects/UOContent/Engines/ML Quests/MLQuestEntry.cs diff --git a/Projects/UOContent/Engines/ML Quests/MLQuestPackets.cs b/Projects/UOContent/Engines/ML Quests/MLQuestPackets.cs new file mode 100644 index 000000000..485313ffe --- /dev/null +++ b/Projects/UOContent/Engines/ML Quests/MLQuestPackets.cs @@ -0,0 +1,32 @@ +/************************************************************************* + * ModernUO * + * Copyright (C) 2019-2021 - ModernUO Development Team * + * Email: hi@modernuo.com * + * File: MLQuestPackets.cs * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + *************************************************************************/ + +using Server.Network; + +namespace Server.Engines.MLQuests +{ + public static class MLQuestPackets + { + public static unsafe void SendRaceChanger(this NetState ns, bool female, Race newRace) + { + ns?.Send(stackalloc byte[] { 0xBF, 0x00, 0x07, 0x00, 0x2A, *(byte*)&female, (byte)(newRace.RaceID + 1) }); + } + + public static void SendCloseRaceChanger(this NetState ns) + { + ns?.Send(stackalloc byte[] { 0xBF, 0x00, 0x07, 0x00, 0x2A, 0x0, 0xFF }); + } + } +} diff --git a/Projects/UOContent/Engines/MLQuests/MLQuestPersistence.cs b/Projects/UOContent/Engines/ML Quests/MLQuestPersistence.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/MLQuestPersistence.cs rename to Projects/UOContent/Engines/ML Quests/MLQuestPersistence.cs diff --git a/Projects/UOContent/Engines/MLQuests/MLQuestSystem.cs b/Projects/UOContent/Engines/ML Quests/MLQuestSystem.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/MLQuestSystem.cs rename to Projects/UOContent/Engines/ML Quests/MLQuestSystem.cs diff --git a/Projects/UOContent/Engines/MLQuests/Mobiles/BoonCollector.cs b/Projects/UOContent/Engines/ML Quests/Mobiles/BoonCollector.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Mobiles/BoonCollector.cs rename to Projects/UOContent/Engines/ML Quests/Mobiles/BoonCollector.cs diff --git a/Projects/UOContent/Engines/MLQuests/Mobiles/SirHelper.cs b/Projects/UOContent/Engines/ML Quests/Mobiles/SirHelper.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Mobiles/SirHelper.cs rename to Projects/UOContent/Engines/ML Quests/Mobiles/SirHelper.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/BaseObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/BaseObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/BaseObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/BaseObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/CollectObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/CollectObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/CollectObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/CollectObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/DeliverObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/DeliverObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/DeliverObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/DeliverObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/EscortObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/EscortObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/EscortObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/EscortObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/GainSkillObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/GainSkillObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/GainSkillObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/GainSkillObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/Objectives/KillObjective.cs b/Projects/UOContent/Engines/ML Quests/Objectives/KillObjective.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Objectives/KillObjective.cs rename to Projects/UOContent/Engines/ML Quests/Objectives/KillObjective.cs diff --git a/Projects/UOContent/Engines/MLQuests/QuestArea.cs b/Projects/UOContent/Engines/ML Quests/QuestArea.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/QuestArea.cs rename to Projects/UOContent/Engines/ML Quests/QuestArea.cs diff --git a/Projects/UOContent/Engines/MLQuests/QuesterNameAttribute.cs b/Projects/UOContent/Engines/ML Quests/QuesterNameAttribute.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/QuesterNameAttribute.cs rename to Projects/UOContent/Engines/ML Quests/QuesterNameAttribute.cs diff --git a/Projects/UOContent/Engines/MLQuests/Rewards/BaseReward.cs b/Projects/UOContent/Engines/ML Quests/Rewards/BaseReward.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Rewards/BaseReward.cs rename to Projects/UOContent/Engines/ML Quests/Rewards/BaseReward.cs diff --git a/Projects/UOContent/Engines/MLQuests/Rewards/DummyReward.cs b/Projects/UOContent/Engines/ML Quests/Rewards/DummyReward.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Rewards/DummyReward.cs rename to Projects/UOContent/Engines/ML Quests/Rewards/DummyReward.cs diff --git a/Projects/UOContent/Engines/MLQuests/Rewards/ItemReward.cs b/Projects/UOContent/Engines/ML Quests/Rewards/ItemReward.cs similarity index 100% rename from Projects/UOContent/Engines/MLQuests/Rewards/ItemReward.cs rename to Projects/UOContent/Engines/ML Quests/Rewards/ItemReward.cs diff --git a/Projects/UOContent/Misc/RaceDefinitions.cs b/Projects/UOContent/Misc/RaceDefinitions.cs index e5abe8725..56a5d6365 100644 --- a/Projects/UOContent/Misc/RaceDefinitions.cs +++ b/Projects/UOContent/Misc/RaceDefinitions.cs @@ -110,34 +110,24 @@ namespace Server.Misc public override int ClipSkinHue(int hue) { - if (hue < 1002) + return hue switch { - return 1002; - } - - if (hue > 1058) - { - return 1058; - } - - return hue; + < 1002 => 1002, + > 1058 => 1058, + _ => hue + }; } public override int RandomSkinHue() => Utility.Random(1002, 57) | 0x8000; public override int ClipHairHue(int hue) { - if (hue < 1102) + return hue switch { - return 1102; - } - - if (hue > 1149) - { - return 1149; - } - - return hue; + < 1102 => 1102, + > 1149 => 1149, + _ => hue + }; } public override int RandomHairHue() => Utility.Random(1102, 48);