From 8a9c6dc8823396bf5248e39f14964347d0d70404 Mon Sep 17 00:00:00 2001 From: Arutosio <30377429+Arutosio@users.noreply.github.com> Date: Sun, 18 Dec 2022 04:40:04 +0100 Subject: [PATCH] fix: Changes on Monsters to use code generation (#1304) --- .../Migrations/Server.Mobiles.Abscess.v0.json | 4 + .../Server.Mobiles.AbysmalHorror.v0.json | 4 + .../Server.Mobiles.AcidElemental.v0.json | 4 + .../Server.Mobiles.AgapiteElemental.v0.json | 4 + .../Server.Mobiles.AirElemental.v0.json | 4 + .../Server.Mobiles.AncientWyrm.v0.json | 4 + .../Server.Mobiles.AnimatedWeapon.v0.json | 4 + .../Migrations/Server.Mobiles.AntLion.v0.json | 4 + .../Server.Mobiles.BakeKitsune.v0.json | 4 + .../Server.Mobiles.BaseEnraged.v0.json | 4 + ...Mobiles.BlackSolenInfiltratorQueen.v0.json | 4 + ...biles.BlackSolenInfiltratorWarrior.v0.json | 4 + .../Server.Mobiles.BlackSolenQueen.v0.json | 14 + .../Server.Mobiles.BlackSolenWarrior.v0.json | 14 + .../Server.Mobiles.BlackSolenWorker.v0.json | 4 + .../Server.Mobiles.BladeSpirits.v0.json | 4 + .../Server.Mobiles.BloodElemental.v0.json | 4 + .../Server.Mobiles.BogThing.v0.json | 4 + .../Migrations/Server.Mobiles.Bogling.v0.json | 4 + .../Server.Mobiles.BoneDemon.v0.json | 4 + .../Server.Mobiles.BronzeElemental.v0.json | 4 + .../Migrations/Server.Mobiles.Centaur.v0.json | 4 + ...rver.Mobiles.Changeling.ClonedItem.v0.json | 4 + .../Server.Mobiles.Changeling.v0.json | 11 + .../Server.Mobiles.ChaosDragoon.v0.json | 4 + .../Server.Mobiles.ChaosDragoonElite.v0.json | 4 + .../Server.Mobiles.Chiikkaha.v0.json | 4 + .../Migrations/Server.Mobiles.Coil.v0.json | 4 + .../Server.Mobiles.CopperElemental.v0.json | 4 + .../Server.Mobiles.CorporealBrume.v0.json | 4 + .../Migrations/Server.Mobiles.Corpser.v0.json | 4 + .../Server.Mobiles.CorrosiveSlime.v0.json | 4 + .../Server.Mobiles.CorruptedSoul.v0.json | 4 + .../Server.Mobiles.CrystalDaemon.v0.json | 4 + .../Server.Mobiles.CrystalElemental.v0.json | 4 + ...erver.Mobiles.CrystalLatticeSeeker.v0.json | 4 + .../Server.Mobiles.CrystalSeaSerpent.v0.json | 4 + .../Server.Mobiles.CrystalVortex.v0.json | 4 + .../Server.Mobiles.CrystalWisp.v0.json | 4 + .../Migrations/Server.Mobiles.CuSidhe.v0.json | 4 + .../Server.Mobiles.DarkWisp.v0.json | 4 + .../Server.Mobiles.DarknightCreeper.v0.json | 4 + .../Server.Mobiles.DeathwatchBeetle.v0.json | 4 + ....Mobiles.DeathwatchBeetleHatchling.v0.json | 4 + .../Server.Mobiles.DeepSeaSerpent.v0.json | 4 + .../Server.Mobiles.DemonKnight.v0.json | 4 + .../Server.Mobiles.Devourer.v0.json | 4 + .../Migrations/Server.Mobiles.Dragon.v0.json | 4 + .../Migrations/Server.Mobiles.Drake.v0.json | 4 + .../Server.Mobiles.DreadSpider.v0.json | 4 + ...Server.Mobiles.DullCopperElemental.v0.json | 4 + .../Server.Mobiles.EarthElemental.v0.json | 4 + .../Migrations/Server.Mobiles.Efreet.v0.json | 4 + .../Server.Mobiles.EliteNinja.v0.json | 4 + .../Server.Mobiles.EnergyVortex.v0.json | 4 + .../Server.Mobiles.EnragedBlackBear.v0.json | 4 + .../Server.Mobiles.EnragedEagle.v0.json | 4 + .../Server.Mobiles.EnragedHart.v0.json | 4 + .../Server.Mobiles.EnragedHind.v0.json | 4 + .../Server.Mobiles.EnragedRabbit.v0.json | 4 + .../Server.Mobiles.EnslavedSatyr.v0.json | 4 + .../Server.Mobiles.EtherealWarrior.v0.json | 4 + .../Server.Mobiles.ExodusMinion.v0.json | 4 + .../Server.Mobiles.ExodusOverseer.v0.json | 4 + .../Server.Mobiles.FanDancer.v0.json | 4 + .../Server.Mobiles.FeralTreefellow.v0.json | 4 + .../Migrations/Server.Mobiles.Ferret.v0.json | 4 + .../Server.Mobiles.FetidEssence.v0.json | 4 + .../Server.Mobiles.FireBeetle.v0.json | 4 + .../Server.Mobiles.FireElemental.v0.json | 4 + .../Server.Mobiles.FleshGolem.v0.json | 4 + .../Server.Mobiles.FleshRenderer.v0.json | 4 + .../Server.Mobiles.FrostOoze.v0.json | 4 + .../Server.Mobiles.FrostSpider.v0.json | 4 + .../Server.Mobiles.GiantBlackWidow.v0.json | 4 + .../Server.Mobiles.GiantSpider.v0.json | 4 + .../Server.Mobiles.Gibberling.v0.json | 4 + .../Migrations/Server.Mobiles.Gnaw.v0.json | 4 + .../Server.Mobiles.GoldenElemental.v0.json | 4 + .../Migrations/Server.Mobiles.Golem.v0.json | 4 + .../Server.Mobiles.GoreFiend.v0.json | 4 + .../Server.Mobiles.GreaterDragon.v0.json | 4 + .../Migrations/Server.Mobiles.Grobu.v0.json | 4 + .../Migrations/Server.Mobiles.Guile.v0.json | 4 + .../Migrations/Server.Mobiles.Harpy.v0.json | 4 + .../Server.Mobiles.HellHound.v0.json | 4 + .../Migrations/Server.Mobiles.Hydra.v0.json | 4 + .../Server.Mobiles.IceElemental.v0.json | 4 + .../Migrations/Server.Mobiles.Ilhenir.v0.json | 4 + .../Migrations/Server.Mobiles.Impaler.v0.json | 4 + .../Server.Mobiles.InsaneDryad.v0.json | 4 + .../Server.Mobiles.InterredGrizzle.v0.json | 4 + .../Migrations/Server.Mobiles.Irk.v0.json | 4 + .../Server.Mobiles.JukaLord.v0.json | 4 + .../Server.Mobiles.JukaMage.v0.json | 4 + .../Server.Mobiles.JukaWarrior.v0.json | 4 + .../Migrations/Server.Mobiles.Kappa.v0.json | 4 + .../Server.Mobiles.KazeKemono.v0.json | 4 + .../Migrations/Server.Mobiles.Kraken.v0.json | 4 + .../Server.Mobiles.LadyJennifyr.v0.json | 4 + .../Server.Mobiles.LadyLissith.v0.json | 4 + .../Server.Mobiles.LadyMarai.v0.json | 4 + .../Server.Mobiles.LadyOfTheSnow.v0.json | 4 + .../Server.Mobiles.LadySabrix.v0.json | 4 + .../Server.Mobiles.Leviathan.v0.json | 4 + .../Server.Mobiles.Lizardman.v0.json | 4 + .../Migrations/Server.Mobiles.Lurg.v0.json | 4 + .../Migrations/Server.Mobiles.MLDryad.v0.json | 4 + .../Migrations/Server.Mobiles.Malefic.v0.json | 4 + ...Server.Mobiles.MantraEffervescence.v0.json | 4 + .../Server.Mobiles.MasterJonath.v0.json | 4 + .../Server.Mobiles.MasterMikael.v0.json | 4 + .../Server.Mobiles.MasterTheophilus.v0.json | 4 + .../Server.Mobiles.MeerCaptain.v0.json | 4 + .../Server.Mobiles.MeerEternal.v0.json | 4 + .../Server.Mobiles.MeerMage.v0.json | 4 + .../Server.Mobiles.MeerWarrior.v0.json | 4 + .../Server.Mobiles.Meraktus.v0.json | 4 + .../Migrations/Server.Mobiles.Miasma.v0.json | 4 + .../Server.Mobiles.Minotaur.v0.json | 4 + .../Server.Mobiles.MinotaurCaptain.v0.json | 4 + .../Server.Mobiles.MinotaurScout.v0.json | 4 + .../Server.Mobiles.MougGuur.v0.json | 4 + .../Server.Mobiles.MoundOfMaggots.v0.json | 4 + .../Migrations/Server.Mobiles.Oni.v0.json | 4 + .../Server.Mobiles.OphidianArchmage.v0.json | 4 + .../Server.Mobiles.OphidianKnight.v0.json | 4 + .../Server.Mobiles.OphidianMage.v0.json | 4 + .../Server.Mobiles.OphidianMatriarch.v0.json | 4 + .../Server.Mobiles.OphidianWarrior.v0.json | 4 + .../Server.Mobiles.PatchworkSkeleton.v0.json | 4 + .../Server.Mobiles.PestilentBandage.v0.json | 4 + .../Migrations/Server.Mobiles.Pixie.v0.json | 4 + .../Server.Mobiles.PlagueBeast.v0.json | 30 ++ .../Server.Mobiles.PlagueBeastLord.v0.json | 35 +++ .../Server.Mobiles.PlagueSpawn.v0.json | 4 + .../Server.Mobiles.PoisonElemental.v0.json | 4 + .../Server.Mobiles.Protector.v0.json | 4 + .../Server.Mobiles.Putrefier.v0.json | 4 + .../Migrations/Server.Mobiles.Pyre.v0.json | 4 + .../Server.Mobiles.Quagmire.v0.json | 4 + .../Server.Mobiles.RagingGrizzlyBear.v0.json | 4 + .../Migrations/Server.Mobiles.RaiJu.v0.json | 4 + .../Migrations/Server.Mobiles.Ravager.v0.json | 4 + .../Migrations/Server.Mobiles.Reaper.v0.json | 4 + .../Server.Mobiles.RedDeath.v0.json | 4 + ...r.Mobiles.RedSolenInfiltratorQueen.v0.json | 4 + ...Mobiles.RedSolenInfiltratorWarrior.v0.json | 4 + .../Server.Mobiles.RedSolenQueen.v0.json | 14 + .../Server.Mobiles.RedSolenWarrior.v0.json | 14 + .../Server.Mobiles.RedSolenWorker.v0.json | 4 + .../Migrations/Server.Mobiles.Rend.v0.json | 4 + .../Server.Mobiles.Reptalon.v0.json | 4 + .../Server.Mobiles.Revenant.v0.json | 4 + .../Server.Mobiles.RevenantLion.v0.json | 4 + .../Migrations/Server.Mobiles.Ronin.v0.json | 4 + .../Server.Mobiles.RuneBeetle.v0.json | 4 + .../Migrations/Server.Mobiles.Saliva.v0.json | 4 + .../Server.Mobiles.SandVortex.v0.json | 4 + .../Migrations/Server.Mobiles.Satyr.v0.json | 4 + .../Server.Mobiles.Scorpion.v0.json | 4 + .../Server.Mobiles.SeaSerpent.v0.json | 4 + .../Server.Mobiles.SerpentineDragon.v0.json | 4 + ...Server.Mobiles.ShadowIronElemental.v0.json | 4 + .../Server.Mobiles.ShadowKnight.v0.json | 4 + .../Server.Mobiles.ShadowWisp.v0.json | 4 + .../Server.Mobiles.ShadowWyrm.v0.json | 4 + .../Migrations/Server.Mobiles.Silk.v0.json | 4 + .../Server.Mobiles.SirPatrick.v0.json | 4 + .../Server.Mobiles.SkeletalDragon.v0.json | 4 + .../Server.Mobiles.SkitteringHopper.v0.json | 4 + .../Migrations/Server.Mobiles.Slime.v0.json | 4 + .../Server.Mobiles.SnowElemental.v0.json | 4 + .../Migrations/Server.Mobiles.Spite.v0.json | 4 + .../Server.Mobiles.Squirrel.v0.json | 4 + .../Server.Mobiles.StainedOoze.v0.json | 14 + .../Server.Mobiles.StoneHarpy.v0.json | 4 + ...erver.Mobiles.SummonedAirElemental.v0.json | 4 + .../Server.Mobiles.SummonedDaemon.v0.json | 4 + ...ver.Mobiles.SummonedEarthElemental.v0.json | 4 + ...rver.Mobiles.SummonedFireElemental.v0.json | 4 + ...ver.Mobiles.SummonedWaterElemental.v0.json | 4 + .../Server.Mobiles.SwampTentacle.v0.json | 4 + .../Migrations/Server.Mobiles.Swoop.v0.json | 4 + .../Server.Mobiles.Szavetra.v0.json | 4 + .../Migrations/Server.Mobiles.Tangle.v0.json | 4 + .../Server.Mobiles.TerathanAvenger.v0.json | 4 + .../Server.Mobiles.TerathanDrone.v0.json | 4 + .../Server.Mobiles.TerathanMatriarch.v0.json | 4 + .../Server.Mobiles.TerathanWarrior.v0.json | 4 + .../Server.Mobiles.Thrasher.v0.json | 4 + .../Server.Mobiles.TormentedMinotaur.v0.json | 4 + .../Server.Mobiles.Treefellow.v0.json | 4 + .../Server.Mobiles.Troglodyte.v0.json | 4 + .../Server.Mobiles.TsukiWolf.v0.json | 4 + .../Migrations/Server.Mobiles.Twaulo.v0.json | 4 + .../Server.Mobiles.UnfrozenMummy.v0.json | 4 + .../Server.Mobiles.ValoriteElemental.v0.json | 4 + .../Server.Mobiles.VampireBat.v0.json | 4 + .../Server.Mobiles.VeriteElemental.v0.json | 4 + .../Server.Mobiles.Virulent.v0.json | 4 + ...rver.Mobiles.VorpalBunny.BunnyHole.v0.json | 4 + .../Server.Mobiles.VorpalBunny.v0.json | 4 + .../Server.Mobiles.WailingBanshee.v0.json | 4 + .../Server.Mobiles.WandererOfTheVoid.v0.json | 4 + .../Server.Mobiles.WaterElemental.v0.json | 4 + .../Server.Mobiles.WhippingVine.v0.json | 4 + .../Server.Mobiles.WhiteWyrm.v0.json | 4 + .../Migrations/Server.Mobiles.Wisp.v0.json | 4 + .../Migrations/Server.Mobiles.Wyvern.v0.json | 4 + .../Server.Mobiles.Yamandon.v0.json | 4 + .../Server.Mobiles.YomotsuElder.v0.json | 4 + .../Server.Mobiles.YomotsuPriest.v0.json | 4 + .../Server.Mobiles.YomotsuWarrior.v0.json | 4 + .../Mobiles/Monsters/AOS/AbysmalHorror.cs | 25 +- .../Mobiles/Monsters/AOS/BoneDemon.cs | 21 +- .../Mobiles/Monsters/AOS/CrystalElemental.cs | 20 +- .../Mobiles/Monsters/AOS/DarknightCreeper.cs | 25 +- .../Mobiles/Monsters/AOS/DemonKnight.cs | 20 +- .../Mobiles/Monsters/AOS/Devourer.cs | 21 +- .../Mobiles/Monsters/AOS/FleshGolem.cs | 20 +- .../Mobiles/Monsters/AOS/FleshRenderer.cs | 25 +- .../Mobiles/Monsters/AOS/Gibberling.cs | 20 +- .../Mobiles/Monsters/AOS/GoreFiend.cs | 21 +- .../UOContent/Mobiles/Monsters/AOS/Impaler.cs | 25 +- .../Mobiles/Monsters/AOS/MoundOfMaggots.cs | 21 +- .../Mobiles/Monsters/AOS/PatchworkSkeleton.cs | 20 +- .../UOContent/Mobiles/Monsters/AOS/Ravager.cs | 20 +- .../Mobiles/Monsters/AOS/Revenant.cs | 22 +- .../Mobiles/Monsters/AOS/ShadowKnight.cs | 25 +- .../Mobiles/Monsters/AOS/SkitteringHopper.cs | 21 +- .../Mobiles/Monsters/AOS/Treefellow.cs | 25 +- .../Mobiles/Monsters/AOS/VampireBat.cs | 21 +- .../Mobiles/Monsters/AOS/WailingBanshee.cs | 20 +- .../Mobiles/Monsters/AOS/WandererOfTheVoid.cs | 20 +- .../Mobiles/Monsters/Ants/AntLion.cs | 21 +- .../Ants/BlackSolenInfiltratorQueen.cs | 20 +- .../Ants/BlackSolenInfiltratorWarrior.cs | 20 +- .../Mobiles/Monsters/Ants/BlackSolenQueen.cs | 35 +-- .../Monsters/Ants/BlackSolenWarrior.cs | 34 +- .../Mobiles/Monsters/Ants/BlackSolenWorker.cs | 20 +- .../Monsters/Ants/RedSolenInfiltratorQueen.cs | 20 +- .../Ants/RedSolenInfiltratorWarrior.cs | 20 +- .../Mobiles/Monsters/Ants/RedSolenQueen.cs | 34 +- .../Mobiles/Monsters/Ants/RedSolenWarrior.cs | 34 +- .../Mobiles/Monsters/Ants/RedSolenWorker.cs | 20 +- .../Monsters/Arachnid/Magic/DreadSpider.cs | 25 +- .../Arachnid/Magic/TerathanAvenger.cs | 26 +- .../Arachnid/Magic/TerathanMatriarch.cs | 20 +- .../Monsters/Arachnid/Melee/FrostSpider.cs | 25 +- .../Arachnid/Melee/GiantBlackWidow.cs | 20 +- .../Monsters/Arachnid/Melee/GiantSpider.cs | 20 +- .../Monsters/Arachnid/Melee/TerathanDrone.cs | 25 +- .../Arachnid/Melee/TerathanWarrior.cs | 20 +- .../Monsters/Elemental/Magic/AcidElemental.cs | 37 +-- .../Monsters/Elemental/Magic/AirElemental.cs | 26 +- .../Elemental/Magic/BloodElemental.cs | 21 +- .../Monsters/Elemental/Magic/Efreet.cs | 20 +- .../Monsters/Elemental/Magic/FireElemental.cs | 25 +- .../Monsters/Elemental/Magic/IceElemental.cs | 21 +- .../Elemental/Magic/PoisonElemental.cs | 20 +- .../Elemental/Magic/WaterElemental.cs | 20 +- .../Elemental/Melee/EarthElemental.cs | 20 +- .../Monsters/Elemental/Melee/SnowElemental.cs | 20 +- .../Monsters/LBR/Exodus/ExodusMinion.cs | 163 +++++----- .../Monsters/LBR/Exodus/ExodusOverseer.cs | 145 ++++----- .../Monsters/LBR/Jukas/ChaosDragoon.cs | 20 +- .../Monsters/LBR/Jukas/ChaosDragoonElite.cs | 16 +- .../Mobiles/Monsters/LBR/Jukas/JukaLord.cs | 20 +- .../Mobiles/Monsters/LBR/Jukas/JukaMage.cs | 20 +- .../Mobiles/Monsters/LBR/Jukas/JukaWarrior.cs | 20 +- .../Monsters/LBR/Meers/EnragedCreatures.cs | 115 +------ .../Mobiles/Monsters/LBR/Meers/MeerCaptain.cs | 20 +- .../Mobiles/Monsters/LBR/Meers/MeerEternal.cs | 20 +- .../Mobiles/Monsters/LBR/Meers/MeerMage.cs | 20 +- .../Mobiles/Monsters/LBR/Meers/MeerWarrior.cs | 20 +- .../Mobiles/Monsters/ML/Animal/CuSidhe.cs | 27 +- .../Mobiles/Monsters/ML/Animal/Ferret.cs | 22 +- .../Monsters/ML/Animal/RagingGrizzlyBear.cs | 23 +- .../Mobiles/Monsters/ML/Animal/Squirrel.cs | 23 +- .../Monsters/ML/Bedlam/LadyJennifyr.cs | 23 +- .../Mobiles/Monsters/ML/Bedlam/LadyMarai.cs | 29 +- .../Monsters/ML/Bedlam/MasterJonath.cs | 24 +- .../Monsters/ML/Bedlam/MasterMikael.cs | 24 +- .../Monsters/ML/Bedlam/MasterTheophilus.cs | 23 +- .../Mobiles/Monsters/ML/Bedlam/RedDeath.cs | 22 +- .../Mobiles/Monsters/ML/Bedlam/SirPatrick.cs | 162 +++++----- .../Monsters/ML/Blighted Grove/Abscess.cs | 23 +- .../Monsters/ML/Blighted Grove/Coil.cs | 23 +- .../ML/Blighted Grove/EnslavedSatyr.cs | 24 +- .../Monsters/ML/Blighted Grove/Hydra.cs | 22 +- .../Monsters/ML/Blighted Grove/InsaneDryad.cs | 24 +- .../Monsters/ML/Blighted Grove/Saliva.cs | 23 +- .../Monsters/ML/Blighted Grove/Tangle.cs | 23 +- .../Monsters/ML/Blighted Grove/Thrasher.cs | 23 +- .../ML/Humanoid/Magic/FetidEssence.cs | 21 +- .../ML/Humanoid/Magic/InterredGrizzle .cs | 21 +- .../Monsters/ML/Humanoid/Magic/MLDryad.cs | 22 +- .../Monsters/ML/Humanoid/Magic/Satyr.cs | 22 +- .../ML/Humanoid/Melee/CorruptedSoul.cs | 21 +- .../ML/Humanoid/Melee/FeralTreefellow.cs | 21 +- .../Monsters/ML/Humanoid/Melee/Minotaur.cs | 20 +- .../ML/Humanoid/Melee/MinotaurCaptain.cs | 20 +- .../ML/Humanoid/Melee/MinotaurScout.cs | 20 +- .../ML/Humanoid/Melee/PestilentBandage.cs | 20 +- .../ML/Humanoid/Melee/Tormented Minotaur.cs | 25 +- .../Monsters/ML/Humanoid/Melee/Troglodyte.cs | 21 +- .../Mobiles/Monsters/ML/Labyrinth/Miasma.cs | 23 +- .../Mobiles/Monsters/ML/Labyrinth/Pyre.cs | 23 +- .../Mobiles/Monsters/ML/Labyrinth/Rend.cs | 23 +- .../Monsters/ML/Misc/Magic/GreaterDragon.cs | 31 +- .../Monsters/ML/Misc/Melee/CorrosiveSlime.cs | 21 +- .../Monsters/ML/Misc/Melee/Reptalon.cs | 23 +- .../Monsters/ML/Painted Caves/Grobu.cs | 23 +- .../Mobiles/Monsters/ML/Painted Caves/Lurg.cs | 24 +- .../ML/Palace of Paroxysmus/Putrefier.cs | 24 +- .../ML/Prism of Light/CorporealBrume.cs | 23 +- .../ML/Prism of Light/CrystalDaemon.cs | 24 +- .../ML/Prism of Light/CrystalLatticeSeeker.cs | 24 +- .../ML/Prism of Light/CrystalSeaSerpent.cs | 24 +- .../ML/Prism of Light/CrystalVortex.cs | 24 +- .../Monsters/ML/Prism of Light/CrystalWisp.cs | 24 +- .../ML/Prism of Light/MantraEffervescence.cs | 24 +- .../Monsters/ML/Prism of Light/Protector.cs | 23 +- .../ML/Prism of Light/UnfrozenMummy.cs | 24 +- .../Monsters/ML/Sanctuary/Chiikkaha.cs | 24 +- .../Mobiles/Monsters/ML/Sanctuary/MougGuur.cs | 24 +- .../Mobiles/Monsters/ML/Sanctuary/Szavetra.cs | 24 +- .../Mobiles/Monsters/ML/Special/Ilhenir.cs | 60 +--- .../Mobiles/Monsters/ML/Special/Meraktus.cs | 20 +- .../Mobiles/Monsters/ML/Special/Twaulo.cs | 147 ++++----- .../Monsters/ML/Twisted Weald/Changeling.cs | 64 +--- .../Mobiles/Monsters/ML/Twisted Weald/Gnaw.cs | 25 +- .../Monsters/ML/Twisted Weald/Guile.cs | 97 +++--- .../Mobiles/Monsters/ML/Twisted Weald/Irk.cs | 24 +- .../Monsters/ML/Twisted Weald/LadyLissith.cs | 23 +- .../Monsters/ML/Twisted Weald/LadySabrix.cs | 23 +- .../Monsters/ML/Twisted Weald/Malefic.cs | 23 +- .../Mobiles/Monsters/ML/Twisted Weald/Silk.cs | 23 +- .../Monsters/ML/Twisted Weald/Spite.cs | 24 +- .../Monsters/ML/Twisted Weald/Swoop.cs | 23 +- .../Monsters/ML/Twisted Weald/Virulent.cs | 23 +- .../Monsters/Mammal/Melee/HellHound.cs | 20 +- .../Monsters/Mammal/Melee/VorpalBunny.cs | 45 +-- .../Mobiles/Monsters/Misc/Magic/DarkWisp.cs | 21 +- .../Monsters/Misc/Magic/EtherealWarrior.cs | 20 +- .../Mobiles/Monsters/Misc/Magic/Pixie.cs | 21 +- .../Mobiles/Monsters/Misc/Magic/ShadowWisp.cs | 20 +- .../Mobiles/Monsters/Misc/Magic/Wisp.cs | 20 +- .../Monsters/Misc/Melee/AnimatedWeapon.cs | 26 +- .../Monsters/Misc/Melee/BladeSpirits.cs | 181 +++++------ .../Mobiles/Monsters/Misc/Melee/Centaur.cs | 25 +- .../Monsters/Misc/Melee/EnergyVortex.cs | 208 ++++++------ .../Mobiles/Monsters/Misc/Melee/FrostOoze.cs | 21 +- .../Mobiles/Monsters/Misc/Melee/Golem.cs | 291 ++++++++--------- .../Monsters/Misc/Melee/PlagueBeast.cs | 76 ++--- .../Monsters/Misc/Melee/PlagueBeastLord.cs | 90 +++--- .../Monsters/Misc/Melee/PlagueSpawn.cs | 20 +- .../Mobiles/Monsters/Misc/Melee/SandVortex.cs | 22 +- .../Mobiles/Monsters/Misc/Melee/Slime.cs | 21 +- .../Ore Elementals/AgapiteElemental.cs | 20 +- .../Ore Elementals/BronzeElemental.cs | 99 +++--- .../Ore Elementals/CopperElemental.cs | 111 +++---- .../Ore Elementals/DullCopperElemental.cs | 97 +++--- .../Ore Elementals/GoldenElemental.cs | 20 +- .../Ore Elementals/ShadowIronElemental.cs | 20 +- .../Ore Elementals/ValoriteElemental.cs | 151 ++++----- .../Ore Elementals/VeriteElemental.cs | 99 +++--- .../Mobiles/Monsters/Plant/Magic/Reaper.cs | 20 +- .../Mobiles/Monsters/Plant/Melee/BogThing.cs | 20 +- .../Mobiles/Monsters/Plant/Melee/Bogling.cs | 20 +- .../Mobiles/Monsters/Plant/Melee/Corpser.cs | 20 +- .../Mobiles/Monsters/Plant/Melee/Quagmire.cs | 21 +- .../Monsters/Plant/Melee/SwampTentacle.cs | 21 +- .../Monsters/Plant/Melee/WhippingVine.cs | 20 +- .../Monsters/Reptile/Magic/AncientWyrm.cs | 21 +- .../Monsters/Reptile/Magic/DeepSeaSerpent.cs | 20 +- .../Mobiles/Monsters/Reptile/Magic/Dragon.cs | 21 +- .../Monsters/Reptile/Magic/Leviathan.cs | 297 +++++++++--------- .../Reptile/Magic/OphidianArchmage.cs | 21 +- .../Monsters/Reptile/Magic/OphidianMage.cs | 21 +- .../Reptile/Magic/OphidianMatriarch.cs | 21 +- .../Monsters/Reptile/Magic/SeaSerpent.cs | 20 +- .../Reptile/Magic/SerpentineDragon.cs | 20 +- .../Monsters/Reptile/Magic/ShadowWyrm.cs | 21 +- .../Monsters/Reptile/Magic/SkeletalDragon.cs | 21 +- .../Monsters/Reptile/Magic/WhiteWyrm.cs | 21 +- .../Mobiles/Monsters/Reptile/Melee/Drake.cs | 21 +- .../Mobiles/Monsters/Reptile/Melee/Harpy.cs | 21 +- .../Mobiles/Monsters/Reptile/Melee/Kraken.cs | 20 +- .../Monsters/Reptile/Melee/Lizardman.cs | 20 +- .../Monsters/Reptile/Melee/OphidianKnight.cs | 20 +- .../Monsters/Reptile/Melee/OphidianWarrior.cs | 21 +- .../Monsters/Reptile/Melee/Scorpion.cs | 20 +- .../Monsters/Reptile/Melee/StoneHarpy.cs | 21 +- .../Mobiles/Monsters/Reptile/Melee/Wyvern.cs | 20 +- .../Mobiles/Monsters/SE/BakeKitsune.cs | 22 +- .../Mobiles/Monsters/SE/DeathWatchBeetle.cs | 20 +- .../Monsters/SE/DeathWatchBeetleHatchling.cs | 20 +- .../Mobiles/Monsters/SE/EliteNinja.cs | 22 +- .../Mobiles/Monsters/SE/FanDancer.cs | 141 ++++----- .../Mobiles/Monsters/SE/FireBeetle.cs | 27 +- .../UOContent/Mobiles/Monsters/SE/Kappa.cs | 237 +++++++------- .../Mobiles/Monsters/SE/KazeKemono.cs | 21 +- .../Mobiles/Monsters/SE/LadyOfTheSnow.cs | 23 +- Projects/UOContent/Mobiles/Monsters/SE/Oni.cs | 22 +- .../UOContent/Mobiles/Monsters/SE/RaiJu.cs | 22 +- .../Mobiles/Monsters/SE/RevenantLion.cs | 20 +- .../UOContent/Mobiles/Monsters/SE/Ronin.cs | 22 +- .../Mobiles/Monsters/SE/RuneBeetle.cs | 169 +++++----- .../Mobiles/Monsters/SE/TsukiWolf.cs | 170 +++++----- .../UOContent/Mobiles/Monsters/SE/Yamandon.cs | 22 +- .../Mobiles/Monsters/SE/YomotsuElder.cs | 20 +- .../Mobiles/Monsters/SE/YomotsuPriest.cs | 20 +- .../Mobiles/Monsters/SE/YomotsuWarrior.cs | 20 +- .../Monsters/Summons/SummonedAirElemental.cs | 21 +- .../Monsters/Summons/SummonedDaemon.cs | 21 +- .../Summons/SummonedEarthElemental.cs | 21 +- .../Monsters/Summons/SummonedFireElemental.cs | 20 +- .../Summons/SummonedWaterElemental.cs | 21 +- 420 files changed, 3071 insertions(+), 5346 deletions(-) create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Abscess.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AbysmalHorror.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AcidElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AgapiteElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AirElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AncientWyrm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AnimatedWeapon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.AntLion.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BakeKitsune.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BaseEnraged.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorQueen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackSolenQueen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWorker.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BladeSpirits.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BloodElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BogThing.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Bogling.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BoneDemon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.BronzeElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Centaur.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Changeling.ClonedItem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Changeling.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoonElite.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Chiikkaha.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Coil.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CopperElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CorporealBrume.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Corpser.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CorrosiveSlime.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CorruptedSoul.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalDaemon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalLatticeSeeker.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalSeaSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalVortex.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CrystalWisp.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.CuSidhe.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DarkWisp.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DarknightCreeper.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetleHatchling.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DeepSeaSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DemonKnight.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Devourer.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Dragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Drake.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DreadSpider.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.DullCopperElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EarthElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Efreet.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EliteNinja.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnergyVortex.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnragedBlackBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnragedEagle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnragedHart.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnragedHind.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnragedRabbit.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EnslavedSatyr.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.EtherealWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ExodusMinion.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ExodusOverseer.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FanDancer.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FeralTreefellow.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Ferret.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FetidEssence.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FireBeetle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FireElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FleshGolem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FleshRenderer.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FrostOoze.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.FrostSpider.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GiantBlackWidow.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GiantSpider.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Gibberling.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Gnaw.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GoldenElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Golem.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GoreFiend.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.GreaterDragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Grobu.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Guile.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Harpy.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.HellHound.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Hydra.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.IceElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Ilhenir.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Impaler.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.InsaneDryad.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.InterredGrizzle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Irk.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.JukaLord.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.JukaMage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.JukaWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Kappa.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.KazeKemono.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Kraken.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LadyJennifyr.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LadyLissith.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LadyMarai.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LadyOfTheSnow.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.LadySabrix.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Leviathan.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Lizardman.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Lurg.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MLDryad.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Malefic.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MantraEffervescence.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MasterJonath.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MasterMikael.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MasterTheophilus.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MeerCaptain.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MeerEternal.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MeerMage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MeerWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Meraktus.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Miasma.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Minotaur.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MinotaurCaptain.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MinotaurScout.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MougGuur.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.MoundOfMaggots.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Oni.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.OphidianArchmage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.OphidianKnight.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.OphidianMage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.OphidianMatriarch.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.OphidianWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PatchworkSkeleton.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PestilentBandage.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Pixie.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PlagueBeast.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PlagueBeastLord.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PlagueSpawn.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.PoisonElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Protector.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Putrefier.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Pyre.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Quagmire.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RagingGrizzlyBear.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RaiJu.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Ravager.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Reaper.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedDeath.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorQueen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedSolenQueen.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedSolenWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RedSolenWorker.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Rend.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Reptalon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Revenant.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RevenantLion.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Ronin.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.RuneBeetle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Saliva.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SandVortex.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Satyr.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Scorpion.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SeaSerpent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SerpentineDragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ShadowIronElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ShadowKnight.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ShadowWisp.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ShadowWyrm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Silk.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SirPatrick.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SkeletalDragon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SkitteringHopper.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Slime.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SnowElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Spite.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Squirrel.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.StainedOoze.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.StoneHarpy.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SummonedAirElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SummonedDaemon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SummonedEarthElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SummonedFireElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SummonedWaterElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.SwampTentacle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Swoop.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Szavetra.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Tangle.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TerathanAvenger.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TerathanDrone.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TerathanMatriarch.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TerathanWarrior.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Thrasher.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TormentedMinotaur.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Treefellow.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Troglodyte.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.TsukiWolf.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Twaulo.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.UnfrozenMummy.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.ValoriteElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.VampireBat.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.VeriteElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Virulent.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.BunnyHole.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WailingBanshee.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WandererOfTheVoid.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WaterElemental.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WhippingVine.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.WhiteWyrm.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Wisp.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Wyvern.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.Yamandon.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.YomotsuElder.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.YomotsuPriest.v0.json create mode 100644 Projects/UOContent/Migrations/Server.Mobiles.YomotsuWarrior.v0.json diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Abscess.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Abscess.v0.json new file mode 100644 index 000000000..395e07fad --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Abscess.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Abscess" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AbysmalHorror.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AbysmalHorror.v0.json new file mode 100644 index 000000000..f392e54d1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AbysmalHorror.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AbysmalHorror" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AcidElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AcidElemental.v0.json new file mode 100644 index 000000000..10e892ee7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AcidElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AcidElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AgapiteElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AgapiteElemental.v0.json new file mode 100644 index 000000000..9d31e0c0e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AgapiteElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AgapiteElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AirElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AirElemental.v0.json new file mode 100644 index 000000000..9fc32b63a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AirElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AirElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AncientWyrm.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AncientWyrm.v0.json new file mode 100644 index 000000000..ce241e17c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AncientWyrm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AncientWyrm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AnimatedWeapon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AnimatedWeapon.v0.json new file mode 100644 index 000000000..5b68a1021 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AnimatedWeapon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AnimatedWeapon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AntLion.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AntLion.v0.json new file mode 100644 index 000000000..d11512c3c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AntLion.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AntLion" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BakeKitsune.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BakeKitsune.v0.json new file mode 100644 index 000000000..fd350e547 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BakeKitsune.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BakeKitsune" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BaseEnraged.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BaseEnraged.v0.json new file mode 100644 index 000000000..d2e8eedba --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BaseEnraged.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BaseEnraged" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorQueen.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorQueen.v0.json new file mode 100644 index 000000000..e4fa1575e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorQueen.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackSolenInfiltratorQueen" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorWarrior.v0.json new file mode 100644 index 000000000..e4e648bf2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenInfiltratorWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackSolenInfiltratorWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenQueen.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenQueen.v0.json new file mode 100644 index 000000000..75a56c60d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenQueen.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackSolenQueen", + "properties": [ + { + "name": "BurstSac", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWarrior.v0.json new file mode 100644 index 000000000..358269a75 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWarrior.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackSolenWarrior", + "properties": [ + { + "name": "BurstSac", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWorker.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWorker.v0.json new file mode 100644 index 000000000..bcde48e41 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BlackSolenWorker.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BlackSolenWorker" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BladeSpirits.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BladeSpirits.v0.json new file mode 100644 index 000000000..33da8e4c3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BladeSpirits.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BladeSpirits" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BloodElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BloodElemental.v0.json new file mode 100644 index 000000000..63c0cfc2d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BloodElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BloodElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BogThing.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BogThing.v0.json new file mode 100644 index 000000000..76492fe69 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BogThing.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BogThing" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Bogling.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Bogling.v0.json new file mode 100644 index 000000000..8a79bc515 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Bogling.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Bogling" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BoneDemon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BoneDemon.v0.json new file mode 100644 index 000000000..242747052 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BoneDemon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BoneDemon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BronzeElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BronzeElemental.v0.json new file mode 100644 index 000000000..8bbb2da9b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BronzeElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BronzeElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Centaur.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Centaur.v0.json new file mode 100644 index 000000000..d580f2b80 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Centaur.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Centaur" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Changeling.ClonedItem.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Changeling.ClonedItem.v0.json new file mode 100644 index 000000000..8b29af9de --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Changeling.ClonedItem.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Changeling.ClonedItem" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Changeling.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Changeling.v0.json new file mode 100644 index 000000000..245405d77 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Changeling.v0.json @@ -0,0 +1,11 @@ +{ + "version": 0, + "type": "Server.Mobiles.Changeling", + "properties": [ + { + "name": "MorphedInto", + "type": "Server.Mobile", + "rule": "SerializableInterfaceMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoon.v0.json new file mode 100644 index 000000000..99c16b988 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ChaosDragoon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoonElite.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoonElite.v0.json new file mode 100644 index 000000000..9fdcab1da --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ChaosDragoonElite.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ChaosDragoonElite" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Chiikkaha.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Chiikkaha.v0.json new file mode 100644 index 000000000..233c29412 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Chiikkaha.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Chiikkaha" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Coil.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Coil.v0.json new file mode 100644 index 000000000..d10d0ce6e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Coil.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Coil" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CopperElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CopperElemental.v0.json new file mode 100644 index 000000000..f0ae98434 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CopperElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CopperElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CorporealBrume.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CorporealBrume.v0.json new file mode 100644 index 000000000..e1a6ff5d6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CorporealBrume.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CorporealBrume" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Corpser.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Corpser.v0.json new file mode 100644 index 000000000..da84414e9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Corpser.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Corpser" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CorrosiveSlime.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CorrosiveSlime.v0.json new file mode 100644 index 000000000..b11a5b2fe --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CorrosiveSlime.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CorrosiveSlime" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CorruptedSoul.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CorruptedSoul.v0.json new file mode 100644 index 000000000..1f80e4e95 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CorruptedSoul.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CorruptedSoul" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalDaemon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalDaemon.v0.json new file mode 100644 index 000000000..0da6e4d8a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalDaemon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalDaemon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalElemental.v0.json new file mode 100644 index 000000000..0e20ee77c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalLatticeSeeker.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalLatticeSeeker.v0.json new file mode 100644 index 000000000..21d7bcd16 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalLatticeSeeker.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalLatticeSeeker" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalSeaSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalSeaSerpent.v0.json new file mode 100644 index 000000000..bd046f2ca --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalSeaSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalSeaSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalVortex.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalVortex.v0.json new file mode 100644 index 000000000..95d5ba6c4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalVortex.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalVortex" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CrystalWisp.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CrystalWisp.v0.json new file mode 100644 index 000000000..c659ba052 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CrystalWisp.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CrystalWisp" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.CuSidhe.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.CuSidhe.v0.json new file mode 100644 index 000000000..1ec293ce4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.CuSidhe.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.CuSidhe" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DarkWisp.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DarkWisp.v0.json new file mode 100644 index 000000000..f5e5e3b27 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DarkWisp.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DarkWisp" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DarknightCreeper.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DarknightCreeper.v0.json new file mode 100644 index 000000000..1bf9aab82 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DarknightCreeper.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DarknightCreeper" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetle.v0.json new file mode 100644 index 000000000..5b6ffa222 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DeathwatchBeetle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetleHatchling.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetleHatchling.v0.json new file mode 100644 index 000000000..5694aa14e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DeathwatchBeetleHatchling.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DeathwatchBeetleHatchling" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DeepSeaSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DeepSeaSerpent.v0.json new file mode 100644 index 000000000..5de0a3d44 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DeepSeaSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DeepSeaSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DemonKnight.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DemonKnight.v0.json new file mode 100644 index 000000000..f0f079bec --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DemonKnight.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DemonKnight" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Devourer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Devourer.v0.json new file mode 100644 index 000000000..d0ef41ac9 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Devourer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Devourer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Dragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Dragon.v0.json new file mode 100644 index 000000000..1bfa2ed81 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Dragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Dragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Drake.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Drake.v0.json new file mode 100644 index 000000000..2601b6cac --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Drake.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Drake" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DreadSpider.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DreadSpider.v0.json new file mode 100644 index 000000000..fdd4a5499 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DreadSpider.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DreadSpider" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.DullCopperElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.DullCopperElemental.v0.json new file mode 100644 index 000000000..6a2739dcb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.DullCopperElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.DullCopperElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EarthElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EarthElemental.v0.json new file mode 100644 index 000000000..fa0ba8466 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EarthElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EarthElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Efreet.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Efreet.v0.json new file mode 100644 index 000000000..137b93f05 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Efreet.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Efreet" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EliteNinja.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EliteNinja.v0.json new file mode 100644 index 000000000..a173de0d3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EliteNinja.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EliteNinja" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnergyVortex.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnergyVortex.v0.json new file mode 100644 index 000000000..10712c560 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnergyVortex.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnergyVortex" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnragedBlackBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnragedBlackBear.v0.json new file mode 100644 index 000000000..a2dc60295 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnragedBlackBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnragedBlackBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnragedEagle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnragedEagle.v0.json new file mode 100644 index 000000000..59985c348 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnragedEagle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnragedEagle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnragedHart.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnragedHart.v0.json new file mode 100644 index 000000000..6b6972607 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnragedHart.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnragedHart" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnragedHind.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnragedHind.v0.json new file mode 100644 index 000000000..5f4d9cedf --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnragedHind.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnragedHind" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnragedRabbit.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnragedRabbit.v0.json new file mode 100644 index 000000000..3dd42a2e7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnragedRabbit.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnragedRabbit" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EnslavedSatyr.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EnslavedSatyr.v0.json new file mode 100644 index 000000000..1ecfddfbd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EnslavedSatyr.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EnslavedSatyr" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.EtherealWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.EtherealWarrior.v0.json new file mode 100644 index 000000000..cd409e94e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.EtherealWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.EtherealWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ExodusMinion.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ExodusMinion.v0.json new file mode 100644 index 000000000..e3cdb6130 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ExodusMinion.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ExodusMinion" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ExodusOverseer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ExodusOverseer.v0.json new file mode 100644 index 000000000..305b6f91c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ExodusOverseer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ExodusOverseer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FanDancer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FanDancer.v0.json new file mode 100644 index 000000000..d9ac27928 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FanDancer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FanDancer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FeralTreefellow.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FeralTreefellow.v0.json new file mode 100644 index 000000000..98647670f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FeralTreefellow.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FeralTreefellow" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Ferret.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Ferret.v0.json new file mode 100644 index 000000000..1ee818da1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Ferret.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Ferret" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FetidEssence.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FetidEssence.v0.json new file mode 100644 index 000000000..61a45a284 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FetidEssence.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FetidEssence" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FireBeetle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FireBeetle.v0.json new file mode 100644 index 000000000..2cae8fdd0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FireBeetle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FireBeetle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FireElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FireElemental.v0.json new file mode 100644 index 000000000..7d96e0d3d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FireElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FireElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FleshGolem.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FleshGolem.v0.json new file mode 100644 index 000000000..5b10e0c3f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FleshGolem.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FleshGolem" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FleshRenderer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FleshRenderer.v0.json new file mode 100644 index 000000000..9294a5582 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FleshRenderer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FleshRenderer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FrostOoze.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FrostOoze.v0.json new file mode 100644 index 000000000..0879b6707 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FrostOoze.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FrostOoze" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FrostSpider.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FrostSpider.v0.json new file mode 100644 index 000000000..b6b40a858 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FrostSpider.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FrostSpider" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GiantBlackWidow.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GiantBlackWidow.v0.json new file mode 100644 index 000000000..1c40e5735 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GiantBlackWidow.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GiantBlackWidow" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GiantSpider.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GiantSpider.v0.json new file mode 100644 index 000000000..5a07d16d8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GiantSpider.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GiantSpider" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gibberling.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gibberling.v0.json new file mode 100644 index 000000000..93aca7253 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gibberling.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gibberling" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gnaw.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gnaw.v0.json new file mode 100644 index 000000000..292d48a4a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gnaw.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gnaw" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GoldenElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GoldenElemental.v0.json new file mode 100644 index 000000000..89247ad8b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GoldenElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GoldenElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Golem.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Golem.v0.json new file mode 100644 index 000000000..9a4767f42 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Golem.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Golem" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GoreFiend.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GoreFiend.v0.json new file mode 100644 index 000000000..5c672beaa --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GoreFiend.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GoreFiend" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GreaterDragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GreaterDragon.v0.json new file mode 100644 index 000000000..fbe63fe2d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GreaterDragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GreaterDragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Grobu.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Grobu.v0.json new file mode 100644 index 000000000..1353b6e3a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Grobu.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Grobu" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Guile.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Guile.v0.json new file mode 100644 index 000000000..48729f7b5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Guile.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Guile" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Harpy.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Harpy.v0.json new file mode 100644 index 000000000..45a31f0e4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Harpy.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Harpy" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.HellHound.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.HellHound.v0.json new file mode 100644 index 000000000..e76ddfbd1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.HellHound.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.HellHound" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Hydra.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Hydra.v0.json new file mode 100644 index 000000000..b6ece9987 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Hydra.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Hydra" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.IceElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.IceElemental.v0.json new file mode 100644 index 000000000..89dcb0de4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.IceElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.IceElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Ilhenir.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Ilhenir.v0.json new file mode 100644 index 000000000..2e17ccd25 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Ilhenir.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Ilhenir" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Impaler.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Impaler.v0.json new file mode 100644 index 000000000..f95783284 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Impaler.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Impaler" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.InsaneDryad.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.InsaneDryad.v0.json new file mode 100644 index 000000000..ec85cf1be --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.InsaneDryad.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.InsaneDryad" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.InterredGrizzle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.InterredGrizzle.v0.json new file mode 100644 index 000000000..a1ff7eb96 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.InterredGrizzle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.InterredGrizzle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Irk.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Irk.v0.json new file mode 100644 index 000000000..f8b709d09 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Irk.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Irk" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.JukaLord.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.JukaLord.v0.json new file mode 100644 index 000000000..49ae4a78f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.JukaLord.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.JukaLord" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.JukaMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.JukaMage.v0.json new file mode 100644 index 000000000..5414cc0c8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.JukaMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.JukaMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.JukaWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.JukaWarrior.v0.json new file mode 100644 index 000000000..f21162a93 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.JukaWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.JukaWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Kappa.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Kappa.v0.json new file mode 100644 index 000000000..9948c1221 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Kappa.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Kappa" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.KazeKemono.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.KazeKemono.v0.json new file mode 100644 index 000000000..e2ccea6b7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.KazeKemono.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.KazeKemono" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Kraken.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Kraken.v0.json new file mode 100644 index 000000000..0074d3c24 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Kraken.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Kraken" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LadyJennifyr.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LadyJennifyr.v0.json new file mode 100644 index 000000000..e11b7589d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LadyJennifyr.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LadyJennifyr" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LadyLissith.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LadyLissith.v0.json new file mode 100644 index 000000000..562ff6ce0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LadyLissith.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LadyLissith" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LadyMarai.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LadyMarai.v0.json new file mode 100644 index 000000000..a0ff2791a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LadyMarai.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LadyMarai" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LadyOfTheSnow.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LadyOfTheSnow.v0.json new file mode 100644 index 000000000..1417b5b3e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LadyOfTheSnow.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LadyOfTheSnow" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LadySabrix.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LadySabrix.v0.json new file mode 100644 index 000000000..d5b55fb04 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LadySabrix.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LadySabrix" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Leviathan.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Leviathan.v0.json new file mode 100644 index 000000000..b11a3cb07 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Leviathan.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Leviathan" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Lizardman.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Lizardman.v0.json new file mode 100644 index 000000000..e50b24ee4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Lizardman.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Lizardman" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Lurg.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Lurg.v0.json new file mode 100644 index 000000000..81ce9c801 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Lurg.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Lurg" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MLDryad.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MLDryad.v0.json new file mode 100644 index 000000000..5e06aafaf --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MLDryad.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MLDryad" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Malefic.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Malefic.v0.json new file mode 100644 index 000000000..14495530c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Malefic.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Malefic" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MantraEffervescence.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MantraEffervescence.v0.json new file mode 100644 index 000000000..2e8be9d27 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MantraEffervescence.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MantraEffervescence" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MasterJonath.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MasterJonath.v0.json new file mode 100644 index 000000000..073d2fad0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MasterJonath.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MasterJonath" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MasterMikael.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MasterMikael.v0.json new file mode 100644 index 000000000..93e294726 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MasterMikael.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MasterMikael" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MasterTheophilus.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MasterTheophilus.v0.json new file mode 100644 index 000000000..79b7bb9ca --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MasterTheophilus.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MasterTheophilus" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MeerCaptain.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MeerCaptain.v0.json new file mode 100644 index 000000000..86bdd248a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MeerCaptain.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MeerCaptain" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MeerEternal.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MeerEternal.v0.json new file mode 100644 index 000000000..cacbbed6a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MeerEternal.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MeerEternal" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MeerMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MeerMage.v0.json new file mode 100644 index 000000000..b0c3d091b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MeerMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MeerMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MeerWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MeerWarrior.v0.json new file mode 100644 index 000000000..865ddecb7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MeerWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MeerWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Meraktus.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Meraktus.v0.json new file mode 100644 index 000000000..b5a5e20dd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Meraktus.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Meraktus" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Miasma.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Miasma.v0.json new file mode 100644 index 000000000..4f4fcbb22 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Miasma.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Miasma" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Minotaur.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Minotaur.v0.json new file mode 100644 index 000000000..73ce73453 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Minotaur.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Minotaur" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MinotaurCaptain.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MinotaurCaptain.v0.json new file mode 100644 index 000000000..521187a12 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MinotaurCaptain.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MinotaurCaptain" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MinotaurScout.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MinotaurScout.v0.json new file mode 100644 index 000000000..0d93ba6fb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MinotaurScout.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MinotaurScout" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MougGuur.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MougGuur.v0.json new file mode 100644 index 000000000..a09ad0a78 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MougGuur.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MougGuur" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.MoundOfMaggots.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.MoundOfMaggots.v0.json new file mode 100644 index 000000000..809fa3a33 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.MoundOfMaggots.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.MoundOfMaggots" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Oni.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Oni.v0.json new file mode 100644 index 000000000..053e0c850 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Oni.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Oni" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OphidianArchmage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OphidianArchmage.v0.json new file mode 100644 index 000000000..a0aa1e5b2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OphidianArchmage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OphidianArchmage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OphidianKnight.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OphidianKnight.v0.json new file mode 100644 index 000000000..00e67cd4c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OphidianKnight.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OphidianKnight" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OphidianMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OphidianMage.v0.json new file mode 100644 index 000000000..be62434f4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OphidianMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OphidianMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OphidianMatriarch.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OphidianMatriarch.v0.json new file mode 100644 index 000000000..bdb7d67e1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OphidianMatriarch.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OphidianMatriarch" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OphidianWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OphidianWarrior.v0.json new file mode 100644 index 000000000..97dc007de --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OphidianWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OphidianWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PatchworkSkeleton.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PatchworkSkeleton.v0.json new file mode 100644 index 000000000..85a4012d4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PatchworkSkeleton.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PatchworkSkeleton" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PestilentBandage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PestilentBandage.v0.json new file mode 100644 index 000000000..038fe5465 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PestilentBandage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PestilentBandage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Pixie.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Pixie.v0.json new file mode 100644 index 000000000..1974715ba --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Pixie.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Pixie" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeast.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeast.v0.json new file mode 100644 index 000000000..6c1c811a7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeast.v0.json @@ -0,0 +1,30 @@ +{ + "version": 0, + "type": "Server.Mobiles.PlagueBeast", + "properties": [ + { + "name": "HasMetalChest", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "TotalDevoured", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "DevourGoal", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeastLord.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeastLord.v0.json new file mode 100644 index 000000000..903181063 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PlagueBeastLord.v0.json @@ -0,0 +1,35 @@ +{ + "version": 0, + "type": "Server.Mobiles.PlagueBeastLord", + "properties": [ + { + "name": "Count", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "Deadline", + "type": "int", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "IsNotNullTimer", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + }, + { + "name": "OpenedBy", + "type": "Server.Mobile", + "rule": "SerializableInterfaceMigrationRule" + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PlagueSpawn.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PlagueSpawn.v0.json new file mode 100644 index 000000000..6fa3f5062 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PlagueSpawn.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PlagueSpawn" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.PoisonElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.PoisonElemental.v0.json new file mode 100644 index 000000000..f6db4c8e4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.PoisonElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.PoisonElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Protector.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Protector.v0.json new file mode 100644 index 000000000..72a5cab1f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Protector.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Protector" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Putrefier.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Putrefier.v0.json new file mode 100644 index 000000000..6c9c9c7ee --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Putrefier.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Putrefier" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Pyre.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Pyre.v0.json new file mode 100644 index 000000000..b6416d8d2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Pyre.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Pyre" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Quagmire.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Quagmire.v0.json new file mode 100644 index 000000000..446da4cee --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Quagmire.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Quagmire" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RagingGrizzlyBear.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RagingGrizzlyBear.v0.json new file mode 100644 index 000000000..790d94d3e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RagingGrizzlyBear.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RagingGrizzlyBear" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RaiJu.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RaiJu.v0.json new file mode 100644 index 000000000..0f303176c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RaiJu.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RaiJu" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Ravager.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Ravager.v0.json new file mode 100644 index 000000000..7a7d7bcb7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Ravager.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Ravager" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Reaper.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Reaper.v0.json new file mode 100644 index 000000000..32d999541 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Reaper.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Reaper" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedDeath.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedDeath.v0.json new file mode 100644 index 000000000..e659b622c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedDeath.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedDeath" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorQueen.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorQueen.v0.json new file mode 100644 index 000000000..52458c7a1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorQueen.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedSolenInfiltratorQueen" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorWarrior.v0.json new file mode 100644 index 000000000..c1e139f96 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenInfiltratorWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedSolenInfiltratorWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedSolenQueen.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenQueen.v0.json new file mode 100644 index 000000000..82505b78d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenQueen.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedSolenQueen", + "properties": [ + { + "name": "BurstSac", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWarrior.v0.json new file mode 100644 index 000000000..a78df2e19 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWarrior.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedSolenWarrior", + "properties": [ + { + "name": "BurstSac", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWorker.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWorker.v0.json new file mode 100644 index 000000000..408f5c538 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RedSolenWorker.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RedSolenWorker" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Rend.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Rend.v0.json new file mode 100644 index 000000000..e6e7af1a1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Rend.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Rend" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Reptalon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Reptalon.v0.json new file mode 100644 index 000000000..10cf2c8a4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Reptalon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Reptalon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Revenant.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Revenant.v0.json new file mode 100644 index 000000000..f627f3a86 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Revenant.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Revenant" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RevenantLion.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RevenantLion.v0.json new file mode 100644 index 000000000..14ce3aafe --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RevenantLion.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RevenantLion" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Ronin.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Ronin.v0.json new file mode 100644 index 000000000..aa4a2bd9b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Ronin.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Ronin" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RuneBeetle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RuneBeetle.v0.json new file mode 100644 index 000000000..fc5f0bcb7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RuneBeetle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RuneBeetle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Saliva.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Saliva.v0.json new file mode 100644 index 000000000..4b6e7c9ed --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Saliva.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Saliva" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SandVortex.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SandVortex.v0.json new file mode 100644 index 000000000..ec7a8051f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SandVortex.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SandVortex" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Satyr.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Satyr.v0.json new file mode 100644 index 000000000..f414fc924 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Satyr.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Satyr" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Scorpion.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Scorpion.v0.json new file mode 100644 index 000000000..5fef91778 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Scorpion.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Scorpion" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SeaSerpent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SeaSerpent.v0.json new file mode 100644 index 000000000..468f7ac45 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SeaSerpent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SeaSerpent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SerpentineDragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SerpentineDragon.v0.json new file mode 100644 index 000000000..967172ae7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SerpentineDragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SerpentineDragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ShadowIronElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ShadowIronElemental.v0.json new file mode 100644 index 000000000..40e285a5f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ShadowIronElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ShadowIronElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ShadowKnight.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ShadowKnight.v0.json new file mode 100644 index 000000000..b0afe4f32 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ShadowKnight.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ShadowKnight" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ShadowWisp.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ShadowWisp.v0.json new file mode 100644 index 000000000..072f3f60b --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ShadowWisp.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ShadowWisp" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ShadowWyrm.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ShadowWyrm.v0.json new file mode 100644 index 000000000..9e0968f3d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ShadowWyrm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ShadowWyrm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Silk.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Silk.v0.json new file mode 100644 index 000000000..8d6af9a2e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Silk.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Silk" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SirPatrick.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SirPatrick.v0.json new file mode 100644 index 000000000..97197f467 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SirPatrick.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SirPatrick" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SkeletalDragon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalDragon.v0.json new file mode 100644 index 000000000..a2c0dd1e3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalDragon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SkeletalDragon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SkitteringHopper.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SkitteringHopper.v0.json new file mode 100644 index 000000000..06d7991e8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SkitteringHopper.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SkitteringHopper" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Slime.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Slime.v0.json new file mode 100644 index 000000000..6f81b6619 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Slime.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Slime" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SnowElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SnowElemental.v0.json new file mode 100644 index 000000000..f4e5de124 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SnowElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SnowElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Spite.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Spite.v0.json new file mode 100644 index 000000000..bb9bc6ea5 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Spite.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Spite" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Squirrel.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Squirrel.v0.json new file mode 100644 index 000000000..8997c8186 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Squirrel.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Squirrel" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.StainedOoze.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.StainedOoze.v0.json new file mode 100644 index 000000000..1a6c077ac --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.StainedOoze.v0.json @@ -0,0 +1,14 @@ +{ + "version": 0, + "type": "Server.Mobiles.StainedOoze", + "properties": [ + { + "name": "Corrosive", + "type": "bool", + "rule": "PrimitiveTypeMigrationRule", + "ruleArguments": [ + "" + ] + } + ] +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.StoneHarpy.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.StoneHarpy.v0.json new file mode 100644 index 000000000..e0026d61d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.StoneHarpy.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.StoneHarpy" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SummonedAirElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SummonedAirElemental.v0.json new file mode 100644 index 000000000..3dd2a5673 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SummonedAirElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SummonedAirElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SummonedDaemon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SummonedDaemon.v0.json new file mode 100644 index 000000000..2d7700dcd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SummonedDaemon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SummonedDaemon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SummonedEarthElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SummonedEarthElemental.v0.json new file mode 100644 index 000000000..e9900385c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SummonedEarthElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SummonedEarthElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SummonedFireElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SummonedFireElemental.v0.json new file mode 100644 index 000000000..1db0e81da --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SummonedFireElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SummonedFireElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SummonedWaterElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SummonedWaterElemental.v0.json new file mode 100644 index 000000000..29662337f --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SummonedWaterElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SummonedWaterElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SwampTentacle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SwampTentacle.v0.json new file mode 100644 index 000000000..ad75424af --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SwampTentacle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SwampTentacle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Swoop.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Swoop.v0.json new file mode 100644 index 000000000..b041f0413 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Swoop.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Swoop" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Szavetra.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Szavetra.v0.json new file mode 100644 index 000000000..2a8d9b1f3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Szavetra.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Szavetra" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Tangle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Tangle.v0.json new file mode 100644 index 000000000..6f37da68a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Tangle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Tangle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TerathanAvenger.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TerathanAvenger.v0.json new file mode 100644 index 000000000..5cc5cfdfa --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TerathanAvenger.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TerathanAvenger" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TerathanDrone.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TerathanDrone.v0.json new file mode 100644 index 000000000..5f24c7c19 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TerathanDrone.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TerathanDrone" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TerathanMatriarch.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TerathanMatriarch.v0.json new file mode 100644 index 000000000..66357d326 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TerathanMatriarch.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TerathanMatriarch" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TerathanWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TerathanWarrior.v0.json new file mode 100644 index 000000000..ee18a5bcd --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TerathanWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TerathanWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Thrasher.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Thrasher.v0.json new file mode 100644 index 000000000..2369c6a54 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Thrasher.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Thrasher" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TormentedMinotaur.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TormentedMinotaur.v0.json new file mode 100644 index 000000000..282c1f989 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TormentedMinotaur.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TormentedMinotaur" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Treefellow.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Treefellow.v0.json new file mode 100644 index 000000000..e26104020 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Treefellow.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Treefellow" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Troglodyte.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Troglodyte.v0.json new file mode 100644 index 000000000..0380bbd76 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Troglodyte.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Troglodyte" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.TsukiWolf.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.TsukiWolf.v0.json new file mode 100644 index 000000000..e3aab0620 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.TsukiWolf.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.TsukiWolf" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Twaulo.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Twaulo.v0.json new file mode 100644 index 000000000..5bc9f4879 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Twaulo.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Twaulo" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.UnfrozenMummy.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.UnfrozenMummy.v0.json new file mode 100644 index 000000000..df2bd635a --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.UnfrozenMummy.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.UnfrozenMummy" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ValoriteElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ValoriteElemental.v0.json new file mode 100644 index 000000000..d295e4cac --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ValoriteElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ValoriteElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.VampireBat.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.VampireBat.v0.json new file mode 100644 index 000000000..9c3bcf5fe --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.VampireBat.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.VampireBat" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.VeriteElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.VeriteElemental.v0.json new file mode 100644 index 000000000..a524c071d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.VeriteElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.VeriteElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Virulent.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Virulent.v0.json new file mode 100644 index 000000000..ad9c257df --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Virulent.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Virulent" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.BunnyHole.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.BunnyHole.v0.json new file mode 100644 index 000000000..e81cb11d8 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.BunnyHole.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.VorpalBunny.BunnyHole" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.v0.json new file mode 100644 index 000000000..30b81a8df --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.VorpalBunny.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.VorpalBunny" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WailingBanshee.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WailingBanshee.v0.json new file mode 100644 index 000000000..52074f4c4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WailingBanshee.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WailingBanshee" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WandererOfTheVoid.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WandererOfTheVoid.v0.json new file mode 100644 index 000000000..1613094c4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WandererOfTheVoid.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WandererOfTheVoid" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WaterElemental.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WaterElemental.v0.json new file mode 100644 index 000000000..a7aafc842 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WaterElemental.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WaterElemental" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WhippingVine.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WhippingVine.v0.json new file mode 100644 index 000000000..fa3a6088e --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WhippingVine.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WhippingVine" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.WhiteWyrm.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.WhiteWyrm.v0.json new file mode 100644 index 000000000..4f4e85158 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.WhiteWyrm.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.WhiteWyrm" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Wisp.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Wisp.v0.json new file mode 100644 index 000000000..1655b10e3 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Wisp.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Wisp" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Wyvern.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Wyvern.v0.json new file mode 100644 index 000000000..764001abb --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Wyvern.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Wyvern" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Yamandon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Yamandon.v0.json new file mode 100644 index 000000000..c563ca405 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Yamandon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Yamandon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.YomotsuElder.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuElder.v0.json new file mode 100644 index 000000000..7a6912b06 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuElder.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.YomotsuElder" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.YomotsuPriest.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuPriest.v0.json new file mode 100644 index 000000000..a7106c4e4 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuPriest.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.YomotsuPriest" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.YomotsuWarrior.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuWarrior.v0.json new file mode 100644 index 000000000..683315703 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.YomotsuWarrior.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.YomotsuWarrior" +} \ No newline at end of file diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/AbysmalHorror.cs b/Projects/UOContent/Mobiles/Monsters/AOS/AbysmalHorror.cs index c83a03e5c..c6308030f 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/AbysmalHorror.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/AbysmalHorror.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class AbysmalHorror : BaseCreature + [SerializationGenerator(0, false)] + public partial class AbysmalHorror : BaseCreature { [Constructible] public AbysmalHorror() : base(AIType.AI_Mage) @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 54; } - public AbysmalHorror(Serial serial) : base(serial) - { - } - public override string CorpseName => "an abysmal horror corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -73,22 +71,5 @@ namespace Server.Mobiles DemonKnight.DistributeArtifact(this); } } - - 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 == 357) - { - BaseSoundID = 0x451; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/BoneDemon.cs b/Projects/UOContent/Mobiles/Monsters/AOS/BoneDemon.cs index 75c9ef030..a0f1e9172 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/BoneDemon.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/BoneDemon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class BoneDemon : BaseCreature + [SerializationGenerator(0, false)] + public partial class BoneDemon : BaseCreature { [Constructible] public BoneDemon() : base(AIType.AI_Mage) @@ -39,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 44; } - public BoneDemon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bone demon corpse"; public override string DefaultName => "a bone demon"; @@ -56,17 +55,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich, 8); } - - 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/Monsters/AOS/CrystalElemental.cs b/Projects/UOContent/Mobiles/Monsters/AOS/CrystalElemental.cs index d21249ff1..fcb18a88c 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/CrystalElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/CrystalElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class CrystalElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class CrystalElemental : BaseCreature { [Constructible] public CrystalElemental() : base(AIType.AI_Mage) @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 54; } - public CrystalElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a crystal elemental corpse"; public override string DefaultName => "a crystal elemental"; @@ -59,17 +57,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); 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/Monsters/AOS/DarknightCreeper.cs b/Projects/UOContent/Mobiles/Monsters/AOS/DarknightCreeper.cs index 880b8835e..be8038c0a 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/DarknightCreeper.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/DarknightCreeper.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class DarknightCreeper : BaseCreature + [SerializationGenerator(0, false)] + public partial class DarknightCreeper : BaseCreature { [Constructible] public DarknightCreeper() : base(AIType.AI_Mage) @@ -45,10 +47,6 @@ namespace Server.Mobiles VirtualArmor = 34; } - public DarknightCreeper(Serial serial) : base(serial) - { - } - public override string CorpseName => "a darknight creeper corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -75,22 +73,5 @@ namespace Server.Mobiles DemonKnight.DistributeArtifact(this); } } - - 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 == 471) - { - BaseSoundID = 0xE0; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/DemonKnight.cs b/Projects/UOContent/Mobiles/Monsters/AOS/DemonKnight.cs index 1f1f37b8c..186963590 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/DemonKnight.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/DemonKnight.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class DemonKnight : BaseCreature + [SerializationGenerator(0, false)] + public partial class DemonKnight : BaseCreature { private static bool m_InHere; @@ -53,10 +55,6 @@ namespace Server.Mobiles VirtualArmor = 64; } - public DemonKnight(Serial serial) : base(serial) - { - } - public override string CorpseName => "a demon knight corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -284,17 +282,5 @@ namespace Server.Mobiles bone.MoveToWorld(new Point3D(x, y, z), map); } } - - 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/Monsters/AOS/Devourer.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Devourer.cs index 1055d3198..ae44a551c 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Devourer.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Devourer.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Devourer : BaseCreature + [SerializationGenerator(0, false)] + public partial class Devourer : BaseCreature { [Constructible] public Devourer() : base(AIType.AI_Mage) @@ -41,10 +44,6 @@ namespace Server.Mobiles PackNecroReg(24, 45); } - public Devourer(Serial serial) : base(serial) - { - } - public override string CorpseName => "a devourer of souls corpse"; public override string DefaultName => "a devourer of souls"; @@ -56,17 +55,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich, 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/Monsters/AOS/FleshGolem.cs b/Projects/UOContent/Mobiles/Monsters/AOS/FleshGolem.cs index 57be294ee..8fc9babc5 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/FleshGolem.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/FleshGolem.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class FleshGolem : BaseCreature + [SerializationGenerator(0, false)] + public partial class FleshGolem : BaseCreature { [Constructible] public FleshGolem() : base(AIType.AI_Melee) @@ -36,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 34; } - public FleshGolem(Serial serial) : base(serial) - { - } - public override string CorpseName => "a flesh golem corpse"; public override string DefaultName => "a flesh golem"; @@ -53,17 +51,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/Monsters/AOS/FleshRenderer.cs b/Projects/UOContent/Mobiles/Monsters/AOS/FleshRenderer.cs index f80fc7fde..0b4b939b3 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/FleshRenderer.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/FleshRenderer.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class FleshRenderer : BaseCreature + [SerializationGenerator(0, false)] + public partial class FleshRenderer : BaseCreature { [Constructible] public FleshRenderer() : base(AIType.AI_Melee) @@ -38,10 +40,6 @@ namespace Server.Mobiles VirtualArmor = 24; } - public FleshRenderer(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fleshrenderer corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -83,22 +81,5 @@ namespace Server.Mobiles public override int GetIdleSound() => 0x34C; public override int GetDeathSound() => 0x354; - - 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 == 660) - { - BaseSoundID = -1; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/Gibberling.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Gibberling.cs index b0eac7a40..8f4d2ea6b 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Gibberling.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Gibberling.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Gibberling : BaseCreature + [SerializationGenerator(0, false)] + public partial class Gibberling : BaseCreature { [Constructible] public Gibberling() : base(AIType.AI_Melee) @@ -38,10 +40,6 @@ namespace Server.Mobiles VirtualArmor = 27; } - public Gibberling(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gibberling corpse"; public override string DefaultName => "a gibberling"; @@ -54,17 +52,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/Monsters/AOS/GoreFiend.cs b/Projects/UOContent/Mobiles/Monsters/AOS/GoreFiend.cs index 2eaa2318f..7666e0d79 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/GoreFiend.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/GoreFiend.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class GoreFiend : BaseCreature + [SerializationGenerator(0, false)] + public partial class GoreFiend : BaseCreature { [Constructible] public GoreFiend() : base(AIType.AI_Melee) @@ -35,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 24; } - public GoreFiend(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gore fiend corpse"; public override string DefaultName => "a gore fiend"; @@ -50,17 +49,5 @@ namespace Server.Mobiles } public override int GetDeathSound() => 1218; - - 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/Monsters/AOS/Impaler.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Impaler.cs index f4eb46b21..bf7dfe207 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Impaler.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Impaler.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Impaler : BaseCreature + [SerializationGenerator(0, false)] + public partial class Impaler : BaseCreature { [Constructible] public Impaler() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 49; } - public Impaler(Serial serial) : base(serial) - { - } - public override string CorpseName => "an impaler corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -74,22 +72,5 @@ namespace Server.Mobiles DemonKnight.DistributeArtifact(this); } } - - 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 == 1200) - { - BaseSoundID = 0x2A7; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/MoundOfMaggots.cs b/Projects/UOContent/Mobiles/Monsters/AOS/MoundOfMaggots.cs index 1e2a1321b..3d73f7a11 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/MoundOfMaggots.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/MoundOfMaggots.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MoundOfMaggots : BaseCreature + [SerializationGenerator(0, false)] + public partial class MoundOfMaggots : BaseCreature { [Constructible] public MoundOfMaggots() : base(AIType.AI_Melee) @@ -31,10 +34,6 @@ namespace Server.Mobiles VirtualArmor = 24; } - public MoundOfMaggots(Serial serial) : base(serial) - { - } - public override string CorpseName => "a maggoty corpse"; public override string DefaultName => "a mound of maggots"; @@ -47,17 +46,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); AddLoot(LootPack.Gems); } - - 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/Monsters/AOS/PatchworkSkeleton.cs b/Projects/UOContent/Mobiles/Monsters/AOS/PatchworkSkeleton.cs index ea05afe33..212461f05 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/PatchworkSkeleton.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/PatchworkSkeleton.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class PatchworkSkeleton : BaseCreature + [SerializationGenerator(0, false)] + public partial class PatchworkSkeleton : BaseCreature { [Constructible] public PatchworkSkeleton() : base(AIType.AI_Melee) @@ -37,10 +39,6 @@ namespace Server.Mobiles VirtualArmor = 54; } - public PatchworkSkeleton(Serial serial) : base(serial) - { - } - public override string CorpseName => "a patchwork skeletal corpse"; public override string DefaultName => "a patchwork skeleton"; @@ -56,17 +54,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/Monsters/AOS/Ravager.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Ravager.cs index 9c36f22b0..7efd9c6f9 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Ravager.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Ravager.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Ravager : BaseCreature + [SerializationGenerator(0, false)] + public partial class Ravager : BaseCreature { [Constructible] public Ravager() : base(AIType.AI_Melee) @@ -36,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 54; } - public Ravager(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ravager corpse"; public override string DefaultName => "a ravager"; @@ -51,17 +49,5 @@ namespace Server.Mobiles { 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/Monsters/AOS/Revenant.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Revenant.cs index 52d8ea97f..44105e9e5 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Revenant.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Revenant.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class Revenant : BaseCreature + [SerializationGenerator(0, false)] + public partial class Revenant : BaseCreature { private readonly DateTime m_ExpireTime; private readonly Mobile m_Target; @@ -55,10 +57,6 @@ namespace Server.Mobiles AddItem(new Halberd { Hue = 1, Movable = false }); } - public Revenant(Serial serial) : base(serial) - { - } - public override Mobile ConstantFocus => m_Target; public override bool NoHouseRestrictions => true; @@ -175,19 +173,9 @@ namespace Server.Mobiles return false; } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization(false)] + private void AfterDeserialization() { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - Delete(); } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/ShadowKnight.cs b/Projects/UOContent/Mobiles/Monsters/AOS/ShadowKnight.cs index 762b4c371..ae32772ca 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/ShadowKnight.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/ShadowKnight.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class ShadowKnight : BaseCreature + [SerializationGenerator(0, false)] + public partial class ShadowKnight : BaseCreature { private bool m_HasTeleportedAway; @@ -48,10 +50,6 @@ namespace Server.Mobiles VirtualArmor = 54; } - public ShadowKnight(Serial serial) : base(serial) - { - } - public override string CorpseName => "a shadow knight corpse"; public override bool IgnoreYoungProtection => Core.ML; @@ -182,22 +180,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(); - - if (BaseSoundID == 357) - { - BaseSoundID = -1; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/SkitteringHopper.cs b/Projects/UOContent/Mobiles/Monsters/AOS/SkitteringHopper.cs index a8552f711..a89c5ab15 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/SkitteringHopper.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/SkitteringHopper.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SkitteringHopper : BaseCreature + [SerializationGenerator(0, false)] + public partial class SkitteringHopper : BaseCreature { [Constructible] public SkitteringHopper() : base(AIType.AI_Melee, FightMode.Aggressor) @@ -36,10 +39,6 @@ namespace Server.Mobiles VirtualArmor = 12; } - public SkitteringHopper(Serial serial) : base(serial) - { - } - public override string CorpseName => "a skittering hopper corpse"; public override string DefaultName => "a skittering hopper"; @@ -49,17 +48,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/Monsters/AOS/Treefellow.cs b/Projects/UOContent/Mobiles/Monsters/AOS/Treefellow.cs index 8c4aa6082..1cb09e6b9 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/Treefellow.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/Treefellow.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Treefellow : BaseCreature + [SerializationGenerator(0, false)] + public partial class Treefellow : BaseCreature { [Constructible] public Treefellow() : base(AIType.AI_Melee, FightMode.Evil) @@ -35,10 +37,6 @@ namespace Server.Mobiles PackItem(new Log(Utility.RandomMinMax(23, 34))); } - public Treefellow(Serial serial) : base(serial) - { - } - public override string CorpseName => "a treefellow corpse"; public override string DefaultName => "a treefellow"; @@ -59,22 +57,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 == 442) - { - BaseSoundID = -1; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/AOS/VampireBat.cs b/Projects/UOContent/Mobiles/Monsters/AOS/VampireBat.cs index d2ea234fb..ccea2deba 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/VampireBat.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/VampireBat.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class VampireBat : BaseCreature + [SerializationGenerator(0, false)] + public partial class VampireBat : BaseCreature { [Constructible] public VampireBat() : base(AIType.AI_Melee) @@ -35,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 14; } - public VampireBat(Serial serial) : base(serial) - { - } - public override string CorpseName => "a vampire bat corpse"; public override string DefaultName => "a vampire bat"; @@ -48,17 +47,5 @@ namespace Server.Mobiles } public override int GetIdleSound() => 0x29B; - - 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/Monsters/AOS/WailingBanshee.cs b/Projects/UOContent/Mobiles/Monsters/AOS/WailingBanshee.cs index 0f1a447cd..866472970 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/WailingBanshee.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/WailingBanshee.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class WailingBanshee : BaseCreature + [SerializationGenerator(0, false)] + public partial class WailingBanshee : BaseCreature { [Constructible] public WailingBanshee() : base(AIType.AI_Melee) @@ -38,10 +40,6 @@ namespace Server.Mobiles VirtualArmor = 19; } - public WailingBanshee(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wailing banshee corpse"; public override string DefaultName => "a wailing banshee"; @@ -54,17 +52,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/Monsters/AOS/WandererOfTheVoid.cs b/Projects/UOContent/Mobiles/Monsters/AOS/WandererOfTheVoid.cs index 8e3082de1..0125899cf 100644 --- a/Projects/UOContent/Mobiles/Monsters/AOS/WandererOfTheVoid.cs +++ b/Projects/UOContent/Mobiles/Monsters/AOS/WandererOfTheVoid.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class WandererOfTheVoid : BaseCreature + [SerializationGenerator(0, false)] + public partial class WandererOfTheVoid : BaseCreature { [Constructible] public WandererOfTheVoid() : base(AIType.AI_Mage) @@ -48,10 +50,6 @@ namespace Server.Mobiles } } - public WandererOfTheVoid(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wanderer of the void corpse"; public override string DefaultName => "a wanderer of the void"; @@ -63,17 +61,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich); } - - 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/Monsters/Ants/AntLion.cs b/Projects/UOContent/Mobiles/Monsters/Ants/AntLion.cs index 47c4882a6..efaa0990f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/AntLion.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/AntLion.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class AntLion : BaseCreature + [SerializationGenerator(0, false)] + public partial class AntLion : BaseCreature { [Constructible] public AntLion() : base(AIType.AI_Melee) @@ -59,11 +61,6 @@ namespace Server.Mobiles // TODO: skeleton } - - public AntLion(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ant lion corpse"; public override string DefaultName => "an ant lion"; @@ -81,17 +78,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Average, 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/Monsters/Ants/BlackSolenInfiltratorQueen.cs b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorQueen.cs index 7d2bd5d5e..6450f86bb 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorQueen.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorQueen.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class BlackSolenInfiltratorQueen : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackSolenInfiltratorQueen : BaseCreature { [Constructible] public BlackSolenInfiltratorQueen() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus(Utility.RandomDouble() < 0.05 ? 16 : 4)); } - public BlackSolenInfiltratorQueen(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen infiltrator corpse"; public override string DefaultName => "a black solen infiltrator"; @@ -80,17 +78,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Ants/BlackSolenInfiltratorWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorWarrior.cs index 9e2c8ed18..7e660294d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenInfiltratorWarrior.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class BlackSolenInfiltratorWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackSolenInfiltratorWarrior : BaseCreature { [Constructible] public BlackSolenInfiltratorWarrior() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus(Utility.RandomDouble() < 0.05 ? 13 : 3)); } - public BlackSolenInfiltratorWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen infiltrator corpse"; public override string DefaultName => "a black solen infiltrator"; @@ -81,17 +79,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Ants/BlackSolenQueen.cs b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenQueen.cs index d0458d803..450cebfdb 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenQueen.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenQueen.cs @@ -1,10 +1,16 @@ +using ModernUO.Serialization; +using Org.BouncyCastle.Security; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class BlackSolenQueen : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackSolenQueen : BaseCreature { + [SerializableField(0, setter: "private")] + private bool _burstSac; + [Constructible] public BlackSolenQueen() : base(AIType.AI_Melee) { @@ -48,12 +54,7 @@ namespace Server.Mobiles } } - public BlackSolenQueen(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen queen corpse"; - public bool BurstSac { get; private set; } public override string DefaultName => "a black solen queen"; @@ -111,27 +112,5 @@ namespace Server.Mobiles return base.OnBeforeDeath(); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(1); - writer.Write(BurstSac); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - BurstSac = reader.ReadBool(); - break; - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWarrior.cs index 341c9fc51..9f733bb3d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWarrior.cs @@ -1,10 +1,15 @@ +using ModernUO.Serialization; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class BlackSolenWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackSolenWarrior : BaseCreature { + [SerializableField(0, setter: "private")] + private bool _burstSac; + [Constructible] public BlackSolenWarrior() : base(AIType.AI_Melee) { @@ -48,12 +53,7 @@ namespace Server.Mobiles } } - public BlackSolenWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen warrior corpse"; - public bool BurstSac { get; private set; } public override string DefaultName => "a black solen warrior"; @@ -112,27 +112,5 @@ namespace Server.Mobiles return base.OnBeforeDeath(); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(1); - writer.Write(BurstSac); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - BurstSac = reader.ReadBool(); - break; - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWorker.cs b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWorker.cs index 3ab873c82..2f766bc59 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWorker.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/BlackSolenWorker.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class BlackSolenWorker : BaseCreature + [SerializationGenerator(0, false)] + public partial class BlackSolenWorker : BaseCreature { [Constructible] public BlackSolenWorker() : base(AIType.AI_Melee) @@ -43,10 +45,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus()); } - public BlackSolenWorker(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen worker corpse"; public override string DefaultName => "a black solen worker"; @@ -81,17 +79,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Ants/RedSolenInfiltratorQueen.cs b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorQueen.cs index 6d9dc70ff..982407f69 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorQueen.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorQueen.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class RedSolenInfiltratorQueen : BaseCreature + [SerializationGenerator(0, false)] + public partial class RedSolenInfiltratorQueen : BaseCreature { [Constructible] public RedSolenInfiltratorQueen() : base(AIType.AI_Melee) @@ -41,10 +43,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus(Utility.RandomDouble() < 0.95 ? 4 : 16)); } - public RedSolenInfiltratorQueen(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen infiltrator corpse"; public override string DefaultName => "a red solen infiltrator"; @@ -79,17 +77,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Ants/RedSolenInfiltratorWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorWarrior.cs index acb004dc0..a00731f31 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenInfiltratorWarrior.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class RedSolenInfiltratorWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class RedSolenInfiltratorWarrior : BaseCreature { [Constructible] public RedSolenInfiltratorWarrior() : base(AIType.AI_Melee) @@ -41,10 +43,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus(Utility.RandomDouble() < 0.95 ? 3 : 13)); } - public RedSolenInfiltratorWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen infiltrator corpse"; public override string DefaultName => "a red solen infiltrator"; @@ -80,17 +78,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Ants/RedSolenQueen.cs b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenQueen.cs index 18649d8c4..99a2b9cf4 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenQueen.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenQueen.cs @@ -1,10 +1,15 @@ +using ModernUO.Serialization; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class RedSolenQueen : BaseCreature + [SerializationGenerator(0, false)] + public partial class RedSolenQueen : BaseCreature { + [SerializableField(0, setter: "private")] + private bool _burstSac; + [Constructible] public RedSolenQueen() : base(AIType.AI_Melee) { @@ -47,12 +52,7 @@ namespace Server.Mobiles } } - public RedSolenQueen(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen queen corpse"; - public bool BurstSac { get; private set; } public override string DefaultName => "a red solen queen"; @@ -110,27 +110,5 @@ namespace Server.Mobiles return base.OnBeforeDeath(); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(1); - writer.Write(BurstSac); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - BurstSac = reader.ReadBool(); - break; - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWarrior.cs index 172f585d3..acc57c46e 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWarrior.cs @@ -1,10 +1,15 @@ +using ModernUO.Serialization; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class RedSolenWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class RedSolenWarrior : BaseCreature { + [SerializableField(0, setter: "private")] + private bool _burstSac; + [Constructible] public RedSolenWarrior() : base(AIType.AI_Melee) { @@ -46,12 +51,7 @@ namespace Server.Mobiles } } - public RedSolenWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen warrior corpse"; - public bool BurstSac { get; private set; } public override string DefaultName => "a red solen warrior"; @@ -110,27 +110,5 @@ namespace Server.Mobiles return base.OnBeforeDeath(); } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(1); - writer.Write(BurstSac); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - BurstSac = reader.ReadBool(); - break; - } - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWorker.cs b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWorker.cs index 6443c286b..ac0575fb7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWorker.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ants/RedSolenWorker.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class RedSolenWorker : BaseCreature + [SerializationGenerator(0, false)] + public partial class RedSolenWorker : BaseCreature { [Constructible] public RedSolenWorker() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new ZoogiFungus()); } - public RedSolenWorker(Serial serial) : base(serial) - { - } - public override string CorpseName => "a solen worker corpse"; public override string DefaultName => "a red solen worker"; @@ -80,17 +78,5 @@ namespace Server.Mobiles base.OnDamage(amount, from, willKill); } - - 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/Monsters/Arachnid/Magic/DreadSpider.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/DreadSpider.cs index 794b52aab..85612987f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/DreadSpider.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/DreadSpider.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class DreadSpider : BaseCreature + [SerializationGenerator(0, false)] + public partial class DreadSpider : BaseCreature { [Constructible] public DreadSpider() : base(AIType.AI_Mage) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new SpidersSilk(8)); } - public DreadSpider(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dread spider corpse"; public override string DefaultName => "a dread spider"; @@ -57,22 +55,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich); } - - 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 == 263) - { - BaseSoundID = 1170; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanAvenger.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanAvenger.cs index 7bac271bc..21de095ac 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanAvenger.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanAvenger.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class TerathanAvenger : BaseCreature + [SerializationGenerator(0, false)] + public partial class TerathanAvenger : BaseCreature { [Constructible] public TerathanAvenger() : base(AIType.AI_Mage) @@ -39,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 50; } - public TerathanAvenger(Serial serial) : base(serial) - { - } - public override string CorpseName => "a terathan avenger corpse"; public override string DefaultName => "a terathan avenger"; @@ -57,22 +56,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Rich, 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 == 263) - { - BaseSoundID = 0x24D; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanMatriarch.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanMatriarch.cs index 29a77e6fa..989908c6f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanMatriarch.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Magic/TerathanMatriarch.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class TerathanMatriarch : BaseCreature + [SerializationGenerator(0, false)] + public partial class TerathanMatriarch : BaseCreature { [Constructible] public TerathanMatriarch() : base(AIType.AI_Mage) @@ -39,10 +41,6 @@ namespace Server.Mobiles PackNecroReg(Utility.RandomMinMax(4, 10)); } - public TerathanMatriarch(Serial serial) : base(serial) - { - } - public override string CorpseName => "a terathan matriarch corpse"; public override string DefaultName => "a terathan matriarch"; @@ -57,17 +55,5 @@ namespace Server.Mobiles AddLoot(LootPack.MedScrolls, 2); AddLoot(LootPack.Potions); } - - 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/Monsters/Arachnid/Melee/FrostSpider.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/FrostSpider.cs index 2c551f41c..f9a84f9db 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/FrostSpider.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/FrostSpider.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class FrostSpider : BaseCreature + [SerializationGenerator(0, false)] + public partial class FrostSpider : BaseCreature { [Constructible] public FrostSpider() : base(AIType.AI_Melee) @@ -44,10 +46,6 @@ namespace Server.Mobiles PackItem(new SpidersSilk(7)); } - public FrostSpider(Serial serial) : base(serial) - { - } - public override string CorpseName => "a frost spider corpse"; public override string DefaultName => "a frost spider"; @@ -59,22 +57,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); 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(); - - if (BaseSoundID == 387) - { - BaseSoundID = 0x388; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantBlackWidow.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantBlackWidow.cs index 26d69c88a..0930c09f8 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantBlackWidow.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantBlackWidow.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class GiantBlackWidow : BaseCreature + [SerializationGenerator(0, false)] + public partial class GiantBlackWidow : BaseCreature { [Constructible] public GiantBlackWidow() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new LesserPoisonPotion()); } - public GiantBlackWidow(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant black widow spider corpse"; public override string DefaultName => "a giant black wide"; @@ -57,17 +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/Monsters/Arachnid/Melee/GiantSpider.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantSpider.cs index 1b967de50..e23672f9f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantSpider.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/GiantSpider.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class GiantSpider : BaseCreature + [SerializationGenerator(0, false)] + public partial class GiantSpider : BaseCreature { [Constructible] public GiantSpider() : base(AIType.AI_Melee) @@ -41,10 +43,6 @@ namespace Server.Mobiles PackItem(new SpidersSilk(5)); } - public GiantSpider(Serial serial) : base(serial) - { - } - public override string CorpseName => "a giant spider corpse"; public override string DefaultName => "a giant spider"; @@ -57,17 +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/Monsters/Arachnid/Melee/TerathanDrone.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanDrone.cs index 6d6b107b0..30e0bed03 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanDrone.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanDrone.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class TerathanDrone : BaseCreature + [SerializationGenerator(0, false)] + public partial class TerathanDrone : BaseCreature { [Constructible] public TerathanDrone() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(new SpidersSilk(2)); } - public TerathanDrone(Serial serial) : base(serial) - { - } - public override string CorpseName => "a terathan drone corpse"; public override string DefaultName => "a terathan drone"; @@ -56,22 +54,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); // TODO: weapon? } - - 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 == 589) - { - BaseSoundID = 594; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs index b26d22a95..c24d1a8d0 100644 --- a/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Engines.Plants; namespace Server.Mobiles { - public class TerathanWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class TerathanWarrior : BaseCreature { [Constructible] public TerathanWarrior() : base(AIType.AI_Melee) @@ -43,10 +45,6 @@ namespace Server.Mobiles } } - public TerathanWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a terathan warrior corpse"; public override string DefaultName => "a terathan warrior"; @@ -59,17 +57,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/Monsters/Elemental/Magic/AcidElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AcidElemental.cs index 32377ffd4..f84c64849 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AcidElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AcidElemental.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.ToxicElemental")] - public class AcidElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class AcidElemental : BaseCreature { [Constructible] public AcidElemental() : base(AIType.AI_Mage) @@ -40,11 +43,6 @@ namespace Server.Mobiles VirtualArmor = 40; } - public AcidElemental(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an acid elemental corpse"; public override string DefaultName => "an acid elemental"; @@ -59,32 +57,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); 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 == 263) - { - BaseSoundID = 278; - } - - if (Body == 13) - { - Body = 0x9E; - } - - if (Hue == 0x4001) - { - Hue = 0; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AirElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AirElemental.cs index fc9a25a53..c50564901 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AirElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/AirElemental.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class AirElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class AirElemental : BaseCreature { [Constructible] public AirElemental() : base(AIType.AI_Mage) @@ -40,10 +43,6 @@ namespace Server.Mobiles ControlSlots = 2; } - public AirElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an air elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; @@ -60,22 +59,5 @@ namespace Server.Mobiles AddLoot(LootPack.LowScrolls); AddLoot(LootPack.MedScrolls); } - - 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 == 263) - { - BaseSoundID = 655; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/BloodElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/BloodElemental.cs index d7d9ab5bc..1ea115add 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/BloodElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/BloodElemental.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class BloodElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class BloodElemental : BaseCreature { [Constructible] public BloodElemental() : base(AIType.AI_Mage) @@ -39,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 60; } - public BloodElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a blood elemental corpse"; public override string DefaultName => "a blood elemental"; @@ -53,17 +52,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/Monsters/Elemental/Magic/Efreet.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/Efreet.cs index 85a47aa8c..9a6d8ef42 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/Efreet.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/Efreet.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Efreet : BaseCreature + [SerializationGenerator(0, false)] + public partial class Efreet : BaseCreature { [Constructible] public Efreet() : base(AIType.AI_Mage) @@ -39,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 56; } - public Efreet(Serial serial) : base(serial) - { - } - public override string CorpseName => "an efreet corpse"; public override string DefaultName => "an efreet"; @@ -76,17 +74,5 @@ namespace Server.Mobiles } } } - - 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/Monsters/Elemental/Magic/FireElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/FireElemental.cs index 9549c1fe0..affa29a5a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/FireElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/FireElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class FireElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class FireElemental : BaseCreature { [Constructible] public FireElemental() : base(AIType.AI_Mage) @@ -44,10 +46,6 @@ namespace Server.Mobiles AddItem(new LightSource()); } - public FireElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fire elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; @@ -63,22 +61,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); AddLoot(LootPack.Gems); } - - 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 == 274) - { - BaseSoundID = 838; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/IceElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/IceElemental.cs index f64ff2a4d..9863af33a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/IceElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/IceElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class IceElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class IceElemental : BaseCreature { [Constructible] public IceElemental() : base(AIType.AI_Mage) @@ -41,11 +43,6 @@ namespace Server.Mobiles PackItem(new BlackPearl()); PackReg(3); } - - public IceElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ice elemental corpse"; public override string DefaultName => "an ice elemental"; public override bool BleedImmune => true; @@ -55,17 +52,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average, 2); 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/PoisonElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/PoisonElemental.cs index 4aca1fb01..bbdb9f371 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/PoisonElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/PoisonElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class PoisonElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class PoisonElemental : BaseCreature { [Constructible] public PoisonElemental() : base(AIType.AI_Mage) @@ -44,10 +46,6 @@ namespace Server.Mobiles PackItem(new LesserPoisonPotion()); } - public PoisonElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a poison elementals corpse"; public override string DefaultName => "a poison elemental"; @@ -65,17 +63,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.MedScrolls); } - - 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/Monsters/Elemental/Magic/WaterElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/WaterElemental.cs index e3df50c68..cb20ad9e8 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/WaterElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Magic/WaterElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class WaterElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class WaterElemental : BaseCreature { [Constructible] public WaterElemental() : base(AIType.AI_Mage) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(new BlackPearl(3)); } - public WaterElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a water elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; @@ -61,17 +59,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); AddLoot(LootPack.Potions); } - - 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/Monsters/Elemental/Melee/EarthElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/EarthElemental.cs index 2ac62b633..57ae60315 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/EarthElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/EarthElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class EarthElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class EarthElemental : BaseCreature { [Constructible] public EarthElemental() : base(AIType.AI_Melee) @@ -44,10 +46,6 @@ namespace Server.Mobiles PackItem(ore); } - public EarthElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an earth elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; @@ -63,17 +61,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); AddLoot(LootPack.Gems); } - - 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/Monsters/Elemental/Melee/SnowElemental.cs b/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/SnowElemental.cs index 123cac148..60005a74c 100644 --- a/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/SnowElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Elemental/Melee/SnowElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class SnowElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class SnowElemental : BaseCreature { [Constructible] public SnowElemental() : base(AIType.AI_Melee) @@ -42,10 +44,6 @@ namespace Server.Mobiles PackItem(ore); } - public SnowElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a snow elemental corpse"; public override string DefaultName => "a snow elemental"; @@ -57,17 +55,5 @@ namespace Server.Mobiles { 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/Monsters/LBR/Exodus/ExodusMinion.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusMinion.cs index d4d71edd9..fa053bc00 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusMinion.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusMinion.cs @@ -1,107 +1,94 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class ExodusMinion : BaseCreature +namespace Server.Mobiles { - [Constructible] - public ExodusMinion() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class ExodusMinion : BaseCreature { - Body = 0x2F5; - - SetStr(851, 950); - SetDex(71, 80); - SetInt(61, 90); - - SetHits(511, 570); - - SetDamage(16, 22); - - SetResistance(ResistanceType.Physical, 60, 70); - SetResistance(ResistanceType.Fire, 40, 50); - SetResistance(ResistanceType.Cold, 15, 25); - SetResistance(ResistanceType.Poison, 15, 25); - SetResistance(ResistanceType.Energy, 15, 25); - - SetSkill(SkillName.MagicResist, 90.1, 100.0); - SetSkill(SkillName.Tactics, 90.1, 100.0); - SetSkill(SkillName.Wrestling, 90.1, 100.0); - - Fame = 18000; - Karma = -18000; - VirtualArmor = 65; - - PackItem(new PowerCrystal()); - PackItem(new ArcaneGem()); - PackItem(new ClockworkAssembly()); - - switch (Utility.Random(3)) + [Constructible] + public ExodusMinion() : base(AIType.AI_Melee) { - case 0: - { - PackItem(new PowerCrystal()); - break; - } - case 1: - { - PackItem(new ArcaneGem()); - break; - } - case 2: - { - PackItem(new ClockworkAssembly()); - break; - } + Body = 0x2F5; + + SetStr(851, 950); + SetDex(71, 80); + SetInt(61, 90); + + SetHits(511, 570); + + SetDamage(16, 22); + + SetResistance(ResistanceType.Physical, 60, 70); + SetResistance(ResistanceType.Fire, 40, 50); + SetResistance(ResistanceType.Cold, 15, 25); + SetResistance(ResistanceType.Poison, 15, 25); + SetResistance(ResistanceType.Energy, 15, 25); + + SetSkill(SkillName.MagicResist, 90.1, 100.0); + SetSkill(SkillName.Tactics, 90.1, 100.0); + SetSkill(SkillName.Wrestling, 90.1, 100.0); + + Fame = 18000; + Karma = -18000; + VirtualArmor = 65; + + PackItem(new PowerCrystal()); + PackItem(new ArcaneGem()); + PackItem(new ClockworkAssembly()); + + switch (Utility.Random(3)) + { + case 0: + { + PackItem(new PowerCrystal()); + break; + } + case 1: + { + PackItem(new ArcaneGem()); + break; + } + case 2: + { + PackItem(new ClockworkAssembly()); + break; + } + } } - } - public ExodusMinion(Serial serial) : base(serial) - { - } + public override string CorpseName => "a minion's corpse"; + public override bool IsScaredOfScaryThings => false; + public override bool IsScaryToPets => true; - public override string CorpseName => "a minion's corpse"; - public override bool IsScaredOfScaryThings => false; - public override bool IsScaryToPets => true; + public override string DefaultName => "an exodus minion"; - public override string DefaultName => "an exodus minion"; + public override bool AutoDispel => true; + public override bool BardImmune => !Core.AOS; + public override Poison PoisonImmune => Poison.Lethal; - public override bool AutoDispel => true; - public override bool BardImmune => !Core.AOS; - public override Poison PoisonImmune => Poison.Lethal; + public override void GenerateLoot() + { + AddLoot(LootPack.Average); + AddLoot(LootPack.Rich); + } - public override void GenerateLoot() - { - AddLoot(LootPack.Average); - AddLoot(LootPack.Rich); - } + public override int GetIdleSound() => 0x218; - public override int GetIdleSound() => 0x218; + public override int GetAngerSound() => 0x26C; - public override int GetAngerSound() => 0x26C; + public override int GetDeathSound() => 0x211; - public override int GetDeathSound() => 0x211; + public override int GetAttackSound() => 0x232; - public override int GetAttackSound() => 0x232; + public override int GetHurtSound() => 0x140; - public override int GetHurtSound() => 0x140; + private static MonsterAbility[] _abilities = + { + // OSI changed the ability some time around UOML + Core.ML ? MonsterAbilities.EnergyBoltCounter : MonsterAbilities.MagicalBarrier + }; - private static MonsterAbility[] _abilities = - { - // OSI changed the ability some time around UOML - Core.ML ? MonsterAbilities.EnergyBoltCounter : MonsterAbilities.MagicalBarrier - }; - - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - 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 MonsterAbility[] GetMonsterAbilities() => _abilities; } } diff --git a/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusOverseer.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusOverseer.cs index 7631dd71d..324ed5006 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusOverseer.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Exodus/ExodusOverseer.cs @@ -1,96 +1,83 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class ExodusOverseer : BaseCreature +namespace Server.Mobiles { - [Constructible] - public ExodusOverseer() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class ExodusOverseer : BaseCreature { - Body = 0x2F4; - - SetStr(561, 650); - SetDex(76, 95); - SetInt(61, 90); - - SetHits(331, 390); - - SetDamage(13, 19); - - SetDamageType(ResistanceType.Physical, 50); - SetDamageType(ResistanceType.Energy, 50); - - SetResistance(ResistanceType.Physical, 45, 55); - SetResistance(ResistanceType.Fire, 40, 60); - SetResistance(ResistanceType.Cold, 25, 35); - SetResistance(ResistanceType.Poison, 25, 35); - SetResistance(ResistanceType.Energy, 25, 35); - - SetSkill(SkillName.MagicResist, 80.2, 98.0); - SetSkill(SkillName.Tactics, 80.2, 98.0); - SetSkill(SkillName.Wrestling, 80.2, 98.0); - - Fame = 10000; - Karma = -10000; - VirtualArmor = 50; - - if (Utility.Random(2) == 0) + [Constructible] + public ExodusOverseer() : base(AIType.AI_Melee) { - PackItem(new PowerCrystal()); + Body = 0x2F4; + + SetStr(561, 650); + SetDex(76, 95); + SetInt(61, 90); + + SetHits(331, 390); + + SetDamage(13, 19); + + SetDamageType(ResistanceType.Physical, 50); + SetDamageType(ResistanceType.Energy, 50); + + SetResistance(ResistanceType.Physical, 45, 55); + SetResistance(ResistanceType.Fire, 40, 60); + SetResistance(ResistanceType.Cold, 25, 35); + SetResistance(ResistanceType.Poison, 25, 35); + SetResistance(ResistanceType.Energy, 25, 35); + + SetSkill(SkillName.MagicResist, 80.2, 98.0); + SetSkill(SkillName.Tactics, 80.2, 98.0); + SetSkill(SkillName.Wrestling, 80.2, 98.0); + + Fame = 10000; + Karma = -10000; + VirtualArmor = 50; + + if (Utility.Random(2) == 0) + { + PackItem(new PowerCrystal()); + } + else + { + PackItem(new ArcaneGem()); + } } - else + + public override string CorpseName => "an overseer's corpse"; + + public override bool IsScaredOfScaryThings => false; + public override bool IsScaryToPets => true; + + public override string DefaultName => "an exodus overseer"; + + public override bool AutoDispel => true; + public override bool BardImmune => !Core.AOS; + public override Poison PoisonImmune => Poison.Lethal; + + public override void GenerateLoot() { - PackItem(new ArcaneGem()); + AddLoot(LootPack.Rich); } - } - public ExodusOverseer(Serial serial) : base(serial) - { - } + public override int GetIdleSound() => 0xFD; - public override string CorpseName => "an overseer's corpse"; + public override int GetAngerSound() => 0x26C; - public override bool IsScaredOfScaryThings => false; - public override bool IsScaryToPets => true; + public override int GetDeathSound() => 0x211; - public override string DefaultName => "an exodus overseer"; + public override int GetAttackSound() => 0x23B; - public override bool AutoDispel => true; - public override bool BardImmune => !Core.AOS; - public override Poison PoisonImmune => Poison.Lethal; + public override int GetHurtSound() => 0x140; - public override void GenerateLoot() - { - AddLoot(LootPack.Rich); - } + private static MonsterAbility[] _abilities = + { + // OSI changed the ability some time around UOML + Core.ML ? MonsterAbilities.EnergyBoltCounter : MonsterAbilities.MagicalBarrier + }; - public override int GetIdleSound() => 0xFD; - - public override int GetAngerSound() => 0x26C; - - public override int GetDeathSound() => 0x211; - - public override int GetAttackSound() => 0x23B; - - public override int GetHurtSound() => 0x140; - - private static MonsterAbility[] _abilities = - { - // OSI changed the ability some time around UOML - Core.ML ? MonsterAbilities.EnergyBoltCounter : MonsterAbilities.MagicalBarrier - }; - - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - 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 MonsterAbility[] GetMonsterAbilities() => _abilities; } } diff --git a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoon.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoon.cs index 87f1c690a..01dc8b1f9 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoon.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoon.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class ChaosDragoon : BaseCreature + [SerializationGenerator(0, false)] + public partial class ChaosDragoon : BaseCreature { [Constructible] public ChaosDragoon() : base(AIType.AI_Melee) @@ -89,10 +91,6 @@ namespace Server.Mobiles new SwampDragon().Rider = this; } - public ChaosDragoon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a chaos dragoon corpse"; public override string DefaultName => "a chaos dragoon"; @@ -138,17 +136,5 @@ namespace Server.Mobiles damage *= 3; } } - - 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/Monsters/LBR/Jukas/ChaosDragoonElite.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoonElite.cs index 486685fcc..5bea9244a 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoonElite.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/ChaosDragoonElite.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class ChaosDragoonElite : BaseCreature + [SerializationGenerator(0, false)] + public partial class ChaosDragoonElite : BaseCreature { [Constructible] public ChaosDragoonElite() : base(AIType.AI_Mage) @@ -156,17 +158,5 @@ namespace Server.Mobiles damage *= 3; } } - - 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/Monsters/LBR/Jukas/JukaLord.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaLord.cs index aac42f25e..6685790ba 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaLord.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaLord.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class JukaLord : BaseCreature + [SerializationGenerator(0, false)] + public partial class JukaLord : BaseCreature { [Constructible] public JukaLord() : base(AIType.AI_Archer, FightMode.Closest, 10, 3) @@ -54,10 +56,6 @@ namespace Server.Mobiles // TODO: Bandage self } - public JukaLord(Serial serial) : base(serial) - { - } - public override string CorpseName => "a jukan corpse"; public override string DefaultName => "a juka lord"; @@ -97,17 +95,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x1D0; public override int GetDeathSound() => 0x28D; - - 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/Monsters/LBR/Jukas/JukaMage.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaMage.cs index cbbad4177..abf2c39dc 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaMage.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; @@ -5,7 +6,8 @@ using Server.Spells; namespace Server.Mobiles { - public class JukaMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class JukaMage : BaseCreature { private DateTime m_NextAbilityTime; @@ -74,10 +76,6 @@ namespace Server.Mobiles m_NextAbilityTime = Core.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(2, 5)); } - public JukaMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a jukan corpse"; public override string DefaultName => "a juka mage"; @@ -191,17 +189,5 @@ namespace Server.Mobiles toDebuff.Hits = toDebuff.Hits; toDebuff.Stam = toDebuff.Stam; } - - 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/Monsters/LBR/Jukas/JukaWarrior.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaWarrior.cs index 419a121f3..7c972fea4 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Jukas/JukaWarrior.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class JukaWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class JukaWarrior : BaseCreature { [Constructible] public JukaWarrior() : base(AIType.AI_Melee) @@ -45,10 +47,6 @@ namespace Server.Mobiles } } - public JukaWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a jukan corpse"; public override string DefaultName => "a juka warrior"; @@ -102,17 +100,5 @@ namespace Server.Mobiles } } } - - 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/Monsters/LBR/Meers/EnragedCreatures.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/EnragedCreatures.cs index 3bf779bc5..f8ed47644 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Meers/EnragedCreatures.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/EnragedCreatures.cs @@ -1,15 +1,13 @@ +using ModernUO.Serialization; using Server.Network; namespace Server.Mobiles { - public class EnragedRabbit : BaseEnraged + [SerializationGenerator(0, false)] + public partial class EnragedRabbit : BaseEnraged { public EnragedRabbit(Mobile summoner) : base(summoner) => Body = 0xcd; - public EnragedRabbit(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hare corpse"; public override string DefaultName => "a rabbit"; @@ -18,28 +16,13 @@ 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(); - } } - public class EnragedHart : BaseEnraged + [SerializationGenerator(0, false)] + public partial class EnragedHart : BaseEnraged { public EnragedHart(Mobile summoner) : base(summoner) => Body = 0xea; - public EnragedHart(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deer corpse"; public override string DefaultName => "a great hart"; @@ -48,28 +31,13 @@ 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(); - } } - public class EnragedHind : BaseEnraged + [SerializationGenerator(0, false)] + public partial class EnragedHind : BaseEnraged { public EnragedHind(Mobile summoner) : base(summoner) => Body = 0xed; - public EnragedHind(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deer corpse"; public override string DefaultName => "a hind"; @@ -78,21 +46,10 @@ 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(); - } } - public class EnragedBlackBear : BaseEnraged + [SerializationGenerator(0, false)] + public partial class EnragedBlackBear : BaseEnraged { public EnragedBlackBear(Mobile summoner) : base(summoner) { @@ -100,27 +57,12 @@ namespace Server.Mobiles BaseSoundID = 0xa3; } - public EnragedBlackBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bear corpse"; public override string DefaultName => "a black 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(); - } } - public class EnragedEagle : BaseEnraged + [SerializationGenerator(0, false)] + public partial class EnragedEagle : BaseEnraged { public EnragedEagle(Mobile summoner) : base(summoner) { @@ -128,27 +70,12 @@ namespace Server.Mobiles BaseSoundID = 0x2ee; } - public EnragedEagle(Serial serial) : base(serial) - { - } - public override string CorpseName => "an eagle corpse"; public override string DefaultName => "an eagle"; - - 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 class BaseEnraged : BaseCreature + [SerializationGenerator(0, false)] + public partial class BaseEnraged : BaseCreature { public BaseEnraged(Mobile summoner) : base(AIType.AI_Melee) { @@ -169,10 +96,6 @@ namespace Server.Mobiles SummonMaster = summoner; } - public BaseEnraged(Serial serial) : base(serial) - { - } - public override void OnThink() { if (SummonMaster?.Deleted != false) @@ -224,17 +147,5 @@ namespace Server.Mobiles base.AddNameProperties(list); list.Add(1060768); // enraged } - - 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/Monsters/LBR/Meers/MeerCaptain.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerCaptain.cs index 6be4fcdc7..14e11f861 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerCaptain.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerCaptain.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Spells; namespace Server.Mobiles { - public class MeerCaptain : BaseCreature + [SerializationGenerator(0, false)] + public partial class MeerCaptain : BaseCreature { private DateTime m_NextAbilityTime; @@ -84,10 +86,6 @@ namespace Server.Mobiles m_NextAbilityTime = Core.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(2, 5)); } - public MeerCaptain(Serial serial) : base(serial) - { - } - public override string CorpseName => "a meer corpse"; public override string DefaultName => "a meer captain"; @@ -147,17 +145,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/Monsters/LBR/Meers/MeerEternal.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerEternal.cs index 4b78c5108..e32ae30cf 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerEternal.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerEternal.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Collections; namespace Server.Mobiles { - public class MeerEternal : BaseCreature + [SerializationGenerator(0, false)] + public partial class MeerEternal : BaseCreature { private DateTime m_NextAbilityTime; @@ -43,10 +45,6 @@ namespace Server.Mobiles m_NextAbilityTime = Core.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(2, 5)); } - public MeerEternal(Serial serial) : base(serial) - { - } - public override string CorpseName => "a meer's corpse"; public override string DefaultName => "a meer eternal"; @@ -199,17 +197,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/Monsters/LBR/Meers/MeerMage.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerMage.cs index f07bdd16e..e12c2431c 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerMage.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; using Server.Items; @@ -5,7 +6,8 @@ using Server.Network; namespace Server.Mobiles { - public class MeerMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class MeerMage : BaseCreature { private static readonly Dictionary m_Table = new(); @@ -47,10 +49,6 @@ namespace Server.Mobiles m_NextAbilityTime = Core.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(2, 5)); } - public MeerMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a meer's corpse"; public override string DefaultName => "a meer mage"; @@ -214,17 +212,5 @@ namespace Server.Mobiles StopEffect(m, false); } } - - 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/Monsters/LBR/Meers/MeerWarrior.cs b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerWarrior.cs index c56872294..fffe85194 100644 --- a/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/LBR/Meers/MeerWarrior.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Spells; namespace Server.Mobiles { - public class MeerWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class MeerWarrior : BaseCreature { [Constructible] public MeerWarrior() : base(AIType.AI_Melee, FightMode.Evil) @@ -36,10 +38,6 @@ namespace Server.Mobiles Karma = 5000; } - public MeerWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a meer corpse"; public override string DefaultName => "a meer warrior"; @@ -77,17 +75,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x156; public override int GetDeathSound() => 0x15C; - - 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/Monsters/ML/Animal/CuSidhe.cs b/Projects/UOContent/Mobiles/Monsters/ML/Animal/CuSidhe.cs index baa3c630c..5f34a1e58 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Animal/CuSidhe.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Animal/CuSidhe.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class CuSidhe : BaseMount + [SerializationGenerator(0, false)] + public partial class CuSidhe : BaseMount { [Constructible] public CuSidhe() : base(277, 0x3E91, AIType.AI_Animal, FightMode.Aggressor) @@ -66,10 +68,6 @@ namespace Server.Mobiles // TODO 0-2 spellweaving scroll } - public CuSidhe(Serial serial) : base(serial) - { - } - public override string CorpseName => "a cu sidhe corpse"; public override string DefaultName => "a cu sidhe"; @@ -117,24 +115,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x576; public override int GetDeathSound() => 0x579; - - 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 < 1 && Name == "a Cu Sidhe") - { - Name = null; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Animal/Ferret.cs b/Projects/UOContent/Mobiles/Monsters/ML/Animal/Ferret.cs index 413886152..3bce95a15 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Animal/Ferret.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Animal/Ferret.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Engines.Quests; namespace Server.Mobiles { - public class Ferret : BaseCreature + [SerializationGenerator(0, false)] + public partial class Ferret : BaseCreature { private static readonly string[] m_Vocabulary = { @@ -46,10 +48,6 @@ namespace Server.Mobiles m_CanTalk = true; } - public Ferret(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ferret corpse"; public override string DefaultName => "a ferret"; @@ -96,19 +94,9 @@ namespace Server.Mobiles m_CanTalk = true; } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + public void AfterDeserialization() { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - m_CanTalk = true; } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Animal/RagingGrizzlyBear.cs b/Projects/UOContent/Mobiles/Monsters/ML/Animal/RagingGrizzlyBear.cs index d02acc83e..7d8eb8724 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Animal/RagingGrizzlyBear.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Animal/RagingGrizzlyBear.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class RagingGrizzlyBear : BaseCreature + [SerializationGenerator(0, false)] + public partial class RagingGrizzlyBear : BaseCreature { [Constructible] public RagingGrizzlyBear() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -37,29 +40,11 @@ namespace Server.Mobiles Tamable = false; } - public RagingGrizzlyBear(Serial serial) : base(serial) - { - } - public override string CorpseName => "a grizzly bear corpse"; public override string DefaultName => "a raging grizzly bear"; public override int Meat => 4; public override int Hides => 32; 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/Monsters/ML/Animal/Squirrel.cs b/Projects/UOContent/Mobiles/Monsters/ML/Animal/Squirrel.cs index 1749f7d73..5c105679c 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Animal/Squirrel.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Animal/Squirrel.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Squirrel : BaseCreature + [SerializationGenerator(0, false)] + public partial class Squirrel : BaseCreature { [Constructible] public Squirrel() : base(AIType.AI_Animal, FightMode.Aggressor) @@ -32,28 +35,10 @@ namespace Server.Mobiles MinTameSkill = -21.3; } - public Squirrel(Serial serial) : base(serial) - { - } - public override string CorpseName => "a squirrel corpse"; public override string DefaultName => "a squirrell"; public override int Meat => 1; public override FoodType FavoriteFood => FoodType.FruitsAndVegies; - - 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/Monsters/ML/Bedlam/LadyJennifyr.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyJennifyr.cs index 807411c82..6b7a89005 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyJennifyr.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyJennifyr.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; namespace Server.Mobiles { - public class LadyJennifyr : SkeletalKnight + [SerializationGenerator(0, false)] + public partial class LadyJennifyr : SkeletalKnight { private static readonly Dictionary m_Table = new(); @@ -40,11 +42,6 @@ namespace Server.Mobiles Karma = -18000; } - public LadyJennifyr(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Lady Jennifyr corpse"; public override string DefaultName => "Lady Jennifyr"; @@ -95,20 +92,6 @@ namespace Server.Mobiles timer.Start(); } - 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(); - } - private class ExpireTimer : Timer { private readonly Mobile m_Mobile; diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyMarai.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyMarai.cs index 14ee4f796..65fec204b 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyMarai.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/LadyMarai.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class LadyMarai : SkeletalKnight + [SerializationGenerator(0, false)] + partial class LadyMarai : SkeletalKnight { [Constructible] public LadyMarai() @@ -37,11 +39,6 @@ namespace Server.Mobiles Karma = -18000; } - public LadyMarai(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Lady Marai corpse"; public override string DefaultName => "Lady Marai"; @@ -49,12 +46,12 @@ namespace Server.Mobiles // TODO: Uncomment once added public override void OnDeath( Container c ) { - base.OnDeath( c ); + base.OnDeath( c ); - if (Utility.RandomDouble() < 0.15) + if (Utility.RandomDouble() < 0.15) c.DropItem( new DisintegratingThesisNotes() ); - if (Utility.RandomDouble() < 0.1) + if (Utility.RandomDouble() < 0.1) c.DropItem( new ParrotItem() ); } */ @@ -67,19 +64,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.CrushingBlow; - - 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/Monsters/ML/Bedlam/MasterJonath.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterJonath.cs index d93b18af8..5ef1320b3 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterJonath.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterJonath.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MasterJonath : BoneMagi + [SerializationGenerator(0, false)] + public partial class MasterJonath : BoneMagi { [Constructible] public MasterJonath() @@ -50,11 +53,6 @@ namespace Server.Mobiles PackReg(8); } - public MasterJonath(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Master Jonath corpse"; public override string DefaultName => "Master Jonath"; @@ -81,19 +79,5 @@ namespace Server.Mobiles { AddLoot(LootPack.UltraRich, 3); } - - 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/Monsters/ML/Bedlam/MasterMikael.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterMikael.cs index 6fbec7e94..e90baceb3 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterMikael.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterMikael.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MasterMikael : BoneMagi + [SerializationGenerator(0, false)] + public partial class MasterMikael : BoneMagi { [Constructible] public MasterMikael() @@ -49,11 +52,6 @@ namespace Server.Mobiles PackNecroReg(1, 10); } - public MasterMikael(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Master Mikael corpse"; public override string DefaultName => "Master Mikael"; @@ -79,19 +77,5 @@ namespace Server.Mobiles { AddLoot(LootPack.UltraRich, 2); } - - 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/Monsters/ML/Bedlam/MasterTheophilus.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterTheophilus.cs index 51c49d1c9..fd3747095 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterTheophilus.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/MasterTheophilus.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class MasterTheophilus : EvilMageLord + [SerializationGenerator(0, false)] + public partial class MasterTheophilus : EvilMageLord { [Constructible] public MasterTheophilus() @@ -60,11 +62,6 @@ namespace Server.Mobiles PackReg(8); } - public MasterTheophilus(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Master Theophilus corpse"; public override string DefaultName => "Master Theophilus"; @@ -77,19 +74,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.ParalyzingBlow; - - 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/Monsters/ML/Bedlam/RedDeath.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/RedDeath.cs index 021e06a0c..8352f0044 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/RedDeath.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/RedDeath.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class RedDeath : SkeletalMount + [SerializationGenerator(0, false)] + public partial class RedDeath : SkeletalMount { [Constructible] public RedDeath() : base() @@ -51,10 +53,6 @@ namespace Server.Mobiles } } - public RedDeath(Serial serial) : base(serial) - { - } - public override string DefaultName => "Red Death"; public override string CorpseName => "a Red Death corpse"; @@ -78,19 +76,5 @@ namespace Server.Mobiles c.DropItem(new ResolvesBridle()); } - - 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/Monsters/ML/Bedlam/SirPatrick.cs b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/SirPatrick.cs index 96c2780aa..6d1871d14 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/SirPatrick.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Bedlam/SirPatrick.cs @@ -1,96 +1,82 @@ -namespace Server.Mobiles; +using ModernUO.Serialization; -public class SirPatrick : SkeletalKnight +namespace Server.Mobiles { - [Constructible] - public SirPatrick() + [SerializationGenerator(0, false)] + public partial class SirPatrick : SkeletalKnight { - IsParagon = true; - - Hue = 0x47E; - - SetStr(208, 319); - SetDex(98, 132); - SetInt(45, 91); - - SetHits(616, 884); - - SetDamage(15, 25); - - SetDamageType(ResistanceType.Physical, 40); - SetDamageType(ResistanceType.Cold, 60); - - SetResistance(ResistanceType.Physical, 55, 62); - SetResistance(ResistanceType.Fire, 40, 48); - SetResistance(ResistanceType.Cold, 71, 80); - SetResistance(ResistanceType.Poison, 40, 50); - SetResistance(ResistanceType.Energy, 50, 60); - - SetSkill(SkillName.Wrestling, 126.3, 136.5); - SetSkill(SkillName.Tactics, 128.5, 143.8); - SetSkill(SkillName.MagicResist, 102.8, 117.9); - SetSkill(SkillName.Anatomy, 127.5, 137.2); - - Fame = 18000; - Karma = -18000; - } - - public SirPatrick(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a Sir Patrick corpse"; - public override string DefaultName => "Sir Patrick"; - - /* - // TODO: uncomment once added - public override void OnDeath( Container c ) - { - base.OnDeath( c ); - - if (Utility.RandomDouble() < 0.15) - c.DropItem( new DisintegratingThesisNotes() ); - - if (Utility.RandomDouble() < 0.05) - c.DropItem( new AssassinChest() ); - } - */ - - public override bool GivesMLMinorArtifact => true; - - private static MonsterAbility[] _abilities = { new SirPatrickDrainLife() }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.UltraRich, 2); - } - - 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(); - } - - private class SirPatrickDrainLife : DrainLifeAreaAttack - { - public override int MinDamage => 14; - public override int MaxDamage => 30; - - protected override void DoEffectTarget(BaseCreature source, Mobile defender) + [Constructible] + public SirPatrick() { - defender.FixedParticles(0x374A, 10, 15, 5013, 0x455, 0, EffectLayer.Waist); - defender.PlaySound(0x1EA); + IsParagon = true; - DrainLife(source, defender); + Hue = 0x47E; + + SetStr(208, 319); + SetDex(98, 132); + SetInt(45, 91); + + SetHits(616, 884); + + SetDamage(15, 25); + + SetDamageType(ResistanceType.Physical, 40); + SetDamageType(ResistanceType.Cold, 60); + + SetResistance(ResistanceType.Physical, 55, 62); + SetResistance(ResistanceType.Fire, 40, 48); + SetResistance(ResistanceType.Cold, 71, 80); + SetResistance(ResistanceType.Poison, 40, 50); + SetResistance(ResistanceType.Energy, 50, 60); + + SetSkill(SkillName.Wrestling, 126.3, 136.5); + SetSkill(SkillName.Tactics, 128.5, 143.8); + SetSkill(SkillName.MagicResist, 102.8, 117.9); + SetSkill(SkillName.Anatomy, 127.5, 137.2); + + Fame = 18000; + Karma = -18000; + } + + public override string CorpseName => "a Sir Patrick corpse"; + public override string DefaultName => "Sir Patrick"; + + /* + // TODO: uncomment once added + public override void OnDeath( Container c ) + { + base.OnDeath( c ); + + if (Utility.RandomDouble() < 0.15) + c.DropItem( new DisintegratingThesisNotes() ); + + if (Utility.RandomDouble() < 0.05) + c.DropItem( new AssassinChest() ); + } + */ + + public override bool GivesMLMinorArtifact => true; + + private static MonsterAbility[] _abilities = { new SirPatrickDrainLife() }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() + { + AddLoot(LootPack.UltraRich, 2); + } + + private class SirPatrickDrainLife : DrainLifeAreaAttack + { + public override int MinDamage => 14; + public override int MaxDamage => 30; + + protected override void DoEffectTarget(BaseCreature source, Mobile defender) + { + defender.FixedParticles(0x374A, 10, 15, 5013, 0x455, 0, EffectLayer.Waist); + defender.PlaySound(0x1EA); + + DrainLife(source, defender); + } } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Abscess.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Abscess.cs index 06a696b2e..881aed184 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Abscess.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Abscess.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Abscess : Hydra + [SerializationGenerator(0, false)] + public partial class Abscess : Hydra { [Constructible] public Abscess() @@ -39,11 +41,6 @@ namespace Server.Mobiles // TODO: Fame/Karma } - public Abscess(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an Abscess corpse"; public override string DefaultName => "Abscess"; @@ -60,19 +57,5 @@ namespace Server.Mobiles c.DropItem(new AbscessTail()); } - - 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/Monsters/ML/Blighted Grove/Coil.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Coil.cs index 342449352..522b74473 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Coil.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Coil.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Coil : SilverSerpent + [SerializationGenerator(0, false)] + public partial class Coil : SilverSerpent { [Constructible] public Coil() @@ -40,11 +42,6 @@ namespace Server.Mobiles PackItem(new Bone()); } - public Coil(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Coil corpse"; // TODO: Check faction allegiance @@ -84,19 +81,5 @@ 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/EnslavedSatyr.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/EnslavedSatyr.cs index 2acc3e418..9e36c32ec 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/EnslavedSatyr.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/EnslavedSatyr.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class EnslavedSatyr : Satyr + [SerializationGenerator(0, false)] + public partial class EnslavedSatyr : Satyr { [Constructible] public EnslavedSatyr() @@ -18,26 +21,7 @@ namespace Server.Mobiles } */ - public EnslavedSatyr(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an enslaved satyr corpse"; public override string DefaultName => "an enslaved satyr"; - - 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/Monsters/ML/Blighted Grove/Hydra.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Hydra.cs index 96e0ab1d5..2934106dc 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Hydra.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Hydra.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Hydra : BaseCreature + [SerializationGenerator(0, false)] + public partial class Hydra : BaseCreature { [Constructible] public Hydra() : base(AIType.AI_Melee) @@ -38,10 +40,6 @@ namespace Server.Mobiles // TODO: Fame/Karma } - public Hydra(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hydra corpse"; public override string DefaultName => "a hydra"; public override int Hides => 40; @@ -71,19 +69,5 @@ namespace Server.Mobiles c.DropItem( new ThorvaldsMedallion() ); */ } - - 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/Monsters/ML/Blighted Grove/InsaneDryad.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/InsaneDryad.cs index 8be8eac1f..0c1f6467e 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/InsaneDryad.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/InsaneDryad.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class InsaneDryad : MLDryad + [SerializationGenerator(0, false)] + public partial class InsaneDryad : MLDryad { [Constructible] public InsaneDryad() @@ -19,28 +22,9 @@ namespace Server.Mobiles } */ - public InsaneDryad(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an insane dryad corpse"; public override bool InitialInnocent => false; public override string DefaultName => "an insane dryad"; - - 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/Monsters/ML/Blighted Grove/Saliva.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Saliva.cs index a82a715ae..893e23c17 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Saliva.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Saliva.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Saliva : Harpy + [SerializationGenerator(0, false)] + public partial class Saliva : Harpy { [Constructible] public Saliva() @@ -35,11 +37,6 @@ namespace Server.Mobiles // TODO: Fame/Karma? } - public Saliva(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Saliva corpse"; public override string DefaultName => "Saliva"; @@ -58,19 +55,5 @@ namespace Server.Mobiles // if (Utility.RandomDouble() < 0.1) // c.DropItem( new ParrotItem() ); } - - 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/Monsters/ML/Blighted Grove/Tangle.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Tangle.cs index 400f7d81d..00d9aca4d 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Tangle.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Tangle.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Tangle : BogThing + [SerializationGenerator(0, false)] + public partial class Tangle : BogThing { [Constructible] public Tangle() @@ -37,11 +39,6 @@ namespace Server.Mobiles // TODO: Fame/Karma? } - public Tangle(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Tangle corpse"; public override string DefaultName => "Tangle"; @@ -61,19 +58,5 @@ namespace Server.Mobiles c.DropItem(new TaintedSeeds()); } } - - 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/Monsters/ML/Blighted Grove/Thrasher.cs b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Thrasher.cs index 379e9599c..0f50b9bfa 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Thrasher.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Blighted Grove/Thrasher.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Thrasher : Alligator + [SerializationGenerator(0, false)] + public partial class Thrasher : Alligator { [Constructible] public Thrasher() @@ -34,11 +36,6 @@ namespace Server.Mobiles // TODO: Fame/Karma } - public Thrasher(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Thrasher corpse"; public override string DefaultName => "Thrasher"; @@ -59,19 +56,5 @@ namespace Server.Mobiles c.DropItem(new ThrashersTail()); } - - 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/Monsters/ML/Humanoid/Magic/FetidEssence.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/FetidEssence.cs index 59f9fdf57..aea651de7 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/FetidEssence.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/FetidEssence.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class FetidEssence : BaseCreature + [SerializationGenerator(0, false)] + public partial class FetidEssence : BaseCreature { [Constructible] public FetidEssence() : base(AIType.AI_Mage) @@ -37,10 +40,6 @@ namespace Server.Mobiles Karma = -3700; // Guessed } - public FetidEssence(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fetid essence corpse"; public override string DefaultName => "a fetid essence"; @@ -62,18 +61,6 @@ namespace Server.Mobiles public override int GetDeathSound() => 0x56e; - 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(); - } - /*private class InternalTimer : Timer { private Mobile m_From; diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/InterredGrizzle .cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/InterredGrizzle .cs index 216656535..773183963 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/InterredGrizzle .cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/InterredGrizzle .cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class InterredGrizzle : BaseCreature + [SerializationGenerator(0, false)] + public partial class InterredGrizzle : BaseCreature { [Constructible] public InterredGrizzle() : base(AIType.AI_Mage) @@ -46,10 +49,6 @@ namespace Server.Mobiles } */ - public InterredGrizzle(Serial serial) : base(serial) - { - } - public override string CorpseName => "an interred grizzle corpse"; public override string DefaultName => "a interred grizzle"; @@ -143,17 +142,5 @@ namespace Server.Mobiles } } } - - 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/Monsters/ML/Humanoid/Magic/MLDryad.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/MLDryad.cs index 9ce4f0cf3..39188ef3c 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/MLDryad.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/MLDryad.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; namespace Server.Mobiles { - public class MLDryad : BaseCreature + [SerializationGenerator(0, false)] + public partial class MLDryad : BaseCreature { private DateTime m_NextPeace; @@ -52,10 +54,6 @@ namespace Server.Mobiles PackArcanceScroll(0.05); } - public MLDryad(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dryad's corpse"; public override bool InitialInnocent => true; @@ -78,20 +76,6 @@ namespace Server.Mobiles AreaUndress(); } - 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 void AreaPeace() { if (Combatant == null || Deleted || !Alive || m_NextPeace > Core.Now || Utility.RandomDouble() < 0.9) diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/Satyr.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/Satyr.cs index 7d9afe271..97df08336 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/Satyr.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Magic/Satyr.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; namespace Server.Mobiles { - public class Satyr : BaseCreature + [SerializationGenerator(0, false)] + public partial class Satyr : BaseCreature { private static readonly Dictionary m_Suppressed = new(); @@ -48,10 +50,6 @@ namespace Server.Mobiles PackArcanceScroll(0.05); } - public Satyr(Serial serial) : base(serial) - { - } - public override string CorpseName => "a satyr's corpse"; public override string DefaultName => "a satyr"; @@ -74,20 +72,6 @@ namespace Server.Mobiles Provoke(Combatant); } - 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 void Peace(Mobile target) { if (target == null || Deleted || !Alive || m_NextPeace > Core.Now || Utility.RandomDouble() < 0.9) diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/CorruptedSoul.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/CorruptedSoul.cs index bed118762..1ba609acb 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/CorruptedSoul.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/CorruptedSoul.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CorruptedSoul : BaseCreature + [SerializationGenerator(0, false)] + public partial class CorruptedSoul : BaseCreature { [Constructible] public CorruptedSoul() : base(AIType.AI_Melee) @@ -35,10 +38,6 @@ namespace Server.Mobiles // VirtualArmor = 6; Not sure } - public CorruptedSoul(Serial serial) : base(serial) - { - } - public override bool DeleteCorpseOnDeath => true; public override string DefaultName => "a corrupted soul"; @@ -76,17 +75,5 @@ namespace Server.Mobiles Effects.SendLocationEffect(Location, Map, 0x376A, 10, 1); return 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/Monsters/ML/Humanoid/Melee/FeralTreefellow.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/FeralTreefellow.cs index 9dd6f72ab..c69744724 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/FeralTreefellow.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/FeralTreefellow.cs @@ -1,9 +1,12 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.FerelTreefellow")] - public class FeralTreefellow : BaseCreature + + [SerializationGenerator(0, false)] + public partial class FeralTreefellow : BaseCreature { [Constructible] public FeralTreefellow() : base(AIType.AI_Melee, FightMode.Evil) @@ -36,10 +39,6 @@ namespace Server.Mobiles PackItem(new Log(Utility.RandomMinMax(23, 34))); } - public FeralTreefellow(Serial serial) : base(serial) - { - } - public override string CorpseName => "a treefellow corpse"; public override string DefaultName => "a feral treefellow"; @@ -60,17 +59,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Average); // Unknown } - - 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/Monsters/ML/Humanoid/Melee/Minotaur.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Minotaur.cs index 3df0abe45..61d3bdeeb 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Minotaur.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Minotaur.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Minotaur : BaseCreature + [SerializationGenerator(0, false)] + public partial class Minotaur : BaseCreature { [Constructible] public Minotaur() : base(AIType.AI_Melee) // NEED TO CHECK @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 28; // Don't know what it should be } - public Minotaur(Serial serial) : base(serial) - { - } - public override string CorpseName => "a minotaur corpse"; public override string DefaultName => "a minotaur"; @@ -65,17 +63,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x59a; public override int GetDeathSound() => 0x59c; - - 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/Monsters/ML/Humanoid/Melee/MinotaurCaptain.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurCaptain.cs index 8bf35b72e..8a4f41888 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurCaptain.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurCaptain.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class MinotaurCaptain : BaseCreature + [SerializationGenerator(0, false)] + public partial class MinotaurCaptain : BaseCreature { [Constructible] public MinotaurCaptain() : base(AIType.AI_Melee) // NEED TO CHECK @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 28; // Don't know what it should be } - public MinotaurCaptain(Serial serial) : base(serial) - { - } - public override string CorpseName => "a minotaur corpse"; public override string DefaultName => "a minotaur captain"; @@ -65,17 +63,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x59a; public override int GetDeathSound() => 0x59c; - - 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/Monsters/ML/Humanoid/Melee/MinotaurScout.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurScout.cs index e61b6de4d..e2bec5ce7 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurScout.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/MinotaurScout.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class MinotaurScout : BaseCreature + [SerializationGenerator(0, false)] + public partial class MinotaurScout : BaseCreature { [Constructible] public MinotaurScout() : base(AIType.AI_Melee) // NEED TO CHECK @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 28; // Don't know what it should be } - public MinotaurScout(Serial serial) : base(serial) - { - } - public override string CorpseName => "a minotaur corpse"; public override string DefaultName => "a minotaur scout"; @@ -65,17 +63,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x59a; public override int GetDeathSound() => 0x59c; - - 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/Monsters/ML/Humanoid/Melee/PestilentBandage.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/PestilentBandage.cs index abe05b461..1e94b91eb 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/PestilentBandage.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/PestilentBandage.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class PestilentBandage : BaseCreature + [SerializationGenerator(0, false)] + public partial class PestilentBandage : BaseCreature { [Constructible] public PestilentBandage() : base(AIType.AI_Melee) // NEED TO CHECK @@ -43,10 +45,6 @@ namespace Server.Mobiles PackItem(new Bandage(5)); // How many? } - public PestilentBandage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a pestilent bandage corpse"; // Neither Stratics nor UOGuide have much description // beyond being a "Grey Mummy". Body, Sound and @@ -64,17 +62,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Rich); // Need to verify } - - 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/Monsters/ML/Humanoid/Melee/Tormented Minotaur.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Tormented Minotaur.cs index 703960d84..d088591ca 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Tormented Minotaur.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Tormented Minotaur.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class TormentedMinotaur : BaseCreature + [SerializationGenerator(0, false)] + public partial class TormentedMinotaur : BaseCreature { [Constructible] public TormentedMinotaur() : base(AIType.AI_Melee) @@ -33,17 +35,10 @@ namespace Server.Mobiles Karma = -20000; } - public TormentedMinotaur(Serial serial) : base(serial) - { - } - public override string CorpseName => "a tormented minotaur corpse"; - public override string DefaultName => "Tormented Minotaur"; - public override Poison PoisonImmune => Poison.Deadly; public override int TreasureMapLevel => 3; - public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; public override void GenerateLoot() @@ -60,19 +55,5 @@ namespace Server.Mobiles public override int GetAngerSound() => 0x599; public override int GetHurtSound() => 0x59A; - - 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/Monsters/ML/Humanoid/Melee/Troglodyte.cs b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Troglodyte.cs index b2bfcffa1..ffe8b1871 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Troglodyte.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Humanoid/Melee/Troglodyte.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Troglodyte : BaseCreature + [SerializationGenerator(0, false)] + public partial class Troglodyte : BaseCreature { [Constructible] public Troglodyte() : base(AIType.AI_Melee) // NEED TO CHECK @@ -41,13 +43,8 @@ namespace Server.Mobiles PackItem(new Ribs()); } - public Troglodyte(Serial serial) : base(serial) - { - } - public override string CorpseName => "a troglodyte corpse"; public override string DefaultName => "a troglodyte"; - public override bool CanHeal => true; public override void GenerateLoot() @@ -64,17 +61,5 @@ namespace Server.Mobiles c.DropItem(new PrimitiveFetish()); } } - - 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/Monsters/ML/Labyrinth/Miasma.cs b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Miasma.cs index 456198c9e..6d63aa85c 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Miasma.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Miasma.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Miasma : Scorpion + [SerializationGenerator(0, false)] + public partial class Miasma : Scorpion { [Constructible] public Miasma() @@ -70,11 +72,6 @@ namespace Server.Mobiles } */ - public Miasma(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Miasma corpse"; public override string DefaultName => "Miasma"; @@ -92,19 +89,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.MortalStrike; - - 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/Monsters/ML/Labyrinth/Pyre.cs b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Pyre.cs index 1e226fd11..2b949b3c9 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Pyre.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Pyre.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Pyre : Phoenix + [SerializationGenerator(0, false)] + public partial class Pyre : Phoenix { [Constructible] public Pyre() @@ -41,11 +43,6 @@ namespace Server.Mobiles Karma = -21000; } - public Pyre(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Pyre corpse"; public override string DefaultName => "Pyre"; @@ -67,19 +64,5 @@ namespace Server.Mobiles return WeaponAbility.BleedAttack; } - - 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/Monsters/ML/Labyrinth/Rend.cs b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Rend.cs index c7f78e859..2518ba142 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Rend.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Labyrinth/Rend.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Rend : Reptalon + [SerializationGenerator(0, false)] + public partial class Rend : Reptalon { [Constructible] public Rend() @@ -38,11 +40,6 @@ namespace Server.Mobiles Karma = -21000; } - public Rend(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Rend corpse"; public override string DefaultName => "Rend"; @@ -62,19 +59,5 @@ namespace Server.Mobiles return WeaponAbility.BleedAttack; } - - 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/Monsters/ML/Misc/Magic/GreaterDragon.cs b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Magic/GreaterDragon.cs index b3c0ce765..cbd1bee72 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Misc/Magic/GreaterDragon.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Magic/GreaterDragon.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; using Server.SkillHandlers; namespace Server.Mobiles { - public class GreaterDragon : BaseCreature + [SerializationGenerator(0, false)] + public partial class GreaterDragon : BaseCreature { [Constructible] public GreaterDragon() : base(AIType.AI_Mage) @@ -47,10 +49,6 @@ namespace Server.Mobiles MinTameSkill = 104.7; } - public GreaterDragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dragon corpse"; public override bool StatLossAfterTame => true; public override string DefaultName => "a greater dragon"; @@ -76,28 +74,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack; - - 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(); - - SetDamage(24, 33); - - if (version == 0) - { - AnimalTaming.ScaleStats(this, 0.50); - AnimalTaming.ScaleSkills(this, 0.80, 0.90); // 90% * 80% = 72% of original skills trainable to 90% - Skills.Magery.Base = - Skills.Magery - .Cap; // Greater dragons have a 90% cap reduction and 90% skill reduction on magery - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/CorrosiveSlime.cs b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/CorrosiveSlime.cs index b30c65035..fedfcde86 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/CorrosiveSlime.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/CorrosiveSlime.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CorrosiveSlime : BaseCreature + [SerializationGenerator(0, false)] + public partial class CorrosiveSlime : BaseCreature { [Constructible] public CorrosiveSlime() : base(AIType.AI_Melee) @@ -41,10 +44,6 @@ namespace Server.Mobiles // TODO: Damage weapon via acid - public CorrosiveSlime(Serial serial) : base(serial) - { - } - public override string CorpseName => "a slimey corpse"; public override string DefaultName => "a corrosive slime"; @@ -57,17 +56,5 @@ namespace Server.Mobiles AddLoot(LootPack.Poor); AddLoot(LootPack.Gems); } - - 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/Monsters/ML/Misc/Melee/Reptalon.cs b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/Reptalon.cs index c8f0e128b..f9056f83e 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/Reptalon.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Misc/Melee/Reptalon.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Reptalon : BaseMount + [SerializationGenerator(0, false)] + public partial class Reptalon : BaseMount { public override string DefaultName => "a reptalon"; @@ -39,12 +41,7 @@ namespace Server.Mobiles MinTameSkill = 101.1; } - public Reptalon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a reptalon corpse"; - public override int TreasureMapLevel => 5; public override int Meat => 5; public override int Hides => 10; @@ -62,19 +59,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.ParalyzingBlow; - - 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/Monsters/ML/Painted Caves/Grobu.cs b/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Grobu.cs index fd89388cf..9f55508a0 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Grobu.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Grobu.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Grobu : BlackBear + [SerializationGenerator(0, false)] + public partial class Grobu : BlackBear { [Constructible] public Grobu() @@ -40,11 +42,6 @@ namespace Server.Mobiles Karma = 1000; } - public Grobu(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Grobu corpse"; public override string DefaultName => "Grobu"; @@ -61,19 +58,5 @@ namespace Server.Mobiles c.DropItem(new GrobusFur()); } - - 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/Monsters/ML/Painted Caves/Lurg.cs b/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Lurg.cs index f3e7f5f47..b43a4a84c 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Lurg.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Painted Caves/Lurg.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Lurg : Troglodyte + [SerializationGenerator(0, false)] + public partial class Lurg : Troglodyte { [Constructible] public Lurg() @@ -39,14 +41,8 @@ namespace Server.Mobiles Karma = -10000; } - public Lurg(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Lurg corpse"; public override string DefaultName => "Lurg"; - public override bool GivesMLMinorArtifact => true; public override int TreasureMapLevel => 4; @@ -56,19 +52,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.CrushingBlow; - - 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/Monsters/ML/Palace of Paroxysmus/Putrefier.cs b/Projects/UOContent/Mobiles/Monsters/ML/Palace of Paroxysmus/Putrefier.cs index 3b015cf6c..f19762ee4 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Palace of Paroxysmus/Putrefier.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Palace of Paroxysmus/Putrefier.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Putrefier : Balron + [SerializationGenerator(0, false)] + public partial class Putrefier : Balron { [Constructible] public Putrefier() @@ -44,11 +47,6 @@ namespace Server.Mobiles PackScroll(4, 7); } - public Putrefier(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Putrefier corpse"; public override string DefaultName => "Putrefier"; @@ -73,19 +71,5 @@ namespace Server.Mobiles { AddLoot(LootPack.UltraRich, 3); } - - 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/Monsters/ML/Prism of Light/CorporealBrume.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CorporealBrume.cs index 31a16b7dd..bfc716dc1 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CorporealBrume.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CorporealBrume.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using System; namespace Server.Mobiles { - public class CorporealBrume : BaseCreature + [SerializationGenerator(0, false)] + public partial class CorporealBrume : BaseCreature { [Constructible] public CorporealBrume() @@ -36,11 +38,6 @@ namespace Server.Mobiles Karma = -12000; } - public CorporealBrume(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a corporeal brume corpse"; public override string DefaultName => "a corporeal brume"; @@ -64,19 +61,5 @@ namespace Server.Mobiles m.FixedParticles(0x374A, 10, 15, 5038, 1181, 2, EffectLayer.Head); m.PlaySound(0x213); } - - 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/Monsters/ML/Prism of Light/CrystalDaemon.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalDaemon.cs index a77d90e36..e07867e6c 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalDaemon.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalDaemon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CrystalDaemon : BaseCreature + [SerializationGenerator(0, false)] + public partial class CrystalDaemon : BaseCreature { [Constructible] public CrystalDaemon() @@ -52,11 +55,6 @@ namespace Server.Mobiles } */ - public CrystalDaemon(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a crystal daemon corpse"; public override string DefaultName => "a crystal daemon"; @@ -64,19 +62,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich, 3); } - - 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/Monsters/ML/Prism of Light/CrystalLatticeSeeker.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalLatticeSeeker.cs index 44eb30657..1eeba519b 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalLatticeSeeker.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalLatticeSeeker.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CrystalLatticeSeeker : BaseCreature + [SerializationGenerator(0, false)] + public partial class CrystalLatticeSeeker : BaseCreature { [Constructible] public CrystalLatticeSeeker() @@ -39,11 +42,6 @@ namespace Server.Mobiles PackArcaneScroll(0, 2); } - public CrystalLatticeSeeker(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Crystal Lattice Seeker corpse"; public override string DefaultName => "Crystal Lattice Seeker"; @@ -140,19 +138,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 0x2F9; public override int GetIdleSound() => 0x2FA; - - 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/Monsters/ML/Prism of Light/CrystalSeaSerpent.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalSeaSerpent.cs index 2b7515846..41d162051 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalSeaSerpent.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalSeaSerpent.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CrystalSeaSerpent : SeaSerpent + [SerializationGenerator(0, false)] + public partial class CrystalSeaSerpent : SeaSerpent { [Constructible] public CrystalSeaSerpent() @@ -43,26 +46,7 @@ namespace Server.Mobiles } */ - public CrystalSeaSerpent(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a crystal sea serpent corpse"; public override string DefaultName => "a crystal sea serpent"; - - 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/Monsters/ML/Prism of Light/CrystalVortex.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalVortex.cs index b2c70f1c0..b3fe56a0e 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalVortex.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalVortex.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CrystalVortex : BaseCreature + [SerializationGenerator(0, false)] + public partial class CrystalVortex : BaseCreature { [Constructible] public CrystalVortex() @@ -39,11 +42,6 @@ namespace Server.Mobiles PackArcaneScroll(0, 2); } - public CrystalVortex(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a crystal vortex corpse"; public override string DefaultName => "a crystal vortex"; @@ -71,19 +69,5 @@ namespace Server.Mobiles public override int GetAngerSound() => 0x15; public override int GetAttackSound() => 0x28; - - 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/Monsters/ML/Prism of Light/CrystalWisp.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalWisp.cs index 653573987..a1fae7a7a 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalWisp.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/CrystalWisp.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class CrystalWisp : Wisp + [SerializationGenerator(0, false)] + public partial class CrystalWisp : Wisp { [Constructible] public CrystalWisp() @@ -10,25 +13,6 @@ namespace Server.Mobiles PackArcaneScroll(0, 1); } - public CrystalWisp(Serial serial) - : base(serial) - { - } - public override string DefaultName => "a crystal wisp"; - - 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/Monsters/ML/Prism of Light/MantraEffervescence.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/MantraEffervescence.cs index 7b6904de1..f54ff5694 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/MantraEffervescence.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/MantraEffervescence.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MantraEffervescence : BaseCreature + [SerializationGenerator(0, false)] + public partial class MantraEffervescence : BaseCreature { [Constructible] public MantraEffervescence() @@ -37,11 +40,6 @@ namespace Server.Mobiles Karma = -6500; } - public MantraEffervescence(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a mantra effervescence corpse"; public override string DefaultName => "a mantra effervescence"; @@ -50,19 +48,5 @@ namespace Server.Mobiles AddLoot(LootPack.FilthyRich); AddLoot(LootPack.Rich); } - - 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/Monsters/ML/Prism of Light/Protector.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/Protector.cs index 88abdc8c4..e0e11287f 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/Protector.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/Protector.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Protector : BaseCreature + [SerializationGenerator(0, false)] + public partial class Protector : BaseCreature { [Constructible] public Protector() @@ -53,11 +55,6 @@ namespace Server.Mobiles AddItem(shroud); } - public Protector(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a human corpse"; public override string DefaultName => "a Protector"; @@ -91,19 +88,5 @@ namespace Server.Mobiles c.DropItem( new ProtectorsEssence() ); } */ - - 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/Monsters/ML/Prism of Light/UnfrozenMummy.cs b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/UnfrozenMummy.cs index 453a7fdf4..c88331d4d 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/UnfrozenMummy.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Prism of Light/UnfrozenMummy.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class UnfrozenMummy : BaseCreature + [SerializationGenerator(0, false)] + public partial class UnfrozenMummy : BaseCreature { [Constructible] public UnfrozenMummy() @@ -55,11 +58,6 @@ namespace Server.Mobiles } */ - public UnfrozenMummy(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an unfrozen mummy corpse"; public override string DefaultName => "an unfrozen mummy"; @@ -69,19 +67,5 @@ namespace Server.Mobiles // TODO: uncomment once added // AddLoot( LootPack.Parrot ); } - - 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/Monsters/ML/Sanctuary/Chiikkaha.cs b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Chiikkaha.cs index 97d187be0..181fe52f2 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Chiikkaha.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Chiikkaha.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Chiikkaha : RatmanMage + [SerializationGenerator(0, false)] + public partial class Chiikkaha : RatmanMage { [Constructible] public Chiikkaha() @@ -31,26 +34,7 @@ namespace Server.Mobiles Karma = -7500; } - public Chiikkaha(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Chiikkaha the Toothed corpse"; public override string DefaultName => "Chiikkaha the Toothed"; - - 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/Monsters/ML/Sanctuary/MougGuur.cs b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/MougGuur.cs index 781dd00db..a43e2ca38 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/MougGuur.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/MougGuur.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class MougGuur : Ettin + [SerializationGenerator(0, false)] + public partial class MougGuur : Ettin { [Constructible] public MougGuur() @@ -29,26 +32,7 @@ namespace Server.Mobiles Karma = -3000; } - public MougGuur(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Moug-Guur corpse"; public override string DefaultName => "Moug-Guur"; - - 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/Monsters/ML/Sanctuary/Szavetra.cs b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Szavetra.cs index f55b2f37d..2eacf8170 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Szavetra.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Sanctuary/Szavetra.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Szavetra : Succubus + [SerializationGenerator(0, false)] + public partial class Szavetra : Succubus { [Constructible] public Szavetra() @@ -33,26 +36,7 @@ namespace Server.Mobiles Karma = -24000; } - public Szavetra(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Szavetra corpse"; public override string DefaultName => "Szavetra"; - - 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/Monsters/ML/Special/Ilhenir.cs b/Projects/UOContent/Mobiles/Monsters/ML/Special/Ilhenir.cs index 989622938..2b9335a48 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Special/Ilhenir.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Special/Ilhenir.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; using Server.Engines.CannedEvil; @@ -6,7 +7,8 @@ using Server.Network; namespace Server.Mobiles { - public class Ilhenir : BaseChampion + [SerializationGenerator(0, false)] + public partial class Ilhenir : BaseChampion { private static readonly HashSet m_Table = new(); @@ -58,11 +60,6 @@ namespace Server.Mobiles } } - public Ilhenir(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a corpse of Ilhenir"; public override ChampionSkullType SkullType => ChampionSkullType.Pain; @@ -202,20 +199,6 @@ namespace Server.Mobiles public override int GetDeathSound() => 0x584; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - } - public virtual void CacophonicAttack(Mobile to) { if (to.Alive && to.Player && !UnderCacophonicAttack(to)) @@ -296,8 +279,13 @@ namespace Server.Mobiles } } - public class StainedOoze : Item + [SerializationGenerator(0, false)] + public partial class StainedOoze : Item { + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(0)] + public bool _corrosive; + private int m_Ticks; private TimerExecutionToken _timerToken; @@ -307,19 +295,11 @@ namespace Server.Mobiles Movable = false; Hue = 0x95; - Corrosive = corrosive; + _corrosive = corrosive; Timer.StartTimer(TimeSpan.Zero, TimeSpan.FromSeconds(1), OnTick, out _timerToken); m_Ticks = 0; } - public StainedOoze(Serial serial) - : base(serial) - { - } - - [CommandProperty(AccessLevel.GameMaster)] - public bool Corrosive { get; set; } - public override void OnAfterDelete() { base.OnAfterDelete(); @@ -369,7 +349,7 @@ namespace Server.Mobiles public void Damage(Mobile m) { - if (Corrosive) + if (_corrosive) { var items = m.Items; var damaged = false; @@ -397,23 +377,9 @@ namespace Server.Mobiles AOS.Damage(m, 40, 0, 0, 0, 100, 0); } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialize() { - base.Serialize(writer); - - writer.Write(0); // version - - writer.Write(Corrosive); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - Corrosive = reader.ReadBool(); - Timer.StartTimer(TimeSpan.Zero, TimeSpan.FromSeconds(1), OnTick, out _timerToken); m_Ticks = ItemID == 0x122A ? 0 : 30; } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Special/Meraktus.cs b/Projects/UOContent/Mobiles/Monsters/ML/Special/Meraktus.cs index de684909d..96d596570 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Special/Meraktus.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Special/Meraktus.cs @@ -1,10 +1,12 @@ using System; using Server.Engines.CannedEvil; using Server.Items; +using ModernUO.Serialization; namespace Server.Mobiles { - public class Meraktus : BaseChampion + [SerializationGenerator(0, false)] + public partial class Meraktus : BaseChampion { [Constructible] public Meraktus() @@ -54,10 +56,6 @@ namespace Server.Mobiles Timer.StartTimer(TimeSpan.FromSeconds(1), SpawnTormented); } - public Meraktus(Serial serial) : base(serial) - { - } - public override string CorpseName => "the remains of Meraktus"; public override ChampionSkullType SkullType => ChampionSkullType.Pain; @@ -211,18 +209,6 @@ namespace Server.Mobiles eable.Free(); } - 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 void SpawnTormented() { BaseCreature spawna = new TormentedMinotaur(); diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Special/Twaulo.cs b/Projects/UOContent/Mobiles/Monsters/ML/Special/Twaulo.cs index 62e01c328..69a8a1843 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Special/Twaulo.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Special/Twaulo.cs @@ -1,108 +1,93 @@ +using ModernUO.Serialization; using System; using Server.Engines.CannedEvil; using Server.Items; -namespace Server.Mobiles; - -public class Twaulo : BaseChampion +namespace Server.Mobiles { - [Constructible] - public Twaulo() - : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class Twaulo : BaseChampion { - Title = "of the Glade"; - Body = 101; - BaseSoundID = 679; - Hue = 0x455; + [Constructible] + public Twaulo() + : base(AIType.AI_Melee) + { + Title = "of the Glade"; + Body = 101; + BaseSoundID = 679; + Hue = 0x455; - SetStr(1751, 1950); - SetDex(251, 450); - SetInt(801, 1000); + SetStr(1751, 1950); + SetDex(251, 450); + SetInt(801, 1000); - SetHits(7500); + SetHits(7500); - SetDamage(19, 24); + SetDamage(19, 24); - SetDamageType(ResistanceType.Physical, 100); + SetDamageType(ResistanceType.Physical, 100); - SetResistance(ResistanceType.Physical, 65, 75); - SetResistance(ResistanceType.Fire, 45, 55); - SetResistance(ResistanceType.Cold, 50, 60); - SetResistance(ResistanceType.Poison, 50, 60); - SetResistance(ResistanceType.Energy, 50, 60); + SetResistance(ResistanceType.Physical, 65, 75); + SetResistance(ResistanceType.Fire, 45, 55); + SetResistance(ResistanceType.Cold, 50, 60); + SetResistance(ResistanceType.Poison, 50, 60); + SetResistance(ResistanceType.Energy, 50, 60); - SetSkill(SkillName.EvalInt, 0); // Per Stratics?!? - SetSkill(SkillName.Magery, 0); // Per Stratics?!? - SetSkill(SkillName.Meditation, 0); // Per Stratics?!? - SetSkill(SkillName.Anatomy, 95.1, 115.0); - SetSkill(SkillName.Archery, 95.1, 100.0); - SetSkill(SkillName.MagicResist, 50.3, 80.0); - SetSkill(SkillName.Tactics, 90.1, 100.0); - SetSkill(SkillName.Wrestling, 95.1, 100.0); + SetSkill(SkillName.EvalInt, 0); // Per Stratics?!? + SetSkill(SkillName.Magery, 0); // Per Stratics?!? + SetSkill(SkillName.Meditation, 0); // Per Stratics?!? + SetSkill(SkillName.Anatomy, 95.1, 115.0); + SetSkill(SkillName.Archery, 95.1, 100.0); + SetSkill(SkillName.MagicResist, 50.3, 80.0); + SetSkill(SkillName.Tactics, 90.1, 100.0); + SetSkill(SkillName.Wrestling, 95.1, 100.0); - Fame = 50000; - Karma = 50000; + Fame = 50000; + Karma = 50000; - VirtualArmor = 50; + VirtualArmor = 50; - AddItem(new Bow()); - PackItem(new Arrow(Utility.RandomMinMax(500, 700))); - } + AddItem(new Bow()); + PackItem(new Arrow(Utility.RandomMinMax(500, 700))); + } - public Twaulo(Serial serial) - : base(serial) - { - } + public override string CorpseName => "a corpse of Twaulo"; + public override ChampionSkullType SkullType => ChampionSkullType.Pain; - public override string CorpseName => "a corpse of Twaulo"; - public override ChampionSkullType SkullType => ChampionSkullType.Pain; + public override Type[] UniqueList => new[] { typeof(Quell) }; + public override Type[] SharedList => new[] { typeof(TheMostKnowledgePerson), typeof(OblivionsNeedle) }; + public override Type[] DecorativeList => new[] { typeof(Pier), typeof(MonsterStatuette) }; - public override Type[] UniqueList => new[] { typeof(Quell) }; - public override Type[] SharedList => new[] { typeof(TheMostKnowledgePerson), typeof(OblivionsNeedle) }; - public override Type[] DecorativeList => new[] { typeof(Pier), typeof(MonsterStatuette) }; + public override MonsterStatuetteType[] StatueTypes => new[] { MonsterStatuetteType.DreadHorn }; - public override MonsterStatuetteType[] StatueTypes => new[] { MonsterStatuetteType.DreadHorn }; + public override string DefaultName => "Twaulo"; - public override string DefaultName => "Twaulo"; + public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; - public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; + public override bool Unprovokable => true; + public override Poison PoisonImmune => Poison.Regular; + public override int TreasureMapLevel => 5; + public override int Meat => 1; + public override int Hides => 8; + public override HideType HideType => HideType.Spined; - public override bool Unprovokable => true; - public override Poison PoisonImmune => Poison.Regular; - public override int TreasureMapLevel => 5; - public override int Meat => 1; - public override int Hides => 8; - public override HideType HideType => HideType.Spined; + private static MonsterAbility[] _abilities = { MonsterAbilities.SummonPixiesCounter }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - private static MonsterAbility[] _abilities = { MonsterAbilities.SummonPixiesCounter }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; + public override void GenerateLoot() + { + AddLoot(LootPack.UltraRich, 2); + AddLoot(LootPack.Average); + AddLoot(LootPack.Gems); + } - public override void GenerateLoot() - { - AddLoot(LootPack.UltraRich, 2); - AddLoot(LootPack.Average); - AddLoot(LootPack.Gems); - } + public override void OnGaveMeleeAttack(Mobile defender, int damage) + { + base.OnGaveMeleeAttack(defender, damage); - public override void OnGaveMeleeAttack(Mobile defender, int damage) - { - base.OnGaveMeleeAttack(defender, damage); - - defender.Damage(Utility.Random(20, 10), this); - defender.Stam -= Utility.Random(20, 10); - defender.Mana -= Utility.Random(20, 10); - } - - 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(); + defender.Damage(Utility.Random(20, 10), this); + defender.Stam -= Utility.Random(20, 10); + defender.Mana -= Utility.Random(20, 10); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Changeling.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Changeling.cs index 5a14803c2..fef81ca1d 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Changeling.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Changeling.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Spells; namespace Server.Mobiles { - public class Changeling : BaseCreature + [SerializationGenerator(0, false)] + public partial class Changeling : BaseCreature { private static readonly int[] m_FireNorth = { @@ -21,8 +23,6 @@ namespace Server.Mobiles }; private DateTime m_LastMorph; - - private Mobile m_MorphedInto; private DateTime m_NextFireRing; [Constructible] @@ -68,22 +68,18 @@ namespace Server.Mobiles PackArcaneScroll(0, 1); } - public Changeling(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a changeling corpse"; public override string DefaultName => "a changeling"; public virtual int DefaultHue => 0; public override bool ShowFameTitle => false; - public override bool InitialInnocent => m_MorphedInto != null; + public override bool InitialInnocent => _morphedInto != null; [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(0)] public Mobile MorphedInto { - get => m_MorphedInto; + get => _morphedInto; set { if (value == this) @@ -91,7 +87,7 @@ namespace Server.Mobiles value = null; } - if (m_MorphedInto != value) + if (_morphedInto != value) { Revert(); @@ -101,8 +97,9 @@ namespace Server.Mobiles m_LastMorph = Core.Now; } - m_MorphedInto = value; + _morphedInto = value; Delta(MobileDelta.Noto); + this.MarkDirty(); } } } @@ -134,7 +131,7 @@ namespace Server.Mobiles m_NextFireRing = Core.Now + TimeSpan.FromMinutes(2); } - if (Combatant.Player && m_MorphedInto != Combatant && Utility.RandomDouble() < 0.05) + if (Combatant.Player && _morphedInto != Combatant && Utility.RandomDouble() < 0.05) { MorphedInto = Combatant; } @@ -145,7 +142,7 @@ namespace Server.Mobiles { var idle = base.CheckIdle(); - if (idle && m_MorphedInto != null && Core.Now - m_LastMorph > TimeSpan.FromSeconds(30)) + if (idle && _morphedInto != null && Core.Now - m_LastMorph > TimeSpan.FromSeconds(30)) { MorphedInto = null; } @@ -260,21 +257,10 @@ namespace Server.Mobiles { } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialize() { - base.Serialize(writer); - - writer.Write(0); // version - writer.Write(m_MorphedInto != null); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (reader.ReadBool()) + if (_morphedInto != null) { ValidationQueue.Add(this); } @@ -285,7 +271,8 @@ namespace Server.Mobiles Revert(); } - private class ClonedItem : Item + [SerializationGenerator(0, false)] + public partial class ClonedItem : Item { public ClonedItem(Item item) : base(item.ItemID) @@ -296,25 +283,6 @@ namespace Server.Mobiles Layer = item.Layer; Movable = false; } - - public ClonedItem(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/Monsters/ML/Twisted Weald/Gnaw.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Gnaw.cs index d38d248df..a27c27703 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Gnaw.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Gnaw.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Gnaw : DireWolf + [SerializationGenerator(0, false)] + public partial class Gnaw : DireWolf { [Constructible] public Gnaw() @@ -46,14 +49,8 @@ namespace Server.Mobiles } */ - public Gnaw(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Gnaw corpse"; public override string DefaultName => "Gnaw"; - public override bool GivesMLMinorArtifact => true; public override int Hides => 28; public override int Meat => 4; @@ -62,19 +59,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich, 2); } - - 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/Monsters/ML/Twisted Weald/Guile.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Guile.cs index e6e7749dc..f62a40fba 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Guile.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Guile.cs @@ -1,72 +1,57 @@ -namespace Server.Mobiles; +using ModernUO.Serialization; -public class Guile : Changeling +namespace Server.Mobiles { - [Constructible] - public Guile() + [SerializationGenerator(0, false)] + public partial class Guile : Changeling { - IsParagon = true; + [Constructible] + public Guile() + { + IsParagon = true; - Hue = DefaultHue; + Hue = DefaultHue; - SetStr(53, 214); - SetDex(243, 367); - SetInt(369, 586); + SetStr(53, 214); + SetDex(243, 367); + SetInt(369, 586); - SetHits(1013, 1058); - SetStam(243, 367); - SetMana(369, 586); + SetHits(1013, 1058); + SetStam(243, 367); + SetMana(369, 586); - SetDamage(14, 20); + SetDamage(14, 20); - SetDamageType(ResistanceType.Physical, 100); + SetDamageType(ResistanceType.Physical, 100); - SetResistance(ResistanceType.Physical, 80, 90); - SetResistance(ResistanceType.Fire, 43, 46); - SetResistance(ResistanceType.Cold, 42, 44); - SetResistance(ResistanceType.Poison, 42, 50); - SetResistance(ResistanceType.Energy, 47, 50); + SetResistance(ResistanceType.Physical, 80, 90); + SetResistance(ResistanceType.Fire, 43, 46); + SetResistance(ResistanceType.Cold, 42, 44); + SetResistance(ResistanceType.Poison, 42, 50); + SetResistance(ResistanceType.Energy, 47, 50); - SetSkill(SkillName.Wrestling, 12.8, 16.7); - SetSkill(SkillName.Tactics, 102.6, 131.0); - SetSkill(SkillName.MagicResist, 141.2, 161.6); - SetSkill(SkillName.Magery, 108.4, 120.0); - SetSkill(SkillName.EvalInt, 108.4, 120.0); - SetSkill(SkillName.Meditation, 109.2, 120.0); + SetSkill(SkillName.Wrestling, 12.8, 16.7); + SetSkill(SkillName.Tactics, 102.6, 131.0); + SetSkill(SkillName.MagicResist, 141.2, 161.6); + SetSkill(SkillName.Magery, 108.4, 120.0); + SetSkill(SkillName.EvalInt, 108.4, 120.0); + SetSkill(SkillName.Meditation, 109.2, 120.0); - Fame = 21000; - Karma = -21000; - } + Fame = 21000; + Karma = -21000; + } - public Guile(Serial serial) - : base(serial) - { - } + public override string CorpseName => "a Guile corpse"; + public override string DefaultName => "Guile"; + public override int DefaultHue => 0x3F; + public override bool GivesMLMinorArtifact => true; - public override string CorpseName => "a Guile corpse"; - public override string DefaultName => "Guile"; - public override int DefaultHue => 0x3F; - public override bool GivesMLMinorArtifact => true; + private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAttack }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAttack }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.UltraRich, 2); - } - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); + public override void GenerateLoot() + { + AddLoot(LootPack.UltraRich, 2); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Irk.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Irk.cs index 7654a38a4..acedb3394 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Irk.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Irk.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Irk : Changeling + [SerializationGenerator(0, false)] + public partial class Irk : Changeling { [Constructible] public Irk() @@ -50,11 +53,6 @@ namespace Server.Mobiles } */ - public Irk(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an Irk corpse"; public override string DefaultName => "Irk"; public override int DefaultHue => 0x489; @@ -67,19 +65,5 @@ namespace Server.Mobiles { AddLoot(LootPack.UltraRich, 2); } - - 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/Monsters/ML/Twisted Weald/LadyLissith.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadyLissith.cs index 62cdd6d31..c06f8862d 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadyLissith.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadyLissith.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class LadyLissith : GiantBlackWidow + [SerializationGenerator(0, false)] + public partial class LadyLissith : GiantBlackWidow { [Constructible] public LadyLissith() @@ -38,11 +40,6 @@ namespace Server.Mobiles Karma = -18900; } - public LadyLissith(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Lady Lissith corpse"; public override string DefaultName => "Lady Lissith"; @@ -71,19 +68,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack; - - 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/Monsters/ML/Twisted Weald/LadySabrix.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadySabrix.cs index a766101f9..7d6f64226 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadySabrix.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/LadySabrix.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class LadySabrix : GiantBlackWidow + [SerializationGenerator(0, false)] + public partial class LadySabrix : GiantBlackWidow { [Constructible] public LadySabrix() @@ -38,11 +40,6 @@ namespace Server.Mobiles Karma = -18900; } - public LadySabrix(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Lady Sabrix corpse"; public override string DefaultName => "Lady Sabrix"; @@ -77,19 +74,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.ArmorIgnore; - - 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/Monsters/ML/Twisted Weald/Malefic.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Malefic.cs index 4e5d7a606..bda747bfd 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Malefic.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Malefic.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Malefic : DreadSpider + [SerializationGenerator(0, false)] + public partial class Malefic : DreadSpider { [Constructible] public Malefic() @@ -46,11 +48,6 @@ namespace Server.Mobiles */ } - public Malefic(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Malefic corpse"; public override string DefaultName => "Malefic"; @@ -62,19 +59,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount; - - 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/Monsters/ML/Twisted Weald/Silk.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Silk.cs index b86642212..6338d44fb 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Silk.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Silk.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Silk : GiantBlackWidow + [SerializationGenerator(0, false)] + public partial class Silk : GiantBlackWidow { [Constructible] public Silk() @@ -38,11 +40,6 @@ namespace Server.Mobiles Karma = -18900; } - public Silk(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Silk corpse"; public override string DefaultName => "Silk"; @@ -54,19 +51,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.ParalyzingBlow; - - 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/Monsters/ML/Twisted Weald/Spite.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Spite.cs index 31920e211..c80b97c91 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Spite.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Spite.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Spite : Changeling + [SerializationGenerator(0, false)] + public partial class Spite : Changeling { [Constructible] public Spite() @@ -38,11 +41,6 @@ namespace Server.Mobiles Karma = -21000; } - public Spite(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Spite corpse"; public override string DefaultName => "Spite"; public override int DefaultHue => 0x21; @@ -53,19 +51,5 @@ namespace Server.Mobiles { AddLoot(LootPack.UltraRich, 2); } - - 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/Monsters/ML/Twisted Weald/Swoop.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Swoop.cs index 84a52ce22..fb65fd846 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Swoop.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Swoop.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; namespace Server.Mobiles { - public class Swoop : Eagle + [SerializationGenerator(0, false)] + public partial class Swoop : Eagle { private static readonly Dictionary m_Table = new(); @@ -78,11 +80,6 @@ namespace Server.Mobiles } */ - public Swoop(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Swoop corpse"; public override string DefaultName => "Swoop"; @@ -128,20 +125,6 @@ namespace Server.Mobiles m_Table[defender] = timer; } - 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(); - } - private class ExpireTimer : Timer { private readonly Mobile m_Mobile; diff --git a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Virulent.cs b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Virulent.cs index d0289658d..f1332bb1b 100644 --- a/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Virulent.cs +++ b/Projects/UOContent/Mobiles/Monsters/ML/Twisted Weald/Virulent.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Virulent : DreadSpider + [SerializationGenerator(0, false)] + public partial class Virulent : DreadSpider { [Constructible] public Virulent() @@ -40,11 +42,6 @@ namespace Server.Mobiles Karma = -21000; } - public Virulent(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a Virulent corpse"; public override string DefaultName => "Virulent"; @@ -76,19 +73,5 @@ namespace Server.Mobiles } public override WeaponAbility GetWeaponAbility() => WeaponAbility.MortalStrike; - - 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/Monsters/Mammal/Melee/HellHound.cs b/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/HellHound.cs index 268c1f380..4e136951b 100644 --- a/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/HellHound.cs +++ b/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/HellHound.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class HellHound : BaseCreature + [SerializationGenerator(0, false)] + public partial class HellHound : BaseCreature { [Constructible] public HellHound() : base(AIType.AI_Melee) @@ -38,10 +40,6 @@ namespace Server.Mobiles PackItem(new SulfurousAsh(5)); } - public HellHound(Serial serial) : base(serial) - { - } - public override string CorpseName => "a hell hound corpse"; public override string DefaultName => "a hell hound"; public override int Meat => 1; @@ -56,17 +54,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); 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/Monsters/Mammal/Melee/VorpalBunny.cs b/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/VorpalBunny.cs index c62860bca..3e8968483 100644 --- a/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/VorpalBunny.cs +++ b/Projects/UOContent/Mobiles/Monsters/Mammal/Melee/VorpalBunny.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class VorpalBunny : BaseCreature + [SerializationGenerator(0, false)] + public partial class VorpalBunny : BaseCreature { [Constructible] public VorpalBunny() : base(AIType.AI_Melee) @@ -45,10 +47,6 @@ namespace Server.Mobiles DelayBeginTunnel(); } - public VorpalBunny(Serial serial) : base(serial) - { - } - public override string CorpseName => "a vorpal bunny corpse"; public override string DefaultName => "a vorpal bunny"; @@ -89,23 +87,8 @@ namespace Server.Mobiles 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(); - - DelayBeginTunnel(); - } - - public class BunnyHole : Item + [SerializationGenerator(0, false)] + public partial class BunnyHole : Item { public BunnyHole() : base(0x913) { @@ -115,25 +98,11 @@ namespace Server.Mobiles Timer.StartTimer(TimeSpan.FromSeconds(40.0), Delete); } - public BunnyHole(Serial serial) : base(serial) - { - } - public override string DefaultName => "a mysterious rabbit hole"; - public override void Serialize(IGenericWriter writer) + [AfterDeserialization(false)] + private void AfterDeserialization() { - base.Serialize(writer); - - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - Delete(); } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/DarkWisp.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/DarkWisp.cs index 4dc452690..b46cefd62 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/DarkWisp.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/DarkWisp.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Ethics; using Server.Items; @@ -5,7 +6,8 @@ using Server.Misc; namespace Server.Mobiles { - public class DarkWisp : BaseCreature + [SerializationGenerator(0, false)] + public partial class DarkWisp : BaseCreature { [Constructible] public DarkWisp() : base(AIType.AI_Mage, FightMode.Aggressor) @@ -44,11 +46,6 @@ namespace Server.Mobiles AddItem(new LightSource()); } - public DarkWisp(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a wisp corpse"; public override InhumanSpeech SpeechType => InhumanSpeech.Wisp; @@ -65,17 +62,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); 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/Monsters/Misc/Magic/EtherealWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/EtherealWarrior.cs index a255e3910..6bdb83ca9 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/EtherealWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/EtherealWarrior.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Gumps; namespace Server.Mobiles { - public class EtherealWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class EtherealWarrior : BaseCreature { private static readonly TimeSpan ResurrectDelay = TimeSpan.FromSeconds(2.0); @@ -45,10 +47,6 @@ namespace Server.Mobiles VirtualArmor = 120; } - public EtherealWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ethereal warrior corpse"; public override bool InitialInnocent => true; @@ -114,17 +112,5 @@ namespace Server.Mobiles attacker.Stam -= Utility.Random(10, 10); attacker.Mana -= Utility.Random(10, 10); } - - 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/Monsters/Misc/Magic/Pixie.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Pixie.cs index abacd88f5..5f1376b40 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Pixie.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Pixie.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Pixie : BaseCreature + [SerializationGenerator(0, false)] + public partial class Pixie : BaseCreature { [Constructible] public Pixie() : base(AIType.AI_Mage, FightMode.Evil) @@ -44,10 +46,6 @@ namespace Server.Mobiles } } - public Pixie(Serial serial) : base(serial) - { - } - public override string CorpseName => "a pixie corpse"; public override bool InitialInnocent => true; @@ -72,18 +70,5 @@ namespace Server.Mobiles c.DropItem(new PixieLeg()); } } - - 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/Monsters/Misc/Magic/ShadowWisp.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/ShadowWisp.cs index 6e8025f81..eb95f4d16 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/ShadowWisp.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/ShadowWisp.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class ShadowWisp : BaseCreature + [SerializationGenerator(0, false)] + public partial class ShadowWisp : BaseCreature { [Constructible] public ShadowWisp() : base(AIType.AI_Mage, FightMode.Aggressor) @@ -52,25 +54,9 @@ namespace Server.Mobiles ); } - public ShadowWisp(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wisp corpse"; public override string DefaultName => "a shadow wisp"; public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; - - 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/Monsters/Misc/Magic/Wisp.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Wisp.cs index b4122c834..cda7780b7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Wisp.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Magic/Wisp.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Ethics; @@ -7,7 +8,8 @@ using Server.Misc; namespace Server.Mobiles { - public class Wisp : BaseCreature + [SerializationGenerator(0, false)] + public partial class Wisp : BaseCreature { [Constructible] public Wisp() : base(AIType.AI_Mage, FightMode.Aggressor) @@ -51,10 +53,6 @@ namespace Server.Mobiles AddItem(new LightSource()); } - public Wisp(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wisp corpse"; public override InhumanSpeech SpeechType => InhumanSpeech.Wisp; @@ -72,17 +70,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); 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/Monsters/Misc/Melee/AnimatedWeapon.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/AnimatedWeapon.cs index 47844cae7..9f486c679 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/AnimatedWeapon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/AnimatedWeapon.cs @@ -1,8 +1,10 @@ -using System; +using ModernUO.Serialization; +using System; namespace Server.Mobiles { - public class AnimatedWeapon : BaseCreature + [SerializationGenerator(0, false)] + public partial class AnimatedWeapon : BaseCreature { [Constructible] public AnimatedWeapon(Mobile caster, int level) : base(AIType.AI_Melee) @@ -71,11 +73,6 @@ namespace Server.Mobiles ControlSlots = 4; } - public AnimatedWeapon(Serial serial) - : base(serial) - { - } - public override string CorpseName => "an animated weapon corpse"; public override bool DeleteCorpseOnDeath => true; public override bool IsHouseSummonable => true; @@ -96,20 +93,5 @@ namespace Server.Mobiles public override int GetAttackSound() => 0x3B8; public override int GetHurtSound() => 0x23A; - - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - - writer.Write(0); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - /*int version = */ - reader.ReadInt(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/BladeSpirits.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/BladeSpirits.cs index c0ea74690..fa06c8725 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/BladeSpirits.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/BladeSpirits.cs @@ -1,116 +1,101 @@ +using ModernUO.Serialization; using System; using Server.Buffers; using Server.Collections; -namespace Server.Mobiles; - -public class BladeSpirits : BaseCreature +namespace Server.Mobiles { - [Constructible] - public BladeSpirits() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class BladeSpirits : BaseCreature { - Body = 574; - - SetStr(150); - SetDex(150); - SetInt(100); - - SetHits(Core.SE ? 160 : 80); - SetStam(250); - SetMana(0); - - SetDamage(10, 14); - - SetDamageType(ResistanceType.Physical, 60); - SetDamageType(ResistanceType.Poison, 20); - SetDamageType(ResistanceType.Energy, 20); - - SetResistance(ResistanceType.Physical, 30, 40); - SetResistance(ResistanceType.Fire, 40, 50); - SetResistance(ResistanceType.Cold, 30, 40); - SetResistance(ResistanceType.Poison, 100); - SetResistance(ResistanceType.Energy, 20, 30); - - SetSkill(SkillName.MagicResist, 70.0); - SetSkill(SkillName.Tactics, 90.0); - SetSkill(SkillName.Wrestling, 90.0); - - Fame = 0; - Karma = 0; - - VirtualArmor = 40; - ControlSlots = Core.SE ? 2 : 1; - } - - public BladeSpirits(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a blade spirit corpse"; - public override bool DeleteCorpseOnDeath => Core.AOS; - public override bool IsHouseSummonable => true; - - public override double DispelDifficulty => 0.0; - public override double DispelFocus => 20.0; - - public override string DefaultName => "a blade spirit"; - - public override bool BleedImmune => true; - public override Poison PoisonImmune => Poison.Lethal; - - public override double GetFightModeRanking(Mobile m, FightMode acqType, bool bPlayerOnly) => - (m.Str + m.Skills.Tactics.Value) / Math.Max(GetDistanceToSqrt(m), 1.0); - - public override int GetAngerSound() => 0x23A; - - public override int GetAttackSound() => 0x3B8; - - public override int GetHurtSound() => 0x23A; - - public override void OnThink() - { - if (Core.SE && Summoned) + [Constructible] + public BladeSpirits() : base(AIType.AI_Melee) { - var eable = GetMobilesInRange(5); - using var queue = PooledRefQueue.Create(); - foreach (var m in eable) - { - if (m is EnergyVortex or BladeSpirits && ((BaseCreature)m).Summoned) - { - queue.Enqueue(m); - } - } - eable.Free(); + Body = 574; - var amount = queue.Count - 6; - if (amount > 0) - { - var mobs = queue.ToPooledArray(); - mobs.Shuffle(); + SetStr(150); + SetDex(150); + SetInt(100); - while (amount > 0) - { - Dispel(mobs[amount--]); - } + SetHits(Core.SE ? 160 : 80); + SetStam(250); + SetMana(0); - STArrayPool.Shared.Return(mobs, true); - } + SetDamage(10, 14); + + SetDamageType(ResistanceType.Physical, 60); + SetDamageType(ResistanceType.Poison, 20); + SetDamageType(ResistanceType.Energy, 20); + + SetResistance(ResistanceType.Physical, 30, 40); + SetResistance(ResistanceType.Fire, 40, 50); + SetResistance(ResistanceType.Cold, 30, 40); + SetResistance(ResistanceType.Poison, 100); + SetResistance(ResistanceType.Energy, 20, 30); + + SetSkill(SkillName.MagicResist, 70.0); + SetSkill(SkillName.Tactics, 90.0); + SetSkill(SkillName.Wrestling, 90.0); + + Fame = 0; + Karma = 0; + + VirtualArmor = 40; + ControlSlots = Core.SE ? 2 : 1; } - base.OnThink(); - } + public override string CorpseName => "a blade spirit corpse"; + public override bool DeleteCorpseOnDeath => Core.AOS; + public override bool IsHouseSummonable => true; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); + public override double DispelDifficulty => 0.0; + public override double DispelFocus => 20.0; - writer.Write(0); // version - } + public override string DefaultName => "a blade spirit"; - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); + public override bool BleedImmune => true; + public override Poison PoisonImmune => Poison.Lethal; - var version = reader.ReadInt(); + public override double GetFightModeRanking(Mobile m, FightMode acqType, bool bPlayerOnly) => + (m.Str + m.Skills.Tactics.Value) / Math.Max(GetDistanceToSqrt(m), 1.0); + + public override int GetAngerSound() => 0x23A; + + public override int GetAttackSound() => 0x3B8; + + public override int GetHurtSound() => 0x23A; + + public override void OnThink() + { + if (Core.SE && Summoned) + { + var eable = GetMobilesInRange(5); + using var queue = PooledRefQueue.Create(); + foreach (var m in eable) + { + if (m is EnergyVortex or BladeSpirits && ((BaseCreature)m).Summoned) + { + queue.Enqueue(m); + } + } + eable.Free(); + + var amount = queue.Count - 6; + if (amount > 0) + { + var mobs = queue.ToPooledArray(); + mobs.Shuffle(); + + while (amount > 0) + { + Dispel(mobs[amount--]); + } + + STArrayPool.Shared.Return(mobs, true); + } + } + + base.OnThink(); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Centaur.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Centaur.cs index 4df4c37ef..814abcccd 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Centaur.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Centaur.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Centaur : BaseCreature + [SerializationGenerator(0, false)] + public partial class Centaur : BaseCreature { [Constructible] public Centaur() : base(AIType.AI_Melee, FightMode.Aggressor) @@ -48,10 +50,6 @@ namespace Server.Mobiles ); // OSI it is different: in a sub backpack, this is probably just a limitation of their engine } - public Centaur(Serial serial) : base(serial) - { - } - public override string CorpseName => "a centaur corpse"; public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; @@ -66,22 +64,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); AddLoot(LootPack.Gems); } - - 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 == 678) - { - BaseSoundID = 679; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/EnergyVortex.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/EnergyVortex.cs index ddc689b87..605e98b4a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/EnergyVortex.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/EnergyVortex.cs @@ -1,128 +1,116 @@ +using ModernUO.Serialization; using System; using Server.Buffers; using Server.Collections; -namespace Server.Mobiles; - -public class EnergyVortex : BaseCreature +namespace Server.Mobiles { - [Constructible] - public EnergyVortex() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class EnergyVortex : BaseCreature { - if (Core.SE && Utility.Random(500) == 0) // Per OSI FoF, it's a 1/500 chance. + [Constructible] + public EnergyVortex() : base(AIType.AI_Melee) { - // Llama vortex! - Body = 0xDC; - Hue = 0x76; - } - else - { - Body = 164; - } - - SetStr(200); - SetDex(200); - SetInt(100); - - SetHits(Core.SE ? 140 : 70); - SetStam(250); - SetMana(0); - - SetDamage(14, 17); - - SetDamageType(ResistanceType.Physical, 0); - SetDamageType(ResistanceType.Energy, 100); - - SetResistance(ResistanceType.Physical, 60, 70); - SetResistance(ResistanceType.Fire, 40, 50); - SetResistance(ResistanceType.Cold, 40, 50); - SetResistance(ResistanceType.Poison, 40, 50); - SetResistance(ResistanceType.Energy, 90, 100); - - SetSkill(SkillName.MagicResist, 99.9); - SetSkill(SkillName.Tactics, 100.0); - SetSkill(SkillName.Wrestling, 120.0); - - Fame = 0; - Karma = 0; - - VirtualArmor = 40; - ControlSlots = Core.SE ? 2 : 1; - } - - public EnergyVortex(Serial serial) - : base(serial) - { - } - - public override string CorpseName => "an energy vortex corpse"; - public override bool DeleteCorpseOnDeath => Summoned; - public override bool AlwaysMurderer => true; // Or Llama vortices will appear gray. - - public override double DispelDifficulty => 80.0; - public override double DispelFocus => 20.0; - - public override string DefaultName => "an energy vortex"; - - public override bool BleedImmune => true; - public override Poison PoisonImmune => Poison.Lethal; - - public override double GetFightModeRanking(Mobile m, FightMode acqType, bool bPlayerOnly) => - (m.Int + m.Skills.Magery.Value) / Math.Max(GetDistanceToSqrt(m), 1.0); - - public override int GetAngerSound() => 0x15; - - public override int GetAttackSound() => 0x28; - - public override void OnThink() - { - if (Core.SE && Summoned) - { - var eable = GetMobilesInRange(5); - using var queue = PooledRefQueue.Create(); - foreach (var m in eable) + if (Core.SE && Utility.Random(500) == 0) // Per OSI FoF, it's a 1/500 chance. { - if (m is EnergyVortex or BladeSpirits && ((BaseCreature)m).Summoned) + // Llama vortex! + Body = 0xDC; + Hue = 0x76; + } + else + { + Body = 164; + } + + SetStr(200); + SetDex(200); + SetInt(100); + + SetHits(Core.SE ? 140 : 70); + SetStam(250); + SetMana(0); + + SetDamage(14, 17); + + SetDamageType(ResistanceType.Physical, 0); + SetDamageType(ResistanceType.Energy, 100); + + SetResistance(ResistanceType.Physical, 60, 70); + SetResistance(ResistanceType.Fire, 40, 50); + SetResistance(ResistanceType.Cold, 40, 50); + SetResistance(ResistanceType.Poison, 40, 50); + SetResistance(ResistanceType.Energy, 90, 100); + + SetSkill(SkillName.MagicResist, 99.9); + SetSkill(SkillName.Tactics, 100.0); + SetSkill(SkillName.Wrestling, 120.0); + + Fame = 0; + Karma = 0; + + VirtualArmor = 40; + ControlSlots = Core.SE ? 2 : 1; + } + + public override string CorpseName => "an energy vortex corpse"; + public override bool DeleteCorpseOnDeath => Summoned; + public override bool AlwaysMurderer => true; // Or Llama vortices will appear gray. + + public override double DispelDifficulty => 80.0; + public override double DispelFocus => 20.0; + + public override string DefaultName => "an energy vortex"; + + public override bool BleedImmune => true; + public override Poison PoisonImmune => Poison.Lethal; + + public override double GetFightModeRanking(Mobile m, FightMode acqType, bool bPlayerOnly) => + (m.Int + m.Skills.Magery.Value) / Math.Max(GetDistanceToSqrt(m), 1.0); + + public override int GetAngerSound() => 0x15; + + public override int GetAttackSound() => 0x28; + + public override void OnThink() + { + if (Core.SE && Summoned) + { + var eable = GetMobilesInRange(5); + using var queue = PooledRefQueue.Create(); + foreach (var m in eable) { - queue.Enqueue(m); + if (m is EnergyVortex or BladeSpirits && ((BaseCreature)m).Summoned) + { + queue.Enqueue(m); + } + } + eable.Free(); + + var amount = queue.Count - 6; + if (amount > 0) + { + var mobs = queue.ToPooledArray(); + mobs.Shuffle(); + + while (amount > 0) + { + Dispel(mobs[amount--]); + } + + STArrayPool.Shared.Return(mobs, true); } } - eable.Free(); - var amount = queue.Count - 6; - if (amount > 0) - { - var mobs = queue.ToPooledArray(); - mobs.Shuffle(); - - while (amount > 0) - { - Dispel(mobs[amount--]); - } - - STArrayPool.Shared.Return(mobs, true); - } + base.OnThink(); } - base.OnThink(); - } - - 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 (BaseSoundID == 263) + [AfterDeserialization] + private void AfterDeserialization() { - BaseSoundID = 0; + if (BaseSoundID == 263) + { + BaseSoundID = 0; + } } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/FrostOoze.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/FrostOoze.cs index 52e5704aa..e89095234 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/FrostOoze.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/FrostOoze.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class FrostOoze : BaseCreature + [SerializationGenerator(0, false)] + public partial class FrostOoze : BaseCreature { [Constructible] public FrostOoze() : base(AIType.AI_Melee) @@ -33,10 +36,6 @@ namespace Server.Mobiles VirtualArmor = 38; } - public FrostOoze(Serial serial) : base(serial) - { - } - public override string CorpseName => "a frost ooze corpse"; public override string DefaultName => "a frost ooze"; @@ -44,17 +43,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Gems, Utility.RandomMinMax(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/Monsters/Misc/Melee/Golem.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Golem.cs index 80c81a13e..7706115f5 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Golem.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Golem.cs @@ -1,182 +1,169 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class Golem : BaseCreature +namespace Server.Mobiles { - [Constructible] - public Golem(bool summoned = false, double scalar = 1.0) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class Golem : BaseCreature { - Body = 752; - - if (summoned) + [Constructible] + public Golem(bool summoned = false, double scalar = 1.0) : base(AIType.AI_Melee) { - Hue = 2101; - } + Body = 752; - SetStr((int)(251 * scalar), (int)(350 * scalar)); - SetDex((int)(76 * scalar), (int)(100 * scalar)); - SetInt((int)(101 * scalar), (int)(150 * scalar)); - - SetHits((int)(151 * scalar), (int)(210 * scalar)); - - SetDamage((int)(13 * scalar), (int)(24 * scalar)); - - SetDamageType(ResistanceType.Physical, 100); - - SetResistance(ResistanceType.Physical, (int)(35 * scalar), (int)(55 * scalar)); - - if (summoned) - { - SetResistance(ResistanceType.Fire, (int)(50 * scalar), (int)(60 * scalar)); - } - else - { - SetResistance(ResistanceType.Fire, (int)(100 * scalar)); - } - - SetResistance(ResistanceType.Cold, (int)(10 * scalar), (int)(30 * scalar)); - SetResistance(ResistanceType.Poison, (int)(10 * scalar), (int)(25 * scalar)); - SetResistance(ResistanceType.Energy, (int)(30 * scalar), (int)(40 * scalar)); - - SetSkill(SkillName.MagicResist, 150.1 * scalar, 190.0 * scalar); - SetSkill(SkillName.Tactics, 60.1 * scalar, 100.0 * scalar); - SetSkill(SkillName.Wrestling, 60.1 * scalar, 100.0 * scalar); - - if (summoned) - { - Fame = 10; - Karma = 10; - } - else - { - Fame = 3500; - Karma = -3500; - } - - if (!summoned) - { - PackItem(new IronIngot(Utility.RandomMinMax(13, 21))); - - if (Utility.RandomDouble() < 0.1) + if (summoned) { - PackItem(new PowerCrystal()); + Hue = 2101; } - if (Utility.RandomDouble() < 0.15) + SetStr((int)(251 * scalar), (int)(350 * scalar)); + SetDex((int)(76 * scalar), (int)(100 * scalar)); + SetInt((int)(101 * scalar), (int)(150 * scalar)); + + SetHits((int)(151 * scalar), (int)(210 * scalar)); + + SetDamage((int)(13 * scalar), (int)(24 * scalar)); + + SetDamageType(ResistanceType.Physical, 100); + + SetResistance(ResistanceType.Physical, (int)(35 * scalar), (int)(55 * scalar)); + + if (summoned) { - PackItem(new ClockworkAssembly()); - } - - if (Utility.RandomDouble() < 0.2) - { - PackItem(new ArcaneGem()); - } - - if (Utility.RandomDouble() < 0.25) - { - PackItem(new Gears()); - } - } - - ControlSlots = 3; - } - - public Golem(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a golem corpse"; - - public override bool IsScaredOfScaryThings => false; - public override bool IsScaryToPets => true; - - public override bool IsBondable => false; - - public override FoodType FavoriteFood => FoodType.None; - - public override bool CanBeDistracted => false; - - public override string DefaultName => "a golem"; - - public override bool DeleteOnRelease => true; - - public override bool AutoDispel => !Controlled; - public override bool BleedImmune => true; - - public override bool BardImmune => !Core.AOS || Controlled; - public override Poison PoisonImmune => Poison.Lethal; - - private static MonsterAbility[] _abilities = { MonsterAbilities.ColossalBlow }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void OnDeath(Container c) - { - base.OnDeath(c); - - if (Utility.RandomDouble() < 0.05) - { - if (!IsParagon) - { - if (Utility.RandomDouble() < 0.75) - { - c.DropItem(DawnsMusicGear.RandomCommon); - } - else - { - c.DropItem(DawnsMusicGear.RandomUncommon); - } + SetResistance(ResistanceType.Fire, (int)(50 * scalar), (int)(60 * scalar)); } else { - c.DropItem(DawnsMusicGear.RandomRare); + SetResistance(ResistanceType.Fire, (int)(100 * scalar)); } - } - } - public override int GetAngerSound() => 541; + SetResistance(ResistanceType.Cold, (int)(10 * scalar), (int)(30 * scalar)); + SetResistance(ResistanceType.Poison, (int)(10 * scalar), (int)(25 * scalar)); + SetResistance(ResistanceType.Energy, (int)(30 * scalar), (int)(40 * scalar)); - public override int GetIdleSound() => !Controlled ? 542 : base.GetIdleSound(); + SetSkill(SkillName.MagicResist, 150.1 * scalar, 190.0 * scalar); + SetSkill(SkillName.Tactics, 60.1 * scalar, 100.0 * scalar); + SetSkill(SkillName.Wrestling, 60.1 * scalar, 100.0 * scalar); - public override int GetDeathSound() => !Controlled ? 545 : base.GetDeathSound(); - - public override int GetAttackSound() => 562; - - public override int GetHurtSound() => Controlled ? 320 : base.GetHurtSound(); - - public override void OnDamage(int amount, Mobile from, bool willKill) - { - if (Controlled || Summoned) - { - var master = ControlMaster ?? SummonMaster; - - if (master?.Player == true && master.Map == Map && master.InRange(Location, 20)) + if (summoned) { - if (master.Mana >= amount) + Fame = 10; + Karma = 10; + } + else + { + Fame = 3500; + Karma = -3500; + } + + if (!summoned) + { + PackItem(new IronIngot(Utility.RandomMinMax(13, 21))); + + if (Utility.RandomDouble() < 0.1) { - master.Mana -= amount; + PackItem(new PowerCrystal()); + } + + if (Utility.RandomDouble() < 0.15) + { + PackItem(new ClockworkAssembly()); + } + + if (Utility.RandomDouble() < 0.2) + { + PackItem(new ArcaneGem()); + } + + if (Utility.RandomDouble() < 0.25) + { + PackItem(new Gears()); + } + } + + ControlSlots = 3; + } + + public override string CorpseName => "a golem corpse"; + + public override bool IsScaredOfScaryThings => false; + public override bool IsScaryToPets => true; + + public override bool IsBondable => false; + + public override FoodType FavoriteFood => FoodType.None; + + public override bool CanBeDistracted => false; + + public override string DefaultName => "a golem"; + + public override bool DeleteOnRelease => true; + + public override bool AutoDispel => !Controlled; + public override bool BleedImmune => true; + + public override bool BardImmune => !Core.AOS || Controlled; + public override Poison PoisonImmune => Poison.Lethal; + + private static MonsterAbility[] _abilities = { MonsterAbilities.ColossalBlow }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void OnDeath(Container c) + { + base.OnDeath(c); + + if (Utility.RandomDouble() < 0.05) + { + if (!IsParagon) + { + if (Utility.RandomDouble() < 0.75) + { + c.DropItem(DawnsMusicGear.RandomCommon); + } + else + { + c.DropItem(DawnsMusicGear.RandomUncommon); + } } else { - amount -= master.Mana; - master.Mana = 0; - master.Damage(amount); + c.DropItem(DawnsMusicGear.RandomRare); } } } - base.OnDamage(amount, from, willKill); - } + public override int GetAngerSound() => 541; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(0); - } + public override int GetIdleSound() => !Controlled ? 542 : base.GetIdleSound(); - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); + public override int GetDeathSound() => !Controlled ? 545 : base.GetDeathSound(); + + public override int GetAttackSound() => 562; + + public override int GetHurtSound() => Controlled ? 320 : base.GetHurtSound(); + + public override void OnDamage(int amount, Mobile from, bool willKill) + { + if (Controlled || Summoned) + { + var master = ControlMaster ?? SummonMaster; + + if (master?.Player == true && master.Map == Map && master.InRange(Location, 20)) + { + if (master.Mana >= amount) + { + master.Mana -= amount; + } + else + { + amount -= master.Mana; + master.Mana = 0; + master.Damage(amount); + } + } + } + + base.OnDamage(amount, from, willKill); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs index 4ca4ff7f4..2f40bccad 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; @@ -5,9 +6,24 @@ using Server.Network; namespace Server.Mobiles { - public class PlagueBeast : BaseCreature, IDevourer + [SerializationGenerator(0, false)] + public partial class PlagueBeast : BaseCreature, IDevourer { - private int m_DevourGoal; + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(0, setter: "private")] + private bool _hasMetalChest; + + [SerializedCommandProperty(AccessLevel.GameMaster)] + [SerializableField(1)] + private int _totalDevoured; + + [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(2)] + public int DevourGoal + { + get => IsParagon ? _devourGoal + 25 : _devourGoal; + set => _devourGoal = value; + } [Constructible] public PlagueBeast() : base(AIType.AI_Melee) @@ -50,31 +66,12 @@ namespace Server.Mobiles PackItem(Seed.RandomPeculiarSeed(4)); } - TotalDevoured = 0; - m_DevourGoal = Utility.RandomMinMax(15, 25); // How many corpses must be devoured before a metal chest is awarded - } - - public PlagueBeast(Serial serial) : base(serial) - { + _totalDevoured = 0; + _devourGoal = Utility.RandomMinMax(15, 25); // How many corpses must be devoured before a metal chest is awarded } public override string CorpseName => "a plague beast corpse"; - - [CommandProperty(AccessLevel.GameMaster)] - public int TotalDevoured { get; set; } - - [CommandProperty(AccessLevel.GameMaster)] - public int DevourGoal - { - get => IsParagon ? m_DevourGoal + 25 : m_DevourGoal; - set => m_DevourGoal = value; - } - - [CommandProperty(AccessLevel.GameMaster)] - public bool HasMetalChest { get; private set; } - public override string DefaultName => "a plague beast"; - public override bool AutoDispel => true; public override Poison PoisonImmune => Poison.Lethal; @@ -91,7 +88,7 @@ namespace Server.Mobiles } IncreaseHits((int)Math.Ceiling(corpse.Owner.HitsMax * 0.75)); - TotalDevoured++; + _totalDevoured++; PublicOverheadMessage( MessageType.Emote, @@ -99,10 +96,10 @@ namespace Server.Mobiles 1053033 ); // * The plague beast absorbs the fleshy remains of the corpse * - if (!HasMetalChest && TotalDevoured >= DevourGoal) + if (!_hasMetalChest && _totalDevoured >= _devourGoal) { PackItem(new MetalChest()); - HasMetalChest = true; + _hasMetalChest = true; } return true; @@ -164,33 +161,6 @@ namespace Server.Mobiles public override int GetDeathSound() => 0x1C2; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(1); - - writer.Write(HasMetalChest); - writer.Write(TotalDevoured); - writer.Write(m_DevourGoal); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - switch (version) - { - case 1: - { - HasMetalChest = reader.ReadBool(); - TotalDevoured = reader.ReadInt(); - m_DevourGoal = reader.ReadInt(); - break; - } - } - } - public override void OnThink() { base.OnThink(); diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeastLord.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeastLord.cs index bd71a9d14..24b9f87d6 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeastLord.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueBeastLord.cs @@ -1,13 +1,24 @@ +using ModernUO.Serialization; using System; using Server.Items; using Server.Network; namespace Server.Mobiles { - public class PlagueBeastLord : BaseCreature, ICarvable, IScissorable + [SerializationGenerator(0, false)] + public partial class PlagueBeastLord : BaseCreature, ICarvable, IScissorable { private DecayTimer m_Timer; + [SerializableField(0, getter: "private", setter: "private")] + private int _count; + + [SerializableField(1, getter: "private", setter: "private")] + private int _deadline; + + [SerializableProperty(2)] + private bool IsNotNullTimer { get => m_Timer != null; } + [Constructible] public PlagueBeastLord() : base(AIType.AI_Melee) { @@ -42,16 +53,11 @@ namespace Server.Mobiles VirtualArmor = 50; } - public PlagueBeastLord(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a plague beast lord corpse"; - public override Poison PoisonImmune => Poison.Lethal; - [CommandProperty(AccessLevel.GameMaster)] + [SerializableProperty(3)] public Mobile OpenedBy { get; set; } + [CommandProperty(AccessLevel.GameMaster)] public bool IsBleeding { @@ -74,6 +80,10 @@ namespace Server.Mobiles } } + public override string CorpseName => "a plague beast lord corpse"; + + public override Poison PoisonImmune => Poison.Lethal; + public override string DefaultName => "a plague beast lord"; public virtual void Carve(Mobile from, Item item) @@ -283,40 +293,12 @@ namespace Server.Mobiles } } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - - writer.WriteEncodedInt(0); // version - - writer.Write(OpenedBy); - - if (m_Timer != null) + if (IsNotNullTimer) { - writer.Write(true); - writer.Write(m_Timer.Count); - writer.Write(m_Timer.Deadline); - } - else - { - writer.Write(false); - } - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadEncodedInt(); - - OpenedBy = reader.ReadEntity(); - - if (reader.ReadBool()) - { - var count = reader.ReadInt(); - var deadline = reader.ReadInt(); - - m_Timer = new DecayTimer(this, count, deadline); + m_Timer = new DecayTimer(this, Count, Deadline); m_Timer.Start(); } @@ -326,27 +308,25 @@ namespace Server.Mobiles } } - private class DecayTimer : Timer + public class DecayTimer : Timer { - private readonly PlagueBeastLord m_Lord; + private readonly PlagueBeastLord _lord; public DecayTimer(PlagueBeastLord lord, int count = 0, int deadline = 120) : base( TimeSpan.Zero, TimeSpan.FromSeconds(1) ) { - m_Lord = lord; + _lord = lord; Count = count; Deadline = deadline; } - public int Count { get; private set; } - public int Deadline { get; private set; } protected override void OnTick() { - if (m_Lord?.Deleted != false) + if (_lord?.Deleted != false) { Stop(); return; @@ -354,39 +334,39 @@ namespace Server.Mobiles if (Count + 15 == Deadline) { - if (m_Lord.OpenedBy != null) + if (_lord.OpenedBy != null) { - m_Lord.PublicOverheadMessage( + _lord.PublicOverheadMessage( MessageType.Regular, 0x3B2, 1071921 ); // * The plague beast begins to bubble and dissolve! * } - m_Lord.PlaySound(0x103); + _lord.PlaySound(0x103); } else if (Count + 10 == Deadline) { - m_Lord.PlaySound(0x21); + _lord.PlaySound(0x21); } else if (Count + 5 == Deadline) { - m_Lord.PlaySound(0x1C2); + _lord.PlaySound(0x1C2); } else if (Count == Deadline) { - m_Lord.Unfreeze(); + _lord.Unfreeze(); - if (m_Lord.OpenedBy != null) + if (_lord.OpenedBy != null) { - m_Lord.Kill(); + _lord.Kill(); } Stop(); } else if (Count % 15 == 0) { - m_Lord.PlaySound(0x1BF); + _lord.PlaySound(0x1BF); } Count++; diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueSpawn.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueSpawn.cs index 856dd233c..2dee205b7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueSpawn.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/PlagueSpawn.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; using Server.ContextMenus; namespace Server.Mobiles { - public class PlagueSpawn : BaseCreature + [SerializationGenerator(0, false)] + public partial class PlagueSpawn : BaseCreature { [Constructible] public PlagueSpawn(Mobile owner = null) : base(AIType.AI_Melee) @@ -67,10 +69,6 @@ namespace Server.Mobiles VirtualArmor = 20; } - public PlagueSpawn(Serial serial) : base(serial) - { - } - public override string CorpseName => "a plague spawn corpse"; [CommandProperty(AccessLevel.GameMaster)] @@ -118,17 +116,5 @@ namespace Server.Mobiles AddLoot(LootPack.Poor); AddLoot(LootPack.Gems); } - - 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/Monsters/Misc/Melee/SandVortex.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/SandVortex.cs index 289149080..60faf40ea 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/SandVortex.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/SandVortex.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using Server.Items; namespace Server.Mobiles { - public class SandVortex : BaseCreature + [SerializationGenerator(0, false)] + public partial class SandVortex : BaseCreature { private DateTime m_NextAttack; @@ -41,10 +43,6 @@ namespace Server.Mobiles PackItem(new Bone()); } - public SandVortex(Serial serial) : base(serial) - { - } - public override string CorpseName => "a sand vortex corpse"; public override string DefaultName => "a sand vortex"; @@ -79,20 +77,6 @@ namespace Server.Mobiles new InternalTimer(m, this).Start(); } - 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(); - } - private class InternalTimer : Timer { private readonly Mobile m_From; diff --git a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Slime.cs b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Slime.cs index 5e43b8a29..e396a06af 100644 --- a/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Slime.cs +++ b/Projects/UOContent/Mobiles/Monsters/Misc/Melee/Slime.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Slime : BaseCreature + [SerializationGenerator(0, false)] + public partial class Slime : BaseCreature { [Constructible] public Slime() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles MinTameSkill = 23.1; } - public Slime(Serial serial) : base(serial) - { - } - public override string CorpseName => "a slimey corpse"; public override string DefaultName => "a slime"; @@ -56,17 +55,5 @@ namespace Server.Mobiles AddLoot(LootPack.Poor); AddLoot(LootPack.Gems); } - - 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/Monsters/Ore Elementals/AgapiteElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/AgapiteElemental.cs index 4afc602e6..bdf45058f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/AgapiteElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/AgapiteElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class AgapiteElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class AgapiteElemental : BaseCreature { [Constructible] public AgapiteElemental(int oreAmount = 2) : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(ore); } - public AgapiteElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ore elemental corpse"; public override string DefaultName => "an agapite elemental"; @@ -56,17 +54,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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs index 9b921422a..e90e95bb7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs @@ -1,75 +1,62 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class BronzeElemental : BaseCreature +namespace Server.Mobiles { - [Constructible] - public BronzeElemental(int oreAmount = 2) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class BronzeElemental : BaseCreature { - Body = 108; - BaseSoundID = 268; + [Constructible] + public BronzeElemental(int oreAmount = 2) : base(AIType.AI_Melee) + { + Body = 108; + BaseSoundID = 268; - SetStr(226, 255); - SetDex(126, 145); - SetInt(71, 92); + SetStr(226, 255); + SetDex(126, 145); + SetInt(71, 92); - SetHits(136, 153); + SetHits(136, 153); - SetDamage(9, 16); + SetDamage(9, 16); - SetDamageType(ResistanceType.Physical, 30); - SetDamageType(ResistanceType.Fire, 70); + SetDamageType(ResistanceType.Physical, 30); + SetDamageType(ResistanceType.Fire, 70); - SetResistance(ResistanceType.Physical, 30, 40); - SetResistance(ResistanceType.Fire, 30, 40); - SetResistance(ResistanceType.Cold, 10, 20); - SetResistance(ResistanceType.Poison, 70, 80); - SetResistance(ResistanceType.Energy, 20, 30); + SetResistance(ResistanceType.Physical, 30, 40); + SetResistance(ResistanceType.Fire, 30, 40); + SetResistance(ResistanceType.Cold, 10, 20); + SetResistance(ResistanceType.Poison, 70, 80); + SetResistance(ResistanceType.Energy, 20, 30); - SetSkill(SkillName.MagicResist, 50.1, 95.0); - SetSkill(SkillName.Tactics, 60.1, 100.0); - SetSkill(SkillName.Wrestling, 60.1, 100.0); + SetSkill(SkillName.MagicResist, 50.1, 95.0); + SetSkill(SkillName.Tactics, 60.1, 100.0); + SetSkill(SkillName.Wrestling, 60.1, 100.0); - Fame = 5000; - Karma = -5000; + Fame = 5000; + Karma = -5000; - VirtualArmor = 29; + VirtualArmor = 29; - Item ore = new BronzeOre(oreAmount); - ore.ItemID = 0x19B9; - PackItem(ore); - } + Item ore = new BronzeOre(oreAmount); + ore.ItemID = 0x19B9; + PackItem(ore); + } - public BronzeElemental(Serial serial) : base(serial) - { - } + public override string CorpseName => "an ore elemental corpse"; + public override string DefaultName => "a bronze elemental"; - public override string CorpseName => "an ore elemental corpse"; - public override string DefaultName => "a bronze elemental"; + public override bool BleedImmune => true; + public override bool AutoDispel => true; + public override int TreasureMapLevel => 1; - public override bool BleedImmune => true; - public override bool AutoDispel => true; - public override int TreasureMapLevel => 1; + private static MonsterAbility[] _abilities = { MonsterAbilities.PoisonGasCounter }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - private static MonsterAbility[] _abilities = { MonsterAbilities.PoisonGasCounter }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - 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(); + public override void GenerateLoot() + { + AddLoot(LootPack.Average); + AddLoot(LootPack.Gems, 2); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/CopperElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/CopperElemental.cs index c5da4fd2f..0adc81b6e 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/CopperElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/CopperElemental.cs @@ -1,83 +1,70 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class CopperElemental : BaseCreature +namespace Server.Mobiles { - [Constructible] - public CopperElemental(int oreAmount = 2) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class CopperElemental : BaseCreature { - Body = 109; - BaseSoundID = 268; + [Constructible] + public CopperElemental(int oreAmount = 2) : base(AIType.AI_Melee) + { + Body = 109; + BaseSoundID = 268; - SetStr(226, 255); - SetDex(126, 145); - SetInt(71, 92); + SetStr(226, 255); + SetDex(126, 145); + SetInt(71, 92); - SetHits(136, 153); + SetHits(136, 153); - SetDamage(9, 16); + SetDamage(9, 16); - SetDamageType(ResistanceType.Physical, 100); + SetDamageType(ResistanceType.Physical, 100); - SetResistance(ResistanceType.Physical, 30, 40); - SetResistance(ResistanceType.Fire, 30, 40); - SetResistance(ResistanceType.Cold, 30, 40); - SetResistance(ResistanceType.Poison, 20, 30); - SetResistance(ResistanceType.Energy, 10, 20); + SetResistance(ResistanceType.Physical, 30, 40); + SetResistance(ResistanceType.Fire, 30, 40); + SetResistance(ResistanceType.Cold, 30, 40); + SetResistance(ResistanceType.Poison, 20, 30); + SetResistance(ResistanceType.Energy, 10, 20); - SetSkill(SkillName.MagicResist, 50.1, 95.0); - SetSkill(SkillName.Tactics, 60.1, 100.0); - SetSkill(SkillName.Wrestling, 60.1, 100.0); + SetSkill(SkillName.MagicResist, 50.1, 95.0); + SetSkill(SkillName.Tactics, 60.1, 100.0); + SetSkill(SkillName.Wrestling, 60.1, 100.0); - Fame = 4800; - Karma = -4800; + Fame = 4800; + Karma = -4800; - VirtualArmor = 26; + VirtualArmor = 26; - Item ore = new CopperOre(oreAmount); - ore.ItemID = 0x19B9; - PackItem(ore); - } + Item ore = new CopperOre(oreAmount); + ore.ItemID = 0x19B9; + PackItem(ore); + } - public CopperElemental(Serial serial) : base(serial) - { - } + public override string CorpseName => "an ore elemental corpse"; + public override string DefaultName => "a copper elemental"; - public override string CorpseName => "an ore elemental corpse"; - public override string DefaultName => "a copper elemental"; + public override bool BleedImmune => true; + public override bool AutoDispel => true; + public override int TreasureMapLevel => 1; - public override bool BleedImmune => true; - public override bool AutoDispel => true; - public override int TreasureMapLevel => 1; + public override void GenerateLoot() + { + AddLoot(LootPack.Average); + AddLoot(LootPack.Gems, 2); + } - public override void GenerateLoot() - { - AddLoot(LootPack.Average); - AddLoot(LootPack.Gems, 2); - } + public override void AlterMeleeDamageFrom(Mobile from, ref int damage) + { + base.AlterMeleeDamageFrom(from, ref damage); - public override void AlterMeleeDamageFrom(Mobile from, ref int damage) - { - base.AlterMeleeDamageFrom(from, ref damage); + damage /= 2; // 50% melee damage + } - damage /= 2; // 50% melee damage - } - - public override void CheckReflect(Mobile caster, ref bool reflect) - { - reflect = true; // Every spell is reflected back to the caster - } - - 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 void CheckReflect(Mobile caster, ref bool reflect) + { + reflect = true; // Every spell is reflected back to the caster + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/DullCopperElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/DullCopperElemental.cs index ccfa1deaa..e8f94d462 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/DullCopperElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/DullCopperElemental.cs @@ -1,74 +1,61 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class DullCopperElemental : BaseCreature +namespace Server.Mobiles { - [Constructible] - public DullCopperElemental(int oreAmount = 2) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class DullCopperElemental : BaseCreature { - Body = 110; - BaseSoundID = 268; + [Constructible] + public DullCopperElemental(int oreAmount = 2) : base(AIType.AI_Melee) + { + Body = 110; + BaseSoundID = 268; - SetStr(226, 255); - SetDex(126, 145); - SetInt(71, 92); + SetStr(226, 255); + SetDex(126, 145); + SetInt(71, 92); - SetHits(136, 153); + SetHits(136, 153); - SetDamage(9, 16); + SetDamage(9, 16); - SetDamageType(ResistanceType.Physical, 100); + SetDamageType(ResistanceType.Physical, 100); - SetResistance(ResistanceType.Physical, 30, 40); - SetResistance(ResistanceType.Fire, 30, 40); - SetResistance(ResistanceType.Cold, 10, 20); - SetResistance(ResistanceType.Poison, 20, 30); - SetResistance(ResistanceType.Energy, 20, 30); + SetResistance(ResistanceType.Physical, 30, 40); + SetResistance(ResistanceType.Fire, 30, 40); + SetResistance(ResistanceType.Cold, 10, 20); + SetResistance(ResistanceType.Poison, 20, 30); + SetResistance(ResistanceType.Energy, 20, 30); - SetSkill(SkillName.MagicResist, 50.1, 95.0); - SetSkill(SkillName.Tactics, 60.1, 100.0); - SetSkill(SkillName.Wrestling, 60.1, 100.0); + SetSkill(SkillName.MagicResist, 50.1, 95.0); + SetSkill(SkillName.Tactics, 60.1, 100.0); + SetSkill(SkillName.Wrestling, 60.1, 100.0); - Fame = 3500; - Karma = -3500; + Fame = 3500; + Karma = -3500; - VirtualArmor = 20; + VirtualArmor = 20; - Item ore = new DullCopperOre(oreAmount); - ore.ItemID = 0x19B9; - PackItem(ore); - } + Item ore = new DullCopperOre(oreAmount); + ore.ItemID = 0x19B9; + PackItem(ore); + } - public DullCopperElemental(Serial serial) : base(serial) - { - } + public override string CorpseName => "an ore elemental corpse"; + public override string DefaultName => "a dull copper elemental"; - public override string CorpseName => "an ore elemental corpse"; - public override string DefaultName => "a dull copper elemental"; + public override bool AutoDispel => true; + public override bool BleedImmune => true; + public override int TreasureMapLevel => 1; - public override bool AutoDispel => true; - public override bool BleedImmune => true; - public override int TreasureMapLevel => 1; + private static MonsterAbility[] _abilities = { MonsterAbilities.DeathExplosion }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - private static MonsterAbility[] _abilities = { MonsterAbilities.DeathExplosion }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - 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(); + public override void GenerateLoot() + { + AddLoot(LootPack.Average); + AddLoot(LootPack.Gems, 2); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs index 33efe5d66..35903c3fe 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class GoldenElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class GoldenElemental : BaseCreature { [Constructible] public GoldenElemental(int oreAmount = 2) : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(ore); } - public GoldenElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ore elemental corpse"; public override string DefaultName => "a golden elemental"; @@ -56,17 +54,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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs index 41c978361..edfeffeb8 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class ShadowIronElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class ShadowIronElemental : BaseCreature { [Constructible] public ShadowIronElemental(int oreAmount = 2) : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(ore); } - public ShadowIronElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ore elemental corpse"; public override string DefaultName => "a shadow iron elemental"; @@ -76,17 +74,5 @@ namespace Server.Mobiles { damage = 0; } - - 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/Monsters/Ore Elementals/ValoriteElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ValoriteElemental.cs index f299426d4..64c099969 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ValoriteElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/ValoriteElemental.cs @@ -1,94 +1,81 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class ValoriteElemental : BaseCreature +namespace Server.Mobiles { - [Constructible] - public ValoriteElemental(int oreAmount = 2) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class ValoriteElemental : BaseCreature { - Body = 112; - BaseSoundID = 268; - - SetStr(226, 255); - SetDex(126, 145); - SetInt(71, 92); - - SetHits(136, 153); - - SetDamage(28); - - SetDamageType(ResistanceType.Physical, 25); - SetDamageType(ResistanceType.Fire, 25); - SetDamageType(ResistanceType.Cold, 25); - SetDamageType(ResistanceType.Energy, 25); - - SetResistance(ResistanceType.Physical, 65, 75); - SetResistance(ResistanceType.Fire, 50, 60); - SetResistance(ResistanceType.Cold, 50, 60); - SetResistance(ResistanceType.Poison, 50, 60); - SetResistance(ResistanceType.Energy, 40, 50); - - SetSkill(SkillName.MagicResist, 50.1, 95.0); - SetSkill(SkillName.Tactics, 60.1, 100.0); - SetSkill(SkillName.Wrestling, 60.1, 100.0); - - Fame = 3500; - Karma = -3500; - - VirtualArmor = 38; - - Item ore = new ValoriteOre(oreAmount); - ore.ItemID = 0x19B9; - PackItem(ore); - } - - public ValoriteElemental(Serial serial) : base(serial) - { - } - - public override string CorpseName => "an ore elemental corpse"; - public override string DefaultName => "a valorite elemental"; - - public override bool AutoDispel => true; - public override bool BleedImmune => true; - public override int TreasureMapLevel => 1; - - private static MonsterAbility[] _abilities = { MonsterAbilities.PoisonGasCounter, MonsterAbilities.DestroyEquipment }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich); - AddLoot(LootPack.Gems, 4); - } - - public override void AlterMeleeDamageFrom(Mobile from, ref int damage) - { - if (from is BaseCreature bc && (bc.Controlled || bc.BardTarget == this)) + [Constructible] + public ValoriteElemental(int oreAmount = 2) : base(AIType.AI_Melee) { - damage = 0; // Immune to pets and provoked creatures + Body = 112; + BaseSoundID = 268; + + SetStr(226, 255); + SetDex(126, 145); + SetInt(71, 92); + + SetHits(136, 153); + + SetDamage(28); + + SetDamageType(ResistanceType.Physical, 25); + SetDamageType(ResistanceType.Fire, 25); + SetDamageType(ResistanceType.Cold, 25); + SetDamageType(ResistanceType.Energy, 25); + + SetResistance(ResistanceType.Physical, 65, 75); + SetResistance(ResistanceType.Fire, 50, 60); + SetResistance(ResistanceType.Cold, 50, 60); + SetResistance(ResistanceType.Poison, 50, 60); + SetResistance(ResistanceType.Energy, 40, 50); + + SetSkill(SkillName.MagicResist, 50.1, 95.0); + SetSkill(SkillName.Tactics, 60.1, 100.0); + SetSkill(SkillName.Wrestling, 60.1, 100.0); + + Fame = 3500; + Karma = -3500; + + VirtualArmor = 38; + + Item ore = new ValoriteOre(oreAmount); + ore.ItemID = 0x19B9; + PackItem(ore); } - else + + public override string CorpseName => "an ore elemental corpse"; + public override string DefaultName => "a valorite elemental"; + + public override bool AutoDispel => true; + public override bool BleedImmune => true; + public override int TreasureMapLevel => 1; + + private static MonsterAbility[] _abilities = { MonsterAbilities.PoisonGasCounter, MonsterAbilities.DestroyEquipment }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() { - damage /= 2; // 50% melee damage + AddLoot(LootPack.FilthyRich); + AddLoot(LootPack.Gems, 4); } - } - public override void CheckReflect(Mobile caster, ref bool reflect) - { - reflect = true; // Every spell is reflected back to the caster - } + public override void AlterMeleeDamageFrom(Mobile from, ref int damage) + { + if (from is BaseCreature bc && (bc.Controlled || bc.BardTarget == this)) + { + damage = 0; // Immune to pets and provoked creatures + } + else + { + damage /= 2; // 50% melee damage + } + } - 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 void CheckReflect(Mobile caster, ref bool reflect) + { + reflect = true; // Every spell is reflected back to the caster + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs index 492ada251..306c07d06 100644 --- a/Projects/UOContent/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs @@ -1,75 +1,62 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class VeriteElemental : BaseCreature +namespace Server.Mobiles { - [Constructible] - public VeriteElemental(int oreAmount = 2) : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class VeriteElemental : BaseCreature { - Body = 113; - BaseSoundID = 268; + [Constructible] + public VeriteElemental(int oreAmount = 2) : base(AIType.AI_Melee) + { + Body = 113; + BaseSoundID = 268; - SetStr(226, 255); - SetDex(126, 145); - SetInt(71, 92); + SetStr(226, 255); + SetDex(126, 145); + SetInt(71, 92); - SetHits(136, 153); + SetHits(136, 153); - SetDamage(9, 16); + SetDamage(9, 16); - SetDamageType(ResistanceType.Physical, 50); - SetDamageType(ResistanceType.Energy, 50); + SetDamageType(ResistanceType.Physical, 50); + SetDamageType(ResistanceType.Energy, 50); - SetResistance(ResistanceType.Physical, 30, 40); - SetResistance(ResistanceType.Fire, 10, 20); - SetResistance(ResistanceType.Cold, 50, 60); - SetResistance(ResistanceType.Poison, 50, 60); - SetResistance(ResistanceType.Energy, 50, 60); + SetResistance(ResistanceType.Physical, 30, 40); + SetResistance(ResistanceType.Fire, 10, 20); + SetResistance(ResistanceType.Cold, 50, 60); + SetResistance(ResistanceType.Poison, 50, 60); + SetResistance(ResistanceType.Energy, 50, 60); - SetSkill(SkillName.MagicResist, 50.1, 95.0); - SetSkill(SkillName.Tactics, 60.1, 100.0); - SetSkill(SkillName.Wrestling, 60.1, 100.0); + SetSkill(SkillName.MagicResist, 50.1, 95.0); + SetSkill(SkillName.Tactics, 60.1, 100.0); + SetSkill(SkillName.Wrestling, 60.1, 100.0); - Fame = 3500; - Karma = -3500; + Fame = 3500; + Karma = -3500; - VirtualArmor = 35; + VirtualArmor = 35; - Item ore = new VeriteOre(oreAmount); - ore.ItemID = 0x19B9; - PackItem(ore); - } + Item ore = new VeriteOre(oreAmount); + ore.ItemID = 0x19B9; + PackItem(ore); + } - public VeriteElemental(Serial serial) : base(serial) - { - } + public override string CorpseName => "an ore elemental corpse"; + public override string DefaultName => "a verite elemental"; - public override string CorpseName => "an ore elemental corpse"; - public override string DefaultName => "a verite elemental"; + public override bool AutoDispel => true; + public override bool BleedImmune => true; + public override int TreasureMapLevel => 1; - public override bool AutoDispel => true; - public override bool BleedImmune => true; - public override int TreasureMapLevel => 1; + private static MonsterAbility[] _abilities = { MonsterAbilities.DestroyEquipment }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - private static MonsterAbility[] _abilities = { MonsterAbilities.DestroyEquipment }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.Rich); - 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(); + public override void GenerateLoot() + { + AddLoot(LootPack.Rich); + AddLoot(LootPack.Gems, 2); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Plant/Magic/Reaper.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Magic/Reaper.cs index 66dc20fe8..f8d13b2f6 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Magic/Reaper.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Magic/Reaper.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Reaper : BaseCreature + [SerializationGenerator(0, false)] + public partial class Reaper : BaseCreature { [Constructible] public Reaper() : base(AIType.AI_Mage) @@ -43,10 +45,6 @@ namespace Server.Mobiles PackItem(new MandrakeRoot(5)); } - public Reaper(Serial serial) : base(serial) - { - } - public override string CorpseName => "a reapers corpse"; public override string DefaultName => "a reaper"; @@ -58,17 +56,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/Monsters/Plant/Melee/BogThing.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/BogThing.cs index 64b54c05f..81c4dd138 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/BogThing.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/BogThing.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class BogThing : BaseCreature + [SerializationGenerator(0, false)] + public partial class BogThing : BaseCreature { [Constructible] public BogThing() : base(AIType.AI_Melee) @@ -51,10 +53,6 @@ namespace Server.Mobiles PackItem(new Seed()); } - public BogThing(Serial serial) : base(serial) - { - } - public override string CorpseName => "a plant corpse"; public override string DefaultName => "a bog thing"; @@ -66,18 +64,6 @@ namespace Server.Mobiles AddLoot(LootPack.Average, 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(); - } - public void SpawnBogling(Mobile m) { var map = Map; diff --git a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Bogling.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Bogling.cs index f736e7563..c8e3dce62 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Bogling.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Bogling.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class Bogling : BaseCreature + [SerializationGenerator(0, false)] + public partial class Bogling : BaseCreature { [Constructible] public Bogling() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(new Seed()); } - public Bogling(Serial serial) : base(serial) - { - } - public override string CorpseName => "a plant corpse"; public override string DefaultName => "a bogling"; @@ -54,17 +52,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/Monsters/Plant/Melee/Corpser.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs index 5fa465692..d13734f69 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Corpser : BaseCreature + [SerializationGenerator(0, false)] + public partial class Corpser : BaseCreature { [Constructible] public Corpser() : base(AIType.AI_Melee) @@ -48,10 +50,6 @@ namespace Server.Mobiles PackItem(new MandrakeRoot(3)); } - public Corpser(Serial serial) : base(serial) - { - } - public override string CorpseName => "a corpser corpse"; public override string DefaultName => "a corpser"; @@ -63,17 +61,9 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); } - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - if (BaseSoundID == 352) { BaseSoundID = 684; diff --git a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Quagmire.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Quagmire.cs index 42ab21e28..0b256fb21 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Quagmire.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Quagmire.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Quagmire : BaseCreature + [SerializationGenerator(0, false)] + public partial class Quagmire : BaseCreature { [Constructible] public Quagmire() : base(AIType.AI_Melee) @@ -35,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 32; } - public Quagmire(Serial serial) : base(serial) - { - } - public override string CorpseName => "a quagmire corpse"; public override string DefaultName => "a quagmire"; @@ -53,17 +52,9 @@ namespace Server.Mobiles public override int GetAngerSound() => 353; - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - if (BaseSoundID == -1) { BaseSoundID = 352; diff --git a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/SwampTentacle.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/SwampTentacle.cs index 8f9b68779..492f64777 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/SwampTentacle.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/SwampTentacle.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SwampTentacle : BaseCreature + [SerializationGenerator(0, false)] + public partial class SwampTentacle : BaseCreature { [Constructible] public SwampTentacle() : base(AIType.AI_Melee) @@ -38,10 +41,6 @@ namespace Server.Mobiles PackReg(3); } - public SwampTentacle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a swamp tentacle corpse"; public override string DefaultName => "a swamp tentacle"; @@ -51,17 +50,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/Monsters/Plant/Melee/WhippingVine.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/WhippingVine.cs index 3faed66a5..593193d2f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/WhippingVine.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/WhippingVine.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class WhippingVine : BaseCreature + [SerializationGenerator(0, false)] + public partial class WhippingVine : BaseCreature { [Constructible] public WhippingVine() : base(AIType.AI_Melee) @@ -48,26 +50,10 @@ namespace Server.Mobiles PackItem(new Vines()); } - public WhippingVine(Serial serial) : base(serial) - { - } - public override string CorpseName => "a whipping vine corpse"; public override string DefaultName => "a whipping vine"; public override bool BardImmune => !Core.AOS; public override Poison PoisonImmune => Poison.Lethal; - - 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/Monsters/Reptile/Magic/AncientWyrm.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/AncientWyrm.cs index ad72864c5..1c5b2ac9a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/AncientWyrm.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/AncientWyrm.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class AncientWyrm : BaseCreature + [SerializationGenerator(0, false)] + public partial class AncientWyrm : BaseCreature { [Constructible] public AncientWyrm() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 70; } - public AncientWyrm(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dragon corpse"; public override string DefaultName => "an ancient wyrm"; @@ -69,17 +68,5 @@ namespace Server.Mobiles public override int GetIdleSound() => 0x2D3; public override int GetHurtSound() => 0x2D1; - - 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/Monsters/Reptile/Magic/DeepSeaSerpent.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/DeepSeaSerpent.cs index 42f828f23..596e9f00a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/DeepSeaSerpent.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/DeepSeaSerpent.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class DeepSeaSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class DeepSeaSerpent : BaseCreature { [Constructible] public DeepSeaSerpent() : base(AIType.AI_Mage) @@ -51,10 +53,6 @@ namespace Server.Mobiles // PackItem( new SpecialFishingNet() ); } - public DeepSeaSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deep sea serpents corpse"; public override string DefaultName => "a deep sea serpent"; public override int Meat => 1; @@ -68,17 +66,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/Monsters/Reptile/Magic/Dragon.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Dragon.cs index 0816d8bc8..62c992c85 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Dragon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Dragon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Dragon : BaseCreature + [SerializationGenerator(0, false)] + public partial class Dragon : BaseCreature { [Constructible] public Dragon() : base(AIType.AI_Mage) @@ -40,10 +43,6 @@ namespace Server.Mobiles MinTameSkill = 93.9; } - public Dragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dragon corpse"; public override string DefaultName => "a dragon"; @@ -67,17 +66,5 @@ namespace Server.Mobiles AddLoot(LootPack.FilthyRich, 2); AddLoot(LootPack.Gems, 8); } - - 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/Monsters/Reptile/Magic/Leviathan.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Leviathan.cs index 0016d5fcb..8e7271348 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Leviathan.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/Leviathan.cs @@ -1,178 +1,163 @@ +using ModernUO.Serialization; using System; using Server.Items; -namespace Server.Mobiles; - -public class Leviathan : BaseCreature +namespace Server.Mobiles { - [Constructible] - public Leviathan(Mobile fisher = null) : base(AIType.AI_Mage) + [SerializationGenerator(0, false)] + public partial class Leviathan : BaseCreature { - Fisher = fisher; - - // May not be OSI accurate; mostly copied from krakens - Body = 77; - BaseSoundID = 353; - - Hue = 0x481; - - SetStr(1000); - SetDex(501, 520); - SetInt(501, 515); - - SetHits(1500); - - SetDamage(25, 33); - - SetDamageType(ResistanceType.Physical, 70); - SetDamageType(ResistanceType.Cold, 30); - - SetResistance(ResistanceType.Physical, 55, 65); - SetResistance(ResistanceType.Fire, 45, 55); - SetResistance(ResistanceType.Cold, 45, 55); - SetResistance(ResistanceType.Poison, 35, 45); - SetResistance(ResistanceType.Energy, 25, 35); - - SetSkill(SkillName.EvalInt, 97.6, 107.5); - SetSkill(SkillName.Magery, 97.6, 107.5); - SetSkill(SkillName.MagicResist, 97.6, 107.5); - SetSkill(SkillName.Meditation, 97.6, 107.5); - SetSkill(SkillName.Tactics, 97.6, 107.5); - SetSkill(SkillName.Wrestling, 97.6, 107.5); - - Fame = 24000; - Karma = -24000; - - VirtualArmor = 50; - - CanSwim = true; - CantWalk = true; - - PackItem(new MessageInABottle()); - PackItem(new Rope { ItemID = 0x14F8 }); - PackItem(new Rope { ItemID = 0x14FA }); - } - - public Leviathan(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a leviathan corpse"; - - public Mobile Fisher { get; set; } - - public override string DefaultName => "a leviathan"; - - public override int TreasureMapLevel => 5; - - public static Type[] Artifacts { get; } = - { - // Decorations - typeof(CandelabraOfSouls), - typeof(GhostShipAnchor), - typeof(GoldBricks), - typeof(PhillipsWoodenSteed), - typeof(SeahorseStatuette), - typeof(ShipModelOfTheHMSCape), - typeof(AdmiralsHeartyRum), - - // Equipment - typeof(AlchemistsBauble), - typeof(ArcticDeathDealer), - typeof(BlazeOfDeath), - typeof(BurglarsBandana), - typeof(CaptainQuacklebushsCutlass), - typeof(CavortingClub), - typeof(DreadPirateHat), - typeof(EnchantedTitanLegBone), - typeof(GwennosHarp), - typeof(IolosLute), - typeof(LunaLance), - typeof(NightsKiss), - typeof(NoxRangersHeavyCrossbow), - typeof(PolarBearMask), - typeof(VioletCourage) - }; - - private static MonsterAbility[] _abilities = { new LeviathanBreath() }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich, 5); - } - - 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 static void GiveArtifactTo(Mobile m) - { - var item = Loot.Construct(Artifacts); - - if (item == null) + [Constructible] + public Leviathan(Mobile fisher = null) : base(AIType.AI_Mage) { - return; + Fisher = fisher; + + // May not be OSI accurate; mostly copied from krakens + Body = 77; + BaseSoundID = 353; + + Hue = 0x481; + + SetStr(1000); + SetDex(501, 520); + SetInt(501, 515); + + SetHits(1500); + + SetDamage(25, 33); + + SetDamageType(ResistanceType.Physical, 70); + SetDamageType(ResistanceType.Cold, 30); + + SetResistance(ResistanceType.Physical, 55, 65); + SetResistance(ResistanceType.Fire, 45, 55); + SetResistance(ResistanceType.Cold, 45, 55); + SetResistance(ResistanceType.Poison, 35, 45); + SetResistance(ResistanceType.Energy, 25, 35); + + SetSkill(SkillName.EvalInt, 97.6, 107.5); + SetSkill(SkillName.Magery, 97.6, 107.5); + SetSkill(SkillName.MagicResist, 97.6, 107.5); + SetSkill(SkillName.Meditation, 97.6, 107.5); + SetSkill(SkillName.Tactics, 97.6, 107.5); + SetSkill(SkillName.Wrestling, 97.6, 107.5); + + Fame = 24000; + Karma = -24000; + + VirtualArmor = 50; + + CanSwim = true; + CantWalk = true; + + PackItem(new MessageInABottle()); + PackItem(new Rope { ItemID = 0x14F8 }); + PackItem(new Rope { ItemID = 0x14FA }); } - // TODO: Confirm messages - if (m.AddToBackpack(item)) + public override string CorpseName => "a leviathan corpse"; + + public Mobile Fisher { get; set; } + + public override string DefaultName => "a leviathan"; + + public override int TreasureMapLevel => 5; + + public static Type[] Artifacts { get; } = { - m.SendMessage("As a reward for slaying the mighty leviathan, an artifact has been placed in your backpack."); + // Decorations + typeof(CandelabraOfSouls), + typeof(GhostShipAnchor), + typeof(GoldBricks), + typeof(PhillipsWoodenSteed), + typeof(SeahorseStatuette), + typeof(ShipModelOfTheHMSCape), + typeof(AdmiralsHeartyRum), + + // Equipment + typeof(AlchemistsBauble), + typeof(ArcticDeathDealer), + typeof(BlazeOfDeath), + typeof(BurglarsBandana), + typeof(CaptainQuacklebushsCutlass), + typeof(CavortingClub), + typeof(DreadPirateHat), + typeof(EnchantedTitanLegBone), + typeof(GwennosHarp), + typeof(IolosLute), + typeof(LunaLance), + typeof(NightsKiss), + typeof(NoxRangersHeavyCrossbow), + typeof(PolarBearMask), + typeof(VioletCourage) + }; + + private static MonsterAbility[] _abilities = { new LeviathanBreath() }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich, 5); } - else + + public static void GiveArtifactTo(Mobile m) { - m.SendMessage( - "As your backpack is full, your reward for destroying the legendary leviathan has been placed at your feet." - ); - } - } + var item = Loot.Construct(Artifacts); - public override void OnKilledBy(Mobile mob) - { - base.OnKilledBy(mob); - - if (Paragon.CheckArtifactChance(mob, this)) - { - GiveArtifactTo(mob); - - if (mob == Fisher) + if (item == null) { - Fisher = null; + return; + } + + // TODO: Confirm messages + if (m.AddToBackpack(item)) + { + m.SendMessage("As a reward for slaying the mighty leviathan, an artifact has been placed in your backpack."); + } + else + { + m.SendMessage( + "As your backpack is full, your reward for destroying the legendary leviathan has been placed at your feet." + ); } } - } - public override void OnDeath(Container c) - { - base.OnDeath(c); - - if (Fisher != null && Utility.Random(100) < 25) + public override void OnKilledBy(Mobile mob) { - GiveArtifactTo(Fisher); + base.OnKilledBy(mob); + + if (Paragon.CheckArtifactChance(mob, this)) + { + GiveArtifactTo(mob); + + if (mob == Fisher) + { + Fisher = null; + } + } } - Fisher = null; - } + public override void OnDeath(Container c) + { + base.OnDeath(c); - private class LeviathanBreath : FireBreath - { - public override int PhysicalDamage => 70; - public override int ColdDamage => 30; - public override int FireDamage => 0; - public override int BreathEffectHue => 0x1ED; - public override double BreathDamageScalar => 0.05; - public override TimeSpan MinTriggerCooldown => TimeSpan.FromSeconds(5.0); - public override TimeSpan MaxTriggerCooldown => TimeSpan.FromSeconds(7.5); + if (Fisher != null && Utility.Random(100) < 25) + { + GiveArtifactTo(Fisher); + } + + Fisher = null; + } + + private class LeviathanBreath : FireBreath + { + public override int PhysicalDamage => 70; + public override int ColdDamage => 30; + public override int FireDamage => 0; + public override int BreathEffectHue => 0x1ED; + public override double BreathDamageScalar => 0.05; + public override TimeSpan MinTriggerCooldown => TimeSpan.FromSeconds(5.0); + public override TimeSpan MaxTriggerCooldown => TimeSpan.FromSeconds(7.5); + } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianArchmage.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianArchmage.cs index 783d73265..89c1dbd52 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianArchmage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianArchmage.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.OphidianJusticar", "Server.Mobiles.OphidianZealot")] - public class OphidianArchmage : BaseCreature + [SerializationGenerator(0, false)] + public partial class OphidianArchmage : BaseCreature { private static readonly string[] m_Names = { @@ -48,10 +51,6 @@ namespace Server.Mobiles PackNecroReg(5, 15); } - public OphidianArchmage(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ophidian corpse"; public override int Meat => 1; @@ -63,17 +62,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.MedScrolls, 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/Monsters/Reptile/Magic/OphidianMage.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMage.cs index e1964962e..45d55ffc5 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMage.cs @@ -1,7 +1,10 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { [TypeAlias("Server.Mobiles.OphidianShaman")] - public class OphidianMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class OphidianMage : BaseCreature { private static readonly string[] m_Names = { @@ -46,10 +49,6 @@ namespace Server.Mobiles PackReg(10); } - public OphidianMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ophidian corpse"; public override int Meat => 1; @@ -64,17 +63,5 @@ namespace Server.Mobiles AddLoot(LootPack.MedScrolls); AddLoot(LootPack.Potions); } - - 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/Monsters/Reptile/Magic/OphidianMatriarch.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMatriarch.cs index 3da099941..9d930c743 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMatriarch.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/OphidianMatriarch.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class OphidianMatriarch : BaseCreature + [SerializationGenerator(0, false)] + public partial class OphidianMatriarch : BaseCreature { [Constructible] public OphidianMatriarch() : base(AIType.AI_Mage) @@ -37,10 +40,6 @@ namespace Server.Mobiles VirtualArmor = 50; } - public OphidianMatriarch(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ophidian corpse"; public override string DefaultName => "an ophidian matriarch"; @@ -55,17 +54,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average, 2); AddLoot(LootPack.MedScrolls, 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/Monsters/Reptile/Magic/SeaSerpent.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SeaSerpent.cs index 7a2a4fb9d..247f89f1d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SeaSerpent.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SeaSerpent.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Seaserpant")] - public class SeaSerpent : BaseCreature + [SerializationGenerator(0, false)] + public partial class SeaSerpent : BaseCreature { [Constructible] public SeaSerpent() : base(AIType.AI_Mage) @@ -54,10 +56,6 @@ namespace Server.Mobiles // PackItem( new SpecialFishingNet() ); } - public SeaSerpent(Serial serial) : base(serial) - { - } - public override string CorpseName => "a sea serpents corpse"; public override string DefaultName => "a sea serpent"; public override int TreasureMapLevel => 2; @@ -74,17 +72,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/Monsters/Reptile/Magic/SerpentineDragon.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs index 66f414981..0d63142f2 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Engines.Plants; namespace Server.Mobiles { - public class SerpentineDragon : BaseCreature + [SerializationGenerator(0, false)] + public partial class SerpentineDragon : BaseCreature { [Constructible] public SerpentineDragon() : base(AIType.AI_Mage, FightMode.Evil) @@ -45,10 +47,6 @@ namespace Server.Mobiles } } - public SerpentineDragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a dragon corpse"; public override string DefaultName => "a serpentine dragon"; public override bool ReacquireOnMovement => true; @@ -93,17 +91,5 @@ namespace Server.Mobiles c.Combatant = c.ControlMaster; } } - - 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/Monsters/Reptile/Magic/ShadowWyrm.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/ShadowWyrm.cs index e3731481d..9a74f695c 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/ShadowWyrm.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/ShadowWyrm.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class ShadowWyrm : BaseCreature + [SerializationGenerator(0, false)] + public partial class ShadowWyrm : BaseCreature { [Constructible] public ShadowWyrm() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 70; } - public ShadowWyrm(Serial serial) : base(serial) - { - } - public override string CorpseName => "a shadow wyrm corpse"; public override string DefaultName => "a shadow wyrm"; public override bool ReacquireOnMovement => true; @@ -69,17 +68,5 @@ namespace Server.Mobiles public override int GetIdleSound() => 0x2D5; public override int GetHurtSound() => 0x2D1; - - 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/Monsters/Reptile/Magic/SkeletalDragon.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SkeletalDragon.cs index 83c96b5df..24723ebd8 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SkeletalDragon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/SkeletalDragon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SkeletalDragon : BaseCreature + [SerializationGenerator(0, false)] + public partial class SkeletalDragon : BaseCreature { [Constructible] public SkeletalDragon() : base(AIType.AI_Mage) @@ -39,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 80; } - public SkeletalDragon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a skeletal dragon corpse"; public override string DefaultName => "a skeletal dragon"; @@ -66,17 +65,5 @@ namespace Server.Mobiles AddLoot(LootPack.FilthyRich, 4); AddLoot(LootPack.Gems, 5); } - - 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/Monsters/Reptile/Magic/WhiteWyrm.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs index 37524dbe6..82e4d85ff 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class WhiteWyrm : BaseCreature + [SerializationGenerator(0, false)] + public partial class WhiteWyrm : BaseCreature { [Constructible] public WhiteWyrm() : base(AIType.AI_Mage) @@ -41,10 +44,6 @@ namespace Server.Mobiles MinTameSkill = 96.3; } - public WhiteWyrm(Serial serial) : base(serial) - { - } - public override string CorpseName => "a white wyrm corpse"; public override string DefaultName => "a white wyrm"; @@ -65,17 +64,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); AddLoot(LootPack.Gems, Utility.Random(1, 5)); } - - 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/Monsters/Reptile/Melee/Drake.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Drake.cs index 28bdf6672..2b298418b 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Drake.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Drake.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Drake : BaseCreature + [SerializationGenerator(0, false)] + public partial class Drake : BaseCreature { [Constructible] public Drake() : base(AIType.AI_Melee) @@ -41,10 +44,6 @@ namespace Server.Mobiles PackReg(3); } - public Drake(Serial serial) : base(serial) - { - } - public override string CorpseName => "a drake corpse"; public override string DefaultName => "a drake"; @@ -66,17 +65,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.MedScrolls, 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/Monsters/Reptile/Melee/Harpy.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Harpy.cs index c3c490f84..8806da9c9 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Harpy.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Harpy.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Harpy : BaseCreature + [SerializationGenerator(0, false)] + public partial class Harpy : BaseCreature { [Constructible] public Harpy() : base(AIType.AI_Melee) @@ -34,10 +37,6 @@ namespace Server.Mobiles VirtualArmor = 28; } - public Harpy(Serial serial) : base(serial) - { - } - public override string CorpseName => "a harpy corpse"; public override string DefaultName => "a harpy"; @@ -61,17 +60,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 919; public override int GetIdleSound() => 918; - - 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/Monsters/Reptile/Melee/Kraken.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Kraken.cs index 19f3281a2..21f7d949f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Kraken.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Kraken.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Kraken : BaseCreature + [SerializationGenerator(0, false)] + public partial class Kraken : BaseCreature { [Constructible] public Kraken() : base(AIType.AI_Melee) @@ -52,10 +54,6 @@ namespace Server.Mobiles PackItem(new SpecialFishingNet()); // Confirm? } - public Kraken(Serial serial) : base(serial) - { - } - public override string CorpseName => "a krakens corpse"; public override string DefaultName => "a kraken"; @@ -65,17 +63,5 @@ namespace Server.Mobiles { 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/Monsters/Reptile/Melee/Lizardman.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Lizardman.cs index b8fd3ee4f..7416e2fa0 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Lizardman.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Lizardman.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Misc; namespace Server.Mobiles { - public class Lizardman : BaseCreature + [SerializationGenerator(0, false)] + public partial class Lizardman : BaseCreature { [Constructible] public Lizardman() : base(AIType.AI_Melee) @@ -36,10 +38,6 @@ namespace Server.Mobiles VirtualArmor = 28; } - public Lizardman(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lizardman corpse"; public override InhumanSpeech SpeechType => InhumanSpeech.Lizardman; @@ -53,17 +51,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); // TODO: weapon } - - 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/Monsters/Reptile/Melee/OphidianKnight.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianKnight.cs index 90a1b36e9..b63bb5756 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianKnight.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianKnight.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.OphidianAvenger")] - public class OphidianKnight : BaseCreature + [SerializationGenerator(0, false)] + public partial class OphidianKnight : BaseCreature { private static readonly string[] m_Names = { @@ -48,10 +50,6 @@ namespace Server.Mobiles PackItem(new LesserPoisonPotion()); } - public OphidianKnight(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ophidian corpse"; public override int Meat => 2; @@ -66,17 +64,5 @@ namespace Server.Mobiles { AddLoot(LootPack.Rich, 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/Monsters/Reptile/Melee/OphidianWarrior.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianWarrior.cs index afce1e001..dae2a40fc 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/OphidianWarrior.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class OphidianWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class OphidianWarrior : BaseCreature { private static readonly string[] m_Names = { @@ -42,10 +45,6 @@ namespace Server.Mobiles VirtualArmor = 36; } - public OphidianWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ophidian corpse"; public override int Meat => 1; @@ -59,17 +58,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); AddLoot(LootPack.Gems); } - - 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/Monsters/Reptile/Melee/Scorpion.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Scorpion.cs index a8e3f52b5..3cbf47048 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Scorpion.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Scorpion.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Scorpion : BaseCreature + [SerializationGenerator(0, false)] + public partial class Scorpion : BaseCreature { [Constructible] public Scorpion() : base(AIType.AI_Melee) @@ -45,10 +47,6 @@ namespace Server.Mobiles PackItem(new LesserPoisonPotion()); } - public Scorpion(Serial serial) : base(serial) - { - } - public override string CorpseName => "a scorpion corpse"; public override string DefaultName => "a scorpion"; @@ -62,17 +60,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/Monsters/Reptile/Melee/StoneHarpy.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/StoneHarpy.cs index 39861b586..04228ed02 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/StoneHarpy.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/StoneHarpy.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class StoneHarpy : BaseCreature + [SerializationGenerator(0, false)] + public partial class StoneHarpy : BaseCreature { [Constructible] public StoneHarpy() : base(AIType.AI_Melee) @@ -36,10 +39,6 @@ namespace Server.Mobiles VirtualArmor = 50; } - public StoneHarpy(Serial serial) : base(serial) - { - } - public override string CorpseName => "a stone harpy corpse"; public override string DefaultName => "a stone harpy"; @@ -62,17 +61,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 919; public override int GetIdleSound() => 918; - - 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/Monsters/Reptile/Melee/Wyvern.cs b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Wyvern.cs index 36361e746..49ffeb353 100644 --- a/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Wyvern.cs +++ b/Projects/UOContent/Mobiles/Monsters/Reptile/Melee/Wyvern.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Wyvern : BaseCreature + [SerializationGenerator(0, false)] + public partial class Wyvern : BaseCreature { [Constructible] public Wyvern() : base(AIType.AI_Melee) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(new LesserPoisonPotion()); } - public Wyvern(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wyvern corpse"; public override string DefaultName => "a wyvern"; @@ -74,17 +72,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 721; public override int GetIdleSound() => 725; - - 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/Monsters/SE/BakeKitsune.cs b/Projects/UOContent/Mobiles/Monsters/SE/BakeKitsune.cs index af441766d..96a8954d6 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/BakeKitsune.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/BakeKitsune.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class BakeKitsune : BaseCreature + [SerializationGenerator(0, false)] + public partial class BakeKitsune : BaseCreature { private TimerExecutionToken _disguiseTimerToken; @@ -49,10 +51,6 @@ namespace Server.Mobiles } } - public BakeKitsune(Serial serial) : base(serial) - { - } - public override string CorpseName => "a bake kitsune corpse"; public override string DefaultName => "a bake kitsune"; @@ -99,18 +97,10 @@ namespace Server.Mobiles public override int GetDeathSound() => 0x4DB; - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - writer.Write(1); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - - if (version == 0 && PhysicalResistance > 60) + if (PhysicalResistance > 60) { SetResistance(ResistanceType.Physical, 40, 60); SetResistance(ResistanceType.Fire, 70, 90); diff --git a/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetle.cs b/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetle.cs index 51681b3ad..9186d9523 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetle.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetle.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { + [SerializationGenerator(0, false)] [TypeAlias("Server.Mobiles.DeathWatchBeetle")] - public class DeathwatchBeetle : BaseCreature + public partial class DeathwatchBeetle : BaseCreature { [Constructible] public DeathwatchBeetle() : base(AIType.AI_Melee, Core.ML ? FightMode.Aggressor : FightMode.Closest) @@ -68,10 +70,6 @@ namespace Server.Mobiles ControlSlots = 1; } - public DeathwatchBeetle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deathwatchbeetle corpse"; public override string DefaultName => "a deathwatch beetle"; @@ -133,17 +131,5 @@ namespace Server.Mobiles m.ApplyPoison(this, Poison.Regular); m.SendLocalizedMessage(1070821, Name); // %s spits a poisonous substance at you! } - - 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/Monsters/SE/DeathWatchBeetleHatchling.cs b/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetleHatchling.cs index 83302820e..14d6d3fff 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetleHatchling.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/DeathWatchBeetleHatchling.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { + [SerializationGenerator(0, false)] [TypeAlias("Server.Mobiles.DeathWatchBeetleHatchling")] - public class DeathwatchBeetleHatchling : BaseCreature + public partial class DeathwatchBeetleHatchling : BaseCreature { [Constructible] public DeathwatchBeetleHatchling() : base(AIType.AI_Melee, Core.ML ? FightMode.Aggressor : FightMode.Closest) @@ -65,10 +67,6 @@ namespace Server.Mobiles } } - public DeathwatchBeetleHatchling(Serial serial) : base(serial) - { - } - public override string CorpseName => "a deathwatchbeetle hatchling corpse"; public override string DefaultName => "a deathwatch beetle hatchling"; public override int Hides => 8; @@ -88,17 +86,5 @@ namespace Server.Mobiles AddLoot(LootPack.LowScrolls, 1); AddLoot(LootPack.Potions, 1); } - - 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/Monsters/SE/EliteNinja.cs b/Projects/UOContent/Mobiles/Monsters/SE/EliteNinja.cs index a16c794c0..73e4c41c8 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/EliteNinja.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/EliteNinja.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class EliteNinja : BaseCreature + [SerializationGenerator(0, false)] + public partial class EliteNinja : BaseCreature { [Constructible] public EliteNinja() : base(AIType.AI_Melee) @@ -80,10 +82,6 @@ namespace Server.Mobiles Utility.AssignRandomHair(this); } - public EliteNinja(Serial serial) : base(serial) - { - } - public override bool ClickTitle => false; public override string DefaultName => "an elite ninja"; @@ -103,19 +101,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.Gems, 2); } - - 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/Monsters/SE/FanDancer.cs b/Projects/UOContent/Mobiles/Monsters/SE/FanDancer.cs index 4828b5737..9227eba56 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/FanDancer.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/FanDancer.cs @@ -1,91 +1,76 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class FanDancer : BaseCreature +namespace Server.Mobiles { - [Constructible] - public FanDancer() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class FanDancer : BaseCreature { - Body = 247; - BaseSoundID = 0x372; - - SetStr(301, 375); - SetDex(201, 255); - SetInt(21, 25); - - SetHits(351, 430); - - SetDamage(12, 17); - - SetDamageType(ResistanceType.Physical, 70); - SetDamageType(ResistanceType.Fire, 10); - SetDamageType(ResistanceType.Cold, 10); - SetDamageType(ResistanceType.Poison, 10); - - SetResistance(ResistanceType.Physical, 40, 60); - SetResistance(ResistanceType.Fire, 50, 70); - SetResistance(ResistanceType.Cold, 50, 70); - SetResistance(ResistanceType.Poison, 50, 70); - SetResistance(ResistanceType.Energy, 40, 60); - - SetSkill(SkillName.MagicResist, 100.1, 110.0); - SetSkill(SkillName.Tactics, 85.1, 95.0); - SetSkill(SkillName.Wrestling, 85.1, 95.0); - SetSkill(SkillName.Anatomy, 85.1, 95.0); - - Fame = 9000; - Karma = -9000; - - if (Utility.RandomDouble() < .33) + [Constructible] + public FanDancer() : base(AIType.AI_Melee) { - PackItem(Seed.RandomBonsaiSeed()); + Body = 247; + BaseSoundID = 0x372; + + SetStr(301, 375); + SetDex(201, 255); + SetInt(21, 25); + + SetHits(351, 430); + + SetDamage(12, 17); + + SetDamageType(ResistanceType.Physical, 70); + SetDamageType(ResistanceType.Fire, 10); + SetDamageType(ResistanceType.Cold, 10); + SetDamageType(ResistanceType.Poison, 10); + + SetResistance(ResistanceType.Physical, 40, 60); + SetResistance(ResistanceType.Fire, 50, 70); + SetResistance(ResistanceType.Cold, 50, 70); + SetResistance(ResistanceType.Poison, 50, 70); + SetResistance(ResistanceType.Energy, 40, 60); + + SetSkill(SkillName.MagicResist, 100.1, 110.0); + SetSkill(SkillName.Tactics, 85.1, 95.0); + SetSkill(SkillName.Wrestling, 85.1, 95.0); + SetSkill(SkillName.Anatomy, 85.1, 95.0); + + Fame = 9000; + Karma = -9000; + + if (Utility.RandomDouble() < .33) + { + PackItem(Seed.RandomBonsaiSeed()); + } + + AddItem(new Tessen()); + + if (Utility.RandomDouble() < 0.02) + { + PackItem(new OrigamiPaper()); + } } - AddItem(new Tessen()); + public override string CorpseName => "a fan dancer corpse"; + public override string DefaultName => "a fan dancer"; - if (Utility.RandomDouble() < 0.02) + public override bool Uncalmable => true; + + private static MonsterAbility[] _abilities = { - PackItem(new OrigamiPaper()); + MonsterAbilities.ReflectPhysicalDamage, + MonsterAbilities.FanningFire, + MonsterAbilities.FanThrowCounter + }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich); + AddLoot(LootPack.Rich); + AddLoot(LootPack.Gems, 2); } } - - public FanDancer(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a fan dancer corpse"; - public override string DefaultName => "a fan dancer"; - - public override bool Uncalmable => true; - - private static MonsterAbility[] _abilities = - { - MonsterAbilities.ReflectPhysicalDamage, - MonsterAbilities.FanningFire, - MonsterAbilities.FanThrowCounter - }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich); - AddLoot(LootPack.Rich); - AddLoot(LootPack.Gems, 2); - } - - 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/Monsters/SE/FireBeetle.cs b/Projects/UOContent/Mobiles/Monsters/SE/FireBeetle.cs index 5b4e3aac4..b4d30513e 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/FireBeetle.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/FireBeetle.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using Server.Engines.Craft; using Server.Items; namespace Server.Mobiles { [Forge] - public class FireBeetle : BaseMount + [SerializationGenerator(0,false)] + public partial class FireBeetle : BaseMount { public override string DefaultName => "a fire beetle"; @@ -46,10 +48,6 @@ namespace Server.Mobiles Hue = 0x489; } - public FireBeetle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fire beetle corpse"; public override bool SubdueBeforeTame => true; // Must be beaten into submission public override bool StatLossAfterTame => true; @@ -89,23 +87,10 @@ namespace Server.Mobiles public override double GetControlChance(Mobile m, bool useBaseSkill = false) => 1.0; - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - - writer.Write(1); // version - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - - var version = reader.ReadInt(); - - if (version == 0) - { - Hue = 0x489; - } + Hue = 0x489; } } } diff --git a/Projects/UOContent/Mobiles/Monsters/SE/Kappa.cs b/Projects/UOContent/Mobiles/Monsters/SE/Kappa.cs index 8cbb54d4f..88c389ab9 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/Kappa.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/Kappa.cs @@ -1,143 +1,130 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class Kappa : BaseCreature +namespace Server.Mobiles { - [Constructible] - public Kappa() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class Kappa : BaseCreature { - Body = 240; - - SetStr(186, 230); - SetDex(51, 75); - SetInt(41, 55); - - SetMana(30); - - SetHits(151, 180); - - SetDamage(6, 12); - - SetDamageType(ResistanceType.Physical, 100); - - SetResistance(ResistanceType.Physical, 35, 50); - SetResistance(ResistanceType.Fire, 35, 50); - SetResistance(ResistanceType.Cold, 25, 50); - SetResistance(ResistanceType.Poison, 35, 50); - SetResistance(ResistanceType.Energy, 20, 30); - - SetSkill(SkillName.MagicResist, 60.1, 70.0); - SetSkill(SkillName.Tactics, 79.1, 89.0); - SetSkill(SkillName.Wrestling, 60.1, 70.0); - - Fame = 1700; - Karma = -1700; - - PackItem(new RawFishSteak(3)); - for (var i = 0; i < 2; i++) + [Constructible] + public Kappa() : base(AIType.AI_Melee) { - switch (Utility.Random(6)) + Body = 240; + + SetStr(186, 230); + SetDex(51, 75); + SetInt(41, 55); + + SetMana(30); + + SetHits(151, 180); + + SetDamage(6, 12); + + SetDamageType(ResistanceType.Physical, 100); + + SetResistance(ResistanceType.Physical, 35, 50); + SetResistance(ResistanceType.Fire, 35, 50); + SetResistance(ResistanceType.Cold, 25, 50); + SetResistance(ResistanceType.Poison, 35, 50); + SetResistance(ResistanceType.Energy, 20, 30); + + SetSkill(SkillName.MagicResist, 60.1, 70.0); + SetSkill(SkillName.Tactics, 79.1, 89.0); + SetSkill(SkillName.Wrestling, 60.1, 70.0); + + Fame = 1700; + Karma = -1700; + + PackItem(new RawFishSteak(3)); + for (var i = 0; i < 2; i++) { - case 0: - { - PackItem(new Gears()); - break; - } - case 1: - { - PackItem(new Hinge()); - break; - } - case 2: - { - PackItem(new Axle()); - break; - } - } - } - - if (Core.ML && Utility.Random(3) == 0) - { - PackItem(Seed.RandomPeculiarSeed(4)); - } - } - - public Kappa(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a kappa corpse"; - public override string DefaultName => "a kappa"; - - private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAttack }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.Meager); - AddLoot(LootPack.Average); - } - - public override int GetAngerSound() => 0x50B; - - public override int GetIdleSound() => 0x50A; - - public override int GetAttackSound() => 0x509; - - public override int GetHurtSound() => 0x50C; - - public override int GetDeathSound() => 0x508; - - public override void OnDamage(int amount, Mobile from, bool willKill) - { - // Acid Blood ability - if (from?.Map != null) - { - var amt = 0; - Mobile target = this; - var rand = Utility.Random(1, 100); - if (willKill) - { - amt = ((rand % 5) >> 2) + 3; - } - - if (Hits < 100 && rand < 21) - { - target = rand % 2 < 1 ? this : from; - amt++; - } - - if (amt > 0) - { - SpillAcid(target, amt); - from.SendLocalizedMessage(1070820); // The creature spills a pool of acidic slime! - if (Mana > 14) + switch (Utility.Random(6)) { - Mana -= 15; + case 0: + { + PackItem(new Gears()); + break; + } + case 1: + { + PackItem(new Hinge()); + break; + } + case 2: + { + PackItem(new Axle()); + break; + } } } + + if (Core.ML && Utility.Random(3) == 0) + { + PackItem(Seed.RandomPeculiarSeed(4)); + } } - base.OnDamage(amount, from, willKill); - } + public override string CorpseName => "a kappa corpse"; + public override string DefaultName => "a kappa"; - public override Item NewHarmfulItem() => new PoolOfAcid(TimeSpan.FromSeconds(10), 5, 10) - { - Name = "slime" - }; + private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAttack }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - public override void Serialize(IGenericWriter writer) - { - base.Serialize(writer); - writer.Write(0); - } + public override void GenerateLoot() + { + AddLoot(LootPack.Meager); + AddLoot(LootPack.Average); + } - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); + public override int GetAngerSound() => 0x50B; + + public override int GetIdleSound() => 0x50A; + + public override int GetAttackSound() => 0x509; + + public override int GetHurtSound() => 0x50C; + + public override int GetDeathSound() => 0x508; + + public override void OnDamage(int amount, Mobile from, bool willKill) + { + // Acid Blood ability + if (from?.Map != null) + { + var amt = 0; + Mobile target = this; + var rand = Utility.Random(1, 100); + if (willKill) + { + amt = ((rand % 5) >> 2) + 3; + } + + if (Hits < 100 && rand < 21) + { + target = rand % 2 < 1 ? this : from; + amt++; + } + + if (amt > 0) + { + SpillAcid(target, amt); + from.SendLocalizedMessage(1070820); // The creature spills a pool of acidic slime! + if (Mana > 14) + { + Mana -= 15; + } + } + } + + base.OnDamage(amount, from, willKill); + } + + public override Item NewHarmfulItem() => new PoolOfAcid(TimeSpan.FromSeconds(10), 5, 10) + { + Name = "slime" + }; } } diff --git a/Projects/UOContent/Mobiles/Monsters/SE/KazeKemono.cs b/Projects/UOContent/Mobiles/Monsters/SE/KazeKemono.cs index ad32ec370..2aefec06d 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/KazeKemono.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/KazeKemono.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; namespace Server.Mobiles { - public class KazeKemono : BaseCreature + [SerializationGenerator(0, false)] + public partial class KazeKemono : BaseCreature { private static readonly Dictionary m_FlurryOfTwigsTable = new(); @@ -44,11 +46,6 @@ namespace Server.Mobiles Karma = -8000; } - public KazeKemono(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a kaze kemono corpse"; public override string DefaultName => "a kaze kemono"; @@ -129,18 +126,6 @@ namespace Server.Mobiles } } - 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(); - } - private class ExpireTimer : Timer { private readonly Mobile m_Mobile; diff --git a/Projects/UOContent/Mobiles/Monsters/SE/LadyOfTheSnow.cs b/Projects/UOContent/Mobiles/Monsters/SE/LadyOfTheSnow.cs index b476dc2d0..f0b4b01a0 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/LadyOfTheSnow.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/LadyOfTheSnow.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; using Server.Engines.Plants; @@ -5,7 +6,8 @@ using Server.Items; namespace Server.Mobiles { - public class LadyOfTheSnow : BaseCreature + [SerializationGenerator(0, false)] + public partial class LadyOfTheSnow : BaseCreature { private static readonly Dictionary m_Table = new(); @@ -51,11 +53,6 @@ namespace Server.Mobiles } } - public LadyOfTheSnow(Serial serial) - : base(serial) - { - } - public override string CorpseName => "a lady of the snow corpse"; public override string DefaultName => "a lady of the snow"; @@ -105,20 +102,6 @@ namespace Server.Mobiles m_Table[defender] = timer; } - 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(); - } - private class ExpireTimer : Timer { private readonly Mobile m_From; diff --git a/Projects/UOContent/Mobiles/Monsters/SE/Oni.cs b/Projects/UOContent/Mobiles/Monsters/SE/Oni.cs index fa5c6a6bc..1434872c8 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/Oni.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/Oni.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Engines.Plants; namespace Server.Mobiles { - public class Oni : BaseCreature + [SerializationGenerator(0, false)] + public partial class Oni : BaseCreature { [Constructible] public Oni() : base(AIType.AI_Mage) @@ -54,10 +56,6 @@ namespace Server.Mobiles * 85: 51/17/17 -> 28 + 8 + 5 = 41 */ - public Oni(Serial serial) : base(serial) - { - } - public override string CorpseName => "an oni corpse"; public override string DefaultName => "an oni"; @@ -78,19 +76,5 @@ namespace Server.Mobiles { AddLoot(LootPack.FilthyRich, 3); } - - 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/Monsters/SE/RaiJu.cs b/Projects/UOContent/Mobiles/Monsters/SE/RaiJu.cs index 543000d95..581a15fd0 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/RaiJu.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/RaiJu.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; namespace Server.Mobiles { - public class RaiJu : BaseCreature + [SerializationGenerator(0, false)] + public partial class RaiJu : BaseCreature { private static readonly HashSet m_Table = new(); @@ -42,10 +44,6 @@ namespace Server.Mobiles Karma = -8000; } - public RaiJu(Serial serial) : base(serial) - { - } - public override string CorpseName => "a rai-ju corpse"; public override string DefaultName => "a Rai-Ju"; public override bool BleedImmune => true; @@ -86,20 +84,6 @@ namespace Server.Mobiles m_Table.Add(defender); } - 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(); - } - private class ExpireTimer : Timer { private readonly Mobile m_Mobile; diff --git a/Projects/UOContent/Mobiles/Monsters/SE/RevenantLion.cs b/Projects/UOContent/Mobiles/Monsters/SE/RevenantLion.cs index 52da6b4dc..57b920526 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/RevenantLion.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/RevenantLion.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class RevenantLion : BaseCreature + [SerializationGenerator(0, false)] + public partial class RevenantLion : BaseCreature { [Constructible] public RevenantLion() : base(AIType.AI_Mage) @@ -53,10 +55,6 @@ namespace Server.Mobiles ); } - public RevenantLion(Serial serial) : base(serial) - { - } - public override string CorpseName => "a revenant lion corpse"; public override string DefaultName => "a Revenant Lion"; @@ -83,17 +81,5 @@ namespace Server.Mobiles // TODO: Bone Pile } - - 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/Monsters/SE/Ronin.cs b/Projects/UOContent/Mobiles/Monsters/SE/Ronin.cs index 9d0825afb..668131e35 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/Ronin.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/Ronin.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Ronin : BaseCreature + [SerializationGenerator(0, false)] + public partial class Ronin : BaseCreature { [Constructible] public Ronin() : base(AIType.AI_Melee) @@ -90,10 +92,6 @@ namespace Server.Mobiles Utility.AssignRandomHair(this); } - public Ronin(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ronin corpse"; public override bool ClickTitle => false; public override string DefaultName => "a ronin"; @@ -116,19 +114,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.Gems, 2); } - - 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/Monsters/SE/RuneBeetle.cs b/Projects/UOContent/Mobiles/Monsters/SE/RuneBeetle.cs index 3b623ba30..bf0b43473 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/RuneBeetle.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/RuneBeetle.cs @@ -1,112 +1,100 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class RuneBeetle : BaseCreature +namespace Server.Mobiles { - [Constructible] - public RuneBeetle() : base(AIType.AI_Mage) + [SerializationGenerator(0,false)] + public partial class RuneBeetle : BaseCreature { - Body = 244; - - SetStr(401, 460); - SetDex(121, 170); - SetInt(376, 450); - - SetHits(301, 360); - - SetDamage(15, 22); - - SetDamageType(ResistanceType.Physical, 20); - SetDamageType(ResistanceType.Poison, 10); - SetDamageType(ResistanceType.Energy, 70); - - SetResistance(ResistanceType.Physical, 40, 65); - SetResistance(ResistanceType.Fire, 35, 50); - SetResistance(ResistanceType.Cold, 35, 50); - SetResistance(ResistanceType.Poison, 75, 95); - SetResistance(ResistanceType.Energy, 40, 60); - - SetSkill(SkillName.EvalInt, 100.1, 125.0); - SetSkill(SkillName.Magery, 100.1, 110.0); - SetSkill(SkillName.Poisoning, 120.1, 140.0); - SetSkill(SkillName.MagicResist, 95.1, 110.0); - SetSkill(SkillName.Tactics, 78.1, 93.0); - SetSkill(SkillName.Wrestling, 70.1, 77.5); - - Fame = 15000; - Karma = -15000; - - if (Utility.RandomDouble() < .25) + [Constructible] + public RuneBeetle() : base(AIType.AI_Mage) { - PackItem(Seed.RandomBonsaiSeed()); + Body = 244; + + SetStr(401, 460); + SetDex(121, 170); + SetInt(376, 450); + + SetHits(301, 360); + + SetDamage(15, 22); + + SetDamageType(ResistanceType.Physical, 20); + SetDamageType(ResistanceType.Poison, 10); + SetDamageType(ResistanceType.Energy, 70); + + SetResistance(ResistanceType.Physical, 40, 65); + SetResistance(ResistanceType.Fire, 35, 50); + SetResistance(ResistanceType.Cold, 35, 50); + SetResistance(ResistanceType.Poison, 75, 95); + SetResistance(ResistanceType.Energy, 40, 60); + + SetSkill(SkillName.EvalInt, 100.1, 125.0); + SetSkill(SkillName.Magery, 100.1, 110.0); + SetSkill(SkillName.Poisoning, 120.1, 140.0); + SetSkill(SkillName.MagicResist, 95.1, 110.0); + SetSkill(SkillName.Tactics, 78.1, 93.0); + SetSkill(SkillName.Wrestling, 70.1, 77.5); + + Fame = 15000; + Karma = -15000; + + if (Utility.RandomDouble() < .25) + { + PackItem(Seed.RandomBonsaiSeed()); + } + + PackItem( + Utility.Random(10) switch + { + 0 => new LeftArm(), + 1 => new RightArm(), + 2 => new Torso(), + 3 => new Bone(), + 4 => new RibCage(), + 5 => new RibCage(), + _ => new BonePile() // 6-9 + } + ); + + Tamable = true; + ControlSlots = 3; + MinTameSkill = 93.9; } - PackItem( - Utility.Random(10) switch - { - 0 => new LeftArm(), - 1 => new RightArm(), - 2 => new Torso(), - 3 => new Bone(), - 4 => new RibCage(), - 5 => new RibCage(), - _ => new BonePile() // 6-9 - } - ); + public override string CorpseName => "a rune beetle corpse"; + public override string DefaultName => "a rune beetle"; - Tamable = true; - ControlSlots = 3; - MinTameSkill = 93.9; - } + public override Poison PoisonImmune => Poison.Greater; + public override Poison HitPoison => Poison.Greater; + public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; + public override bool CanAngerOnTame => true; - public RuneBeetle(Serial serial) : base(serial) - { - } + public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack; - public override string CorpseName => "a rune beetle corpse"; - public override string DefaultName => "a rune beetle"; + public override int GetAngerSound() => 0x4E8; - public override Poison PoisonImmune => Poison.Greater; - public override Poison HitPoison => Poison.Greater; - public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay; - public override bool CanAngerOnTame => true; + public override int GetIdleSound() => 0x4E7; - public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack; + public override int GetAttackSound() => 0x4E6; - public override int GetAngerSound() => 0x4E8; + public override int GetHurtSound() => 0x4E9; - public override int GetIdleSound() => 0x4E7; + public override int GetDeathSound() => 0x4E5; - public override int GetAttackSound() => 0x4E6; + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich, 2); + AddLoot(LootPack.MedScrolls, 1); + } - public override int GetHurtSound() => 0x4E9; + private static MonsterAbility[] _abilities = { MonsterAbilities.RuneCorruption }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; - public override int GetDeathSound() => 0x4E5; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich, 2); - AddLoot(LootPack.MedScrolls, 1); - } - - private static MonsterAbility[] _abilities = { MonsterAbilities.RuneCorruption }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - 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) + [AfterDeserialization] + private void AfterDeserialization() { for (var i = 0; i < Skills.Length; ++i) { @@ -121,3 +109,4 @@ public class RuneBeetle : BaseCreature } } } + diff --git a/Projects/UOContent/Mobiles/Monsters/SE/TsukiWolf.cs b/Projects/UOContent/Mobiles/Monsters/SE/TsukiWolf.cs index 7e0675d19..206802462 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/TsukiWolf.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/TsukiWolf.cs @@ -1,103 +1,87 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; -namespace Server.Mobiles; - -public class TsukiWolf : BaseCreature +namespace Server.Mobiles { - [Constructible] - public TsukiWolf() : base(AIType.AI_Melee) + [SerializationGenerator(0, false)] + public partial class TsukiWolf : BaseCreature { - Body = 250; - Hue = Utility.Random(3) == 0 ? Utility.RandomNeutralHue() : 0; - - SetStr(401, 450); - SetDex(151, 200); - SetInt(66, 76); - - SetHits(376, 450); - SetMana(40); - - SetDamage(14, 18); - - SetDamageType(ResistanceType.Physical, 90); - SetDamageType(ResistanceType.Cold, 5); - SetDamageType(ResistanceType.Energy, 5); - - SetResistance(ResistanceType.Physical, 40, 60); - SetResistance(ResistanceType.Fire, 50, 70); - SetResistance(ResistanceType.Cold, 50, 70); - SetResistance(ResistanceType.Poison, 50, 70); - SetResistance(ResistanceType.Energy, 50, 70); - - SetSkill(SkillName.Anatomy, 65.1, 72.0); - SetSkill(SkillName.MagicResist, 65.1, 70.0); - SetSkill(SkillName.Tactics, 95.1, 110.0); - SetSkill(SkillName.Wrestling, 97.6, 107.5); - - Fame = 8500; - Karma = -8500; - - if (Core.ML && Utility.RandomDouble() < .33) + [Constructible] + public TsukiWolf() : base(AIType.AI_Melee) { - PackItem(Seed.RandomPeculiarSeed(1)); + Body = 250; + Hue = Utility.Random(3) == 0 ? Utility.RandomNeutralHue() : 0; + + SetStr(401, 450); + SetDex(151, 200); + SetInt(66, 76); + + SetHits(376, 450); + SetMana(40); + + SetDamage(14, 18); + + SetDamageType(ResistanceType.Physical, 90); + SetDamageType(ResistanceType.Cold, 5); + SetDamageType(ResistanceType.Energy, 5); + + SetResistance(ResistanceType.Physical, 40, 60); + SetResistance(ResistanceType.Fire, 50, 70); + SetResistance(ResistanceType.Cold, 50, 70); + SetResistance(ResistanceType.Poison, 50, 70); + SetResistance(ResistanceType.Energy, 50, 70); + + SetSkill(SkillName.Anatomy, 65.1, 72.0); + SetSkill(SkillName.MagicResist, 65.1, 70.0); + SetSkill(SkillName.Tactics, 95.1, 110.0); + SetSkill(SkillName.Wrestling, 97.6, 107.5); + + Fame = 8500; + Karma = -8500; + + if (Core.ML && Utility.RandomDouble() < .33) + { + PackItem(Seed.RandomPeculiarSeed(1)); + } + + PackItem( + Utility.Random(10) switch + { + 0 => new LeftArm(), + 1 => new RightArm(), + 2 => new Torso(), + 3 => new Bone(), + 4 => new RibCage(), + 5 => new RibCage(), + _ => new BonePile() // 6-9 + } + ); } - PackItem( - Utility.Random(10) switch - { - 0 => new LeftArm(), - 1 => new RightArm(), - 2 => new Torso(), - 3 => new Bone(), - 4 => new RibCage(), - 5 => new RibCage(), - _ => new BonePile() // 6-9 - } - ); + public override string CorpseName => "a tsuki wolf corpse"; + public override string DefaultName => "a tsuki wolf"; + public override int Meat => 4; + public override int Hides => 25; + public override FoodType FavoriteFood => FoodType.Meat; + + private static MonsterAbility[] _abilities = { MonsterAbilities.BloodBathAttack }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() + { + AddLoot(LootPack.Average); + AddLoot(LootPack.Rich); + } + + public override int GetAngerSound() => 0x52D; + + public override int GetIdleSound() => 0x52C; + + public override int GetAttackSound() => 0x52B; + + public override int GetHurtSound() => 0x52E; + + public override int GetDeathSound() => 0x52A; } - - public TsukiWolf(Serial serial) - : base(serial) - { - } - - public override string CorpseName => "a tsuki wolf corpse"; - public override string DefaultName => "a tsuki wolf"; - public override int Meat => 4; - public override int Hides => 25; - public override FoodType FavoriteFood => FoodType.Meat; - - private static MonsterAbility[] _abilities = { MonsterAbilities.BloodBathAttack }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.Average); - 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(); - } - - public override int GetAngerSound() => 0x52D; - - public override int GetIdleSound() => 0x52C; - - public override int GetAttackSound() => 0x52B; - - public override int GetHurtSound() => 0x52E; - - public override int GetDeathSound() => 0x52A; } diff --git a/Projects/UOContent/Mobiles/Monsters/SE/Yamandon.cs b/Projects/UOContent/Mobiles/Monsters/SE/Yamandon.cs index 7fe1c0701..0a7485386 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/Yamandon.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/Yamandon.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.Yamadon")] - public class Yamandon : BaseCreature + [SerializationGenerator(0, false)] + public partial class Yamandon : BaseCreature { [Constructible] public Yamandon() : base(AIType.AI_Melee) @@ -46,10 +48,6 @@ namespace Server.Mobiles PackItem(new Eggs(2)); } - public Yamandon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a yamandon corpse"; public override string DefaultName => "a yamandon"; @@ -157,19 +155,5 @@ namespace Server.Mobiles public override int GetHurtSound() => 1263; public override int GetIdleSound() => 1261; - - 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/Monsters/SE/YomotsuElder.cs b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuElder.cs index f6e6bd5c3..26d130fda 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/YomotsuElder.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuElder.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class YomotsuElder : BaseCreature + [SerializationGenerator(0, false)] + public partial class YomotsuElder : BaseCreature { [Constructible] public YomotsuElder() : base(AIType.AI_Melee) @@ -65,10 +67,6 @@ namespace Server.Mobiles } } - public YomotsuElder(Serial serial) : base(serial) - { - } - public override string CorpseName => "a wrinkly yomotsu corpse"; public override string DefaultName => "a yomotsu elder"; @@ -108,18 +106,6 @@ namespace Server.Mobiles } } - 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 int GetIdleSound() => 0x42A; public override int GetAttackSound() => 0x435; diff --git a/Projects/UOContent/Mobiles/Monsters/SE/YomotsuPriest.cs b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuPriest.cs index dd9f7a86a..b5b8f0315 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/YomotsuPriest.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuPriest.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class YomotsuPriest : BaseCreature + [SerializationGenerator(0, false)] + public partial class YomotsuPriest : BaseCreature { [Constructible] public YomotsuPriest() : base(AIType.AI_Mage) @@ -73,10 +75,6 @@ namespace Server.Mobiles } } - public YomotsuPriest(Serial serial) : base(serial) - { - } - public override string CorpseName => "a glowing yomotsu corpse"; public override string DefaultName => "a yomotsu priest"; @@ -116,18 +114,6 @@ namespace Server.Mobiles } } - 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 int GetIdleSound() => 0x42A; public override int GetAttackSound() => 0x435; diff --git a/Projects/UOContent/Mobiles/Monsters/SE/YomotsuWarrior.cs b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuWarrior.cs index 9a89f1ae0..25ceb394d 100644 --- a/Projects/UOContent/Mobiles/Monsters/SE/YomotsuWarrior.cs +++ b/Projects/UOContent/Mobiles/Monsters/SE/YomotsuWarrior.cs @@ -1,10 +1,12 @@ +using ModernUO.Serialization; using System; using Server.Engines.Plants; using Server.Items; namespace Server.Mobiles { - public class YomotsuWarrior : BaseCreature + [SerializationGenerator(0, false)] + public partial class YomotsuWarrior : BaseCreature { [Constructible] public YomotsuWarrior() : base(AIType.AI_Melee) @@ -71,10 +73,6 @@ namespace Server.Mobiles } } - public YomotsuWarrior(Serial serial) : base(serial) - { - } - public override string CorpseName => "a yomotsu corpse"; public override string DefaultName => "a yomotsu warrior"; @@ -114,18 +112,6 @@ namespace Server.Mobiles } } - 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 int GetIdleSound() => 0x42A; public override int GetAttackSound() => 0x435; diff --git a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedAirElemental.cs b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedAirElemental.cs index d430af376..467304a1c 100644 --- a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedAirElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedAirElemental.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SummonedAirElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class SummonedAirElemental : BaseCreature { [Constructible] public SummonedAirElemental() : base(AIType.AI_Mage) @@ -38,26 +41,14 @@ namespace Server.Mobiles ControlSlots = 2; } - public SummonedAirElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an air elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; public override string DefaultName => "an air elemental"; - public override void Serialize(IGenericWriter writer) + [AfterDeserialization] + private void AfterDeserialization() { - base.Serialize(writer); - writer.Write(0); - } - - public override void Deserialize(IGenericReader reader) - { - base.Deserialize(reader); - var version = reader.ReadInt(); - if (BaseSoundID == 263) { BaseSoundID = 655; diff --git a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedDaemon.cs b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedDaemon.cs index 0f4bbcbd3..74220f53d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedDaemon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedDaemon.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SummonedDaemon : BaseCreature + [SerializationGenerator(0, false)] + public partial class SummonedDaemon : BaseCreature { [Constructible] public SummonedDaemon() : base(AIType.AI_Mage) @@ -35,27 +38,11 @@ namespace Server.Mobiles ControlSlots = Core.SE ? 4 : 5; } - public SummonedDaemon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a daemon corpse"; public override double DispelDifficulty => 125.0; public override double DispelFocus => 45.0; public override Poison PoisonImmune => Poison.Regular; // TODO: Immune to poison? 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/Monsters/Summons/SummonedEarthElemental.cs b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedEarthElemental.cs index d1fd54a2b..5a4d0ff80 100644 --- a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedEarthElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedEarthElemental.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SummonedEarthElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class SummonedEarthElemental : BaseCreature { [Constructible] public SummonedEarthElemental() : base(AIType.AI_Melee) @@ -32,25 +35,9 @@ namespace Server.Mobiles ControlSlots = 2; } - public SummonedEarthElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "an earth elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; public override string DefaultName => "an earth elemental"; - - 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/Monsters/Summons/SummonedFireElemental.cs b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedFireElemental.cs index 19d8f5662..e4647dc81 100644 --- a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedFireElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedFireElemental.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class SummonedFireElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class SummonedFireElemental : BaseCreature { [Constructible] public SummonedFireElemental() : base(AIType.AI_Mage) @@ -37,25 +39,9 @@ namespace Server.Mobiles AddItem(new LightSource()); } - public SummonedFireElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a fire elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; public override string DefaultName => "a fire elemental"; - - 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/Monsters/Summons/SummonedWaterElemental.cs b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedWaterElemental.cs index 1a08bedd0..d6c146a95 100644 --- a/Projects/UOContent/Mobiles/Monsters/Summons/SummonedWaterElemental.cs +++ b/Projects/UOContent/Mobiles/Monsters/Summons/SummonedWaterElemental.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class SummonedWaterElemental : BaseCreature + [SerializationGenerator(0, false)] + public partial class SummonedWaterElemental : BaseCreature { [Constructible] public SummonedWaterElemental() : base(AIType.AI_Mage) @@ -37,25 +40,9 @@ namespace Server.Mobiles CanSwim = true; } - public SummonedWaterElemental(Serial serial) : base(serial) - { - } - public override string CorpseName => "a water elemental corpse"; public override double DispelDifficulty => 117.5; public override double DispelFocus => 45.0; public override string DefaultName => "a water elemental"; - - 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(); - } } }