From 27cd214d588b2b59a87c9d36d42cdda9cf266333 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 30 Sep 2023 00:46:07 -0700 Subject: [PATCH] fix: Codegens ML Quest items (#1522) --- .../Engines/ML Quests/Items/ABauble.cs | 34 +- .../Items/APersonalLetterAddressedToAhie.cs | 47 +-- .../ML Quests/Items/AlchemistsBandage.cs | 50 +-- .../Engines/ML Quests/Items/AnOldNecklace.cs | 34 +- .../Engines/ML Quests/Items/AnOldRing.cs | 34 +- .../Engines/ML Quests/Items/AndricSatchel.cs | 39 +- .../ML Quests/Items/AndrosGratitude.cs | 34 +- .../Engines/ML Quests/Items/AsandosSatchel.cs | 39 +- .../Items/BasinOfCrystalClearWater.cs | 48 +-- .../ML Quests/Items/BedlamTeleporter.cs | 64 ++-- .../Engines/ML Quests/Items/Bleach.cs | 34 +- .../Engines/ML Quests/Items/BridesLetter.cs | 48 +-- .../CompletedTuitionReimbursementForm.cs | 48 +-- .../ML Quests/Items/CraftmansSatchel.cs | 334 ++++++------------ .../Engines/ML Quests/Items/CrateForSledge.cs | 47 +-- .../ML Quests/Items/DreadSpiderSilk.cs | 50 +-- .../Engines/ML Quests/Items/FragmentOfAMap.cs | 34 +- .../ML Quests/Items/FragmentOfAMapDelivery.cs | 48 +-- .../Items/FriendOfTheLibraryToken.cs | 40 +-- .../Items/FriendsOfTheLibraryApplication.cs | 48 +-- .../Engines/ML Quests/Items/GamanHorns.cs | 44 +-- .../Engines/ML Quests/Items/GervisSatchel.cs | 39 +- .../Engines/ML Quests/Items/GiftForArielle.cs | 50 +-- .../ML Quests/Items/HargroveSatchel.cs | 39 +- .../Engines/ML Quests/Items/KirinBrains.cs | 40 +-- .../Engines/ML Quests/Items/LowelSatchel.cs | 39 +- .../ML Quests/Items/MiniatureMushroom.cs | 34 +- .../ML Quests/Items/MirrorOfPurification.cs | 40 +-- .../Engines/ML Quests/Items/MuggSatchel.cs | 39 +- .../Engines/ML Quests/Items/NibbetSatchel.cs | 67 ++-- .../ML Quests/Items/NotarizedApplication.cs | 48 +-- .../ML Quests/Items/OfficialSealingWax.cs | 50 +-- .../ML Quests/Items/PeppercornFishsteak.cs | 34 +- .../Engines/ML Quests/Items/PixieLeg.cs | 40 +-- .../ML Quests/Items/PortraitOfTheBride.cs | 48 +-- .../Engines/ML Quests/Items/PrismaticAmber.cs | 112 +++--- .../ML Quests/Items/PrismaticCrystal.cs | 75 ++-- .../Engines/ML Quests/Items/QuestGiverItem.cs | 233 +++++------- .../Engines/ML Quests/Items/RedLeatherBook.cs | 33 +- .../Engines/ML Quests/Items/ReginasLetter.cs | 48 +-- .../Engines/ML Quests/Items/ReginasRing.cs | 48 +-- .../Engines/ML Quests/Items/RewardBags.cs | 260 +++++--------- .../Engines/ML Quests/Items/SadrahSatchel.cs | 39 +- .../Engines/ML Quests/Items/SapOfSosaria.cs | 42 +-- .../ML Quests/Items/SealedNotesForJamal.cs | 50 +-- .../Items/SealingWaxOrderAddressedToPetrus.cs | 48 +-- .../Engines/ML Quests/Items/SeveredElfEars.cs | 38 +- .../ML Quests/Items/SeveredHumanEars.cs | 38 +- .../Items/SignedTuitionReimbursementForm.cs | 48 +-- .../ML Quests/Items/SpecialTreatForDrithen.cs | 40 +-- .../ML Quests/Items/SpeckledPoisonSac.cs | 33 +- .../Engines/ML Quests/Items/SpiritBottle.cs | 48 +-- .../Engines/ML Quests/Items/StoutWhip.cs | 34 +- .../ML Quests/Items/TaintedTreeSample.cs | 50 +-- .../Engines/ML Quests/Items/Teleporters.cs | 300 +++++++--------- .../ML Quests/Items/TransparentHeart.cs | 40 +-- .../Items/TuitionReimbursementForm.cs | 48 +-- .../Engines/ML Quests/Items/UnicornRibs.cs | 44 +-- ...gines.MLQuests.Items.BagOfTreasure.v0.json | 4 + ...gines.MLQuests.Items.BagOfTrinkets.v0.json | 4 + ...LQuests.Items.BaseCraftmansSatchel.v0.json | 4 + ...es.MLQuests.Items.BedlamTeleporter.v0.json | 4 + ...s.MLQuests.Items.BlacksmithSatchel.v0.json | 4 + ...es.MLQuests.Items.CarpentrySatchel.v0.json | 4 + ...es.MLQuests.Items.FletchingSatchel.v0.json | 4 + ....MLQuests.Items.LargeBagOfTreasure.v0.json | 4 + ...s.MLQuests.Items.MLQuestTeleporter.v1.json | 19 + ...ines.MLQuests.Items.QuestGiverItem.v0.json | 4 + ...nes.MLQuests.Items.RewardStrongbox.v0.json | 4 + ....MLQuests.Items.SmallBagOfTrinkets.v0.json | 4 + ...gines.MLQuests.Items.TailorSatchel.v0.json | 4 + ...es.MLQuests.Items.TicketTeleporter.v1.json | 19 + ...gines.MLQuests.Items.TinkerSatchel.v0.json | 4 + ...ests.Items.TransientQuestGiverItem.v0.json | 4 + .../Migrations/Server.Items.ABauble.v0.json | 4 + ...ems.APersonalLetterAddressedToAhie.v0.json | 4 + .../Server.Items.AlchemistsBandage.v0.json | 4 + .../Server.Items.AnOldNecklace.v0.json | 4 + .../Migrations/Server.Items.AnOldRing.v0.json | 4 + .../Server.Items.AndricSatchel.v0.json | 4 + .../Server.Items.AndrosGratitude.v0.json | 4 + .../Server.Items.AsandosSatchel.v0.json | 4 + ...ver.Items.BasinOfCrystalClearWater.v0.json | 4 + .../Migrations/Server.Items.Bleach.v0.json | 4 + .../Server.Items.BridesLetter.v0.json | 4 + ....CompletedTuitionReimbursementForm.v0.json | 4 + .../Server.Items.CrateForSledge.v0.json | 4 + .../Server.Items.DreadSpiderSilk.v0.json | 4 + .../Server.Items.FragmentOfAMap.v0.json | 4 + ...erver.Items.FragmentOfAMapDelivery.v0.json | 4 + ...rver.Items.FriendOfTheLibraryToken.v0.json | 4 + ...ems.FriendsOfTheLibraryApplication.v0.json | 4 + .../Server.Items.GamanHorns.v0.json | 4 + .../Server.Items.GervisSatchel.v0.json | 4 + .../Server.Items.GiftForArielle.v0.json | 4 + .../Server.Items.HargroveSatchel.v0.json | 4 + .../Server.Items.KirinBrains.v0.json | 4 + .../Server.Items.LowelSatchel.v0.json | 4 + .../Server.Items.MiniatureMushroom.v0.json | 4 + .../Server.Items.MirrorOfPurification.v0.json | 4 + .../Server.Items.MuggSatchel.v0.json | 4 + .../Server.Items.NibbetSatchel.v0.json | 4 + .../Server.Items.NotarizedApplication.v0.json | 4 + .../Server.Items.OfficialSealingWax.v0.json | 4 + .../Server.Items.PeppercornFishsteak.v0.json | 4 + .../Migrations/Server.Items.PixieLeg.v0.json | 4 + .../Server.Items.PortraitOfTheBride.v0.json | 4 + .../Server.Items.PrismaticAmber.v0.json | 4 + .../Server.Items.PrismaticCrystal.v0.json | 4 + .../Server.Items.RedLeatherBook.v0.json | 4 + .../Server.Items.ReginasLetter.v0.json | 4 + .../Server.Items.ReginasRing.v0.json | 4 + .../Server.Items.SadrahSatchel.v0.json | 4 + .../Server.Items.SapOfSosaria.v0.json | 4 + .../Server.Items.SealedNotesForJamal.v0.json | 4 + ...s.SealingWaxOrderAddressedToPetrus.v0.json | 4 + .../Server.Items.SeveredElfEars.v0.json | 4 + .../Server.Items.SeveredHumanEars.v0.json | 4 + ...ems.SignedTuitionReimbursementForm.v0.json | 4 + ...erver.Items.SpecialTreatForDrithen.v0.json | 4 + .../Server.Items.SpeckledPoisonSac.v0.json | 4 + .../Server.Items.SpiritBottle.v0.json | 4 + .../Migrations/Server.Items.StoutWhip.v0.json | 4 + .../Server.Items.TaintedTreeSample.v0.json | 4 + .../Server.Items.TransparentHeart.v0.json | 4 + ...ver.Items.TuitionReimbursementForm.v0.json | 4 + .../Server.Items.UnicornRibs.v0.json | 4 + 127 files changed, 1498 insertions(+), 2362 deletions(-) create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTreasure.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTrinkets.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BaseCraftmansSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BedlamTeleporter.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BlacksmithSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.CarpentrySatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.FletchingSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.LargeBagOfTreasure.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.MLQuestTeleporter.v1.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.QuestGiverItem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.RewardStrongbox.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.SmallBagOfTrinkets.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TailorSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TicketTeleporter.v1.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TinkerSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TransientQuestGiverItem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.ABauble.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.APersonalLetterAddressedToAhie.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AlchemistsBandage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AnOldNecklace.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AnOldRing.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AndricSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AndrosGratitude.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.AsandosSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.BasinOfCrystalClearWater.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.Bleach.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.BridesLetter.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.CompletedTuitionReimbursementForm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.CrateForSledge.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.DreadSpiderSilk.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.FragmentOfAMap.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.FragmentOfAMapDelivery.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.FriendOfTheLibraryToken.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.FriendsOfTheLibraryApplication.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.GamanHorns.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.GervisSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.GiftForArielle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.HargroveSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.KirinBrains.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.LowelSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.MiniatureMushroom.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.MirrorOfPurification.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.MuggSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.NibbetSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.NotarizedApplication.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.OfficialSealingWax.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.PeppercornFishsteak.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.PixieLeg.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.PortraitOfTheBride.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.PrismaticAmber.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.PrismaticCrystal.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.RedLeatherBook.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.ReginasLetter.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.ReginasRing.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SadrahSatchel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SapOfSosaria.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SealedNotesForJamal.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SealingWaxOrderAddressedToPetrus.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SeveredElfEars.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SeveredHumanEars.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SignedTuitionReimbursementForm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SpecialTreatForDrithen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SpeckledPoisonSac.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.SpiritBottle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.StoutWhip.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.TaintedTreeSample.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.TransparentHeart.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.TuitionReimbursementForm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Items.UnicornRibs.v0.json diff --git a/Projects/UOContent/Engines/ML Quests/Items/ABauble.cs b/Projects/UOContent/Engines/ML Quests/Items/ABauble.cs index 4f9cbc9a9..5a58aef89 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/ABauble.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/ABauble.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class ABauble : Item { - public class ABauble : Item - { - [Constructible] - public ABauble() : base(0x23B) => LootType = LootType.Blessed; + [Constructible] + public ABauble() : base(0x23B) => LootType = LootType.Blessed; - public ABauble(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073137; // A bauble - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1073137; // A bauble } diff --git a/Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs b/Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs index fbb09aab1..edcaf0f7e 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/APersonalLetterAddressedToAhie.cs @@ -1,38 +1,21 @@ using System; +using ModernUO.Serialization; -namespace Server.Items +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class APersonalLetterAddressedToAhie : TransientItem { - public class APersonalLetterAddressedToAhie : TransientItem + [Constructible] + public APersonalLetterAddressedToAhie() : base(0x14ED, TimeSpan.FromMinutes(30)) => LootType = LootType.Blessed; + + public override int LabelNumber => 1073128; // A personal letter addressed to: Ahie + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public APersonalLetterAddressedToAhie() : base(0x14ED, TimeSpan.FromMinutes(30)) => LootType = LootType.Blessed; - - public APersonalLetterAddressedToAhie(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073128; // A personal letter addressed to: Ahie - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs b/Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs index 03526c475..70b3f8ada 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AlchemistsBandage.cs @@ -1,40 +1,24 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AlchemistsBandage : Item { - public class AlchemistsBandage : Item + [Constructible] + public AlchemistsBandage() : base(0xE21) { - [Constructible] - public AlchemistsBandage() : base(0xE21) - { - LootType = LootType.Blessed; - Hue = 0x482; - } + LootType = LootType.Blessed; + Hue = 0x482; + } - public AlchemistsBandage(Serial serial) : base(serial) - { - } + public override int LabelNumber => 1075452; // Alchemist's Bandage - public override int LabelNumber => 1075452; // Alchemist's Bandage + public override bool Nontransferable => true; - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs b/Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs index f7e0db1ce..f3b478431 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AnOldNecklace.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AnOldNecklace : Necklace { - public class AnOldNecklace : Necklace - { - [Constructible] - public AnOldNecklace() => Hue = 0x222; + [Constructible] + public AnOldNecklace() => Hue = 0x222; - public AnOldNecklace(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075525; // an old necklace - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1075525; // an old necklace } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs b/Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs index 95f379db8..c39d6cfa7 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AnOldRing.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AnOldRing : GoldRing { - public class AnOldRing : GoldRing - { - [Constructible] - public AnOldRing() => Hue = 0x222; + [Constructible] + public AnOldRing() => Hue = 0x222; - public AnOldRing(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075524; // an old ring - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1075524; // an old ring } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs index 1f48616b9..4812dfaf9 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AndricSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AndricSatchel : Backpack { - public class AndricSatchel : Backpack + [Constructible] + public AndricSatchel() { - [Constructible] - public AndricSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new Feather(10)); - DropItem(new FletcherTools()); - } - - public AndricSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new Feather(10)); + DropItem(new FletcherTools()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs b/Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs index 4a453c306..68ff4e22e 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AndrosGratitude.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AndrosGratitude : SmithHammer { - public class AndrosGratitude : SmithHammer - { - [Constructible] - public AndrosGratitude() : base(10) => LootType = LootType.Blessed; + [Constructible] + public AndrosGratitude() : base(10) => LootType = LootType.Blessed; - public AndrosGratitude(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075345; // Andros Gratitude - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1075345; // Andros Gratitude } diff --git a/Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs index 626234430..bdf751cf7 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/AsandosSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class AsandosSatchel : Backpack { - public class AsandosSatchel : Backpack + [Constructible] + public AsandosSatchel() { - [Constructible] - public AsandosSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new SackFlour()); - DropItem(new Skillet()); - } - - public AsandosSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new SackFlour()); + DropItem(new Skillet()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs b/Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs index 0f2068339..b040af141 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/BasinOfCrystalClearWater.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class BasinOfCrystalClearWater : Item { - public class BasinOfCrystalClearWater : Item + [Constructible] + public BasinOfCrystalClearWater() : base(0x1008) => LootType = LootType.Blessed; + + public override int LabelNumber => 1075303; // Basin of Crystal-Clear Water + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public BasinOfCrystalClearWater() : base(0x1008) => LootType = LootType.Blessed; - - public BasinOfCrystalClearWater(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075303; // Basin of Crystal-Clear Water - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs b/Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs index c7c4ad935..36b4d3c1c 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/BedlamTeleporter.cs @@ -1,54 +1,34 @@ -using Server.Mobiles; +using ModernUO.Serialization; +using Server.Mobiles; -namespace Server.Engines.MLQuests.Items +namespace Server.Engines.MLQuests.Items; + +[SerializationGenerator(0, false)] +public partial class BedlamTeleporter : Item { - public class BedlamTeleporter : Item + private static readonly Point3D PointDest = new(120, 1682, 0); + private static readonly Map MapDest = Map.Malas; + + public BedlamTeleporter() : base(0x124D) => Movable = false; + + public override int LabelNumber => 1074161; // Access to Bedlam by invitation only + + public override void OnDoubleClick(Mobile from) { - private static readonly Point3D PointDest = new(120, 1682, 0); - private static readonly Map MapDest = Map.Malas; - - public BedlamTeleporter() - : base(0x124D) => - Movable = false; - - public BedlamTeleporter(Serial serial) - : base(serial) + if (!from.InRange(GetWorldLocation(), 2)) { + from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. + return; } - public override int LabelNumber => 1074161; // Access to Bedlam by invitation only - - public override void OnDoubleClick(Mobile from) + if (from is PlayerMobile mobile && MLQuestSystem.GetContext(mobile)?.BedlamAccess == true) { - if (!from.InRange(GetWorldLocation(), 2)) - { - from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. - return; - } - - if (from is PlayerMobile mobile && MLQuestSystem.GetContext(mobile)?.BedlamAccess == true) - { - BaseCreature.TeleportPets(mobile, PointDest, MapDest); - mobile.MoveToWorld(PointDest, MapDest); - } - else - { - from.SendLocalizedMessage(1074276); // You press and push on the iron maiden, but nothing happens. - } + BaseCreature.TeleportPets(mobile, PointDest, MapDest); + mobile.MoveToWorld(PointDest, MapDest); } - - public override void Serialize(IGenericWriter writer) + else { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + from.SendLocalizedMessage(1074276); // You press and push on the iron maiden, but nothing happens. } } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/Bleach.cs b/Projects/UOContent/Engines/ML Quests/Items/Bleach.cs index ac6607c6e..9f6f43ed6 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/Bleach.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/Bleach.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class Bleach : PigmentsOfTokuno { - public class Bleach : PigmentsOfTokuno - { - [Constructible] - public Bleach() => LootType = LootType.Blessed; + [Constructible] + public Bleach() => LootType = LootType.Blessed; - public Bleach(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075375; // Bleach - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1075375; // Bleach } diff --git a/Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs b/Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs index 12f897720..b8e9896c0 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/BridesLetter.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class BridesLetter : Item { - public class BridesLetter : Item + [Constructible] + public BridesLetter() : base(0x14ED) => LootType = LootType.Blessed; + + public override int LabelNumber => 1075301; // Bride's Letter + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public BridesLetter() : base(0x14ED) => LootType = LootType.Blessed; - - public BridesLetter(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075301; // Bride's Letter - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs index efc18c8db..d84f1494e 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/CompletedTuitionReimbursementForm.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class CompletedTuitionReimbursementForm : Item { - public class CompletedTuitionReimbursementForm : Item + [Constructible] + public CompletedTuitionReimbursementForm() : base(0x14F0) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074625; // Completed Tuition Reimbursement Form + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public CompletedTuitionReimbursementForm() : base(0x14F0) => LootType = LootType.Blessed; - - public CompletedTuitionReimbursementForm(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074625; // Completed Tuition Reimbursement Form - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs index c525fcd25..3dea895a1 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/CraftmansSatchel.cs @@ -1,238 +1,130 @@ using System; +using ModernUO.Serialization; using Server.Engines.Craft; using Server.Items; -namespace Server.Engines.MLQuests.Items +namespace Server.Engines.MLQuests.Items; + +[SerializationGenerator(0, false)] +public abstract partial class BaseCraftmansSatchel : Backpack { - public abstract class BaseCraftmansSatchel : Backpack + protected static readonly Type[] m_TalismanType = { typeof(RandomTalisman) }; + + public BaseCraftmansSatchel() => Hue = Utility.RandomBrightHue(); + + protected void AddBaseLoot(params Type[][] lootSets) { - protected static readonly Type[] m_TalismanType = { typeof(RandomTalisman) }; + var loot = Loot.Construct(lootSets.RandomElement()); - public BaseCraftmansSatchel() => Hue = Utility.RandomBrightHue(); - - public BaseCraftmansSatchel(Serial serial) - : base(serial) + if (loot == null) { + return; } - protected void AddBaseLoot(params Type[][] lootSets) - { - var loot = Loot.Construct(lootSets.RandomElement()); - - if (loot == null) - { - return; - } - - RewardBag.Enhance(loot); - DropItem(loot); - } - - protected void AddRecipe(CraftSystem system) - { - // TODO: change craftable artifact recipes to a rarer drop - var recipeID = system.RandomRecipe(); - - if (recipeID != -1) - { - DropItem(new RecipeScroll(recipeID)); - } - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + RewardBag.Enhance(loot); + DropItem(loot); } - public class TailorSatchel : BaseCraftmansSatchel + protected void AddRecipe(CraftSystem system) { - [Constructible] - public TailorSatchel() + // TODO: change craftable artifact recipes to a rarer drop + var recipeID = system.RandomRecipe(); + + if (recipeID != -1) { - AddBaseLoot(Loot.MLArmorTypes, Loot.JewelryTypes, m_TalismanType); - - if (Utility.RandomBool()) - { - AddRecipe(DefTailoring.CraftSystem); - } - } - - public TailorSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class BlacksmithSatchel : BaseCraftmansSatchel - { - [Constructible] - public BlacksmithSatchel() - { - AddBaseLoot(Loot.MLWeaponTypes, Loot.JewelryTypes, m_TalismanType); - - if (Utility.RandomBool()) - { - AddRecipe(DefBlacksmithy.CraftSystem); - } - } - - public BlacksmithSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class TinkerSatchel : BaseCraftmansSatchel - { - [Constructible] - public TinkerSatchel() - { - AddBaseLoot(Loot.MLArmorTypes, Loot.MLWeaponTypes, Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); - - if (Utility.RandomBool()) - { - switch (Utility.Random(6)) - { - case 0: - AddRecipe(DefInscription.CraftSystem); - break; - case 1: - AddRecipe(DefAlchemy.CraftSystem); - break; - // TODO - // case 2: AddNonArtifactRecipe( DefTailoring.CraftSystem ); break; - // case 3: AddNonArtifactRecipe( DefBlacksmithy.CraftSystem ); break; - // case 4: AddNonArtifactRecipe( DefCarpentry.CraftSystem ); break; - // case 5: AddNonArtifactRecipe( DefBowFletching.CraftSystem ); break; - } - } - } - - public TinkerSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class FletchingSatchel : BaseCraftmansSatchel - { - [Constructible] - public FletchingSatchel() - { - AddBaseLoot(Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); - - if (Utility.RandomBool()) - { - AddRecipe(DefBowFletching.CraftSystem); - } - - // TODO: runic fletching kit - } - - public FletchingSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class CarpentrySatchel : BaseCraftmansSatchel - { - [Constructible] - public CarpentrySatchel() - { - AddBaseLoot(Loot.MLArmorTypes, Loot.MLWeaponTypes, Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); - - if (Utility.RandomBool()) - { - AddRecipe(DefCarpentry.CraftSystem); - } - - // TODO: Add runic dovetail saw - } - - public CarpentrySatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + DropItem(new RecipeScroll(recipeID)); } } } + +[SerializationGenerator(0, false)] +public partial class TailorSatchel : BaseCraftmansSatchel +{ + [Constructible] + public TailorSatchel() + { + AddBaseLoot(Loot.MLArmorTypes, Loot.JewelryTypes, m_TalismanType); + + if (Utility.RandomBool()) + { + AddRecipe(DefTailoring.CraftSystem); + } + } +} + +[SerializationGenerator(0, false)] +public partial class BlacksmithSatchel : BaseCraftmansSatchel +{ + [Constructible] + public BlacksmithSatchel() + { + AddBaseLoot(Loot.MLWeaponTypes, Loot.JewelryTypes, m_TalismanType); + + if (Utility.RandomBool()) + { + AddRecipe(DefBlacksmithy.CraftSystem); + } + } +} + +[SerializationGenerator(0, false)] +public partial class TinkerSatchel : BaseCraftmansSatchel +{ + [Constructible] + public TinkerSatchel() + { + AddBaseLoot(Loot.MLArmorTypes, Loot.MLWeaponTypes, Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); + + if (Utility.RandomBool()) + { + switch (Utility.Random(6)) + { + case 0: + AddRecipe(DefInscription.CraftSystem); + break; + case 1: + AddRecipe(DefAlchemy.CraftSystem); + break; + // TODO + // case 2: AddNonArtifactRecipe( DefTailoring.CraftSystem ); break; + // case 3: AddNonArtifactRecipe( DefBlacksmithy.CraftSystem ); break; + // case 4: AddNonArtifactRecipe( DefCarpentry.CraftSystem ); break; + // case 5: AddNonArtifactRecipe( DefBowFletching.CraftSystem ); break; + } + } + } +} + +[SerializationGenerator(0, false)] +public partial class FletchingSatchel : BaseCraftmansSatchel +{ + [Constructible] + public FletchingSatchel() + { + AddBaseLoot(Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); + + if (Utility.RandomBool()) + { + AddRecipe(DefBowFletching.CraftSystem); + } + + // TODO: runic fletching kit + } +} + +[SerializationGenerator(0, false)] +public partial class CarpentrySatchel : BaseCraftmansSatchel +{ + [Constructible] + public CarpentrySatchel() + { + AddBaseLoot(Loot.MLArmorTypes, Loot.MLWeaponTypes, Loot.MLRangedWeaponTypes, Loot.JewelryTypes, m_TalismanType); + + if (Utility.RandomBool()) + { + AddRecipe(DefCarpentry.CraftSystem); + } + + // TODO: Add runic dovetail saw + } +} diff --git a/Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs b/Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs index 5127ee830..a5c759b6b 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/CrateForSledge.cs @@ -1,38 +1,21 @@ using System; +using ModernUO.Serialization; -namespace Server.Items +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class CrateForSledge : TransientItem { - public class CrateForSledge : TransientItem + [Constructible] + public CrateForSledge() : base(0x1FFF, TimeSpan.FromHours(1)) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074520; // Crate for Sledge + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public CrateForSledge() : base(0x1FFF, TimeSpan.FromHours(1)) => LootType = LootType.Blessed; - - public CrateForSledge(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074520; // Crate for Sledge - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs b/Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs index 29788c71f..fc13016aa 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/DreadSpiderSilk.cs @@ -1,40 +1,24 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class DreadSpiderSilk : Item { - public class DreadSpiderSilk : Item + [Constructible] + public DreadSpiderSilk() : base(0xDF8) { - [Constructible] - public DreadSpiderSilk() : base(0xDF8) - { - LootType = LootType.Blessed; - Hue = 0x481; - } + LootType = LootType.Blessed; + Hue = 0x481; + } - public DreadSpiderSilk(Serial serial) : base(serial) - { - } + public override int LabelNumber => 1075319; // Dread Spider Silk - public override int LabelNumber => 1075319; // Dread Spider Silk + public override bool Nontransferable => true; - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs index 663abf385..707639ff1 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMap.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class FragmentOfAMap : Item { - public class FragmentOfAMap : Item - { - [Constructible] - public FragmentOfAMap() : base(0x14ED) => LootType = LootType.Blessed; + [Constructible] + public FragmentOfAMap() : base(0x14ED) => LootType = LootType.Blessed; - public FragmentOfAMap(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074533; // Fragment of a Map - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1074533; // Fragment of a Map } diff --git a/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs index 54a62d187..1db5d6c63 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/FragmentOfAMapDelivery.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class FragmentOfAMapDelivery : Item { - public class FragmentOfAMapDelivery : Item + [Constructible] + public FragmentOfAMapDelivery() : base(0x14ED) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074533; // Fragment of a Map + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public FragmentOfAMapDelivery() : base(0x14ED) => LootType = LootType.Blessed; - - public FragmentOfAMapDelivery(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074533; // Fragment of a Map - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs b/Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs index 0df3fa944..40ba2648c 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/FriendOfTheLibraryToken.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class FriendOfTheLibraryToken : Item { - public class FriendOfTheLibraryToken : Item + [Constructible] + public FriendOfTheLibraryToken() : base(0x2F58) { - [Constructible] - public FriendOfTheLibraryToken() : base(0x2F58) - { - Layer = Layer.Talisman; - Hue = 0x28A; - } - - public FriendOfTheLibraryToken(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073136; // Friend of the Library Token (allows donations to be made) - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Layer = Layer.Talisman; + Hue = 0x28A; } + + public override int LabelNumber => 1073136; // Friend of the Library Token (allows donations to be made) } diff --git a/Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs b/Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs index b2eeb94d8..4657b0479 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/FriendsOfTheLibraryApplication.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class FriendsOfTheLibraryApplication : Item { - public class FriendsOfTheLibraryApplication : Item + [Constructible] + public FriendsOfTheLibraryApplication() : base(0xEC0) => LootType = LootType.Blessed; + + public override int LabelNumber => 1073131; // Friends of the Library Application + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public FriendsOfTheLibraryApplication() : base(0xEC0) => LootType = LootType.Blessed; - - public FriendsOfTheLibraryApplication(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073131; // Friends of the Library Application - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs b/Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs index fa9736dfb..a55444855 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/GamanHorns.cs @@ -1,34 +1,18 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class GamanHorns : Item { - public class GamanHorns : Item + [Constructible] + public GamanHorns(int amount = 1) : base(0x1084) { - [Constructible] - public GamanHorns(int amount = 1) : base(0x1084) - { - LootType = LootType.Blessed; - Stackable = true; - Amount = amount; - Hue = 0x395; - } - - public GamanHorns(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074557; // Gaman Horns - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Stackable = true; + Amount = amount; + Hue = 0x395; } + + public override int LabelNumber => 1074557; // Gaman Horns } diff --git a/Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs index b0c6feb31..90a31033c 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/GervisSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class GervisSatchel : Backpack { - public class GervisSatchel : Backpack + [Constructible] + public GervisSatchel() { - [Constructible] - public GervisSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new IronIngot(10)); - DropItem(new SmithHammer()); - } - - public GervisSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new IronIngot(10)); + DropItem(new SmithHammer()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs b/Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs index 414d24622..39d020196 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/GiftForArielle.cs @@ -1,37 +1,21 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class GiftForArielle : BaseContainer { - public class GiftForArielle : BaseContainer + [Constructible] + public GiftForArielle() : base(0x1882) => Hue = 0x2C4; + + public override int LabelNumber => 1074356; // gift for arielle + public override int DefaultGumpID => 0x41; + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public GiftForArielle() : base(0x1882) => Hue = 0x2C4; - - public GiftForArielle(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074356; // gift for arielle - public override int DefaultGumpID => 0x41; - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs index 7c8716a48..032970bb2 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/HargroveSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class HargroveSatchel : Backpack { - public class HargroveSatchel : Backpack + [Constructible] + public HargroveSatchel() { - [Constructible] - public HargroveSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new Gold(15)); - DropItem(new Hatchet()); - } - - public HargroveSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new Gold(15)); + DropItem(new Hatchet()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs b/Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs index f34dd3e20..33229b4d6 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/KirinBrains.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class KirinBrains : Item { - public class KirinBrains : Item + [Constructible] + public KirinBrains() : base(0x1CF0) { - [Constructible] - public KirinBrains() : base(0x1CF0) - { - LootType = LootType.Blessed; - Hue = 0xD7; - } - - public KirinBrains(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074612; // Ki-Rin Brains - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0xD7; } + + public override int LabelNumber => 1074612; // Ki-Rin Brains } diff --git a/Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs index 92848b8a3..45d642bca 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/LowelSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class LowelSatchel : Backpack { - public class LowelSatchel : Backpack + [Constructible] + public LowelSatchel() { - [Constructible] - public LowelSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new Board(10)); - DropItem(new DovetailSaw()); - } - - public LowelSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new Board(10)); + DropItem(new DovetailSaw()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs b/Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs index 9e4baced0..c23c206e4 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/MiniatureMushroom.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class MiniatureMushroom : Food { - public class MiniatureMushroom : Food - { - [Constructible] - public MiniatureMushroom() : base(0xD16) => LootType = LootType.Blessed; + [Constructible] + public MiniatureMushroom() : base(0xD16) => LootType = LootType.Blessed; - public MiniatureMushroom(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073138; // Miniature mushroom - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1073138; // Miniature mushroom } diff --git a/Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs b/Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs index 6c1255e0f..14ef77ee6 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/MirrorOfPurification.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class MirrorOfPurification : Item { - public class MirrorOfPurification : Item + [Constructible] + public MirrorOfPurification() : base(0x1008) { - [Constructible] - public MirrorOfPurification() : base(0x1008) - { - LootType = LootType.Blessed; - Hue = 0x530; - } - - public MirrorOfPurification(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075304; // Mirror of Purification - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0x530; } + + public override int LabelNumber => 1075304; // Mirror of Purification } diff --git a/Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs index 478e719b5..21b89c715 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/MuggSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class MuggSatchel : Backpack { - public class MuggSatchel : Backpack + [Constructible] + public MuggSatchel() { - [Constructible] - public MuggSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new Pickaxe()); - DropItem(new Pickaxe()); - } - - public MuggSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new Pickaxe()); + DropItem(new Pickaxe()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs index 651fc098f..b9e22d9ee 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/NibbetSatchel.cs @@ -1,47 +1,30 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class NibbetSatchel : Backpack { - public class NibbetSatchel : Backpack + [Constructible] + public NibbetSatchel() { - [Constructible] - public NibbetSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new TinkerTools()); + Hue = Utility.RandomBrightHue(); + DropItem(new TinkerTools()); - DropItem( - Utility.Random(10) switch - { - 0 => new Springs(3), - 1 => new Axle(3), - 2 => new Hinge(3), - 3 => new Key(), - 4 => new Scissors(), - 5 => new BarrelTap(), - 6 => new BarrelHoops(), - 7 => new Gears(3), - 8 => new Lockpick(3), - _ => new ClockFrame(3) // 9 - } - ); - } - - public NibbetSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + DropItem( + Utility.Random(10) switch + { + 0 => new Springs(3), + 1 => new Axle(3), + 2 => new Hinge(3), + 3 => new Key(), + 4 => new Scissors(), + 5 => new BarrelTap(), + 6 => new BarrelHoops(), + 7 => new Gears(3), + 8 => new Lockpick(3), + _ => new ClockFrame(3) // 9 + } + ); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs b/Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs index c27d26f5a..ff4e60eba 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/NotarizedApplication.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class NotarizedApplication : Item { - public class NotarizedApplication : Item + [Constructible] + public NotarizedApplication() : base(0x14EF) => LootType = LootType.Blessed; + + public override int LabelNumber => 1073135; // Notarized Application + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public NotarizedApplication() : base(0x14EF) => LootType = LootType.Blessed; - - public NotarizedApplication(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073135; // Notarized Application - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs b/Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs index 9378ebea6..67b35be77 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/OfficialSealingWax.cs @@ -1,40 +1,24 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class OfficialSealingWax : Item { - public class OfficialSealingWax : Item + [Constructible] + public OfficialSealingWax() : base(0x1426) { - [Constructible] - public OfficialSealingWax() : base(0x1426) - { - LootType = LootType.Blessed; - Hue = 0x84; - } + LootType = LootType.Blessed; + Hue = 0x84; + } - public OfficialSealingWax(Serial serial) : base(serial) - { - } + public override int LabelNumber => 1072744; // Official Sealing Wax - public override int LabelNumber => 1072744; // Official Sealing Wax + public override bool Nontransferable => true; - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs b/Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs index 6aa74dd23..bb589a6b3 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/PeppercornFishsteak.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class PeppercornFishsteak : FishSteak { - public class PeppercornFishsteak : FishSteak - { - [Constructible] - public PeppercornFishsteak() => Hue = 0x222; + [Constructible] + public PeppercornFishsteak() => Hue = 0x222; - public PeppercornFishsteak(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075557; // peppercorn fishsteak - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1075557; // peppercorn fishsteak } diff --git a/Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs b/Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs index eb141f398..65287f669 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/PixieLeg.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class PixieLeg : ChickenLeg { - public class PixieLeg : ChickenLeg + [Constructible] + public PixieLeg(int amount = 1) : base(amount) { - [Constructible] - public PixieLeg(int amount = 1) : base(amount) - { - LootType = LootType.Blessed; - Hue = 0x1C2; - } - - public PixieLeg(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074613; // Pixie Leg - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0x1C2; } + + public override int LabelNumber => 1074613; // Pixie Leg } diff --git a/Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs b/Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs index f95740802..47acd5c7f 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/PortraitOfTheBride.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class PortraitOfTheBride : Item { - public class PortraitOfTheBride : Item + [Constructible] + public PortraitOfTheBride() : base(0xE9F) => LootType = LootType.Blessed; + + public override int LabelNumber => 1075300; // Portrait of the Bride + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public PortraitOfTheBride() : base(0xE9F) => LootType = LootType.Blessed; - - public PortraitOfTheBride(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075300; // Portrait of the Bride - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs b/Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs index cae5ea63a..ac0e39a07 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/PrismaticAmber.cs @@ -1,79 +1,63 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class PrismaticAmber : Amber { - public class PrismaticAmber : Amber + [Constructible] + public PrismaticAmber() { - [Constructible] - public PrismaticAmber() + } + + public override int LabelNumber => 1075299; // Prismatic Amber + + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + + list.Add(1075269); // Destroyed when dropped + } + + public override bool DropToWorld(Mobile from, Point3D p) + { + var ret = base.DropToWorld(from, p); + + if (ret) { + DestroyItem(from); } - public PrismaticAmber(Serial serial) : base(serial) + return ret; + } + + public override bool DropToMobile(Mobile from, Mobile target, Point3D p) + { + var ret = base.DropToMobile(from, target, p); + + if (ret) { + DestroyItem(from); } - public override int LabelNumber => 1075299; // Prismatic Amber + return ret; + } - public override void AddNameProperties(IPropertyList list) + public override bool DropToItem(Mobile from, Item target, Point3D p) + { + var ret = base.DropToItem(from, target, p); + + if (ret && Parent != from.Backpack) { - base.AddNameProperties(list); - - list.Add(1075269); // Destroyed when dropped + DestroyItem(from); } - public override bool DropToWorld(Mobile from, Point3D p) - { - var ret = base.DropToWorld(from, p); + return ret; + } - if (ret) - { - DestroyItem(from); - } - - return ret; - } - - public override bool DropToMobile(Mobile from, Mobile target, Point3D p) - { - var ret = base.DropToMobile(from, target, p); - - if (ret) - { - DestroyItem(from); - } - - return ret; - } - - public override bool DropToItem(Mobile from, Item target, Point3D p) - { - var ret = base.DropToItem(from, target, p); - - if (ret && Parent != from.Backpack) - { - DestroyItem(from); - } - - return ret; - } - - public virtual void DestroyItem(Mobile from) - { - from.SendLocalizedMessage(500424); // You destroyed the item. - Delete(); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + public virtual void DestroyItem(Mobile from) + { + from.SendLocalizedMessage(500424); // You destroyed the item. + Delete(); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs b/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs index 0be9c6f29..8559e3cc8 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/PrismaticCrystal.cs @@ -1,72 +1,55 @@ +using ModernUO.Serialization; using Server.Engines.MLQuests; using Server.Engines.MLQuests.Definitions; using Server.Mobiles; -namespace Server.Items +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class PrismaticCrystal : Item { - public class PrismaticCrystal : Item + [Constructible] + public PrismaticCrystal() : base(0x2DA) { - [Constructible] - public PrismaticCrystal() : base(0x2DA) + Movable = false; + Hue = 0x32; + } + + public override int LabelNumber => 1074269; // prismatic crystal + + public override void OnDoubleClick(Mobile from) + { + if (from is not PlayerMobile pm || pm.Backpack == null) { - Movable = false; - Hue = 0x32; + return; } - public PrismaticCrystal(Serial serial) : base(serial) + if (pm.InRange(GetWorldLocation(), 2)) { - } - - public override int LabelNumber => 1074269; // prismatic crystal - - public override void OnDoubleClick(Mobile from) - { - if (from is not PlayerMobile pm || pm.Backpack == null) + if (MLQuestSystem.GetContext(pm)?.IsDoingQuest(typeof(UnfadingMemoriesPartOne)) == true && + pm.Backpack.FindItemByType(false) == null) { - return; - } + Item amber = new PrismaticAmber(); - if (pm.InRange(GetWorldLocation(), 2)) - { - if (MLQuestSystem.GetContext(pm)?.IsDoingQuest(typeof(UnfadingMemoriesPartOne)) == true && - pm.Backpack.FindItemByType(false) == null) + if (pm.PlaceInBackpack(amber)) { - Item amber = new PrismaticAmber(); - - if (pm.PlaceInBackpack(amber)) - { - MLQuestSystem.MarkQuestItem(pm, amber); - Delete(); - } - else - { - pm.SendLocalizedMessage(502385); // Your pack cannot hold this item. - amber.Delete(); - } + MLQuestSystem.MarkQuestItem(pm, amber); + Delete(); } else { - pm.SendLocalizedMessage(1075464); // You already have as many of those as you need. + pm.SendLocalizedMessage(502385); // Your pack cannot hold this item. + amber.Delete(); } } else { - pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. + pm.SendLocalizedMessage(1075464); // You already have as many of those as you need. } } - - public override void Serialize(IGenericWriter writer) + else { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. } } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs b/Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs index 9a20d77c0..3a0d14ea4 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/QuestGiverItem.cs @@ -1,159 +1,122 @@ using System; using System.Collections.Generic; +using ModernUO.Serialization; using Server.Items; using Server.Mobiles; -namespace Server.Engines.MLQuests.Items +namespace Server.Engines.MLQuests.Items; + +[SerializationGenerator(0, false)] +public abstract partial class QuestGiverItem : Item, IQuestGiver { - public abstract class QuestGiverItem : Item, IQuestGiver + private List m_MLQuests; + + public QuestGiverItem(int itemId) : base(itemId) { - private List m_MLQuests; + } - public QuestGiverItem(int itemId) - : base(itemId) + public bool CanGiveMLQuest => MLQuests.Count != 0; + + public override bool Nontransferable => true; + + public List MLQuests => m_MLQuests ?? + (m_MLQuests = MLQuestSystem.FindQuestList(GetType()) ?? MLQuestSystem.EmptyList); + + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + + AddQuestItemProperty(list); + + if (CanGiveMLQuest) { - } - - public QuestGiverItem(Serial serial) - : base(serial) - { - } - - public bool CanGiveMLQuest => MLQuests.Count != 0; - - public override bool Nontransferable => true; - - public List MLQuests => m_MLQuests ?? - (m_MLQuests = MLQuestSystem.FindQuestList(GetType()) ?? MLQuestSystem.EmptyList); - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - - AddQuestItemProperty(list); - - if (CanGiveMLQuest) - { - list.Add(1072269); // Quest Giver - } - } - - public override void OnDoubleClick(Mobile from) - { - if (!from.InRange(GetWorldLocation(), 2)) - { - from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. - } - else if (!IsChildOf(from.Backpack)) - { - from.SendLocalizedMessage(1042593); // That is not in your backpack. - } - else if (MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile) - { - MLQuestSystem.OnDoubleClick(this, mobile); - } - } - - public override void OnAfterDelete() - { - base.OnAfterDelete(); - - if (MLQuestSystem.Enabled) - { - MLQuestSystem.HandleDeletion(this); - } - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + list.Add(1072269); // Quest Giver } } - public abstract class TransientQuestGiverItem : TransientItem, IQuestGiver + public override void OnDoubleClick(Mobile from) { - private List m_MLQuests; - - public TransientQuestGiverItem(int itemId, TimeSpan lifeSpan) - : base(itemId, lifeSpan) + if (!from.InRange(GetWorldLocation(), 2)) { + from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. } - - public TransientQuestGiverItem(Serial serial) - : base(serial) + else if (!IsChildOf(from.Backpack)) { + from.SendLocalizedMessage(1042593); // That is not in your backpack. } - - public bool CanGiveMLQuest => MLQuests.Count != 0; - - public override bool Nontransferable => true; - - public List MLQuests => m_MLQuests ?? - (m_MLQuests = MLQuestSystem.FindQuestList(GetType()) ?? MLQuestSystem.EmptyList); - - public override void HandleInvalidTransfer(Mobile from) + else if (MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile) { + MLQuestSystem.OnDoubleClick(this, mobile); } + } - public override void AddNameProperties(IPropertyList list) + public override void OnAfterDelete() + { + base.OnAfterDelete(); + + if (MLQuestSystem.Enabled) { - base.AddNameProperties(list); - - AddQuestItemProperty(list); - - if (CanGiveMLQuest) - { - list.Add(1072269); // Quest Giver - } - } - - public override void OnDoubleClick(Mobile from) - { - if (!from.InRange(GetWorldLocation(), 2)) - { - from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. - } - else if (!IsChildOf(from.Backpack)) - { - from.SendLocalizedMessage(1042593); // That is not in your backpack. - } - else if (MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile) - { - MLQuestSystem.OnDoubleClick(this, mobile); - } - } - - public override void OnAfterDelete() - { - base.OnAfterDelete(); - - if (MLQuestSystem.Enabled) - { - MLQuestSystem.HandleDeletion(this); - } - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + MLQuestSystem.HandleDeletion(this); + } + } +} + +[SerializationGenerator(0, false)] +public abstract partial class TransientQuestGiverItem : TransientItem, IQuestGiver +{ + private List m_MLQuests; + + public TransientQuestGiverItem(int itemId, TimeSpan lifeSpan) + : base(itemId, lifeSpan) + { + } + + public bool CanGiveMLQuest => MLQuests.Count != 0; + + public override bool Nontransferable => true; + + public List MLQuests => m_MLQuests ?? + (m_MLQuests = MLQuestSystem.FindQuestList(GetType()) ?? MLQuestSystem.EmptyList); + + public override void HandleInvalidTransfer(Mobile from) + { + } + + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + + AddQuestItemProperty(list); + + if (CanGiveMLQuest) + { + list.Add(1072269); // Quest Giver + } + } + + public override void OnDoubleClick(Mobile from) + { + if (!from.InRange(GetWorldLocation(), 2)) + { + from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. + } + else if (!IsChildOf(from.Backpack)) + { + from.SendLocalizedMessage(1042593); // That is not in your backpack. + } + else if (MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile) + { + MLQuestSystem.OnDoubleClick(this, mobile); + } + } + + public override void OnAfterDelete() + { + base.OnAfterDelete(); + + if (MLQuestSystem.Enabled) + { + MLQuestSystem.HandleDeletion(this); } } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs b/Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs index f4f229e4b..72f4a4e6b 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/RedLeatherBook.cs @@ -1,27 +1,10 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class RedLeatherBook : BlueBook { - public class RedLeatherBook : BlueBook - { - [Constructible] - public RedLeatherBook() => Hue = 0x485; - - public RedLeatherBook(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + [Constructible] + public RedLeatherBook() => Hue = 0x485; } diff --git a/Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs b/Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs index 1759d5b0e..7a9d92b9d 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/ReginasLetter.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class ReginasLetter : Item { - public class ReginasLetter : Item + [Constructible] + public ReginasLetter() : base(0x14ED) => LootType = LootType.Blessed; + + public override int LabelNumber => 1075306; // Regina's Letter + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public ReginasLetter() : base(0x14ED) => LootType = LootType.Blessed; - - public ReginasLetter(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075306; // Regina's Letter - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs b/Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs index 2af14cacd..41c2c7ca7 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/ReginasRing.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class ReginasRing : SilverRing { - public class ReginasRing : SilverRing + [Constructible] + public ReginasRing() => LootType = LootType.Blessed; + + public override int LabelNumber => 1075305; // Regina's Ring + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public ReginasRing() => LootType = LootType.Blessed; - - public ReginasRing(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075305; // Regina's Ring - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs b/Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs index d078eda18..a5b743379 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/RewardBags.cs @@ -1,199 +1,109 @@ -using Server.Items; +using ModernUO.Serialization; +using Server.Items; -namespace Server.Engines.MLQuests.Items +namespace Server.Engines.MLQuests.Items; + +public static class RewardBag { - public static class RewardBag + public static void Fill(Container c, int itemCount, double talismanChance) { - public static void Fill(Container c, int itemCount, double talismanChance) + c.Hue = Utility.RandomNondyedHue(); + + var done = 0; + + if (Utility.RandomDouble() < talismanChance) { - c.Hue = Utility.RandomNondyedHue(); - - var done = 0; - - if (Utility.RandomDouble() < talismanChance) - { - c.DropItem(new RandomTalisman()); - ++done; - } - - for (; done < itemCount; ++done) - { - var loot = Utility.Random(5) switch - { - 0 => (Item)Loot.RandomWeapon(false, true), - 1 => Loot.RandomArmor(false, true), - 2 => Loot.RandomRangedWeapon(false, true), - 3 => Loot.RandomJewelry(), - _ => Loot.RandomHat(false) // 4 - }; - - if (loot == null) - { - continue; - } - - Enhance(loot); - c.DropItem(loot); - } + c.DropItem(new RandomTalisman()); + ++done; } - public static void Enhance(Item loot) + for (; done < itemCount; ++done) { - if (loot is BaseWeapon weapon) + var loot = Utility.Random(5) switch { - BaseRunicTool.ApplyAttributesTo(weapon, Utility.RandomMinMax(1, 5), 10, 80); - return; + 0 => (Item)Loot.RandomWeapon(false, true), + 1 => Loot.RandomArmor(false, true), + 2 => Loot.RandomRangedWeapon(false, true), + 3 => Loot.RandomJewelry(), + _ => Loot.RandomHat(false) // 4 + }; + + if (loot == null) + { + continue; } - if (loot is BaseArmor armor) - { - BaseRunicTool.ApplyAttributesTo(armor, Utility.RandomMinMax(1, 5), 10, 80); - } - - if (loot is BaseJewel jewel) - { - BaseRunicTool.ApplyAttributesTo(jewel, Utility.RandomMinMax(1, 5), 10, 80); - } + Enhance(loot); + c.DropItem(loot); } } - public class SmallBagOfTrinkets : Bag + public static void Enhance(Item loot) { - [Constructible] - public SmallBagOfTrinkets() + if (loot is BaseWeapon weapon) { - RewardBag.Fill(this, 1, 0.0); + BaseRunicTool.ApplyAttributesTo(weapon, Utility.RandomMinMax(1, 5), 10, 80); + return; } - public SmallBagOfTrinkets(Serial serial) - : base(serial) + if (loot is BaseArmor armor) { + BaseRunicTool.ApplyAttributesTo(armor, Utility.RandomMinMax(1, 5), 10, 80); } - public override void Serialize(IGenericWriter writer) + if (loot is BaseJewel jewel) { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class BagOfTrinkets : Bag - { - [Constructible] - public BagOfTrinkets() - { - RewardBag.Fill(this, 2, 0.05); - } - - public BagOfTrinkets(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class BagOfTreasure : Bag - { - [Constructible] - public BagOfTreasure() - { - RewardBag.Fill(this, 3, 0.20); - } - - public BagOfTreasure(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class LargeBagOfTreasure : Bag - { - [Constructible] - public LargeBagOfTreasure() - { - RewardBag.Fill(this, 4, 0.50); - } - - public LargeBagOfTreasure(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } - - public class RewardStrongbox : WoodenBox - { - [Constructible] - public RewardStrongbox() - { - RewardBag.Fill(this, 5, 1.0); - } - - public RewardStrongbox(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + BaseRunicTool.ApplyAttributesTo(jewel, Utility.RandomMinMax(1, 5), 10, 80); } } } + +[SerializationGenerator(0, false)] +public partial class SmallBagOfTrinkets : Bag +{ + [Constructible] + public SmallBagOfTrinkets() + { + RewardBag.Fill(this, 1, 0.0); + } +} + +[SerializationGenerator(0, false)] +public partial class BagOfTrinkets : Bag +{ + [Constructible] + public BagOfTrinkets() + { + RewardBag.Fill(this, 2, 0.05); + } +} + +[SerializationGenerator(0, false)] +public partial class BagOfTreasure : Bag +{ + [Constructible] + public BagOfTreasure() + { + RewardBag.Fill(this, 3, 0.20); + } +} + +[SerializationGenerator(0, false)] +public partial class LargeBagOfTreasure : Bag +{ + [Constructible] + public LargeBagOfTreasure() + { + RewardBag.Fill(this, 4, 0.50); + } +} + +[SerializationGenerator(0, false)] +public partial class RewardStrongbox : WoodenBox +{ + [Constructible] + public RewardStrongbox() + { + RewardBag.Fill(this, 5, 1.0); + } +} diff --git a/Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs b/Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs index 9f44999bf..c1716e4ce 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SadrahSatchel.cs @@ -1,32 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SadrahSatchel : Backpack { - public class SadrahSatchel : Backpack + [Constructible] + public SadrahSatchel() { - [Constructible] - public SadrahSatchel() - { - Hue = Utility.RandomBrightHue(); - DropItem(new Bloodmoss(10)); - DropItem(new MortarPestle()); - } - - public SadrahSatchel(Serial serial) - : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Hue = Utility.RandomBrightHue(); + DropItem(new Bloodmoss(10)); + DropItem(new MortarPestle()); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs b/Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs index de82f9d30..04dde1d69 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SapOfSosaria.cs @@ -1,33 +1,17 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SapOfSosaria : Item { - public class SapOfSosaria : Item + [Constructible] + public SapOfSosaria(int amount = 1) : base(0x1848) { - [Constructible] - public SapOfSosaria(int amount = 1) : base(0x1848) - { - LootType = LootType.Blessed; - Stackable = true; - Amount = amount; - } - - public SapOfSosaria(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074178; // Sap of Sosaria - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Stackable = true; + Amount = amount; } + + public override int LabelNumber => 1074178; // Sap of Sosaria } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs b/Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs index 488be1a84..b429618f0 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SealedNotesForJamal.cs @@ -1,37 +1,21 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SealedNotesForJamal : Item { - public class SealedNotesForJamal : Item + [Constructible] + public SealedNotesForJamal() : base(0xEF9) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074998; // Sealed Notes For Jamal + public override double DefaultWeight => 1.0; + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public SealedNotesForJamal() : base(0xEF9) => LootType = LootType.Blessed; - - public SealedNotesForJamal(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074998; // Sealed Notes For Jamal - public override double DefaultWeight => 1.0; - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs b/Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs index e1783bdd6..8baad0ee9 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SealingWaxOrderAddressedToPetrus.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SealingWaxOrderAddressedToPetrus : Item { - public class SealingWaxOrderAddressedToPetrus : Item + [Constructible] + public SealingWaxOrderAddressedToPetrus() : base(0xEBF) => LootType = LootType.Blessed; + + public override int LabelNumber => 1073132; // Sealing Wax Order addressed to Petrus + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public SealingWaxOrderAddressedToPetrus() : base(0xEBF) => LootType = LootType.Blessed; - - public SealingWaxOrderAddressedToPetrus(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073132; // Sealing Wax Order addressed to Petrus - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs b/Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs index b058eddf0..6f8cc8f0b 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SeveredElfEars.cs @@ -1,31 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[Flippable(0x312D, 0x312E)] +[SerializationGenerator(0, false)] +public partial class SeveredElfEars : Item { - [Flippable(0x312D, 0x312E)] - public class SeveredElfEars : Item + [Constructible] + public SeveredElfEars(int amount = 1) : base(Utility.RandomList(0x312D, 0x312E)) { - [Constructible] - public SeveredElfEars(int amount = 1) : base(Utility.RandomList(0x312D, 0x312E)) - { - Stackable = true; - Amount = amount; - } - - public SeveredElfEars(Serial serial) : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Stackable = true; + Amount = amount; } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs b/Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs index 0751c82d8..952f25204 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SeveredHumanEars.cs @@ -1,31 +1,15 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[Flippable(0x312F, 0x3130)] +[SerializationGenerator(0, false)] +public partial class SeveredHumanEars : Item { - [Flippable(0x312F, 0x3130)] - public class SeveredHumanEars : Item + [Constructible] + public SeveredHumanEars(int amount = 1) : base(Utility.RandomList(0x312F, 0x3130)) { - [Constructible] - public SeveredHumanEars(int amount = 1) : base(Utility.RandomList(0x312F, 0x3130)) - { - Stackable = true; - Amount = amount; - } - - public SeveredHumanEars(Serial serial) : base(serial) - { - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + Stackable = true; + Amount = amount; } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs index 66c86bbef..91f9d9319 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SignedTuitionReimbursementForm.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SignedTuitionReimbursementForm : Item { - public class SignedTuitionReimbursementForm : Item + [Constructible] + public SignedTuitionReimbursementForm() : base(0x14F0) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074614; // Signed Tuition Reimbursement Form + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public SignedTuitionReimbursementForm() : base(0x14F0) => LootType = LootType.Blessed; - - public SignedTuitionReimbursementForm(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074614; // Signed Tuition Reimbursement Form - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs b/Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs index e4264b700..ebe141a5a 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SpecialTreatForDrithen.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SpecialTreatForDrithen : Item { - public class SpecialTreatForDrithen : Item + [Constructible] + public SpecialTreatForDrithen() : base(0x21B) { - [Constructible] - public SpecialTreatForDrithen() : base(0x21B) - { - LootType = LootType.Blessed; - Hue = 0x489; - } - - public SpecialTreatForDrithen(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074517; // Special Treat for Drithen - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0x489; } + + public override int LabelNumber => 1074517; // Special Treat for Drithen } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs b/Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs index 7f2879aed..58cdb74f0 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SpeckledPoisonSac.cs @@ -1,30 +1,13 @@ using System; +using ModernUO.Serialization; -namespace Server.Items +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SpeckledPoisonSac : TransientItem { - public class SpeckledPoisonSac : TransientItem - { - [Constructible] - public SpeckledPoisonSac() : base(0x23A, TimeSpan.FromHours(1)) => LootType = LootType.Blessed; + [Constructible] + public SpeckledPoisonSac() : base(0x23A, TimeSpan.FromHours(1)) => LootType = LootType.Blessed; - public SpeckledPoisonSac(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1073133; // Speckled Poison Sac - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1073133; // Speckled Poison Sac } diff --git a/Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs b/Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs index e24768807..c51dd5508 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/SpiritBottle.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class SpiritBottle : Item { - public class SpiritBottle : Item + [Constructible] + public SpiritBottle() : base(0xEFB) => LootType = LootType.Blessed; + + public override int LabelNumber => 1075283; // Spirit bottle + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public SpiritBottle() : base(0xEFB) => LootType = LootType.Blessed; - - public SpiritBottle(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075283; // Spirit bottle - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs b/Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs index 2b898f579..9e60d2851 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/StoutWhip.cs @@ -1,28 +1,12 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class StoutWhip : Item { - public class StoutWhip : Item - { - [Constructible] - public StoutWhip() : base(0x166F) => LootType = LootType.Blessed; + [Constructible] + public StoutWhip() : base(0x166F) => LootType = LootType.Blessed; - public StoutWhip(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074812; // Stout Whip - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - } + public override int LabelNumber => 1074812; // Stout Whip } diff --git a/Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs b/Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs index f18a0bb99..0523da7d7 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/TaintedTreeSample.cs @@ -1,40 +1,24 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class TaintedTreeSample : Item // On OSI the base class is Kindling, and it's ignitable... { - public class TaintedTreeSample : Item // On OSI the base class is Kindling, and it's ignitable... + [Constructible] + public TaintedTreeSample() : base(0xDE2) { - [Constructible] - public TaintedTreeSample() : base(0xDE2) - { - LootType = LootType.Blessed; - Hue = 0x9D; - } + LootType = LootType.Blessed; + Hue = 0x9D; + } - public TaintedTreeSample(Serial serial) : base(serial) - { - } + public override int LabelNumber => 1074997; // Tainted Tree Sample - public override int LabelNumber => 1074997; // Tainted Tree Sample + public override bool Nontransferable => true; - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + public override void AddNameProperties(IPropertyList list) + { + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs b/Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs index a97718529..c575dc8a7 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/Teleporters.cs @@ -1,218 +1,164 @@ using System; +using ModernUO.Serialization; using Server.Items; using Server.Mobiles; -namespace Server.Engines.MLQuests.Items +namespace Server.Engines.MLQuests.Items; + +[SerializationGenerator(1, false)] +public partial class MLQuestTeleporter : Teleporter { - public class MLQuestTeleporter : Teleporter + [InvalidateProperties] + [SerializableField(0)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private Type _questType; + + [SerializableField(1)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private TextDefinition _message; + + [Constructible] + public MLQuestTeleporter() : this(Point3D.Zero) { - private Type m_QuestType; + } - [Constructible] - public MLQuestTeleporter() - : this(Point3D.Zero) + [Constructible] + public MLQuestTeleporter( + Point3D pointDest, Map mapDest = null, Type questType = null, TextDefinition message = null + ) : base(pointDest, mapDest) + { + _questType = questType; + Message = message; + } + + public override bool CanTeleport(Mobile m) + { + if (!base.CanTeleport(m)) { + return false; } - [Constructible] - public MLQuestTeleporter( - Point3D pointDest, Map mapDest = null, Type questType = null, TextDefinition message = null - ) - : base(pointDest, mapDest) + if (_questType == null) { - m_QuestType = questType; - Message = message; + return true; } - public MLQuestTeleporter(Serial serial) - : base(serial) + if (m is not PlayerMobile pm) { + return false; } - [CommandProperty(AccessLevel.GameMaster)] - public Type QuestType + var context = MLQuestSystem.GetContext(pm); + + if (context?.IsDoingQuest(_questType) == true || context?.HasDoneQuest(_questType) == true) { - get => m_QuestType; - set - { - m_QuestType = value; - InvalidateProperties(); - } + return true; } - [CommandProperty(AccessLevel.GameMaster)] - public TextDefinition Message { get; set; } + Message.SendMessageTo(m); + return false; + } - public override bool CanTeleport(Mobile m) + public override void GetProperties(IPropertyList list) + { + base.GetProperties(list); + + if (_questType != null) { - if (!base.CanTeleport(m)) - { - return false; - } + list.Add($"Required quest: {_questType.Name}"); + } + } - if (m_QuestType == null) - { - return true; - } + private void Deserialize(IGenericReader reader, int version) + { + var typeName = reader.ReadString(); - if (m is not PlayerMobile pm) - { - return false; - } + if (typeName != null) + { + _questType = AssemblyHandler.FindTypeByFullName(typeName); + } - var context = MLQuestSystem.GetContext(pm); + _message = reader.ReadTextDefinition(); + } +} - if (context?.IsDoingQuest(m_QuestType) == true || context?.HasDoneQuest(m_QuestType) == true) - { - return true; - } +public interface ITicket +{ + void OnTicketUsed(Mobile from); +} +[SerializationGenerator(1, false)] +public partial class TicketTeleporter : Teleporter +{ + [InvalidateProperties] + [SerializableField(0)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private Type _ticketType; + + [SerializableField(1)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private TextDefinition _message; + + [Constructible] + public TicketTeleporter() : this(Point3D.Zero) + { + } + + [Constructible] + public TicketTeleporter( + Point3D pointDest, Map mapDest = null, Type ticketType = null, TextDefinition message = null + ) : base(pointDest, mapDest) + { + _ticketType = ticketType; + Message = message; + } + + public override bool CanTeleport(Mobile m) + { + if (!base.CanTeleport(m)) + { + return false; + } + + if (_ticketType == null) + { + return true; + } + + var pack = m.Backpack; + var ticket = pack?.FindItemByType(_ticketType, false) ?? + m.Items.Find(item => _ticketType.IsInstanceOfType(item)); + + if (ticket == null) + { Message.SendMessageTo(m); return false; } - public override void GetProperties(IPropertyList list) + (ticket as ITicket)?.OnTicketUsed(m); + + return true; + } + + public override void GetProperties(IPropertyList list) + { + base.GetProperties(list); + + if (_ticketType != null) { - base.GetProperties(list); - - if (m_QuestType != null) - { - list.Add($"Required quest: {m_QuestType.Name}"); - } - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - - writer.Write(m_QuestType?.FullName); - writer.Write(Message); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - var typeName = reader.ReadString(); - - if (typeName != null) - { - m_QuestType = AssemblyHandler.FindTypeByFullName(typeName); - } - - Message = reader.ReadTextDefinition(); + list.Add($"Required ticket: {_ticketType.Name}"); } } - public interface ITicket + private void Deserialize(IGenericReader reader, int version) { - void OnTicketUsed(Mobile from); - } + var typeName = reader.ReadString(); - public class TicketTeleporter : Teleporter - { - private Type m_TicketType; - - [Constructible] - public TicketTeleporter() - : this(Point3D.Zero) + if (typeName != null) { + _ticketType = AssemblyHandler.FindTypeByFullName(typeName); } - [Constructible] - public TicketTeleporter( - Point3D pointDest, Map mapDest = null, Type ticketType = null, TextDefinition message = null - ) - : base(pointDest, mapDest) - { - m_TicketType = ticketType; - Message = message; - } - - public TicketTeleporter(Serial serial) - : base(serial) - { - } - - [CommandProperty(AccessLevel.GameMaster)] - public Type TicketType - { - get => m_TicketType; - set - { - m_TicketType = value; - InvalidateProperties(); - } - } - - [CommandProperty(AccessLevel.GameMaster)] - public TextDefinition Message { get; set; } - - public override bool CanTeleport(Mobile m) - { - if (!base.CanTeleport(m)) - { - return false; - } - - if (m_TicketType == null) - { - return true; - } - - var pack = m.Backpack; - var ticket = pack?.FindItemByType(m_TicketType, false) ?? - m.Items.Find(item => m_TicketType.IsInstanceOfType(item)); - - if (ticket == null) - { - Message.SendMessageTo(m); - return false; - } - - (ticket as ITicket)?.OnTicketUsed(m); - - return true; - } - - public override void GetProperties(IPropertyList list) - { - base.GetProperties(list); - - if (m_TicketType != null) - { - list.Add($"Required ticket: {m_TicketType.Name}"); - } - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - - writer.Write( m_TicketType?.FullName); - writer.Write(Message); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - var typeName = reader.ReadString(); - - if (typeName != null) - { - m_TicketType = AssemblyHandler.FindTypeByFullName(typeName); - } - - Message = reader.ReadTextDefinition(); - } + _message = reader.ReadTextDefinition(); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs b/Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs index 0db1acb9a..3a5a1cbec 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/TransparentHeart.cs @@ -1,32 +1,16 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class TransparentHeart : GoldEarrings { - public class TransparentHeart : GoldEarrings + [Constructible] + public TransparentHeart() { - [Constructible] - public TransparentHeart() - { - LootType = LootType.Blessed; - Hue = 0x4AB; - } - - public TransparentHeart(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1075400; // Transparent Heart - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0x4AB; } + + public override int LabelNumber => 1075400; // Transparent Heart } diff --git a/Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs b/Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs index 16740b154..586d9a2f1 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/TuitionReimbursementForm.cs @@ -1,36 +1,20 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class TuitionReimbursementForm : Item { - public class TuitionReimbursementForm : Item + [Constructible] + public TuitionReimbursementForm() : base(0xE3A) => LootType = LootType.Blessed; + + public override int LabelNumber => 1074610; // Tuition Reimbursement Form (in triplicate) + + public override bool Nontransferable => true; + + public override void AddNameProperties(IPropertyList list) { - [Constructible] - public TuitionReimbursementForm() : base(0xE3A) => LootType = LootType.Blessed; - - public TuitionReimbursementForm(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074610; // Tuition Reimbursement Form (in triplicate) - - public override bool Nontransferable => true; - - public override void AddNameProperties(IPropertyList list) - { - base.AddNameProperties(list); - AddQuestItemProperty(list); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + base.AddNameProperties(list); + AddQuestItemProperty(list); } } diff --git a/Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs b/Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs index befc4be5c..d1bbcacb5 100644 --- a/Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs +++ b/Projects/UOContent/Engines/ML Quests/Items/UnicornRibs.cs @@ -1,34 +1,18 @@ -namespace Server.Items +using ModernUO.Serialization; + +namespace Server.Items; + +[SerializationGenerator(0, false)] +public partial class UnicornRibs : Item { - public class UnicornRibs : Item + [Constructible] + public UnicornRibs(int amount = 1) : base(0x9F1) { - [Constructible] - public UnicornRibs(int amount = 1) : base(0x9F1) - { - LootType = LootType.Blessed; - Hue = 0x14B; - Stackable = true; - Amount = amount; - } - - public UnicornRibs(Serial serial) : base(serial) - { - } - - public override int LabelNumber => 1074611; // Unicorn Ribs - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // Version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } + LootType = LootType.Blessed; + Hue = 0x14B; + Stackable = true; + Amount = amount; } + + public override int LabelNumber => 1074611; // Unicorn Ribs } diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTreasure.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTreasure.v0.json new file mode 100644 index 000000000..3bc9412c2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTreasure.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.BagOfTreasure" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTrinkets.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTrinkets.v0.json new file mode 100644 index 000000000..ef525de8d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BagOfTrinkets.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.BagOfTrinkets" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BaseCraftmansSatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BaseCraftmansSatchel.v0.json new file mode 100644 index 000000000..256f7c7d3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BaseCraftmansSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.BaseCraftmansSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BedlamTeleporter.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BedlamTeleporter.v0.json new file mode 100644 index 000000000..f9e1883a4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BedlamTeleporter.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.BedlamTeleporter" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BlacksmithSatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BlacksmithSatchel.v0.json new file mode 100644 index 000000000..a2da6e24d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.BlacksmithSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.BlacksmithSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.CarpentrySatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.CarpentrySatchel.v0.json new file mode 100644 index 000000000..2c27e4336 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.CarpentrySatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.CarpentrySatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.FletchingSatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.FletchingSatchel.v0.json new file mode 100644 index 000000000..6f24e421b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.FletchingSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.FletchingSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.LargeBagOfTreasure.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.LargeBagOfTreasure.v0.json new file mode 100644 index 000000000..2e7f6b49a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.LargeBagOfTreasure.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.LargeBagOfTreasure" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.MLQuestTeleporter.v1.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.MLQuestTeleporter.v1.json new file mode 100644 index 000000000..9334c8f25 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.MLQuestTeleporter.v1.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "type": "Server.Engines.MLQuests.Items.MLQuestTeleporter", + "properties": [ + { + "name": "QuestType", + "type": "System.Type", + "rule": "PrimitiveTypeMigrationRule" + }, + { + "name": "Message", + "type": "Server.TextDefinition", + "rule": "PrimitiveUOTypeMigrationRule", + "ruleArguments": [ + "TextDefinition" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.QuestGiverItem.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.QuestGiverItem.v0.json new file mode 100644 index 000000000..f68a4758c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.QuestGiverItem.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.QuestGiverItem" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.RewardStrongbox.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.RewardStrongbox.v0.json new file mode 100644 index 000000000..7b2c6144f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.RewardStrongbox.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.RewardStrongbox" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.SmallBagOfTrinkets.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.SmallBagOfTrinkets.v0.json new file mode 100644 index 000000000..42b3bff93 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.SmallBagOfTrinkets.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.SmallBagOfTrinkets" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TailorSatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TailorSatchel.v0.json new file mode 100644 index 000000000..6aad611bd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TailorSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.TailorSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TicketTeleporter.v1.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TicketTeleporter.v1.json new file mode 100644 index 000000000..5a3d6db77 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TicketTeleporter.v1.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "type": "Server.Engines.MLQuests.Items.TicketTeleporter", + "properties": [ + { + "name": "TicketType", + "type": "System.Type", + "rule": "PrimitiveTypeMigrationRule" + }, + { + "name": "Message", + "type": "Server.TextDefinition", + "rule": "PrimitiveUOTypeMigrationRule", + "ruleArguments": [ + "TextDefinition" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TinkerSatchel.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TinkerSatchel.v0.json new file mode 100644 index 000000000..9104058b0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TinkerSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.TinkerSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TransientQuestGiverItem.v0.json b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TransientQuestGiverItem.v0.json new file mode 100644 index 000000000..1fa1a26b5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Engines.MLQuests.Items.TransientQuestGiverItem.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Engines.MLQuests.Items.TransientQuestGiverItem" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.ABauble.v0.json b/Projects/UOContent/Migrations/Server.Items.ABauble.v0.json new file mode 100644 index 000000000..0786b8e1e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.ABauble.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.ABauble" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.APersonalLetterAddressedToAhie.v0.json b/Projects/UOContent/Migrations/Server.Items.APersonalLetterAddressedToAhie.v0.json new file mode 100644 index 000000000..95311575d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.APersonalLetterAddressedToAhie.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.APersonalLetterAddressedToAhie" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AlchemistsBandage.v0.json b/Projects/UOContent/Migrations/Server.Items.AlchemistsBandage.v0.json new file mode 100644 index 000000000..639dcb0bf --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AlchemistsBandage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AlchemistsBandage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AnOldNecklace.v0.json b/Projects/UOContent/Migrations/Server.Items.AnOldNecklace.v0.json new file mode 100644 index 000000000..ebd8fdaa4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AnOldNecklace.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AnOldNecklace" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AnOldRing.v0.json b/Projects/UOContent/Migrations/Server.Items.AnOldRing.v0.json new file mode 100644 index 000000000..f06e9840c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AnOldRing.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AnOldRing" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AndricSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.AndricSatchel.v0.json new file mode 100644 index 000000000..b25952d66 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AndricSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AndricSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AndrosGratitude.v0.json b/Projects/UOContent/Migrations/Server.Items.AndrosGratitude.v0.json new file mode 100644 index 000000000..f90c92ac8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AndrosGratitude.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AndrosGratitude" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.AsandosSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.AsandosSatchel.v0.json new file mode 100644 index 000000000..3f04d39a8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.AsandosSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.AsandosSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.BasinOfCrystalClearWater.v0.json b/Projects/UOContent/Migrations/Server.Items.BasinOfCrystalClearWater.v0.json new file mode 100644 index 000000000..48b493c43 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.BasinOfCrystalClearWater.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.BasinOfCrystalClearWater" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.Bleach.v0.json b/Projects/UOContent/Migrations/Server.Items.Bleach.v0.json new file mode 100644 index 000000000..d83125567 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.Bleach.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.Bleach" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.BridesLetter.v0.json b/Projects/UOContent/Migrations/Server.Items.BridesLetter.v0.json new file mode 100644 index 000000000..8fc6e32a0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.BridesLetter.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.BridesLetter" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.CompletedTuitionReimbursementForm.v0.json b/Projects/UOContent/Migrations/Server.Items.CompletedTuitionReimbursementForm.v0.json new file mode 100644 index 000000000..df39050d8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.CompletedTuitionReimbursementForm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.CompletedTuitionReimbursementForm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.CrateForSledge.v0.json b/Projects/UOContent/Migrations/Server.Items.CrateForSledge.v0.json new file mode 100644 index 000000000..14681b647 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.CrateForSledge.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.CrateForSledge" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.DreadSpiderSilk.v0.json b/Projects/UOContent/Migrations/Server.Items.DreadSpiderSilk.v0.json new file mode 100644 index 000000000..14cf403df --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.DreadSpiderSilk.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.DreadSpiderSilk" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.FragmentOfAMap.v0.json b/Projects/UOContent/Migrations/Server.Items.FragmentOfAMap.v0.json new file mode 100644 index 000000000..a796844d1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.FragmentOfAMap.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.FragmentOfAMap" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.FragmentOfAMapDelivery.v0.json b/Projects/UOContent/Migrations/Server.Items.FragmentOfAMapDelivery.v0.json new file mode 100644 index 000000000..dacdfd656 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.FragmentOfAMapDelivery.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.FragmentOfAMapDelivery" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.FriendOfTheLibraryToken.v0.json b/Projects/UOContent/Migrations/Server.Items.FriendOfTheLibraryToken.v0.json new file mode 100644 index 000000000..8c6771074 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.FriendOfTheLibraryToken.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.FriendOfTheLibraryToken" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.FriendsOfTheLibraryApplication.v0.json b/Projects/UOContent/Migrations/Server.Items.FriendsOfTheLibraryApplication.v0.json new file mode 100644 index 000000000..90d9c26d4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.FriendsOfTheLibraryApplication.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.FriendsOfTheLibraryApplication" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.GamanHorns.v0.json b/Projects/UOContent/Migrations/Server.Items.GamanHorns.v0.json new file mode 100644 index 000000000..3f88436c2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.GamanHorns.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.GamanHorns" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.GervisSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.GervisSatchel.v0.json new file mode 100644 index 000000000..82393612f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.GervisSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.GervisSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.GiftForArielle.v0.json b/Projects/UOContent/Migrations/Server.Items.GiftForArielle.v0.json new file mode 100644 index 000000000..809c38bf2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.GiftForArielle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.GiftForArielle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.HargroveSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.HargroveSatchel.v0.json new file mode 100644 index 000000000..ee3c22946 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.HargroveSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.HargroveSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.KirinBrains.v0.json b/Projects/UOContent/Migrations/Server.Items.KirinBrains.v0.json new file mode 100644 index 000000000..5c73824d7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.KirinBrains.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.KirinBrains" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.LowelSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.LowelSatchel.v0.json new file mode 100644 index 000000000..2992eaaa8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.LowelSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.LowelSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.MiniatureMushroom.v0.json b/Projects/UOContent/Migrations/Server.Items.MiniatureMushroom.v0.json new file mode 100644 index 000000000..770bcc354 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.MiniatureMushroom.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.MiniatureMushroom" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.MirrorOfPurification.v0.json b/Projects/UOContent/Migrations/Server.Items.MirrorOfPurification.v0.json new file mode 100644 index 000000000..bfcfb5940 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.MirrorOfPurification.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.MirrorOfPurification" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.MuggSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.MuggSatchel.v0.json new file mode 100644 index 000000000..cc74a7bca --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.MuggSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.MuggSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.NibbetSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.NibbetSatchel.v0.json new file mode 100644 index 000000000..11b2da2a4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.NibbetSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.NibbetSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.NotarizedApplication.v0.json b/Projects/UOContent/Migrations/Server.Items.NotarizedApplication.v0.json new file mode 100644 index 000000000..0a176e004 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.NotarizedApplication.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.NotarizedApplication" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.OfficialSealingWax.v0.json b/Projects/UOContent/Migrations/Server.Items.OfficialSealingWax.v0.json new file mode 100644 index 000000000..006ca62cd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.OfficialSealingWax.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.OfficialSealingWax" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.PeppercornFishsteak.v0.json b/Projects/UOContent/Migrations/Server.Items.PeppercornFishsteak.v0.json new file mode 100644 index 000000000..0ae94ade8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.PeppercornFishsteak.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.PeppercornFishsteak" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.PixieLeg.v0.json b/Projects/UOContent/Migrations/Server.Items.PixieLeg.v0.json new file mode 100644 index 000000000..54a5730c9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.PixieLeg.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.PixieLeg" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.PortraitOfTheBride.v0.json b/Projects/UOContent/Migrations/Server.Items.PortraitOfTheBride.v0.json new file mode 100644 index 000000000..b54789fb7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.PortraitOfTheBride.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.PortraitOfTheBride" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.PrismaticAmber.v0.json b/Projects/UOContent/Migrations/Server.Items.PrismaticAmber.v0.json new file mode 100644 index 000000000..5b3d2f7f7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.PrismaticAmber.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.PrismaticAmber" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.PrismaticCrystal.v0.json b/Projects/UOContent/Migrations/Server.Items.PrismaticCrystal.v0.json new file mode 100644 index 000000000..b4eaa1dfc --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.PrismaticCrystal.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.PrismaticCrystal" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.RedLeatherBook.v0.json b/Projects/UOContent/Migrations/Server.Items.RedLeatherBook.v0.json new file mode 100644 index 000000000..2812ac6e2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.RedLeatherBook.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.RedLeatherBook" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.ReginasLetter.v0.json b/Projects/UOContent/Migrations/Server.Items.ReginasLetter.v0.json new file mode 100644 index 000000000..62b92c43a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.ReginasLetter.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.ReginasLetter" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.ReginasRing.v0.json b/Projects/UOContent/Migrations/Server.Items.ReginasRing.v0.json new file mode 100644 index 000000000..4d3c435fc --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.ReginasRing.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.ReginasRing" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SadrahSatchel.v0.json b/Projects/UOContent/Migrations/Server.Items.SadrahSatchel.v0.json new file mode 100644 index 000000000..707e5c077 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SadrahSatchel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SadrahSatchel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SapOfSosaria.v0.json b/Projects/UOContent/Migrations/Server.Items.SapOfSosaria.v0.json new file mode 100644 index 000000000..25b9f5610 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SapOfSosaria.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SapOfSosaria" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SealedNotesForJamal.v0.json b/Projects/UOContent/Migrations/Server.Items.SealedNotesForJamal.v0.json new file mode 100644 index 000000000..50f23c2f5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SealedNotesForJamal.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SealedNotesForJamal" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SealingWaxOrderAddressedToPetrus.v0.json b/Projects/UOContent/Migrations/Server.Items.SealingWaxOrderAddressedToPetrus.v0.json new file mode 100644 index 000000000..cada2ae69 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SealingWaxOrderAddressedToPetrus.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SealingWaxOrderAddressedToPetrus" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SeveredElfEars.v0.json b/Projects/UOContent/Migrations/Server.Items.SeveredElfEars.v0.json new file mode 100644 index 000000000..79e731926 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SeveredElfEars.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SeveredElfEars" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SeveredHumanEars.v0.json b/Projects/UOContent/Migrations/Server.Items.SeveredHumanEars.v0.json new file mode 100644 index 000000000..81b30634d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SeveredHumanEars.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SeveredHumanEars" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SignedTuitionReimbursementForm.v0.json b/Projects/UOContent/Migrations/Server.Items.SignedTuitionReimbursementForm.v0.json new file mode 100644 index 000000000..959ce00d5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SignedTuitionReimbursementForm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SignedTuitionReimbursementForm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SpecialTreatForDrithen.v0.json b/Projects/UOContent/Migrations/Server.Items.SpecialTreatForDrithen.v0.json new file mode 100644 index 000000000..74d9d8d51 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SpecialTreatForDrithen.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SpecialTreatForDrithen" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SpeckledPoisonSac.v0.json b/Projects/UOContent/Migrations/Server.Items.SpeckledPoisonSac.v0.json new file mode 100644 index 000000000..37f9d5de6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SpeckledPoisonSac.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SpeckledPoisonSac" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.SpiritBottle.v0.json b/Projects/UOContent/Migrations/Server.Items.SpiritBottle.v0.json new file mode 100644 index 000000000..a7a5b6e06 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.SpiritBottle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.SpiritBottle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.StoutWhip.v0.json b/Projects/UOContent/Migrations/Server.Items.StoutWhip.v0.json new file mode 100644 index 000000000..7de9c0e35 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.StoutWhip.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.StoutWhip" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.TaintedTreeSample.v0.json b/Projects/UOContent/Migrations/Server.Items.TaintedTreeSample.v0.json new file mode 100644 index 000000000..feab32f04 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.TaintedTreeSample.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.TaintedTreeSample" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.TransparentHeart.v0.json b/Projects/UOContent/Migrations/Server.Items.TransparentHeart.v0.json new file mode 100644 index 000000000..97cff8aa1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.TransparentHeart.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.TransparentHeart" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.TuitionReimbursementForm.v0.json b/Projects/UOContent/Migrations/Server.Items.TuitionReimbursementForm.v0.json new file mode 100644 index 000000000..bbe3e1d89 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.TuitionReimbursementForm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.TuitionReimbursementForm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Items.UnicornRibs.v0.json b/Projects/UOContent/Migrations/Server.Items.UnicornRibs.v0.json new file mode 100644 index 000000000..2baf9adad --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Items.UnicornRibs.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Items.UnicornRibs" +} \ No newline at end of file