From 6eebf358da7058558933b75ff2cfb8b4d495757d Mon Sep 17 00:00:00 2001 From: Arutosio <30377429+Arutosio@users.noreply.github.com> Date: Wed, 21 Dec 2022 08:31:44 +0100 Subject: [PATCH] fix: Changes on Animals to use code generation (#1306) --- .../Server.Mobiles.Alligator.v0.json | 4 + .../Server.Mobiles.BaseMount.v1.json | 24 + .../Server.Mobiles.BaseWarHorse.v0.json | 4 + .../Migrations/Server.Mobiles.Beetle.v0.json | 4 + .../Migrations/Server.Mobiles.Bird.v0.json | 4 + .../Server.Mobiles.BlackBear.v0.json | 4 + .../Migrations/Server.Mobiles.Boar.v0.json | 4 + .../Server.Mobiles.BrownBear.v0.json | 4 + .../Migrations/Server.Mobiles.Bull.v0.json | 4 + .../Server.Mobiles.BullFrog.v0.json | 4 + .../Migrations/Server.Mobiles.Cat.v0.json | 4 + .../Server.Mobiles.ChargerOfTheFallen.v0.json | 4 + .../Migrations/Server.Mobiles.Chicken.v0.json | 4 + .../Server.Mobiles.CoMWarHorse.v0.json | 4 + .../Migrations/Server.Mobiles.Cougar.v0.json | 4 + .../Migrations/Server.Mobiles.Cow.v0.json | 22 + .../Migrations/Server.Mobiles.Crane.v0.json | 4 + .../Server.Mobiles.DesertOstard.v0.json | 4 + .../Server.Mobiles.DireWolf.v0.json | 4 + .../Migrations/Server.Mobiles.Dog.v0.json | 4 + .../Migrations/Server.Mobiles.Dolphin.v0.json | 4 + .../Migrations/Server.Mobiles.Eagle.v0.json | 4 + .../Server.Mobiles.EtherealBeetle.v0.json | 4 + .../Server.Mobiles.EtherealCuSidhe.v0.json | 4 + .../Server.Mobiles.EtherealHiryu.v0.json | 4 + .../Server.Mobiles.EtherealHorse.v0.json | 4 + .../Server.Mobiles.EtherealKirin.v0.json | 4 + .../Server.Mobiles.EtherealLlama.v0.json | 4 + .../Server.Mobiles.EtherealMount.v3.json | 43 ++ .../Server.Mobiles.EtherealOstard.v0.json | 4 + .../Server.Mobiles.EtherealReptalon.v0.json | 4 + .../Server.Mobiles.EtherealRidgeback.v0.json | 4 + ...Server.Mobiles.EtherealSwampDragon.v0.json | 4 + .../Server.Mobiles.EtherealUnicorn.v0.json | 4 + .../Server.Mobiles.FireSteed.v0.json | 4 + .../Server.Mobiles.FrenziedOstard.v0.json | 4 + .../Migrations/Server.Mobiles.Gaman.v0.json | 4 + .../Server.Mobiles.GiantRat.v0.json | 4 + .../Server.Mobiles.GiantSerpent.v0.json | 4 + .../Server.Mobiles.GiantToad.v0.json | 4 + .../Migrations/Server.Mobiles.Goat.v0.json | 4 + .../Migrations/Server.Mobiles.Gorilla.v0.json | 4 + .../Server.Mobiles.GreatHart.v0.json | 4 + .../Server.Mobiles.GreyWolf.v0.json | 4 + .../Server.Mobiles.GrizzlyBear.v0.json | 4 + .../Migrations/Server.Mobiles.HellCat.v0.json | 4 + .../Server.Mobiles.HellSteed.v0.json | 4 + .../Migrations/Server.Mobiles.Hind.v0.json | 4 + .../Migrations/Server.Mobiles.Hiryu.v0.json | 4 + .../Migrations/Server.Mobiles.Horse.v0.json | 4 + .../Server.Mobiles.IceSerpent.v0.json | 4 + .../Server.Mobiles.IceSnake.v0.json | 4 + .../Server.Mobiles.JackRabbit.v0.json | 4 + .../Migrations/Server.Mobiles.Jwilson.v0.json | 4 + .../Migrations/Server.Mobiles.Kirin.v0.json | 4 + .../Server.Mobiles.LavaLizard.v0.json | 4 + .../Server.Mobiles.LavaSerpent.v0.json | 4 + .../Server.Mobiles.LavaSnake.v0.json | 4 + .../Server.Mobiles.LesserHiryu.v0.json | 4 + .../Migrations/Server.Mobiles.Llama.v0.json | 4 + .../Server.Mobiles.MinaxWarHorse.v0.json | 4 + .../Server.Mobiles.MountItem.v0.json | 11 + .../Server.Mobiles.MountainGoat.v0.json | 4 + .../Server.Mobiles.Nightmare.v0.json | 4 + .../Server.Mobiles.PackHorse.v0.json | 4 + .../Server.Mobiles.PackLlama.v0.json | 4 + .../Migrations/Server.Mobiles.Panther.v0.json | 4 + .../Migrations/Server.Mobiles.Parrot.v0.json | 4 + .../Migrations/Server.Mobiles.Phoenix.v0.json | 4 + .../Migrations/Server.Mobiles.Pig.v0.json | 4 + .../Server.Mobiles.PolarBear.v0.json | 4 + .../Server.Mobiles.PredatorHellCat.v0.json | 4 + .../Migrations/Server.Mobiles.Rabbit.v0.json | 4 + .../Migrations/Server.Mobiles.Rat.v0.json | 4 + .../Server.Mobiles.RidableLlama.v0.json | 4 + .../Server.Mobiles.RideablePolarBear.v0.json | 4 + .../Server.Mobiles.Ridgeback.v0.json | 4 + .../Server.Mobiles.SLWarHorse.v0.json | 4 + .../Server.Mobiles.SavageRidgeback.v0.json | 4 + .../Server.Mobiles.ScaledSwampDragon.v0.json | 4 + .../Server.Mobiles.SeaHorse.v0.json | 4 + .../Server.Mobiles.SewerRat.v0.json | 4 + .../Migrations/Server.Mobiles.Sheep.v0.json | 14 + .../Server.Mobiles.SilverSerpent.v0.json | 4 + .../Server.Mobiles.SilverSteed.v0.json | 4 + .../Server.Mobiles.SkeletalMount.v1.json | 4 + .../Migrations/Server.Mobiles.Snake.v0.json | 4 + .../Server.Mobiles.SnowLeopard.v0.json | 4 + .../Server.Mobiles.SwampDragon.v2.json | 43 ++ .../Server.Mobiles.TBWarHorse.v0.json | 4 + .../Server.Mobiles.TimberWolf.v0.json | 4 + .../Server.Mobiles.TropicalBird.v0.json | 4 + .../Migrations/Server.Mobiles.Unicorn.v0.json | 4 + .../Migrations/Server.Mobiles.Walrus.v0.json | 4 + .../Server.Mobiles.WhiteWolf.v0.json | 4 + .../Mobiles/Animals/Bears/BlackBear.cs | 23 +- .../Mobiles/Animals/Bears/BrownBear.cs | 23 +- .../Mobiles/Animals/Bears/GrizzlyBear.cs | 23 +- .../Mobiles/Animals/Bears/PolarBear.cs | 23 +- .../Mobiles/Animals/Birds/Chicken.cs | 23 +- .../UOContent/Mobiles/Animals/Birds/Crane.cs | 23 +- .../UOContent/Mobiles/Animals/Birds/Eagle.cs | 23 +- .../Mobiles/Animals/Birds/Phoenix.cs | 21 +- .../Mobiles/Animals/Canines/DireWolf.cs | 23 +- .../Mobiles/Animals/Canines/GreyWolf.cs | 23 +- .../Mobiles/Animals/Canines/TimberWolf.cs | 23 +- .../Mobiles/Animals/Canines/WhiteWolf.cs | 23 +- .../UOContent/Mobiles/Animals/Cows/Bull.cs | 23 +- .../UOContent/Mobiles/Animals/Cows/Cow.cs | 47 +- .../Mobiles/Animals/Felines/Cougar.cs | 23 +- .../Mobiles/Animals/Felines/HellCat.cs | 23 +- .../Mobiles/Animals/Felines/Panther.cs | 23 +- .../Animals/Felines/PredatorHellCat.cs | 23 +- .../Mobiles/Animals/Felines/SnowLeopard.cs | 23 +- .../UOContent/Mobiles/Animals/Misc/Boar.cs | 23 +- .../Mobiles/Animals/Misc/BullFrog.cs | 23 +- .../UOContent/Mobiles/Animals/Misc/Dolphin.cs | 24 +- .../UOContent/Mobiles/Animals/Misc/Gaman.cs | 20 +- .../Mobiles/Animals/Misc/GiantToad.cs | 28 +- .../UOContent/Mobiles/Animals/Misc/Goat.cs | 23 +- .../UOContent/Mobiles/Animals/Misc/Gorilla.cs | 23 +- .../Mobiles/Animals/Misc/GreatHart.cs | 24 +- .../UOContent/Mobiles/Animals/Misc/Hind.cs | 23 +- .../UOContent/Mobiles/Animals/Misc/Llama.cs | 23 +- .../Mobiles/Animals/Misc/MountainGoat.cs | 23 +- .../Mobiles/Animals/Misc/PackHorse.cs | 22 +- .../Mobiles/Animals/Misc/PackLlama.cs | 22 +- .../UOContent/Mobiles/Animals/Misc/Pig.cs | 23 +- .../UOContent/Mobiles/Animals/Misc/Sheep.cs | 51 +- .../UOContent/Mobiles/Animals/Misc/Walrus.cs | 23 +- .../Mobiles/Animals/Mounts/BaseMount.cs | 139 ++--- .../Mobiles/Animals/Mounts/Beetle.cs | 22 +- .../Mobiles/Animals/Mounts/DesertOstard.cs | 23 +- .../Mobiles/Animals/Mounts/Ethereals.cs | 510 +++--------------- .../Mobiles/Animals/Mounts/FireSteed.cs | 40 +- .../Mobiles/Animals/Mounts/ForestOstard.cs | 22 +- .../Mobiles/Animals/Mounts/FrenziedOstard.cs | 23 +- .../Mobiles/Animals/Mounts/HellSteed.cs | 23 +- .../UOContent/Mobiles/Animals/Mounts/Hiryu.cs | 220 +++----- .../UOContent/Mobiles/Animals/Mounts/Horse.cs | 23 +- .../UOContent/Mobiles/Animals/Mounts/Kirin.cs | 27 +- .../Mobiles/Animals/Mounts/LesserHiryu.cs | 252 ++++----- .../Mobiles/Animals/Mounts/Nightmare.cs | 31 +- .../Mobiles/Animals/Mounts/RidableLlama.cs | 23 +- .../Mobiles/Animals/Mounts/Ridgeback.cs | 23 +- .../Mobiles/Animals/Mounts/SavageRidgeback.cs | 23 +- .../Animals/Mounts/ScaledSwampDragon.cs | 23 +- .../Mobiles/Animals/Mounts/SeaHorse.cs | 23 +- .../Mobiles/Animals/Mounts/SilverSteed.cs | 23 +- .../Mobiles/Animals/Mounts/SkeletalMount.cs | 34 +- .../Mobiles/Animals/Mounts/SwampDragon.cs | 140 ++--- .../Mobiles/Animals/Mounts/Unicorn.cs | 22 +- .../Animals/Mounts/War Horses/BaseWarHorse.cs | 23 +- .../Animals/Mounts/War Horses/CoMWarHorse.cs | 23 +- .../Mounts/War Horses/MinaxWarHorse.cs | 23 +- .../Animals/Mounts/War Horses/SLWarHorse.cs | 23 +- .../Animals/Mounts/War Horses/TBWarHorse.cs | 23 +- .../Mobiles/Animals/Reptiles/Alligator.cs | 28 +- .../Mobiles/Animals/Reptiles/GiantSerpent.cs | 27 +- .../Mobiles/Animals/Reptiles/IceSerpent.cs | 27 +- .../Mobiles/Animals/Reptiles/IceSnake.cs | 23 +- .../Mobiles/Animals/Reptiles/LavaLizard.cs | 22 +- .../Mobiles/Animals/Reptiles/LavaSerpent.cs | 27 +- .../Mobiles/Animals/Reptiles/LavaSnake.cs | 22 +- .../Mobiles/Animals/Reptiles/SilverSerpent.cs | 27 +- .../Mobiles/Animals/Reptiles/Snake.cs | 23 +- .../Mobiles/Animals/Rodents/GiantRat.cs | 23 +- .../Mobiles/Animals/Rodents/JackRabbit.cs | 23 +- .../Mobiles/Animals/Rodents/Rabbit.cs | 23 +- .../Mobiles/Animals/Rodents/SewerRat.cs | 23 +- .../Mobiles/Animals/Slimes/Jwilson.cs | 23 +- .../Town Critters/(UO 3D Only) Parrot.cs | 23 +- .../Mobiles/Animals/Town Critters/Bird.cs | 49 +- .../Mobiles/Animals/Town Critters/Cat.cs | 23 +- .../Mobiles/Animals/Town Critters/Dog.cs | 23 +- .../Mobiles/Animals/Town Critters/Rat.cs | 23 +- 176 files changed, 1177 insertions(+), 2479 deletions(-) create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Alligator.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BaseMount.v1.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BaseWarHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Beetle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Bird.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Boar.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BrownBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Bull.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BullFrog.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Cat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ChargerOfTheFallen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Chicken.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CoMWarHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Cougar.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Cow.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Crane.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DesertOstard.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DireWolf.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Dog.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Dolphin.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Eagle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealBeetle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealCuSidhe.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealHiryu.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealKirin.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealLlama.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealMount.v3.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealOstard.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealReptalon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealRidgeback.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealSwampDragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealUnicorn.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FireSteed.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FrenziedOstard.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Gaman.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GiantRat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GiantSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GiantToad.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Goat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Gorilla.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GreatHart.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GreyWolf.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GrizzlyBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.HellCat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.HellSteed.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Hind.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Hiryu.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Horse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.IceSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.IceSnake.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.JackRabbit.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Jwilson.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Kirin.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LavaLizard.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LavaSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LavaSnake.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LesserHiryu.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Llama.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MinaxWarHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MountItem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MountainGoat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Nightmare.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PackHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PackLlama.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Panther.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Parrot.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Phoenix.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Pig.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PolarBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PredatorHellCat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Rabbit.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Rat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RidableLlama.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RideablePolarBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Ridgeback.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SLWarHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SavageRidgeback.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ScaledSwampDragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SeaHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SewerRat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Sheep.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SilverSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SilverSteed.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SkeletalMount.v1.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Snake.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SnowLeopard.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SwampDragon.v2.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TBWarHorse.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TimberWolf.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TropicalBird.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Unicorn.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Walrus.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WhiteWolf.v0.json diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Alligator.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Alligator.v0.json new file mode 100644 index 000000000..d39d7ecdc --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Alligator.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Alligator" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BaseMount.v1.json b/Projects/UOContent/Migrations/Server.Mobiles.BaseMount.v1.json new file mode 100644 index 000000000..4e5aa4da6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BaseMount.v1.json @@ -0,0 +1,24 @@ +{ + "version": 1, + "type": "Server.Mobiles.BaseMount", + "properties": [ + { + "name": "NextMountAbility", + "type": "System.DateTime", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "Rider", + "type": "Server.Mobile", + "rule": "SerializableInterfaceMigrationRule" + }, + { + "name": "InternalItem", + "type": "Server.Item", + "rule": "SerializableInterfaceMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BaseWarHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BaseWarHorse.v0.json new file mode 100644 index 000000000..fa0365e2e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BaseWarHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BaseWarHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Beetle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Beetle.v0.json new file mode 100644 index 000000000..9c204cdea --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Beetle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Beetle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Bird.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Bird.v0.json new file mode 100644 index 000000000..97def17d2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Bird.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Bird" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackBear.v0.json new file mode 100644 index 000000000..ce30fb311 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Boar.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Boar.v0.json new file mode 100644 index 000000000..bb807aebb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Boar.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Boar" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BrownBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BrownBear.v0.json new file mode 100644 index 000000000..e304ac8e6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BrownBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BrownBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Bull.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Bull.v0.json new file mode 100644 index 000000000..cb9277b37 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Bull.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Bull" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BullFrog.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BullFrog.v0.json new file mode 100644 index 000000000..30c65910c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BullFrog.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BullFrog" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Cat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Cat.v0.json new file mode 100644 index 000000000..6209ef9fd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Cat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Cat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ChargerOfTheFallen.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ChargerOfTheFallen.v0.json new file mode 100644 index 000000000..b1e218683 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ChargerOfTheFallen.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ChargerOfTheFallen" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Chicken.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Chicken.v0.json new file mode 100644 index 000000000..9dd3549c1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Chicken.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Chicken" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CoMWarHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CoMWarHorse.v0.json new file mode 100644 index 000000000..72c3a39b9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CoMWarHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CoMWarHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Cougar.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Cougar.v0.json new file mode 100644 index 000000000..1ac70e3b6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Cougar.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Cougar" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Cow.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Cow.v0.json new file mode 100644 index 000000000..c48589973 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Cow.v0.json @@ -0,0 +1,22 @@ +{ + "version": 0, + "type": "Server.Mobiles.Cow", + "properties": [ + { + "name": "MilkedOn", + "type": "System.DateTime", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "Milk", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Crane.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Crane.v0.json new file mode 100644 index 000000000..406207fff --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Crane.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Crane" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DesertOstard.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DesertOstard.v0.json new file mode 100644 index 000000000..266a1b60d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DesertOstard.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DesertOstard" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DireWolf.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DireWolf.v0.json new file mode 100644 index 000000000..357c79ab1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DireWolf.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DireWolf" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Dog.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Dog.v0.json new file mode 100644 index 000000000..d60f9b76a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Dog.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Dog" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Dolphin.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Dolphin.v0.json new file mode 100644 index 000000000..d58dd8d59 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Dolphin.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Dolphin" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Eagle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Eagle.v0.json new file mode 100644 index 000000000..ffc7d5d67 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Eagle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Eagle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealBeetle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealBeetle.v0.json new file mode 100644 index 000000000..dc32c9d62 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealBeetle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealBeetle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealCuSidhe.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealCuSidhe.v0.json new file mode 100644 index 000000000..8c46fcf5c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealCuSidhe.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealCuSidhe" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealHiryu.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealHiryu.v0.json new file mode 100644 index 000000000..e819ca34d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealHiryu.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealHiryu" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealHorse.v0.json new file mode 100644 index 000000000..bc4da998a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealKirin.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealKirin.v0.json new file mode 100644 index 000000000..974d734ff --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealKirin.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealKirin" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealLlama.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealLlama.v0.json new file mode 100644 index 000000000..83428175a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealLlama.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealLlama" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealMount.v3.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealMount.v3.json new file mode 100644 index 000000000..d5f63f9ab --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealMount.v3.json @@ -0,0 +1,43 @@ +{ + "version": 3, + "type": "Server.Mobiles.EtherealMount", + "properties": [ + { + "name": "IsDonationItem", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "IsRewardItem", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "MountedID", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "RegularID", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "Rider", + "type": "Server.Mobile", + "rule": "SerializableInterfaceMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealOstard.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealOstard.v0.json new file mode 100644 index 000000000..06219873d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealOstard.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealOstard" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealReptalon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealReptalon.v0.json new file mode 100644 index 000000000..ae2d55b24 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealReptalon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealReptalon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealRidgeback.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealRidgeback.v0.json new file mode 100644 index 000000000..13fc753a2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealRidgeback.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealRidgeback" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealSwampDragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealSwampDragon.v0.json new file mode 100644 index 000000000..54327f050 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealSwampDragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealSwampDragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealUnicorn.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealUnicorn.v0.json new file mode 100644 index 000000000..9b69e0dda --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealUnicorn.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealUnicorn" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FireSteed.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FireSteed.v0.json new file mode 100644 index 000000000..d7f7221a9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FireSteed.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FireSteed" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FrenziedOstard.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FrenziedOstard.v0.json new file mode 100644 index 000000000..8ae95cc13 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FrenziedOstard.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FrenziedOstard" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gaman.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gaman.v0.json new file mode 100644 index 000000000..c57c1d863 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gaman.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gaman" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GiantRat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GiantRat.v0.json new file mode 100644 index 000000000..592f0fb75 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GiantRat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GiantRat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GiantSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GiantSerpent.v0.json new file mode 100644 index 000000000..8d9fbd406 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GiantSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GiantSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GiantToad.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GiantToad.v0.json new file mode 100644 index 000000000..6f6f805ca --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GiantToad.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GiantToad" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Goat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Goat.v0.json new file mode 100644 index 000000000..6032843c9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Goat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Goat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gorilla.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gorilla.v0.json new file mode 100644 index 000000000..404b38ce0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gorilla.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gorilla" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GreatHart.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GreatHart.v0.json new file mode 100644 index 000000000..e567e652c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GreatHart.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GreatHart" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GreyWolf.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GreyWolf.v0.json new file mode 100644 index 000000000..5d8abad57 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GreyWolf.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GreyWolf" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GrizzlyBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GrizzlyBear.v0.json new file mode 100644 index 000000000..6819f6409 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GrizzlyBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GrizzlyBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.HellCat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.HellCat.v0.json new file mode 100644 index 000000000..e2a03e0c7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.HellCat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.HellCat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.HellSteed.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.HellSteed.v0.json new file mode 100644 index 000000000..924db1127 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.HellSteed.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.HellSteed" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Hind.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Hind.v0.json new file mode 100644 index 000000000..62cc03dd3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Hind.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Hind" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Hiryu.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Hiryu.v0.json new file mode 100644 index 000000000..de4888c76 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Hiryu.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Hiryu" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Horse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Horse.v0.json new file mode 100644 index 000000000..74243b74f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Horse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Horse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.IceSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.IceSerpent.v0.json new file mode 100644 index 000000000..770c446a7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.IceSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.IceSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.IceSnake.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.IceSnake.v0.json new file mode 100644 index 000000000..775ad5f74 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.IceSnake.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.IceSnake" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.JackRabbit.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.JackRabbit.v0.json new file mode 100644 index 000000000..e39556767 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.JackRabbit.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.JackRabbit" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Jwilson.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Jwilson.v0.json new file mode 100644 index 000000000..339665a33 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Jwilson.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Jwilson" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Kirin.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Kirin.v0.json new file mode 100644 index 000000000..b3d15b625 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Kirin.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Kirin" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LavaLizard.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LavaLizard.v0.json new file mode 100644 index 000000000..dbac7d6bb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LavaLizard.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LavaLizard" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LavaSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LavaSerpent.v0.json new file mode 100644 index 000000000..714cbe163 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LavaSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LavaSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LavaSnake.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LavaSnake.v0.json new file mode 100644 index 000000000..05eff69a6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LavaSnake.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LavaSnake" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LesserHiryu.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LesserHiryu.v0.json new file mode 100644 index 000000000..9748055b3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LesserHiryu.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LesserHiryu" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Llama.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Llama.v0.json new file mode 100644 index 000000000..efdd418ff --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Llama.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Llama" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MinaxWarHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MinaxWarHorse.v0.json new file mode 100644 index 000000000..c4eb9e7a3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MinaxWarHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MinaxWarHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MountItem.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MountItem.v0.json new file mode 100644 index 000000000..2f5df1bcf --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MountItem.v0.json @@ -0,0 +1,11 @@ +{ + "version": 0, + "type": "Server.Mobiles.MountItem", + "properties": [ + { + "name": "Mount", + "type": "Server.Mobiles.BaseMount", + "rule": "SerializableInterfaceMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MountainGoat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MountainGoat.v0.json new file mode 100644 index 000000000..0db9840ef --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MountainGoat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MountainGoat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Nightmare.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Nightmare.v0.json new file mode 100644 index 000000000..3c79c2900 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Nightmare.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Nightmare" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PackHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PackHorse.v0.json new file mode 100644 index 000000000..37cba54d3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PackHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PackHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PackLlama.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PackLlama.v0.json new file mode 100644 index 000000000..150566911 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PackLlama.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PackLlama" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Panther.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Panther.v0.json new file mode 100644 index 000000000..d70853293 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Panther.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Panther" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Parrot.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Parrot.v0.json new file mode 100644 index 000000000..ca5213e40 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Parrot.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Parrot" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Phoenix.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Phoenix.v0.json new file mode 100644 index 000000000..d5307ca26 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Phoenix.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Phoenix" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Pig.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Pig.v0.json new file mode 100644 index 000000000..8a8c2443b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Pig.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Pig" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PolarBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PolarBear.v0.json new file mode 100644 index 000000000..2e5abcbeb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PolarBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PolarBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PredatorHellCat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PredatorHellCat.v0.json new file mode 100644 index 000000000..1439e4df5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PredatorHellCat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PredatorHellCat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Rabbit.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Rabbit.v0.json new file mode 100644 index 000000000..1a9aafec8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Rabbit.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Rabbit" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Rat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Rat.v0.json new file mode 100644 index 000000000..3ad9c4c27 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Rat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Rat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RidableLlama.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RidableLlama.v0.json new file mode 100644 index 000000000..46247c8c6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RidableLlama.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RidableLlama" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RideablePolarBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RideablePolarBear.v0.json new file mode 100644 index 000000000..17000f4f4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RideablePolarBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RideablePolarBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Ridgeback.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Ridgeback.v0.json new file mode 100644 index 000000000..07a784d62 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Ridgeback.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Ridgeback" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SLWarHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SLWarHorse.v0.json new file mode 100644 index 000000000..128cb4c75 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SLWarHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SLWarHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SavageRidgeback.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SavageRidgeback.v0.json new file mode 100644 index 000000000..bbdc54927 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SavageRidgeback.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SavageRidgeback" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ScaledSwampDragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ScaledSwampDragon.v0.json new file mode 100644 index 000000000..c0531861c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ScaledSwampDragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ScaledSwampDragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SeaHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SeaHorse.v0.json new file mode 100644 index 000000000..4afa083f5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SeaHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SeaHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SewerRat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SewerRat.v0.json new file mode 100644 index 000000000..b8855ca52 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SewerRat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SewerRat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Sheep.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Sheep.v0.json new file mode 100644 index 000000000..44244b28e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Sheep.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.Sheep", + "properties": [ + { + "name": "NextWoolTime", + "type": "System.DateTime", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SilverSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SilverSerpent.v0.json new file mode 100644 index 000000000..0b321bc57 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SilverSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SilverSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SilverSteed.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SilverSteed.v0.json new file mode 100644 index 000000000..5aebbae73 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SilverSteed.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SilverSteed" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMount.v1.json b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMount.v1.json new file mode 100644 index 000000000..f1da97ad9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMount.v1.json @@ -0,0 +1,4 @@ +{ + "version": 1, + "type": "Server.Mobiles.SkeletalMount" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Snake.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Snake.v0.json new file mode 100644 index 000000000..aed305db6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Snake.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Snake" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SnowLeopard.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SnowLeopard.v0.json new file mode 100644 index 000000000..7f03694f7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SnowLeopard.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SnowLeopard" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SwampDragon.v2.json b/Projects/UOContent/Migrations/Server.Mobiles.SwampDragon.v2.json new file mode 100644 index 000000000..bb42b8c07 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SwampDragon.v2.json @@ -0,0 +1,43 @@ +{ + "version": 2, + "type": "Server.Mobiles.SwampDragon", + "properties": [ + { + "name": "BardingExceptional", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "BardingCraftedBy", + "type": "string", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "HasBarding", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "BardingHP", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "BardingResource", + "type": "Server.Items.CraftResource", + "rule": "EnumMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TBWarHorse.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TBWarHorse.v0.json new file mode 100644 index 000000000..c5bd3acdd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TBWarHorse.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TBWarHorse" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TimberWolf.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TimberWolf.v0.json new file mode 100644 index 000000000..47503960e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TimberWolf.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TimberWolf" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TropicalBird.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TropicalBird.v0.json new file mode 100644 index 000000000..bde9ec8b1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TropicalBird.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TropicalBird" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Unicorn.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Unicorn.v0.json new file mode 100644 index 000000000..dfb0305fb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Unicorn.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Unicorn" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Walrus.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Walrus.v0.json new file mode 100644 index 000000000..5c823ad77 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Walrus.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Walrus" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WhiteWolf.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WhiteWolf.v0.json new file mode 100644 index 000000000..d64b34c26 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WhiteWolf.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WhiteWolf" +} \ No newline at end of file diff --git a/Projects/UOContent/Mobiles/Animals/Bears/BlackBear.cs b/Projects/UOContent/Mobiles/Animals/Bears/BlackBear.cs index c692f9286..31b6c0325 100644 --- a/Projects/UOContent/Mobiles/Animals/Bears/BlackBear.cs +++ b/Projects/UOContent/Mobiles/Animals/Bears/BlackBear.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Bear")] - public class BlackBear : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackBear : BaseCreature { [Constructible] public BlackBear() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 35.1; } - public BlackBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bear corpse"; public override string DefaultName => "a black bear"; @@ -49,19 +48,5 @@ namespace Server.Mobiles public override int Hides => 12; public override FoodType FavoriteFood => FoodType.Fish | FoodType.Meat | FoodType.FruitsAndVegies; public override PackInstinct PackInstinct => PackInstinct.Bear; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Bears/BrownBear.cs b/Projects/UOContent/Mobiles/Animals/Bears/BrownBear.cs index 781f7bb37..dbd80f3b6 100644 --- a/Projects/UOContent/Mobiles/Animals/Bears/BrownBear.cs +++ b/Projects/UOContent/Mobiles/Animals/Bears/BrownBear.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class BrownBear : BaseCreature + [SerializationGenerator(0, false)] + public partial class BrownBear : BaseCreature { [Constructible] public BrownBear() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,10 +40,6 @@ namespace Server.Mobiles MinTameSkill = 41.1; } - public BrownBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bear corpse"; public override string DefaultName => "a brown bear"; @@ -48,19 +47,5 @@ namespace Server.Mobiles public override int Hides => 12; public override FoodType FavoriteFood => FoodType.Fish | FoodType.FruitsAndVegies | FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Bear; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Bears/GrizzlyBear.cs b/Projects/UOContent/Mobiles/Animals/Bears/GrizzlyBear.cs index 709b2181a..046324987 100644 --- a/Projects/UOContent/Mobiles/Animals/Bears/GrizzlyBear.cs +++ b/Projects/UOContent/Mobiles/Animals/Bears/GrizzlyBear.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Grizzlybear")] - public class GrizzlyBear : BaseCreature + [SerializationGenerator(0, false)] + public partial class GrizzlyBear : BaseCreature { [Constructible] public GrizzlyBear() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = 59.1; } - public GrizzlyBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a grizzly bear corpse"; public override string DefaultName => "a grizzly bear"; @@ -50,19 +49,5 @@ namespace Server.Mobiles public override int Hides => 16; public override FoodType FavoriteFood => FoodType.Fish | FoodType.FruitsAndVegies | FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Bear; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Bears/PolarBear.cs b/Projects/UOContent/Mobiles/Animals/Bears/PolarBear.cs index 2931c8931..9683c3d7b 100644 --- a/Projects/UOContent/Mobiles/Animals/Bears/PolarBear.cs +++ b/Projects/UOContent/Mobiles/Animals/Bears/PolarBear.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Polarbear")] - public class PolarBear : BaseCreature + [SerializationGenerator(0, false)] + public partial class PolarBear : BaseCreature { [Constructible] public PolarBear() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = 35.1; } - public PolarBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a polar bear corpse"; public override string DefaultName => "a polar bear"; @@ -50,19 +49,5 @@ namespace Server.Mobiles public override int Hides => 16; public override FoodType FavoriteFood => FoodType.Fish | FoodType.FruitsAndVegies | FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Bear; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Birds/Chicken.cs b/Projects/UOContent/Mobiles/Animals/Birds/Chicken.cs index bd8b7146b..fb7ba0971 100644 --- a/Projects/UOContent/Mobiles/Animals/Birds/Chicken.cs +++ b/Projects/UOContent/Mobiles/Animals/Birds/Chicken.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Chicken : BaseCreature + [SerializationGenerator(0, false)] + public partial class Chicken : BaseCreature { [Constructible] public Chicken() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -35,10 +38,6 @@ namespace Server.Mobiles MinTameSkill = -0.9; } - public Chicken(Serial serial) : base(serial) - { - } - public override string CorpseName => "a chicken corpse"; public override string DefaultName => "a chicken"; @@ -48,19 +47,5 @@ namespace Server.Mobiles public override bool CanFly => true; public override int Feathers => 25; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Birds/Crane.cs b/Projects/UOContent/Mobiles/Animals/Birds/Crane.cs index 171a20fb5..39476bcf0 100644 --- a/Projects/UOContent/Mobiles/Animals/Birds/Crane.cs +++ b/Projects/UOContent/Mobiles/Animals/Birds/Crane.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Crane : BaseCreature + [SerializationGenerator(0, false)] + public partial class Crane : BaseCreature { [Constructible] public Crane() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -31,10 +34,6 @@ namespace Server.Mobiles VirtualArmor = 5; } - public Crane(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bird corpse"; public override string DefaultName => "a crane"; @@ -50,19 +49,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x4DA; public override int GetDeathSound() => 0x4D6; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Birds/Eagle.cs b/Projects/UOContent/Mobiles/Animals/Birds/Eagle.cs index 4df82ef66..bedff85da 100644 --- a/Projects/UOContent/Mobiles/Animals/Birds/Eagle.cs +++ b/Projects/UOContent/Mobiles/Animals/Birds/Eagle.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Eagle : BaseCreature + [SerializationGenerator(0, false)] + public partial class Eagle : BaseCreature { [Constructible] public Eagle() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = 17.1; } - public Eagle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bird corpse"; public override string DefaultName => "an eagle"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int Feathers => 36; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish; public override bool CanFly => true; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Birds/Phoenix.cs b/Projects/UOContent/Mobiles/Animals/Birds/Phoenix.cs index 7c0befb94..cab2ecfae 100644 --- a/Projects/UOContent/Mobiles/Animals/Birds/Phoenix.cs +++ b/Projects/UOContent/Mobiles/Animals/Birds/Phoenix.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Phoenix : BaseCreature + [SerializationGenerator(0, false)] + public partial class Phoenix : BaseCreature { [Constructible] public Phoenix() : base(AIType.AI_Mage, FightMode.Aggressor) @@ -38,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 60; } - public Phoenix(Serial serial) : base(serial) - { - } - public override string CorpseName => "a phoenix corpse"; public override string DefaultName => "a phoenix"; @@ -55,17 +54,5 @@ namespace Server.Mobiles AddLoot(LootPack.FilthyRich); AddLoot(LootPack.Rich); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Canines/DireWolf.cs b/Projects/UOContent/Mobiles/Animals/Canines/DireWolf.cs index 310338310..6b7c76e3b 100644 --- a/Projects/UOContent/Mobiles/Animals/Canines/DireWolf.cs +++ b/Projects/UOContent/Mobiles/Animals/Canines/DireWolf.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Direwolf")] - public class DireWolf : BaseCreature + [SerializationGenerator(0, false)] + public partial class DireWolf : BaseCreature { [Constructible] public DireWolf() : base(AIType.AI_Melee) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 83.1; } - public DireWolf(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dire wolf corpse"; public override string DefaultName => "a dire wolf"; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override HideType HideType => HideType.Spined; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Canine; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Canines/GreyWolf.cs b/Projects/UOContent/Mobiles/Animals/Canines/GreyWolf.cs index b0851992d..fd1361eb3 100644 --- a/Projects/UOContent/Mobiles/Animals/Canines/GreyWolf.cs +++ b/Projects/UOContent/Mobiles/Animals/Canines/GreyWolf.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Greywolf")] - public class GreyWolf : BaseCreature + [SerializationGenerator(0, false)] + public partial class GreyWolf : BaseCreature { [Constructible] public GreyWolf() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 53.1; } - public GreyWolf(Serial serial) : base(serial) - { - } - public override string CorpseName => "a grey wolf corpse"; public override string DefaultName => "a grey wolf"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int Hides => 6; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Canine; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Canines/TimberWolf.cs b/Projects/UOContent/Mobiles/Animals/Canines/TimberWolf.cs index a33ad2b89..42ff5df2f 100644 --- a/Projects/UOContent/Mobiles/Animals/Canines/TimberWolf.cs +++ b/Projects/UOContent/Mobiles/Animals/Canines/TimberWolf.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Timberwolf")] - public class TimberWolf : BaseCreature + [SerializationGenerator(0, false)] + public partial class TimberWolf : BaseCreature { [Constructible] public TimberWolf() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 23.1; } - public TimberWolf(Serial serial) : base(serial) - { - } - public override string CorpseName => "a timber wolf corpse"; public override string DefaultName => "a timber wolf"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int Hides => 5; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Canine; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Canines/WhiteWolf.cs b/Projects/UOContent/Mobiles/Animals/Canines/WhiteWolf.cs index 9a5d08d06..6cc3d4928 100644 --- a/Projects/UOContent/Mobiles/Animals/Canines/WhiteWolf.cs +++ b/Projects/UOContent/Mobiles/Animals/Canines/WhiteWolf.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Whitewolf")] - public class WhiteWolf : BaseCreature + [SerializationGenerator(0, false)] + public partial class WhiteWolf : BaseCreature { [Constructible] public WhiteWolf() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 65.1; } - public WhiteWolf(Serial serial) : base(serial) - { - } - public override string CorpseName => "a white wolf corpse"; public override string DefaultName => "a white wolf"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int Hides => 6; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Canine; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Cows/Bull.cs b/Projects/UOContent/Mobiles/Animals/Cows/Bull.cs index a1d0bf124..fd548e05f 100644 --- a/Projects/UOContent/Mobiles/Animals/Cows/Bull.cs +++ b/Projects/UOContent/Mobiles/Animals/Cows/Bull.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Bull : BaseCreature + [SerializationGenerator(0, false)] + public partial class Bull : BaseCreature { [Constructible] public Bull() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -41,10 +44,6 @@ namespace Server.Mobiles MinTameSkill = 71.1; } - public Bull(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bull corpse"; public override string DefaultName => "a bull"; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override int Hides => 15; public override FoodType FavoriteFood => FoodType.GrainsAndHay; public override PackInstinct PackInstinct => PackInstinct.Bull; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Cows/Cow.cs b/Projects/UOContent/Mobiles/Animals/Cows/Cow.cs index ea74e6425..d51300474 100644 --- a/Projects/UOContent/Mobiles/Animals/Cows/Cow.cs +++ b/Projects/UOContent/Mobiles/Animals/Cows/Cow.cs @@ -1,9 +1,20 @@ +using ModernUO.Serialization; using System; namespace Server.Mobiles { - public class Cow : BaseCreature + [SerializationGenerator(0, false)] + public partial class Cow : BaseCreature { + + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(0)] + public DateTime _milkedOn; + + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(1)] + public int _milk; + [Constructible] public Cow() : base(AIType.AI_Animal, FightMode.Aggressor) { @@ -44,18 +55,7 @@ namespace Server.Mobiles } } - public Cow(Serial serial) : base(serial) - { - } - public override string CorpseName => "a cow corpse"; - - [CommandProperty(AccessLevel.GameMaster)] - public DateTime MilkedOn { get; set; } - - [CommandProperty(AccessLevel.GameMaster)] - public int Milk { get; set; } - public override string DefaultName => "a cow"; public override int Meat => 8; @@ -119,28 +119,5 @@ namespace Server.Mobiles return false; } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(1); - - writer.Write(MilkedOn); - writer.Write(Milk); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (version > 0) - { - MilkedOn = reader.ReadDateTime(); - Milk = reader.ReadInt(); - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Felines/Cougar.cs b/Projects/UOContent/Mobiles/Animals/Felines/Cougar.cs index 0dc46458d..2b0675b84 100644 --- a/Projects/UOContent/Mobiles/Animals/Felines/Cougar.cs +++ b/Projects/UOContent/Mobiles/Animals/Felines/Cougar.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Cougar : BaseCreature + [SerializationGenerator(0, false)] + public partial class Cougar : BaseCreature { [Constructible] public Cougar() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 41.1; } - public Cougar(Serial serial) : base(serial) - { - } - public override string CorpseName => "a cougar corpse"; public override string DefaultName => "a cougar"; @@ -49,19 +48,5 @@ namespace Server.Mobiles public override int Hides => 10; public override FoodType FavoriteFood => FoodType.Fish | FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Feline; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Felines/HellCat.cs b/Projects/UOContent/Mobiles/Animals/Felines/HellCat.cs index abdc73de0..792e24d41 100644 --- a/Projects/UOContent/Mobiles/Animals/Felines/HellCat.cs +++ b/Projects/UOContent/Mobiles/Animals/Felines/HellCat.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Hellcat")] - public class HellCat : BaseCreature + [SerializationGenerator(0, false)] + public partial class HellCat : BaseCreature { [Constructible] public HellCat() : base(AIType.AI_Melee) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = 71.1; } - public HellCat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hell cat corpse"; public override string DefaultName => "a hell cat"; @@ -58,19 +57,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Meager); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Felines/Panther.cs b/Projects/UOContent/Mobiles/Animals/Felines/Panther.cs index ff271a03b..688e49ef1 100644 --- a/Projects/UOContent/Mobiles/Animals/Felines/Panther.cs +++ b/Projects/UOContent/Mobiles/Animals/Felines/Panther.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Panther : BaseCreature + [SerializationGenerator(0, false)] + public partial class Panther : BaseCreature { [Constructible] public Panther() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = 53.1; } - public Panther(Serial serial) : base(serial) - { - } - public override string CorpseName => "a panther corpse"; public override string DefaultName => "a panther"; @@ -50,19 +49,5 @@ namespace Server.Mobiles public override int Hides => 10; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish; public override PackInstinct PackInstinct => PackInstinct.Feline; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Felines/PredatorHellCat.cs b/Projects/UOContent/Mobiles/Animals/Felines/PredatorHellCat.cs index 40bd2e08e..73c1e0353 100644 --- a/Projects/UOContent/Mobiles/Animals/Felines/PredatorHellCat.cs +++ b/Projects/UOContent/Mobiles/Animals/Felines/PredatorHellCat.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Preditorhellcat")] - public class PredatorHellCat : BaseCreature + [SerializationGenerator(0, false)] + public partial class PredatorHellCat : BaseCreature { [Constructible] public PredatorHellCat() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 89.1; } - public PredatorHellCat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hell cat corpse"; public override string DefaultName => "a hell cat"; public override int Hides => 10; @@ -56,19 +55,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Average); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Felines/SnowLeopard.cs b/Projects/UOContent/Mobiles/Animals/Felines/SnowLeopard.cs index e0d0366e9..afe776200 100644 --- a/Projects/UOContent/Mobiles/Animals/Felines/SnowLeopard.cs +++ b/Projects/UOContent/Mobiles/Animals/Felines/SnowLeopard.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Snowleopard")] - public class SnowLeopard : BaseCreature + [SerializationGenerator(0, false)] + public partial class SnowLeopard : BaseCreature { [Constructible] public SnowLeopard() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 53.1; } - public SnowLeopard(Serial serial) : base(serial) - { - } - public override string CorpseName => "a leopard corpse"; public override string DefaultName => "a snow leopard"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int Hides => 8; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish; public override PackInstinct PackInstinct => PackInstinct.Feline; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Boar.cs b/Projects/UOContent/Mobiles/Animals/Misc/Boar.cs index 6763885b3..182937f99 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Boar.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Boar.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Boar : BaseCreature + [SerializationGenerator(0, false)] + public partial class Boar : BaseCreature { [Constructible] public Boar() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,28 +40,10 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public Boar(Serial serial) : base(serial) - { - } - public override string CorpseName => "a pig corpse"; public override string DefaultName => "a boar"; public override int Meat => 2; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/BullFrog.cs b/Projects/UOContent/Mobiles/Animals/Misc/BullFrog.cs index 139db24ab..7aefa41eb 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/BullFrog.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/BullFrog.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Bullfrog")] - public class BullFrog : BaseCreature + [SerializationGenerator(0,false)] + public partial class BullFrog : BaseCreature { [Constructible] public BullFrog() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,10 +40,6 @@ namespace Server.Mobiles MinTameSkill = 23.1; } - public BullFrog(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bull frog corpse"; public override string DefaultName => "a bull frog"; @@ -52,19 +51,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Dolphin.cs b/Projects/UOContent/Mobiles/Animals/Misc/Dolphin.cs index 2ae29cbbb..9550b88a0 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Dolphin.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Dolphin.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Dolphin : BaseCreature + [SerializationGenerator(0, false)] + public partial class Dolphin : BaseCreature { [Constructible] public Dolphin() @@ -37,11 +40,6 @@ namespace Server.Mobiles CantWalk = true; } - public Dolphin(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a dolphin corpse"; public override string DefaultName => "a dolphin"; @@ -76,19 +74,5 @@ namespace Server.Mobiles base.OnThink(); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Gaman.cs b/Projects/UOContent/Mobiles/Animals/Misc/Gaman.cs index e852e697a..a2ba72924 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Gaman.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Gaman.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Gaman : BaseCreature + [SerializationGenerator(0, false)] + public partial class Gaman : BaseCreature { [Constructible] public Gaman() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -38,10 +40,6 @@ namespace Server.Mobiles MinTameSkill = 68.7; } - public Gaman(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gaman corpse"; public override string DefaultName => "a gaman"; @@ -64,17 +62,5 @@ namespace Server.Mobiles base.OnDeath(c); c.DropItem(new GamanHorns(Utility.RandomBool() ? 1 : 2)); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/GiantToad.cs b/Projects/UOContent/Mobiles/Animals/Misc/GiantToad.cs index 70342218a..e362ff2a9 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/GiantToad.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/GiantToad.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Gianttoad")] - public class GiantToad : BaseCreature + [SerializationGenerator(0, false)] + public partial class GiantToad : BaseCreature { [Constructible] public GiantToad() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 77.1; } - public GiantToad(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant toad corpse"; public override string DefaultName => "a giant toad"; @@ -53,24 +52,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(1); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - if (version < 1) - { - AI = AIType.AI_Melee; - FightMode = FightMode.Closest; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Goat.cs b/Projects/UOContent/Mobiles/Animals/Misc/Goat.cs index 67240f9fc..61ac4f400 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Goat.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Goat.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Goat : BaseCreature + [SerializationGenerator(0, false)] + public partial class Goat : BaseCreature { [Constructible] public Goat() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -35,29 +38,11 @@ namespace Server.Mobiles MinTameSkill = 11.1; } - public Goat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a goat corpse"; public override string DefaultName => "a goat"; public override int Meat => 2; public override int Hides => 8; public override FoodType FavoriteFood => FoodType.GrainsAndHay | FoodType.FruitsAndVegies; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Gorilla.cs b/Projects/UOContent/Mobiles/Animals/Misc/Gorilla.cs index 70447f247..f0ce19d1b 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Gorilla.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Gorilla.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Gorilla : BaseCreature + [SerializationGenerator(0, false)] + public partial class Gorilla : BaseCreature { [Constructible] public Gorilla() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,29 +40,11 @@ namespace Server.Mobiles MinTameSkill = -18.9; } - public Gorilla(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gorilla corpse"; public override string DefaultName => "a gorilla"; public override int Meat => 1; public override int Hides => 6; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/GreatHart.cs b/Projects/UOContent/Mobiles/Animals/Misc/GreatHart.cs index 3681bfda6..e97c1568d 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/GreatHart.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/GreatHart.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Greathart")] - public class GreatHart : BaseCreature + [SerializationGenerator(0, false)] + public partial class GreatHart : BaseCreature { [Constructible] public GreatHart() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -36,10 +39,6 @@ namespace Server.Mobiles MinTameSkill = 59.1; } - public GreatHart(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deer corpse"; public override string DefaultName => "a great hart"; @@ -52,19 +51,6 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x83; public override int GetDeathSound() => 0x84; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } + diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Hind.cs b/Projects/UOContent/Mobiles/Animals/Misc/Hind.cs index 7aec10de9..8afd07d9a 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Hind.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Hind.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Hind : BaseCreature + [SerializationGenerator(0, false)] + public partial class Hind : BaseCreature { [Constructible] public Hind() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -35,10 +38,6 @@ namespace Server.Mobiles MinTameSkill = 23.1; } - public Hind(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deer corpse"; public override string DefaultName => "a hind"; @@ -51,19 +50,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x83; public override int GetDeathSound() => 0x84; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Llama.cs b/Projects/UOContent/Mobiles/Animals/Misc/Llama.cs index b67b023ab..b54dd145d 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Llama.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Llama.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Llama : BaseCreature + [SerializationGenerator(0, false)] + public partial class Llama : BaseCreature { [Constructible] public Llama() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -35,29 +38,11 @@ namespace Server.Mobiles MinTameSkill = 35.1; } - public Llama(Serial serial) : base(serial) - { - } - public override string CorpseName => "a llama corpse"; public override string DefaultName => "a llama"; public override int Meat => 1; public override int Hides => 12; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/MountainGoat.cs b/Projects/UOContent/Mobiles/Animals/Misc/MountainGoat.cs index 979d09153..222b11d53 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/MountainGoat.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/MountainGoat.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MountainGoat : BaseCreature + [SerializationGenerator(0, false)] + public partial class MountainGoat : BaseCreature { [Constructible] public MountainGoat() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,29 +42,11 @@ namespace Server.Mobiles MinTameSkill = -0.9; } - public MountainGoat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a mountain goat corpse"; public override string DefaultName => "a mountain goat"; public override int Meat => 2; public override int Hides => 12; public override FoodType FavoriteFood => FoodType.GrainsAndHay | FoodType.FruitsAndVegies; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/PackHorse.cs b/Projects/UOContent/Mobiles/Animals/Misc/PackHorse.cs index ca5d8324e..0819ddcfd 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/PackHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/PackHorse.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System.Collections.Generic; using Server.ContextMenus; using Server.Items; namespace Server.Mobiles { - public class PackHorse : BaseCreature + [SerializationGenerator(0, false)] + public partial class PackHorse : BaseCreature { [Constructible] public PackHorse() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -53,10 +55,6 @@ namespace Server.Mobiles AddItem(pack); } - public PackHorse(Serial serial) : base(serial) - { - } - public override string CorpseName => "a horse corpse"; public override string DefaultName => "a pack horse"; @@ -64,20 +62,6 @@ namespace Server.Mobiles public override int Hides => 10; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - public override bool OnBeforeDeath() { if (!base.OnBeforeDeath()) diff --git a/Projects/UOContent/Mobiles/Animals/Misc/PackLlama.cs b/Projects/UOContent/Mobiles/Animals/Misc/PackLlama.cs index 8a523d840..0cc7c7872 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/PackLlama.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/PackLlama.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System.Collections.Generic; using Server.ContextMenus; using Server.Items; namespace Server.Mobiles { - public class PackLlama : BaseCreature + [SerializationGenerator(0, false)] + public partial class PackLlama : BaseCreature { [Constructible] public PackLlama() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -53,30 +55,12 @@ namespace Server.Mobiles AddItem(pack); } - public PackLlama(Serial serial) : base(serial) - { - } - public override string CorpseName => "a llama corpse"; public override string DefaultName => "a pack llama"; public override int Meat => 1; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - public override bool OnBeforeDeath() { if (!base.OnBeforeDeath()) diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Pig.cs b/Projects/UOContent/Mobiles/Animals/Misc/Pig.cs index 7c0d3a4d5..bef9b44f6 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Pig.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Pig.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Pig : BaseCreature + [SerializationGenerator(0, false)] + public partial class Pig : BaseCreature { [Constructible] public Pig() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -35,28 +38,10 @@ namespace Server.Mobiles MinTameSkill = 11.1; } - public Pig(Serial serial) : base(serial) - { - } - public override string CorpseName => "a pig corpse"; public override string DefaultName => "a pig"; public override int Meat => 1; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Sheep.cs b/Projects/UOContent/Mobiles/Animals/Misc/Sheep.cs index 61c54ec44..5dd737fb1 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Sheep.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Sheep.cs @@ -1,13 +1,14 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Network; +using System.Runtime.CompilerServices; namespace Server.Mobiles { - public class Sheep : BaseCreature, ICarvable + [SerializationGenerator(0, false)] + public partial class Sheep : BaseCreature, ICarvable { - private DateTime m_NextWoolTime; - [Constructible] public Sheep() : base(AIType.AI_Animal, FightMode.Aggressor) { @@ -41,23 +42,24 @@ namespace Server.Mobiles MinTameSkill = 11.1; } - public Sheep(Serial serial) : base(serial) - { - } - public override string CorpseName => "a sheep corpse"; [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(0)] public DateTime NextWoolTime { - get => m_NextWoolTime; + get => _nextWoolTime; set { - m_NextWoolTime = value; - Body = Core.Now >= m_NextWoolTime ? 0xCF : 0xDF; + _nextWoolTime = value; + SheepBody(); + this.MarkDirty(); } } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SheepBody() => Body = Core.Now >= _nextWoolTime ? 0xCF : 0xDF; + public override string DefaultName => "a sheep"; public override int Meat => 3; @@ -68,7 +70,7 @@ namespace Server.Mobiles public void Carve(Mobile from, Item item) { - if (Core.Now < m_NextWoolTime) + if (Core.Now < _nextWoolTime) { // This sheep is not yet ready to be shorn. PrivateOverheadMessage(MessageType.Regular, 0x3B2, 500449, from.NetState); @@ -84,32 +86,13 @@ namespace Server.Mobiles public override void OnThink() { base.OnThink(); - Body = Core.Now >= m_NextWoolTime ? 0xCF : 0xDF; + SheepBody(); } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - - writer.Write(1); - - writer.WriteDeltaTime(m_NextWoolTime); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - NextWoolTime = reader.ReadDeltaTime(); - break; - } - } + SheepBody(); } } } diff --git a/Projects/UOContent/Mobiles/Animals/Misc/Walrus.cs b/Projects/UOContent/Mobiles/Animals/Misc/Walrus.cs index 7fbd9001f..bd55f69d6 100644 --- a/Projects/UOContent/Mobiles/Animals/Misc/Walrus.cs +++ b/Projects/UOContent/Mobiles/Animals/Misc/Walrus.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Walrus : BaseCreature + [SerializationGenerator(0, false)] + public partial class Walrus : BaseCreature { [Constructible] public Walrus() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,29 +42,11 @@ namespace Server.Mobiles MinTameSkill = 35.1; } - public Walrus(Serial serial) : base(serial) - { - } - public override string CorpseName => "a walrus corpse"; public override string DefaultName => "a walrus"; public override int Meat => 1; public override int Hides => 12; public override FoodType FavoriteFood => FoodType.Fish; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/BaseMount.cs b/Projects/UOContent/Mobiles/Animals/Mounts/BaseMount.cs index 76ca5b300..678534824 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/BaseMount.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/BaseMount.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Multis; @@ -6,10 +7,9 @@ using Server.Targeting; namespace Server.Mobiles { - public abstract class BaseMount : BaseCreature, IMount + [SerializationGenerator(0, false)] + public abstract partial class BaseMount : BaseCreature, IMount { - private Mobile m_Rider; - public BaseMount( int bodyID, int itemID, AIType aiType, FightMode fightMode = FightMode.Closest, int rangePerception = 10, int rangeFight = 1 @@ -20,17 +20,15 @@ namespace Server.Mobiles InternalItem = new MountItem(this, itemID); } - public BaseMount(Serial serial) - : base(serial) - { - } - public virtual TimeSpan MountAbilityDelay => TimeSpan.Zero; - [CommandProperty(AccessLevel.GameMaster)] - public DateTime NextMountAbility { get; set; } + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(0)] + public DateTime _nextMountAbility; - protected Item InternalItem { get; private set; } + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(2)] + protected Item _internalItem; public virtual bool AllowMaleRider => true; public virtual bool AllowFemaleRider => true; @@ -65,25 +63,26 @@ namespace Server.Mobiles } [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(1)] public Mobile Rider { - get => m_Rider; + get => _rider; set { - if (m_Rider != value) + if (_rider != value) { if (value == null) { - var loc = m_Rider.Location; - var map = m_Rider.Map; + var loc = _rider.Location; + var map = _rider.Map; if (map == null || map == Map.Internal) { - loc = m_Rider.LogoutLocation; - map = m_Rider.LogoutMap; + loc = _rider.LogoutLocation; + map = _rider.LogoutMap; } - Direction = m_Rider.Direction; + Direction = _rider.Direction; Location = loc; Map = map; @@ -91,9 +90,9 @@ namespace Server.Mobiles } else { - if (m_Rider != null) + if (_rider != null) { - Dismount(m_Rider); + Dismount(_rider); } Dismount(value); @@ -113,21 +112,22 @@ namespace Server.Mobiles } } - m_Rider = value; + _rider = value; + this.MarkDirty(); } } } public virtual void OnRiderDamaged(int amount, Mobile from, bool willKill) { - if (m_Rider == null) + if (_rider == null) { return; } - var attacker = from ?? m_Rider.FindMostRecentDamager(true); + var attacker = from ?? _rider.FindMostRecentDamager(true); - if (!(attacker == this || attacker == m_Rider || willKill || Core.Now < NextMountAbility) + if (!(attacker == this || attacker == _rider || willKill || Core.Now < NextMountAbility) && DoMountAbility(amount, from)) { NextMountAbility = Core.Now + MountAbilityDelay; @@ -155,43 +155,12 @@ namespace Server.Mobiles base.OnDelete(); } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization(false)] + private void AfterDeserialize() { - base.Serialize(writer); - - writer.Write(1); // version - - writer.Write(NextMountAbility); - - writer.Write(m_Rider); - writer.Write(InternalItem); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - switch (version) + if (InternalItem == null) { - case 1: - { - NextMountAbility = reader.ReadDateTime(); - goto case 0; - } - case 0: - { - m_Rider = reader.ReadEntity(); - InternalItem = reader.ReadEntity(); - - if (InternalItem == null) - { - Delete(); - } - - break; - } + Delete(); } } @@ -327,72 +296,48 @@ namespace Server.Mobiles public virtual bool DoMountAbility(int damage, Mobile attacker) => false; } - public class MountItem : Item, IMountItem + [SerializationGenerator(0, false)] + public partial class MountItem : Item, IMountItem { - private BaseMount m_Mount; + private BaseMount _mount; public MountItem(BaseMount mount, int itemID) : base(itemID) { Layer = Layer.Mount; Movable = false; - m_Mount = mount; - } - - public MountItem(Serial serial) : base(serial) - { + _mount = mount; } public override double DefaultWeight => 0; - public IMount Mount => m_Mount; + [SerializableProperty(0, useField: nameof(_mount))] + public IMount Mount => _mount; public override void OnAfterDelete() { - m_Mount?.Delete(); - m_Mount = null; + _mount?.Delete(); + _mount = null; base.OnAfterDelete(); } public override DeathMoveResult OnParentDeath(Mobile parent) { - if (m_Mount != null) + if (_mount != null) { - m_Mount.Rider = null; + _mount.Rider = null; } return DeathMoveResult.RemainEquipped; } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization(false)] + private void AfterDeserialize() { - base.Serialize(writer); - - writer.Write(0); // version - - writer.Write(m_Mount); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - switch (version) + if (_mount == null) { - case 0: - { - m_Mount = reader.ReadEntity(); - - if (m_Mount == null) - { - Delete(); - } - - break; - } + Delete(); } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Beetle.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Beetle.cs index 303e88b10..84ba971bf 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Beetle.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Beetle.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System.Collections.Generic; using Server.ContextMenus; using Server.Items; namespace Server.Mobiles { - public class Beetle : BaseMount + [SerializationGenerator(0, false)] + public partial class Beetle : BaseMount { public override string DefaultName => "a giant beetle"; @@ -48,10 +50,6 @@ namespace Server.Mobiles AddItem(pack); } - public Beetle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant beetle corpse"; public virtual double BoostedSpeed => 0.1; @@ -86,20 +84,6 @@ namespace Server.Mobiles } } - 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 bool OnBeforeDeath() { if (!base.OnBeforeDeath()) diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/DesertOstard.cs b/Projects/UOContent/Mobiles/Animals/Mounts/DesertOstard.cs index 6201e2d56..70c78274c 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/DesertOstard.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/DesertOstard.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class DesertOstard : BaseMount + [SerializationGenerator(0, false)] + public partial class DesertOstard : BaseMount { public override string DefaultName => "a desert ostard"; @@ -35,28 +38,10 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public DesertOstard(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ostard corpse"; public override int Meat => 3; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; public override PackInstinct PackInstinct => PackInstinct.Ostard; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Ethereals.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Ethereals.cs index 2689dc4c8..2ee8d6efc 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Ethereals.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Ethereals.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Engines.VeteranRewards; using Server.Multis; @@ -5,75 +6,67 @@ using Server.Spells; namespace Server.Mobiles { - public class EtherealMount : Item, IMount, IMountItem, IRewardItem + [SerializationGenerator(3, false)] + public partial class EtherealMount : Item, IMount, IMountItem, IRewardItem { - private bool m_IsDonationItem; - private int m_MountedID; - private int m_RegularID; - private Mobile m_Rider; + [SerializableField(0)] + [SerializedCommandProperty(AccessLevel.GameMaster, AccessLevel.Administrator)] + public bool _isDonationItem; + + [SerializableField(1)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + public bool _isRewardItem; [Constructible] public EtherealMount(int itemID, int mountID) : base(itemID) { - m_MountedID = mountID; - m_RegularID = itemID; - m_Rider = null; + _mountedID = mountID; + _regularID = itemID; + _rider = null; Layer = Layer.Invalid; LootType = LootType.Blessed; } - public EtherealMount(Serial serial) - : base(serial) - { - } - public override double DefaultWeight => 1.0; - [CommandProperty(AccessLevel.GameMaster, AccessLevel.Administrator)] - public bool IsDonationItem - { - get => m_IsDonationItem; - set - { - m_IsDonationItem = value; - InvalidateProperties(); - } - } - + [SerializableProperty(2)] [CommandProperty(AccessLevel.GameMaster)] public int MountedID { - get => m_MountedID; + get => _mountedID; set { - if (m_MountedID != value) + if (_mountedID != value) { - m_MountedID = value; + _mountedID = value; - if (m_Rider != null) + if (_rider != null) { ItemID = value; } + this.MarkDirty(); } } } + [SerializableProperty(3)] [CommandProperty(AccessLevel.GameMaster)] public int RegularID { - get => m_RegularID; + get => _regularID; set { - if (m_RegularID != value) + if (_regularID != value) { - m_RegularID = value; + _regularID = value; - if (m_Rider == null) + if (_rider == null) { ItemID = value; } + this.MarkDirty(); } } } @@ -84,13 +77,14 @@ namespace Server.Mobiles public virtual int EtherealHue => 0x4001; + [SerializableProperty(4)] [CommandProperty(AccessLevel.GameMaster)] public Mobile Rider { - get => m_Rider; + get => _rider; set { - if (value != m_Rider) + if (value != _rider) { if (value == null) { @@ -98,23 +92,25 @@ namespace Server.Mobiles UnmountMe(); RemoveFollowers(); - m_Rider = null; + _rider = null; } else { - if (m_Rider != null) + if (_rider != null) { - Dismount(m_Rider); + Dismount(_rider); } Dismount(value); RemoveFollowers(); - m_Rider = value; + _rider = value; AddFollowers(); MountMe(); } + + this.MarkDirty(); } } } @@ -125,14 +121,11 @@ namespace Server.Mobiles public IMount Mount => this; - [CommandProperty(AccessLevel.GameMaster)] - public bool IsRewardItem { get; set; } - public override void GetProperties(IPropertyList list) { base.GetProperties(list); - if (m_IsDonationItem) + if (_isDonationItem) { list.Add("Donation Ethereal"); list.Add("7.5 sec slower cast time if not a 9mo. Veteran"); @@ -146,17 +139,17 @@ namespace Server.Mobiles public void RemoveFollowers() { - if (m_Rider != null) + if (_rider != null) { - m_Rider.Followers -= Math.Min(m_Rider.Followers, FollowerSlots); + _rider.Followers -= Math.Min(_rider.Followers, FollowerSlots); } } public void AddFollowers() { - if (m_Rider != null) + if (_rider != null) { - m_Rider.Followers += FollowerSlots; + _rider.Followers += FollowerSlots; } } @@ -212,66 +205,26 @@ namespace Server.Mobiles { base.OnSingleClick(from); - LabelTo(from, m_IsDonationItem ? "Donation Ethereal" : "Veteran Reward"); + LabelTo(from, _isDonationItem ? "Donation Ethereal" : "Veteran Reward"); } - public override void Serialize(IGenericWriter writer) + private void Deserialize(IGenericReader reader, int version) { - base.Serialize(writer); - - writer.Write(3); // version - - writer.Write(m_IsDonationItem); - writer.Write(IsRewardItem); - - writer.Write(m_MountedID); - writer.Write(m_RegularID); - writer.Write(m_Rider); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - LootType = LootType.Blessed; - - var version = reader.ReadInt(); - - switch (version) + _isDonationItem = reader.ReadBool(); + _isRewardItem = reader.ReadBool(); + _mountedID = reader.ReadInt(); + _regularID = reader.ReadInt(); + _rider = reader.ReadEntity(); + if (_mountedID == 0x3EA2) { - case 3: - { - m_IsDonationItem = reader.ReadBool(); - goto case 2; - } - case 2: - { - IsRewardItem = reader.ReadBool(); - goto case 0; - } - case 1: - reader.ReadInt(); - goto case 0; - case 0: - { - m_MountedID = reader.ReadInt(); - m_RegularID = reader.ReadInt(); - m_Rider = reader.ReadEntity(); - - if (m_MountedID == 0x3EA2) - { - m_MountedID = 0x3EAA; - } - - break; - } + _mountedID = 0x3EAA; } + } + [AfterDeserialization] + private void AfterDeserialize() + { AddFollowers(); - - if (version < 3 && Weight == 0) - { - Weight = -1; - } } public override DeathMoveResult OnParentDeath(Mobile parent) @@ -293,9 +246,9 @@ namespace Server.Mobiles public void UnmountMe() { - var bp = m_Rider.Backpack; + var bp = _rider.Backpack; - ItemID = m_RegularID; + ItemID = _regularID; Layer = Layer.Invalid; Movable = true; @@ -310,13 +263,13 @@ namespace Server.Mobiles } else { - var loc = m_Rider.Location; - var map = m_Rider.Map; + var loc = _rider.Location; + var map = _rider.Map; if (map == null || map == Map.Internal) { - loc = m_Rider.LogoutLocation; - map = m_Rider.LogoutMap; + loc = _rider.LogoutLocation; + map = _rider.LogoutMap; } MoveToWorld(loc, map); @@ -325,7 +278,7 @@ namespace Server.Mobiles public void MountMe() { - ItemID = m_MountedID; + ItemID = _mountedID; Layer = Layer.Mount; Movable = false; @@ -335,9 +288,9 @@ namespace Server.Mobiles } ProcessDelta(); - m_Rider.ProcessDelta(); - m_Rider.EquipItem(this); - m_Rider.ProcessDelta(); + _rider.ProcessDelta(); + _rider.EquipItem(this); + _rider.ProcessDelta(); ProcessDelta(); } @@ -429,47 +382,19 @@ namespace Server.Mobiles } } - public class EtherealHorse : EtherealMount + + [SerializationGenerator(0, false)] + public partial class EtherealHorse : EtherealMount { [Constructible] public EtherealHorse() : base(0x20DD, 0x3EAA) { } - - public EtherealHorse(Serial serial) - : base(serial) - { - } - - public override int LabelNumber => 1041298; // Ethereal Horse Statuette - - 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(); - - if (Name == "an ethereal horse") - { - Name = null; - } - - if (ItemID == 0x2124) - { - ItemID = 0x20DD; - } - } } - public class EtherealLlama : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealLlama : EtherealMount { [Constructible] public EtherealLlama() @@ -477,34 +402,11 @@ namespace Server.Mobiles { } - public EtherealLlama(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1041300; // Ethereal Llama Statuette - - 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(); - - if (Name == "an ethereal llama") - { - Name = null; - } - } } - public class EtherealOstard : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealOstard : EtherealMount { [Constructible] public EtherealOstard() @@ -512,34 +414,11 @@ namespace Server.Mobiles { } - public EtherealOstard(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1041299; // Ethereal Ostard Statuette - - 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(); - - if (Name == "an ethereal ostard") - { - Name = null; - } - } } - public class EtherealRidgeback : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealRidgeback : EtherealMount { [Constructible] public EtherealRidgeback() @@ -547,34 +426,11 @@ namespace Server.Mobiles { } - public EtherealRidgeback(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1049747; // Ethereal Ridgeback Statuette - - 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(); - - if (Name == "an ethereal ridgeback") - { - Name = null; - } - } } - public class EtherealUnicorn : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealUnicorn : EtherealMount { [Constructible] public EtherealUnicorn() @@ -582,34 +438,11 @@ namespace Server.Mobiles { } - public EtherealUnicorn(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1049745; // Ethereal Unicorn Statuette - - 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(); - - if (Name == "an ethereal unicorn") - { - Name = null; - } - } } - public class EtherealBeetle : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealBeetle : EtherealMount { [Constructible] public EtherealBeetle() @@ -617,34 +450,11 @@ namespace Server.Mobiles { } - public EtherealBeetle(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1049748; // Ethereal Beetle Statuette - - 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(); - - if (Name == "an ethereal beetle") - { - Name = null; - } - } } - public class EtherealKirin : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealKirin : EtherealMount { [Constructible] public EtherealKirin() @@ -652,34 +462,11 @@ namespace Server.Mobiles { } - public EtherealKirin(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1049746; // Ethereal Ki-Rin Statuette - - 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(); - - if (Name == "an ethereal kirin") - { - Name = null; - } - } } - public class EtherealSwampDragon : EtherealMount + [SerializationGenerator(0, false)] + public partial class EtherealSwampDragon : EtherealMount { [Constructible] public EtherealSwampDragon() @@ -687,34 +474,11 @@ namespace Server.Mobiles { } - public EtherealSwampDragon(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1049749; // Ethereal Swamp Dragon Statuette - - 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(); - - if (Name == "an ethereal swamp dragon") - { - Name = null; - } - } } - public class RideablePolarBear : EtherealMount + [SerializationGenerator(0)] + public partial class RideablePolarBear : EtherealMount { [Constructible] public RideablePolarBear() @@ -722,30 +486,12 @@ namespace Server.Mobiles { } - public RideablePolarBear(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1076159; // Rideable Polar Bear public override int EtherealHue => 0; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.WriteEncodedInt(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadEncodedInt(); - } } - public class EtherealCuSidhe : EtherealMount + [SerializationGenerator(0)] + public partial class EtherealCuSidhe : EtherealMount { [Constructible] public EtherealCuSidhe() @@ -753,29 +499,11 @@ namespace Server.Mobiles { } - public EtherealCuSidhe(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1080386; // Ethereal Cu Sidhe Statuette - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.WriteEncodedInt(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadEncodedInt(); - } } - public class EtherealHiryu : EtherealMount + [SerializationGenerator(0)] + public partial class EtherealHiryu : EtherealMount { [Constructible] public EtherealHiryu() @@ -783,29 +511,11 @@ namespace Server.Mobiles { } - public EtherealHiryu(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1113813; // Ethereal Hiryu Statuette - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.WriteEncodedInt(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadEncodedInt(); - } } - public class EtherealReptalon : EtherealMount + [SerializationGenerator(0)] + public partial class EtherealReptalon : EtherealMount { [Constructible] public EtherealReptalon() @@ -813,29 +523,11 @@ namespace Server.Mobiles { } - public EtherealReptalon(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1113812; // Ethereal Reptalon Statuette - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.WriteEncodedInt(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadEncodedInt(); - } } - public class ChargerOfTheFallen : EtherealMount + [SerializationGenerator(0, false)] + public partial class ChargerOfTheFallen : EtherealMount { [Constructible] public ChargerOfTheFallen() @@ -843,32 +535,8 @@ namespace Server.Mobiles { } - public ChargerOfTheFallen(Serial serial) - : base(serial) - { - } - public override int LabelNumber => 1074816; // Charger of the Fallen Statuette public override int EtherealHue => 0; - - 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(); - - if (version <= 1 && Hue != 0) - { - Hue = 0; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/FireSteed.cs b/Projects/UOContent/Mobiles/Animals/Mounts/FireSteed.cs index 6419ebc2f..6933b4bbc 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/FireSteed.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/FireSteed.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class FireSteed : BaseMount + [SerializationGenerator(0, false)] + public partial class FireSteed : BaseMount { public override string DefaultName => "a fire steed"; @@ -44,10 +46,6 @@ namespace Server.Mobiles PackItem(new Ruby(Utility.RandomMinMax(16, 30))); } - public FireSteed(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fire steed corpse"; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Daemon | PackInstinct.Equine; @@ -58,37 +56,5 @@ namespace Server.Mobiles public override void GenerateLoot() { } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(1); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID <= 0) - { - BaseSoundID = 0xA8; - } - - if (version < 1) - { - for (var i = 0; i < Skills.Length; ++i) - { - Skills[i].Cap = Math.Max(100.0, Skills[i].Cap * 0.9); - - if (Skills[i].Base > Skills[i].Cap) - { - Skills[i].Base = Skills[i].Cap; - } - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/ForestOstard.cs b/Projects/UOContent/Mobiles/Animals/Mounts/ForestOstard.cs index c277c6744..42e671af4 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/ForestOstard.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/ForestOstard.cs @@ -1,6 +1,8 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class ForestOstard : BaseMount + public partial class ForestOstard : BaseMount { public override string DefaultName => "a forest ostard"; @@ -36,28 +38,10 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public ForestOstard(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ostard corpse"; public override int Meat => 3; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; public override PackInstinct PackInstinct => PackInstinct.Ostard; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/FrenziedOstard.cs b/Projects/UOContent/Mobiles/Animals/Mounts/FrenziedOstard.cs index e6dc45ab7..3f9c66bc9 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/FrenziedOstard.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/FrenziedOstard.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class FrenziedOstard : BaseMount + [SerializationGenerator(0, false)] + public partial class FrenziedOstard : BaseMount { public override string DefaultName => "a frenzied ostard"; @@ -39,28 +42,10 @@ namespace Server.Mobiles MinTameSkill = 77.1; } - public FrenziedOstard(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ostard corpse"; public override int Meat => 3; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish | FoodType.Eggs | FoodType.FruitsAndVegies; public override PackInstinct PackInstinct => PackInstinct.Ostard; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/HellSteed.cs b/Projects/UOContent/Mobiles/Animals/Mounts/HellSteed.cs index 169cf87b6..03ed6dcfa 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/HellSteed.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/HellSteed.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class HellSteed : BaseMount + [SerializationGenerator(0, false)] + public partial class HellSteed : BaseMount { public override string DefaultName => "a frenzied ostard"; @@ -10,10 +13,6 @@ namespace Server.Mobiles SetStats(this); } - public HellSteed(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hellsteed corpse"; public override Poison PoisonImmune => Poison.Lethal; @@ -44,19 +43,5 @@ namespace Server.Mobiles steed.Fame = 0; steed.Karma = 0; } - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Hiryu.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Hiryu.cs index 59194cb59..7c0449631 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Hiryu.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Hiryu.cs @@ -1,163 +1,111 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class Hiryu : BaseMount +namespace Server.Mobiles { - public override string DefaultName => "a hiryu"; - - [Constructible] - public Hiryu() : base(243, 0x3E94, AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class Hiryu : BaseMount { - Hue = GetHue(); + public override string DefaultName => "a hiryu"; - SetStr(1201, 1410); - SetDex(171, 270); - SetInt(301, 325); - - SetHits(901, 1100); - SetMana(60); - - SetDamage(20, 30); - - SetDamageType(ResistanceType.Physical, 100); - - SetResistance(ResistanceType.Physical, 55, 70); - SetResistance(ResistanceType.Fire, 70, 90); - SetResistance(ResistanceType.Cold, 15, 25); - SetResistance(ResistanceType.Poison, 40, 50); - SetResistance(ResistanceType.Energy, 40, 50); - - SetSkill(SkillName.Anatomy, 75.1, 80.0); - SetSkill(SkillName.MagicResist, 85.1, 100.0); - SetSkill(SkillName.Tactics, 100.1, 110.0); - SetSkill(SkillName.Wrestling, 100.1, 120.0); - - Fame = 18000; - Karma = -18000; - - Tamable = true; - ControlSlots = 4; - MinTameSkill = 98.7; - - if (Utility.RandomDouble() < .33) + [Constructible] + public Hiryu() : base(243, 0x3E94, AIType.AI_Melee) { - PackItem(Seed.RandomBonsaiSeed()); - } + Hue = GetHue(); - if (Core.ML && Utility.RandomDouble() < .33) - { - PackItem(Seed.RandomPeculiarSeed(3)); - } - } + SetStr(1201, 1410); + SetDex(171, 270); + SetInt(301, 325); - public Hiryu(Serial serial) : base(serial) - { - } + SetHits(901, 1100); + SetMana(60); - public override string CorpseName => "a hiryu corpse"; - public override double WeaponAbilityChance => 0.07; /* 1 in 15 chance of using per landed hit */ + SetDamage(20, 30); - public override bool StatLossAfterTame => true; + SetDamageType(ResistanceType.Physical, 100); - public override int TreasureMapLevel => 5; - public override int Meat => 16; - public override int Hides => 60; - public override FoodType FavoriteFood => FoodType.Meat; - public override bool CanAngerOnTame => true; + SetResistance(ResistanceType.Physical, 55, 70); + SetResistance(ResistanceType.Fire, 70, 90); + SetResistance(ResistanceType.Cold, 15, 25); + SetResistance(ResistanceType.Poison, 40, 50); + SetResistance(ResistanceType.Energy, 40, 50); - private static MonsterAbility[] _abilities = { MonsterAbilities.GraspingClaw }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; + SetSkill(SkillName.Anatomy, 75.1, 80.0); + SetSkill(SkillName.MagicResist, 85.1, 100.0); + SetSkill(SkillName.Tactics, 100.1, 110.0); + SetSkill(SkillName.Wrestling, 100.1, 120.0); - public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; + Fame = 18000; + Karma = -18000; - private static int GetHue() - { - return Utility.Random(1075) switch - { - 1074 => 0x85C, // Strong Green 0.09% - 1073 => 0x490, // Strong Purple 0.09% - >= 1071 => 0x030, // Green 0.19% - >= 1069 => 0x037, // Strong Yellow 0.19% - >= 1066 => 0x295, // Light Green 0.28% - >= 1063 => 0x123, // Cyan 0.28% - >= 1058 => 0x482, // Ice Blue 0.47% - >= 1050 => 0x487, // Blue/Yellow 0.74% - >= 1040 => CraftResources.GetHue(CraftResource.Gold), // Gold 0.93% - >= 1030 => CraftResources.GetHue(CraftResource.Agapite), // Agapite 0.93% - >= 1020 => 0x495, // Strong Cyan 0.93% - >= 1010 => 0x48D, // Light Blue 0.93% - >= 1000 => 0x47F, // Ice Green 0.93% - _ => 0 // No Hue 93.02% - } | 0x8000; - } + Tamable = true; + ControlSlots = 4; + MinTameSkill = 98.7; - public override int GetAngerSound() => 0x4FE; - - public override int GetIdleSound() => 0x4FD; - - public override int GetAttackSound() => 0x4FC; - - public override int GetHurtSound() => 0x4FF; - - public override int GetDeathSound() => 0x4FB; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich, 3); - AddLoot(LootPack.Gems, 4); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(2); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - if (version <= 1) - { - Timer.StartTimer(() => Fix(version)); - } - - if (version < 2) - { - for (var i = 0; i < Skills.Length; ++i) + if (Utility.RandomDouble() < .33) { - Skills[i].Cap = Math.Max(100.0, Skills[i].Cap * 0.9); + PackItem(Seed.RandomBonsaiSeed()); + } - if (Skills[i].Base > Skills[i].Cap) - { - Skills[i].Base = Skills[i].Cap; - } + if (Core.ML && Utility.RandomDouble() < .33) + { + PackItem(Seed.RandomPeculiarSeed(3)); } } - } - private void Fix(int version) - { - switch (version) + public override string CorpseName => "a hiryu corpse"; + public override double WeaponAbilityChance => 0.07; /* 1 in 15 chance of using per landed hit */ + + public override bool StatLossAfterTame => true; + + public override int TreasureMapLevel => 5; + public override int Meat => 16; + public override int Hides => 60; + public override FoodType FavoriteFood => FoodType.Meat; + public override bool CanAngerOnTame => true; + + private static MonsterAbility[] _abilities = { MonsterAbilities.GraspingClaw }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; + + private static int GetHue() { - case 1: - { - if (InternalItem != null) - { - InternalItem.Hue = Hue; - } + return Utility.Random(1075) switch + { + 1074 => 0x85C, // Strong Green 0.09% + 1073 => 0x490, // Strong Purple 0.09% + >= 1071 => 0x030, // Green 0.19% + >= 1069 => 0x037, // Strong Yellow 0.19% + >= 1066 => 0x295, // Light Green 0.28% + >= 1063 => 0x123, // Cyan 0.28% + >= 1058 => 0x482, // Ice Blue 0.47% + >= 1050 => 0x487, // Blue/Yellow 0.74% + >= 1040 => CraftResources.GetHue(CraftResource.Gold), // Gold 0.93% + >= 1030 => CraftResources.GetHue(CraftResource.Agapite), // Agapite 0.93% + >= 1020 => 0x495, // Strong Cyan 0.93% + >= 1010 => 0x48D, // Light Blue 0.93% + >= 1000 => 0x47F, // Ice Green 0.93% + _ => 0 // No Hue 93.02% + } | 0x8000; + } - goto case 0; - } - case 0: - { - Hue = GetHue(); - break; - } + public override int GetAngerSound() => 0x4FE; + + public override int GetIdleSound() => 0x4FD; + + public override int GetAttackSound() => 0x4FC; + + public override int GetHurtSound() => 0x4FF; + + public override int GetDeathSound() => 0x4FB; + + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich, 3); + AddLoot(LootPack.Gems, 4); } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Horse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Horse.cs index 37407c63d..3bde139eb 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Horse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Horse.cs @@ -1,3 +1,5 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias( @@ -6,7 +8,8 @@ namespace Server.Mobiles "Server.Mobiles.GrayHorse", "Server.Mobiles.TanHorse" )] - public class Horse : BaseMount + [SerializationGenerator(0, false)] + public partial class Horse : BaseMount { private static readonly int[] m_IDs = { @@ -52,28 +55,10 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public Horse(Serial serial) : base(serial) - { - } - public override string CorpseName => "a horse corpse"; public override int Meat => 3; public override int Hides => 10; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Kirin.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Kirin.cs index 7010f6d7c..d7fda6e6d 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Kirin.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Kirin.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class Kirin : BaseMount + [SerializationGenerator(0, false)] + public partial class Kirin : BaseMount { public override string DefaultName => "a ki-rin"; @@ -47,10 +49,6 @@ namespace Server.Mobiles MinTameSkill = 95.1; } - public Kirin(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ki-rin corpse"; public override bool AllowFemaleRider => false; public override bool AllowFemaleTamer => false; @@ -113,24 +111,5 @@ namespace Server.Mobiles c.DropItem(new KirinBrains()); } } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(1); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (version == 0) - { - AI = AIType.AI_Mage; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/LesserHiryu.cs b/Projects/UOContent/Mobiles/Animals/Mounts/LesserHiryu.cs index 976e96f72..05147b330 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/LesserHiryu.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/LesserHiryu.cs @@ -1,178 +1,126 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class LesserHiryu : BaseMount +namespace Server.Mobiles { - public override string DefaultName => "a lesser hiryu"; - - [Constructible] - public LesserHiryu() : base(243, 0x3E94, AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class LesserHiryu : BaseMount { - Hue = GetHue(); + public override string DefaultName => "a lesser hiryu"; - SetStr(301, 410); - SetDex(171, 270); - SetInt(301, 325); - - SetHits(401, 600); - SetMana(60); - - SetDamage(18, 23); - - SetDamageType(ResistanceType.Physical, 100); - - SetResistance(ResistanceType.Physical, 45, 70); - SetResistance(ResistanceType.Fire, 60, 80); - SetResistance(ResistanceType.Cold, 5, 15); - SetResistance(ResistanceType.Poison, 30, 40); - SetResistance(ResistanceType.Energy, 30, 40); - - SetSkill(SkillName.Anatomy, 75.1, 80.0); - SetSkill(SkillName.MagicResist, 85.1, 100.0); - SetSkill(SkillName.Tactics, 100.1, 110.0); - SetSkill(SkillName.Wrestling, 100.1, 120.0); - - Fame = 10000; - Karma = -10000; - - Tamable = true; - ControlSlots = 3; - MinTameSkill = 98.7; - - if (Utility.RandomDouble() < .33) + [Constructible] + public LesserHiryu() : base(243, 0x3E94, AIType.AI_Melee) { - PackItem(Seed.RandomBonsaiSeed()); - } - } + Hue = GetHue(); - public LesserHiryu(Serial serial) : base(serial) - { - } + SetStr(301, 410); + SetDex(171, 270); + SetInt(301, 325); - public override string CorpseName => "a hiryu corpse"; - public override double WeaponAbilityChance => 0.07; /* 1 in 15 chance of using; 1 in 5 chance of success */ + SetHits(401, 600); + SetMana(60); - public override bool StatLossAfterTame => true; + SetDamage(18, 23); - public override int TreasureMapLevel => 3; - public override int Meat => 16; - public override int Hides => 60; - public override FoodType FavoriteFood => FoodType.Meat; - public override bool CanAngerOnTame => true; + SetDamageType(ResistanceType.Physical, 100); - public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; + SetResistance(ResistanceType.Physical, 45, 70); + SetResistance(ResistanceType.Fire, 60, 80); + SetResistance(ResistanceType.Cold, 5, 15); + SetResistance(ResistanceType.Poison, 30, 40); + SetResistance(ResistanceType.Energy, 30, 40); - private static MonsterAbility[] _abilities = { MonsterAbilities.GraspingClaw }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; + SetSkill(SkillName.Anatomy, 75.1, 80.0); + SetSkill(SkillName.MagicResist, 85.1, 100.0); + SetSkill(SkillName.Tactics, 100.1, 110.0); + SetSkill(SkillName.Wrestling, 100.1, 120.0); - private static int GetHue() - { - return Utility.Random(525) switch - { - 524 => 0x258, // Midnight Blue 0.19% - 523 => CraftResources.GetHue(CraftResource.Valorite), // Valorite 0.19% - >= 520 => 0x7D4, // Dark Green 0.57% - >= 510 => 0x163, // Green 1.90% - >= 500 => 0x295, // Green 1.90% - _ => 0 // No Hue 95.24% - } | 0x8000; - } + Fame = 10000; + Karma = -10000; - public override bool OverrideBondingReqs() => ControlMaster.Skills.Bushido.Base >= 90.0; + Tamable = true; + ControlSlots = 3; + MinTameSkill = 98.7; - public override int GetAngerSound() => 0x4FE; - - public override int GetIdleSound() => 0x4FD; - - public override int GetAttackSound() => 0x4FC; - - public override int GetHurtSound() => 0x4FF; - - public override int GetDeathSound() => 0x4FB; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich, 2); - AddLoot(LootPack.Gems, 4); - } - - public override double GetControlChance(Mobile m, bool useBaseSkill = false) - { - var tamingChance = base.GetControlChance(m, useBaseSkill); - - if (tamingChance < 0.05) - { - return tamingChance; - } - - var skill = useBaseSkill ? m.Skills.Bushido.Base : m.Skills.Bushido.Value; - - if (skill < 90.0) - { - return tamingChance; - } - - var bushidoChance = (skill - 30.0) / 100; - - if (m.Skills.Bushido.Base >= 120) - { - bushidoChance += 0.05; - } - - return bushidoChance > tamingChance ? bushidoChance : tamingChance; - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(2); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - if (version <= 1) - { - Timer.StartTimer(() => Fix(version)); - } - - if (version < 2) - { - for (var i = 0; i < Skills.Length; ++i) + if (Utility.RandomDouble() < .33) { - Skills[i].Cap = Math.Max(100.0, Skills[i].Cap * 0.9); - - if (Skills[i].Base > Skills[i].Cap) - { - Skills[i].Base = Skills[i].Cap; - } + PackItem(Seed.RandomBonsaiSeed()); } } - } - private void Fix(int version) - { - switch (version) + public override string CorpseName => "a hiryu corpse"; + public override double WeaponAbilityChance => 0.07; /* 1 in 15 chance of using; 1 in 5 chance of success */ + + public override bool StatLossAfterTame => true; + + public override int TreasureMapLevel => 3; + public override int Meat => 16; + public override int Hides => 60; + public override FoodType FavoriteFood => FoodType.Meat; + public override bool CanAngerOnTame => true; + + public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; + + private static MonsterAbility[] _abilities = { MonsterAbilities.GraspingClaw }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + private static int GetHue() { - case 1: - { - if (InternalItem != null) - { - InternalItem.Hue = Hue; - } + return Utility.Random(525) switch + { + 524 => 0x258, // Midnight Blue 0.19% + 523 => CraftResources.GetHue(CraftResource.Valorite), // Valorite 0.19% + >= 520 => 0x7D4, // Dark Green 0.57% + >= 510 => 0x163, // Green 1.90% + >= 500 => 0x295, // Green 1.90% + _ => 0 // No Hue 95.24% + } | 0x8000; + } - goto case 0; - } - case 0: - { - Hue = GetHue(); - break; - } + public override bool OverrideBondingReqs() => ControlMaster.Skills.Bushido.Base >= 90.0; + + public override int GetAngerSound() => 0x4FE; + + public override int GetIdleSound() => 0x4FD; + + public override int GetAttackSound() => 0x4FC; + + public override int GetHurtSound() => 0x4FF; + + public override int GetDeathSound() => 0x4FB; + + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich, 2); + AddLoot(LootPack.Gems, 4); + } + + public override double GetControlChance(Mobile m, bool useBaseSkill = false) + { + var tamingChance = base.GetControlChance(m, useBaseSkill); + + if (tamingChance < 0.05) + { + return tamingChance; + } + + var skill = useBaseSkill ? m.Skills.Bushido.Base : m.Skills.Bushido.Value; + + if (skill < 90.0) + { + return tamingChance; + } + + var bushidoChance = (skill - 30.0) / 100; + + if (m.Skills.Bushido.Base >= 120) + { + bushidoChance += 0.05; + } + + return bushidoChance > tamingChance ? bushidoChance : tamingChance; } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Nightmare.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Nightmare.cs index f001e7c25..9fb71709c 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Nightmare.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Nightmare.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Nightmare : BaseMount + [SerializationGenerator(0, false)] + public partial class Nightmare : BaseMount { public override string DefaultName => "a nightmare"; @@ -87,10 +89,6 @@ namespace Server.Mobiles PackItem(new SulfurousAsh(Utility.RandomMinMax(3, 5))); } - public Nightmare(Serial serial) : base(serial) - { - } - public override string CorpseName => "a nightmare corpse"; public override int Meat => 5; public override int Hides => 10; @@ -118,28 +116,5 @@ namespace Server.Mobiles return base.GetAngerSound(); } - - 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(); - - if (Core.AOS && BaseSoundID == 0x16A) - { - BaseSoundID = 0xA8; - } - else if (!Core.AOS && BaseSoundID == 0xA8) - { - BaseSoundID = 0x16A; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/RidableLlama.cs b/Projects/UOContent/Mobiles/Animals/Mounts/RidableLlama.cs index f16230394..aa33972fd 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/RidableLlama.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/RidableLlama.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class RidableLlama : BaseMount + [SerializationGenerator(0, false)] + public partial class RidableLlama : BaseMount { public override string DefaultName => "a ridable llama"; @@ -39,28 +42,10 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public RidableLlama(Serial serial) : base(serial) - { - } - public override string CorpseName => "a llama corpse"; public override int Meat => 1; public override int Hides => 12; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Ridgeback.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Ridgeback.cs index 15ca4d8c7..887005fdb 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Ridgeback.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Ridgeback.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Ridgeback : BaseMount + [SerializationGenerator(0, false)] + public partial class Ridgeback : BaseMount { public override string DefaultName => "a ridgeback"; @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 83.1; } - public Ridgeback(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ridgeback corpse"; public override int Meat => 1; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override bool OverrideBondingReqs() => true; public override double GetControlChance(Mobile m, bool useBaseSkill = false) => 1.0; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/SavageRidgeback.cs b/Projects/UOContent/Mobiles/Animals/Mounts/SavageRidgeback.cs index 8132fcb1b..9fae28657 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/SavageRidgeback.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/SavageRidgeback.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SavageRidgeback : BaseMount + [SerializationGenerator(0, false)] + public partial class SavageRidgeback : BaseMount { public override string DefaultName => "a savage ridgeback"; @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 83.1; } - public SavageRidgeback(Serial serial) : base(serial) - { - } - public override string CorpseName => "a savage ridgeback corpse"; public override int Meat => 1; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override bool OverrideBondingReqs() => true; public override double GetControlChance(Mobile m, bool useBaseSkill = false) => 1.0; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/ScaledSwampDragon.cs b/Projects/UOContent/Mobiles/Animals/Mounts/ScaledSwampDragon.cs index 9bf19a1cb..3a2edebbd 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/ScaledSwampDragon.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/ScaledSwampDragon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class ScaledSwampDragon : BaseMount + [SerializationGenerator(0, false)] + public partial class ScaledSwampDragon : BaseMount { public override string DefaultName => "a swamp dragon"; @@ -37,10 +40,6 @@ namespace Server.Mobiles MinTameSkill = 93.9; } - public ScaledSwampDragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a swamp dragon corpse"; public override bool AutoDispel => !Controlled; @@ -49,19 +48,5 @@ namespace Server.Mobiles public override bool OverrideBondingReqs() => true; public override double GetControlChance(Mobile m, bool useBaseSkill = false) => 1.0; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/SeaHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/SeaHorse.cs index 13ee38114..17d1cc147 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/SeaHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/SeaHorse.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SeaHorse : BaseMount + [SerializationGenerator(0, false)] + public partial class SeaHorse : BaseMount { public override string DefaultName => "a sea horse"; @@ -13,24 +16,6 @@ namespace Server.Mobiles Skills.Tactics.Base = 30.0 + Utility.RandomDouble() * 15.0; } - public SeaHorse(Serial serial) : base(serial) - { - } - public override string CorpseName => "a sea horse corpse"; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/SilverSteed.cs b/Projects/UOContent/Mobiles/Animals/Mounts/SilverSteed.cs index 1e302e011..5d0e70f05 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/SilverSteed.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/SilverSteed.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SilverSteed : BaseMount + [SerializationGenerator(0, false)] + public partial class SilverSteed : BaseMount { public override string DefaultName => "a silver steed"; @@ -17,24 +20,6 @@ namespace Server.Mobiles MinTameSkill = 103.1; } - public SilverSteed(Serial serial) : base(serial) - { - } - public override string CorpseName => "a silver steed corpse"; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/SkeletalMount.cs b/Projects/UOContent/Mobiles/Animals/Mounts/SkeletalMount.cs index 1592dd935..3ef433a5f 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/SkeletalMount.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/SkeletalMount.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SkeletalMount : BaseMount + [SerializationGenerator(0, false)] + public partial class SkeletalMount : BaseMount { [Constructible] public SkeletalMount() : base(793, 0x3EBB, AIType.AI_Animal, FightMode.Aggressor) @@ -29,39 +32,10 @@ namespace Server.Mobiles Karma = 0; } - public SkeletalMount(Serial serial) : base(serial) - { - } - public override string CorpseName => "an undead horse corpse"; public override string DefaultName => "a skeletal steed"; public override Poison PoisonImmune => Poison.Lethal; public override bool BleedImmune => true; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(1); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - switch (version) - { - case 0: - { - Tamable = false; - MinTameSkill = 0.0; - ControlSlots = 0; - break; - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/SwampDragon.cs b/Projects/UOContent/Mobiles/Animals/Mounts/SwampDragon.cs index a4da036ef..ff3631345 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/SwampDragon.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/SwampDragon.cs @@ -1,17 +1,13 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class SwampDragon : BaseMount + [SerializationGenerator(2, false)] + public partial class SwampDragon : BaseMount { public override string DefaultName => "a swamp dragon"; - private string _bardingCraftedBy; - private bool m_BardingExceptional; - private int m_BardingHP; - private CraftResource m_BardingResource; - private bool m_HasBarding; - [Constructible] public SwampDragon() : base(0x31A, 0x3EBD, AIType.AI_Melee, FightMode.Aggressor) { @@ -49,56 +45,35 @@ namespace Server.Mobiles MinTameSkill = 93.9; } - public SwampDragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a swamp dragon corpse"; - [CommandProperty(AccessLevel.GameMaster)] - public string BardingCraftedBy - { - get => _bardingCraftedBy; - set - { - _bardingCraftedBy = value; - InvalidateProperties(); - } - } - - [CommandProperty(AccessLevel.GameMaster)] - public bool BardingExceptional - { - get => m_BardingExceptional; - set - { - m_BardingExceptional = value; - InvalidateProperties(); - } - } - - [CommandProperty(AccessLevel.GameMaster)] - public int BardingHP - { - get => m_BardingHP; - set - { - m_BardingHP = value; - InvalidateProperties(); - } - } + [InvalidateProperties] + [SerializableField(0)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private bool _bardingExceptional; + + [InvalidateProperties] + [SerializableField(1)] + [SerializedCommandProperty(AccessLevel.GameMaster)] + private string _bardingCraftedBy; + + [SerializedCommandProperty(AccessLevel.GameMaster)] + [InvalidateProperties] + [SerializableField(3)] + private int _bardingHP; [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(2)] public bool HasBarding { - get => m_HasBarding; + get => _hasBarding; set { - m_HasBarding = value; + _hasBarding = value; - if (m_HasBarding) + if (_hasBarding) { - Hue = CraftResources.GetHue(m_BardingResource); + Hue = CraftResources.GetHue(_bardingResource); Body = 0x31F; ItemID = 0x3EBE; } @@ -108,30 +83,32 @@ namespace Server.Mobiles Body = 0x31A; ItemID = 0x3EBD; } - InvalidateProperties(); + this.MarkDirty(); } } [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(4)] public CraftResource BardingResource { - get => m_BardingResource; + get => _bardingResource; set { - m_BardingResource = value; + _bardingResource = value; - if (m_HasBarding) + if (_hasBarding) { Hue = CraftResources.GetHue(value); } InvalidateProperties(); + this.MarkDirty(); } } [CommandProperty(AccessLevel.GameMaster)] - public int BardingMaxHP => m_BardingExceptional ? 2500 : 1000; + public int BardingMaxHP => _bardingExceptional ? 2500 : 1000; public override bool ReacquireOnMovement => true; public override bool AutoDispel => !Controlled; @@ -158,64 +135,19 @@ namespace Server.Mobiles { base.GetProperties(list); - if (m_HasBarding && m_BardingExceptional && _bardingCraftedBy != null) + if (_hasBarding && _bardingExceptional && _bardingCraftedBy != null) { list.Add(1060853, _bardingCraftedBy); // armor exceptionally crafted by ~1_val~ } } - public override void Serialize(IGenericWriter writer) + private void Deserialize(IGenericReader reader, int version) { - base.Serialize(writer); - - writer.Write(2); // version - - writer.Write(m_BardingExceptional); - writer.Write(_bardingCraftedBy); - writer.Write(m_HasBarding); - writer.Write(m_BardingHP); - writer.Write((int)m_BardingResource); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - switch (version) - { - case 2: - { - m_BardingExceptional = reader.ReadBool(); - _bardingCraftedBy = reader.ReadString(); - m_HasBarding = reader.ReadBool(); - m_BardingHP = reader.ReadInt(); - m_BardingResource = (CraftResource)reader.ReadInt(); - break; - } - case 1: - { - m_BardingExceptional = reader.ReadBool(); - var crafter = reader.ReadEntity(); - // Name might not be set during this deserialization - Timer.StartTimer(() => _bardingCraftedBy = crafter?.RawName); - m_HasBarding = reader.ReadBool(); - m_BardingHP = reader.ReadInt(); - m_BardingResource = (CraftResource)reader.ReadInt(); - break; - } - } - - if (Hue == 0 && !m_HasBarding) - { - Hue = 0x851; - } - - if (BaseSoundID == -1) - { - BaseSoundID = 0x16A; - } + _bardingExceptional = reader.ReadBool(); + _bardingCraftedBy = reader.ReadString(); + _hasBarding = reader.ReadBool(); + _bardingHP = reader.ReadInt(); + _bardingResource = (CraftResource)reader.ReadInt(); } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/Unicorn.cs b/Projects/UOContent/Mobiles/Animals/Mounts/Unicorn.cs index 9dd36b7b8..bc0155841 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/Unicorn.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/Unicorn.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class Unicorn : BaseMount + [SerializationGenerator(0, false)] + public partial class Unicorn : BaseMount { public override string DefaultName => "a unicorn"; @@ -45,10 +47,6 @@ namespace Server.Mobiles MinTameSkill = 95.1; } - public Unicorn(Serial serial) : base(serial) - { - } - public override string CorpseName => "a unicorn corpse"; public override bool AllowMaleRider => false; public override bool AllowMaleTamer => false; @@ -127,19 +125,5 @@ namespace Server.Mobiles c.DropItem(new UnicornRibs()); } } - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/BaseWarHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/BaseWarHorse.cs index f189f2460..ad75473b9 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/BaseWarHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/BaseWarHorse.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public abstract class BaseWarHorse : BaseMount + [SerializationGenerator(0,false)] + public abstract partial class BaseWarHorse : BaseMount { public override string DefaultName => "a war horse"; @@ -49,26 +52,8 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public BaseWarHorse(Serial serial) : base(serial) - { - } - public override string CorpseName => "a war horse corpse"; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/CoMWarHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/CoMWarHorse.cs index c8d6c98ff..d600becf3 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/CoMWarHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/CoMWarHorse.cs @@ -1,28 +1,13 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CoMWarHorse : BaseWarHorse + [SerializationGenerator(0, false)] + public partial class CoMWarHorse : BaseWarHorse { [Constructible] public CoMWarHorse() : base(0x77, 0x3EB1) { } - - public CoMWarHorse(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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/MinaxWarHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/MinaxWarHorse.cs index f05d4cf06..5d8b11163 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/MinaxWarHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/MinaxWarHorse.cs @@ -1,28 +1,13 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MinaxWarHorse : BaseWarHorse + [SerializationGenerator(0, false)] + public partial class MinaxWarHorse : BaseWarHorse { [Constructible] public MinaxWarHorse() : base(0x78, 0x3EAF) { } - - public MinaxWarHorse(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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/SLWarHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/SLWarHorse.cs index 14418a816..7264e2747 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/SLWarHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/SLWarHorse.cs @@ -1,28 +1,13 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SLWarHorse : BaseWarHorse + [SerializationGenerator(0, false)] + public partial class SLWarHorse : BaseWarHorse { [Constructible] public SLWarHorse() : base(0x79, 0x3EB0) { } - - public SLWarHorse(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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/TBWarHorse.cs b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/TBWarHorse.cs index d3fd30dbe..3d6232257 100644 --- a/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/TBWarHorse.cs +++ b/Projects/UOContent/Mobiles/Animals/Mounts/War Horses/TBWarHorse.cs @@ -1,28 +1,13 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class TBWarHorse : BaseWarHorse + [SerializationGenerator(0, false)] + public partial class TBWarHorse : BaseWarHorse { [Constructible] public TBWarHorse() : base(0x76, 0x3EB2) { } - - public TBWarHorse(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(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/Alligator.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/Alligator.cs index 35ae29e9a..5a4b2d4fd 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/Alligator.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/Alligator.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Alligator : BaseCreature + [SerializationGenerator(0, false)] + public partial class Alligator : BaseCreature { [Constructible] public Alligator() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 47.1; } - public Alligator(Serial serial) : base(serial) - { - } - public override string CorpseName => "an alligator corpse"; public override string DefaultName => "an alligator"; @@ -49,24 +48,5 @@ namespace Server.Mobiles public override int Hides => 12; public override HideType HideType => HideType.Spined; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID == 0x5A) - { - BaseSoundID = 660; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/GiantSerpent.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/GiantSerpent.cs index c201ae850..a528cb185 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/GiantSerpent.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/GiantSerpent.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Serpant")] - public class GiantSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class GiantSerpent : BaseCreature { [Constructible] public GiantSerpent() : base(AIType.AI_Melee) @@ -44,10 +46,6 @@ namespace Server.Mobiles // TODO: Body parts } - public GiantSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant serpent corpse"; public override string DefaultName => "a giant snake"; @@ -64,24 +62,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Average); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID == -1) - { - BaseSoundID = 219; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/IceSerpent.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/IceSerpent.cs index 030656723..b59982aac 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/IceSerpent.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/IceSerpent.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Iceserpant")] - public class IceSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class IceSerpent : BaseCreature { [Constructible] public IceSerpent() : base(AIType.AI_Melee) @@ -59,10 +61,6 @@ namespace Server.Mobiles } } - public IceSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ice serpent corpse"; public override string DefaultName => "a giant ice serpent"; @@ -76,24 +74,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Meager); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID == -1) - { - BaseSoundID = 219; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/IceSnake.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/IceSnake.cs index b4348cdc8..51a019be5 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/IceSnake.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/IceSnake.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Icesnake")] - public class IceSnake : BaseCreature + [SerializationGenerator(0, false)] + public partial class IceSnake : BaseCreature { [Constructible] public IceSnake() : base(AIType.AI_Melee) @@ -37,10 +40,6 @@ namespace Server.Mobiles VirtualArmor = 30; } - public IceSnake(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ice snake corpse"; public override string DefaultName => "an ice snake"; @@ -52,19 +51,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Meager); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaLizard.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaLizard.cs index 06e6b1990..ef8c46784 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaLizard.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaLizard.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Lavalizard")] - public class LavaLizard : BaseCreature + [SerializationGenerator(0, false)] + public partial class LavaLizard : BaseCreature { [Constructible] public LavaLizard() : base(AIType.AI_Melee) @@ -44,10 +46,6 @@ namespace Server.Mobiles PackItem(new SulfurousAsh(Utility.Random(4, 10))); } - public LavaLizard(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lava lizard corpse"; public override string DefaultName => "a lava lizard"; public override int Hides => 12; @@ -60,19 +58,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Meager); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSerpent.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSerpent.cs index bcf22e135..1caba54ed 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSerpent.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSerpent.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Lavaserpant")] - public class LavaSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class LavaSerpent : BaseCreature { [Constructible] public LavaSerpent() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles // TODO: body parts, armour } - public LavaSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lava serpent corpse"; public override string DefaultName => "a lava serpent"; @@ -61,24 +59,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Average); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID == -1) - { - BaseSoundID = 219; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSnake.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSnake.cs index c99c80679..d762293a6 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSnake.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/LavaSnake.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Lavasnake")] - public class LavaSnake : BaseCreature + [SerializationGenerator(0, false)] + public partial class LavaSnake : BaseCreature { [Constructible] public LavaSnake() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(new SulfurousAsh()); } - public LavaSnake(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lava snake corpse"; public override string DefaultName => "a lava snake"; @@ -57,19 +55,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/SilverSerpent.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/SilverSerpent.cs index 9039c6281..8b5ecea92 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/SilverSerpent.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/SilverSerpent.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using Server.Ethics; using Server.Factions; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Silverserpant")] - public class SilverSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class SilverSerpent : BaseCreature { [Constructible] public SilverSerpent() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 40; } - public SilverSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "a silver serpent corpse"; public override Faction FactionAllegiance => TrueBritannians.Instance; public override Ethic EthicAllegiance => Ethic.Hero; @@ -61,24 +59,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); AddLoot(LootPack.Gems, 2); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (BaseSoundID == -1) - { - BaseSoundID = 219; - } - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Reptiles/Snake.cs b/Projects/UOContent/Mobiles/Animals/Reptiles/Snake.cs index f89d0af66..bdf5d46fb 100644 --- a/Projects/UOContent/Mobiles/Animals/Reptiles/Snake.cs +++ b/Projects/UOContent/Mobiles/Animals/Reptiles/Snake.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Snake : BaseCreature + [SerializationGenerator(0, false)] + public partial class Snake : BaseCreature { [Constructible] public Snake() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 59.1; } - public Snake(Serial serial) : base(serial) - { - } - public override string CorpseName => "a snake corpse"; public override string DefaultName => "a snake"; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override int Meat => 1; public override FoodType FavoriteFood => FoodType.Eggs; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Rodents/GiantRat.cs b/Projects/UOContent/Mobiles/Animals/Rodents/GiantRat.cs index 6704129c6..f1dcd1612 100644 --- a/Projects/UOContent/Mobiles/Animals/Rodents/GiantRat.cs +++ b/Projects/UOContent/Mobiles/Animals/Rodents/GiantRat.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Giantrat")] - public class GiantRat : BaseCreature + [SerializationGenerator(0, false)] + public partial class GiantRat : BaseCreature { [Constructible] public GiantRat() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 29.1; } - public GiantRat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant rat corpse"; public override string DefaultName => "a giant rat"; @@ -53,19 +52,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Rodents/JackRabbit.cs b/Projects/UOContent/Mobiles/Animals/Rodents/JackRabbit.cs index e40cb6d41..0233d0938 100644 --- a/Projects/UOContent/Mobiles/Animals/Rodents/JackRabbit.cs +++ b/Projects/UOContent/Mobiles/Animals/Rodents/JackRabbit.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Jackrabbit")] - public class JackRabbit : BaseCreature + [SerializationGenerator(0, false)] + public partial class JackRabbit : BaseCreature { [Constructible] public JackRabbit() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -36,10 +39,6 @@ namespace Server.Mobiles MinTameSkill = -18.9; } - public JackRabbit(Serial serial) : base(serial) - { - } - public override string CorpseName => "a jack rabbit corpse"; public override string DefaultName => "a jack rabbit"; @@ -52,19 +51,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0xCA; public override int GetDeathSound() => 0xCB; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Rodents/Rabbit.cs b/Projects/UOContent/Mobiles/Animals/Rodents/Rabbit.cs index 173753f13..cedafdfa0 100644 --- a/Projects/UOContent/Mobiles/Animals/Rodents/Rabbit.cs +++ b/Projects/UOContent/Mobiles/Animals/Rodents/Rabbit.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Rabbit : BaseCreature + [SerializationGenerator(0, false)] + public partial class Rabbit : BaseCreature { [Constructible] public Rabbit() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -39,10 +42,6 @@ namespace Server.Mobiles MinTameSkill = -18.9; } - public Rabbit(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hare corpse"; public override string DefaultName => "a rabbit"; @@ -55,19 +54,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0xCA; public override int GetDeathSound() => 0xCB; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Rodents/SewerRat.cs b/Projects/UOContent/Mobiles/Animals/Rodents/SewerRat.cs index 6ccf7ed15..285b0d58f 100644 --- a/Projects/UOContent/Mobiles/Animals/Rodents/SewerRat.cs +++ b/Projects/UOContent/Mobiles/Animals/Rodents/SewerRat.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Sewerrat")] - public class SewerRat : BaseCreature + [SerializationGenerator(0, false)] + public partial class SewerRat : BaseCreature { [Constructible] public SewerRat() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = -0.9; } - public SewerRat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a rat corpse"; public override string DefaultName => "a sewer rat"; @@ -52,19 +51,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Slimes/Jwilson.cs b/Projects/UOContent/Mobiles/Animals/Slimes/Jwilson.cs index 5c6326e1b..bde5b9857 100644 --- a/Projects/UOContent/Mobiles/Animals/Slimes/Jwilson.cs +++ b/Projects/UOContent/Mobiles/Animals/Slimes/Jwilson.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Jwilson : BaseCreature + [SerializationGenerator(0, false)] + public partial class Jwilson : BaseCreature { [Constructible] public Jwilson() : base(AIType.AI_Melee) @@ -20,10 +23,6 @@ namespace Server.Mobiles Karma = Utility.Random(0, -624); } - public Jwilson(Serial serial) : base(serial) - { - } - public override string CorpseName => "a jwilson corpse"; public override string DefaultName => "a jwilson"; @@ -36,19 +35,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x1CB; public override int GetDeathSound() => 0x1CC; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Town Critters/(UO 3D Only) Parrot.cs b/Projects/UOContent/Mobiles/Animals/Town Critters/(UO 3D Only) Parrot.cs index c802c255f..618790d11 100644 --- a/Projects/UOContent/Mobiles/Animals/Town Critters/(UO 3D Only) Parrot.cs +++ b/Projects/UOContent/Mobiles/Animals/Town Critters/(UO 3D Only) Parrot.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Parrot : BaseCreature + [SerializationGenerator(0, false)] + public partial class Parrot : BaseCreature { [Constructible] public Parrot() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -22,10 +25,6 @@ namespace Server.Mobiles MinTameSkill = 0.0; } - public Parrot(Serial serial) : base(serial) - { - } - public override string CorpseName => "a parrot corpse"; public override string DefaultName => "a parrot"; @@ -38,19 +37,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x1E; public override int GetDeathSound() => 0x1F; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Town Critters/Bird.cs b/Projects/UOContent/Mobiles/Animals/Town Critters/Bird.cs index 990c6a6bf..e2dd79297 100644 --- a/Projects/UOContent/Mobiles/Animals/Town Critters/Bird.cs +++ b/Projects/UOContent/Mobiles/Animals/Town Critters/Bird.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Bird : BaseCreature + [SerializationGenerator(0, false)] + public partial class Bird : BaseCreature { [Constructible] public Bird() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -48,38 +51,16 @@ namespace Server.Mobiles MinTameSkill = -6.9; } - public Bird(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bird corpse"; public override MeatType MeatType => MeatType.Bird; public override int Meat => 1; public override int Feathers => 25; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (Hue == 0) - { - Hue = Utility.RandomBirdHue(); - } - } } - public class TropicalBird : BaseCreature + [SerializationGenerator(0, false)] + public partial class TropicalBird : BaseCreature { [Constructible] public TropicalBird() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -111,10 +92,6 @@ namespace Server.Mobiles MinTameSkill = -6.9; } - public TropicalBird(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bird corpse"; public override string DefaultName => "a tropical bird"; @@ -122,19 +99,5 @@ namespace Server.Mobiles public override int Meat => 1; public override int Feathers => 25; public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Town Critters/Cat.cs b/Projects/UOContent/Mobiles/Animals/Town Critters/Cat.cs index 7d533c429..3484d47d9 100644 --- a/Projects/UOContent/Mobiles/Animals/Town Critters/Cat.cs +++ b/Projects/UOContent/Mobiles/Animals/Town Critters/Cat.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Housecat")] - public class Cat : BaseCreature + [SerializationGenerator(0, false)] + public partial class Cat : BaseCreature { [Constructible] public Cat() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,29 +40,11 @@ namespace Server.Mobiles MinTameSkill = -0.9; } - public Cat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a cat corpse"; public override string DefaultName => "a cat"; public override int Meat => 1; public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish; public override PackInstinct PackInstinct => PackInstinct.Feline; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Town Critters/Dog.cs b/Projects/UOContent/Mobiles/Animals/Town Critters/Dog.cs index f88e2b00f..e796af334 100644 --- a/Projects/UOContent/Mobiles/Animals/Town Critters/Dog.cs +++ b/Projects/UOContent/Mobiles/Animals/Town Critters/Dog.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Dog : BaseCreature + [SerializationGenerator(0, false)] + public partial class Dog : BaseCreature { [Constructible] public Dog() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -36,29 +39,11 @@ namespace Server.Mobiles MinTameSkill = -15.3; } - public Dog(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dog corpse"; public override string DefaultName => "a dog"; public override int Meat => 1; public override FoodType FavoriteFood => FoodType.Meat; public override PackInstinct PackInstinct => PackInstinct.Canine; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Animals/Town Critters/Rat.cs b/Projects/UOContent/Mobiles/Animals/Town Critters/Rat.cs index c47ab5880..269412ea7 100644 --- a/Projects/UOContent/Mobiles/Animals/Town Critters/Rat.cs +++ b/Projects/UOContent/Mobiles/Animals/Town Critters/Rat.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Rat : BaseCreature + [SerializationGenerator(0, false)] + public partial class Rat : BaseCreature { [Constructible] public Rat() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -36,10 +39,6 @@ namespace Server.Mobiles MinTameSkill = -0.9; } - public Rat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a rat corpse"; public override string DefaultName => "a rat"; @@ -50,19 +49,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Poor); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } } }