diff --git a/Projects/UOContent/Migrations/Server.Mobiles.AncientLich.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.AncientLich.v0.json new file mode 100644 index 000000000..91626b840 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.AncientLich.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.AncientLich" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ArcaneDaemon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ArcaneDaemon.v0.json new file mode 100644 index 000000000..e94e70592 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ArcaneDaemon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ArcaneDaemon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Balron.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Balron.v0.json new file mode 100644 index 000000000..a1f0e11ad --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Balron.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Balron" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Betrayer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Betrayer.v0.json new file mode 100644 index 000000000..0bc59fffc --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Betrayer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Betrayer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Bogle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Bogle.v0.json new file mode 100644 index 000000000..6d0ab9bd1 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Bogle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Bogle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.BoneMagi.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.BoneMagi.v0.json new file mode 100644 index 000000000..effc46676 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.BoneMagi.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.BoneMagi" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Daemon.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Daemon.v0.json new file mode 100644 index 000000000..4ebfdc33d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Daemon.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Daemon" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.ElderGazer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.ElderGazer.v0.json new file mode 100644 index 000000000..84681e743 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.ElderGazer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.ElderGazer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.FireGargoyle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.FireGargoyle.v0.json new file mode 100644 index 000000000..963a535f6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.FireGargoyle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.FireGargoyle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gargoyle.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gargoyle.v0.json new file mode 100644 index 000000000..0b292f1db --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gargoyle.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gargoyle" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GargoyleDestroyer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GargoyleDestroyer.v0.json new file mode 100644 index 000000000..a9fff3ea7 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GargoyleDestroyer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GargoyleDestroyer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GargoyleEnforcer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GargoyleEnforcer.v0.json new file mode 100644 index 000000000..2e5043251 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GargoyleEnforcer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GargoyleEnforcer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Gazer.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Gazer.v0.json new file mode 100644 index 000000000..7fa379f34 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Gazer.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Gazer" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.GolemController.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.GolemController.v0.json new file mode 100644 index 000000000..c090b55db --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.GolemController.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.GolemController" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.IceFiend.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.IceFiend.v0.json new file mode 100644 index 000000000..ef0807695 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.IceFiend.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.IceFiend" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Imp.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Imp.v0.json new file mode 100644 index 000000000..800e97528 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Imp.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Imp" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Lich.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Lich.v0.json new file mode 100644 index 000000000..e52b0e160 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Lich.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Lich" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.LichLord.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.LichLord.v0.json new file mode 100644 index 000000000..ee4bc4930 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.LichLord.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.LichLord" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.OrcishMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.OrcishMage.v0.json new file mode 100644 index 000000000..3fbfcd7c0 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.OrcishMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.OrcishMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.RatmanMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.RatmanMage.v0.json new file mode 100644 index 000000000..6092bd155 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.RatmanMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.RatmanMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SavageShaman.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SavageShaman.v0.json new file mode 100644 index 000000000..2d8c58fc6 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SavageShaman.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SavageShaman" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Shade.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Shade.v0.json new file mode 100644 index 000000000..771cec2a2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Shade.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Shade" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMage.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMage.v0.json new file mode 100644 index 000000000..39ff1fbb2 --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.SkeletalMage.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.SkeletalMage" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Spectre.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Spectre.v0.json new file mode 100644 index 000000000..75ddd5a2d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Spectre.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Spectre" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Succubus.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Succubus.v0.json new file mode 100644 index 000000000..e6a132e8d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Succubus.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Succubus" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Titan.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Titan.v0.json new file mode 100644 index 000000000..6a492fe0c --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Titan.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Titan" +} \ No newline at end of file diff --git a/Projects/UOContent/Migrations/Server.Mobiles.Wraith.v0.json b/Projects/UOContent/Migrations/Server.Mobiles.Wraith.v0.json new file mode 100644 index 000000000..11ecd406d --- /dev/null +++ b/Projects/UOContent/Migrations/Server.Mobiles.Wraith.v0.json @@ -0,0 +1,4 @@ +{ + "version": 0, + "type": "Server.Mobiles.Wraith" +} \ No newline at end of file diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs index 3b1f15390..171817b02 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class AncientLich : BaseCreature + [SerializationGenerator(0, false)] + public partial class AncientLich : BaseCreature { [Constructible] public AncientLich() : base(AIType.AI_Mage) @@ -44,10 +47,6 @@ namespace Server.Mobiles PackNecroReg(30, 275); } - public AncientLich(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ancient lich's corpse"; public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; @@ -75,17 +74,5 @@ namespace Server.Mobiles private static MonsterAbility[] _abilities = { MonsterAbilities.SummonLesserUndeadCounter }; 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ArcaneDaemon.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ArcaneDaemon.cs index 3666b3872..25d8c87f9 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ArcaneDaemon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ArcaneDaemon.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class ArcaneDaemon : BaseCreature + [SerializationGenerator(0, false)] + public partial class ArcaneDaemon : BaseCreature { [Constructible] public ArcaneDaemon() : base(AIType.AI_Mage) @@ -40,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 55; } - public ArcaneDaemon(Serial serial) : base(serial) - { - } - public override string CorpseName => "an arcane daemon corpse"; public override string DefaultName => "an arcane daemon"; @@ -56,17 +54,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/Humanoid/Magic/Balron.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Balron.cs index 1948e1ce1..17fbdab99 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Balron.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Balron.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Balron : BaseCreature + [SerializationGenerator(0, false)] + public partial class Balron : BaseCreature { [Constructible] public Balron() : base(AIType.AI_Mage) @@ -45,10 +47,6 @@ namespace Server.Mobiles PackItem(new Longsword()); } - public Balron(Serial serial) : base(serial) - { - } - public override string CorpseName => "a balron corpse"; public override bool CanRummageCorpses => true; @@ -62,17 +60,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/Humanoid/Magic/Betrayer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Betrayer.cs index 9e86619e1..5ed3642cb 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Betrayer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Betrayer.cs @@ -1,123 +1,108 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class Betrayer : BaseCreature +namespace Server.Mobiles { - [Constructible] - public Betrayer() : base(AIType.AI_Mage) + [SerializationGenerator(0, false)] + public partial class Betrayer : BaseCreature { - Body = 767; - - SetStr(401, 500); - SetDex(81, 100); - SetInt(151, 200); - - SetHits(241, 300); - - SetDamage(16, 22); - - SetDamageType(ResistanceType.Physical, 100); - - SetResistance(ResistanceType.Physical, 60, 70); - SetResistance(ResistanceType.Fire, 60, 70); - SetResistance(ResistanceType.Cold, 60, 70); - SetResistance(ResistanceType.Poison, 30, 40); - SetResistance(ResistanceType.Energy, 20, 30); - - SetSkill(SkillName.Anatomy, 90.1, 100.0); - SetSkill(SkillName.EvalInt, 90.1, 100.0); - SetSkill(SkillName.Magery, 50.1, 100.0); - SetSkill(SkillName.Meditation, 90.1, 100.0); - SetSkill(SkillName.MagicResist, 120.1, 130.0); - SetSkill(SkillName.Tactics, 90.1, 100.0); - SetSkill(SkillName.Wrestling, 90.1, 100.0); - - Fame = 15000; - Karma = -15000; - - VirtualArmor = 65; - SpeechHue = Utility.RandomDyedHue(); - - PackItem(new PowerCrystal()); - - if (Utility.RandomDouble() < 0.02) + [Constructible] + public Betrayer() : base(AIType.AI_Mage) { - PackItem(new BlackthornWelcomeBook()); - } - } + Body = 767; - public Betrayer(Serial serial) : base(serial) - { - } + SetStr(401, 500); + SetDex(81, 100); + SetInt(151, 200); - public override string CorpseName => "a betrayer corpse"; + SetHits(241, 300); - public override string DefaultName => "a betrayer"; + SetDamage(16, 22); - public override bool AlwaysMurderer => true; - public override bool BardImmune => !Core.AOS; - public override Poison PoisonImmune => Poison.Lethal; - public override int Meat => 1; - public override int TreasureMapLevel => 5; + SetDamageType(ResistanceType.Physical, 100); - public override void OnDeath(Container c) - { - base.OnDeath(c); + SetResistance(ResistanceType.Physical, 60, 70); + SetResistance(ResistanceType.Fire, 60, 70); + SetResistance(ResistanceType.Cold, 60, 70); + SetResistance(ResistanceType.Poison, 30, 40); + SetResistance(ResistanceType.Energy, 20, 30); - if (Utility.RandomDouble() < 0.05) - { - if (!IsParagon) + SetSkill(SkillName.Anatomy, 90.1, 100.0); + SetSkill(SkillName.EvalInt, 90.1, 100.0); + SetSkill(SkillName.Magery, 50.1, 100.0); + SetSkill(SkillName.Meditation, 90.1, 100.0); + SetSkill(SkillName.MagicResist, 120.1, 130.0); + SetSkill(SkillName.Tactics, 90.1, 100.0); + SetSkill(SkillName.Wrestling, 90.1, 100.0); + + Fame = 15000; + Karma = -15000; + + VirtualArmor = 65; + SpeechHue = Utility.RandomDyedHue(); + + PackItem(new PowerCrystal()); + + if (Utility.RandomDouble() < 0.02) { - if (Utility.RandomDouble() < 0.75) + PackItem(new BlackthornWelcomeBook()); + } + } + + public override string CorpseName => "a betrayer corpse"; + + public override string DefaultName => "a betrayer"; + + public override bool AlwaysMurderer => true; + public override bool BardImmune => !Core.AOS; + public override Poison PoisonImmune => Poison.Lethal; + public override int Meat => 1; + public override int TreasureMapLevel => 5; + + public override void OnDeath(Container c) + { + base.OnDeath(c); + + if (Utility.RandomDouble() < 0.05) + { + if (!IsParagon) { - c.DropItem(DawnsMusicGear.RandomCommon); + if (Utility.RandomDouble() < 0.75) + { + c.DropItem(DawnsMusicGear.RandomCommon); + } + else + { + c.DropItem(DawnsMusicGear.RandomUncommon); + } } else { - c.DropItem(DawnsMusicGear.RandomUncommon); + c.DropItem(DawnsMusicGear.RandomRare); } } - else - { - c.DropItem(DawnsMusicGear.RandomRare); - } } - } - public override int GetDeathSound() => 0x423; + public override int GetDeathSound() => 0x423; - public override int GetAttackSound() => 0x23B; + public override int GetAttackSound() => 0x23B; - public override int GetHurtSound() => 0x140; + public override int GetHurtSound() => 0x140; - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich); - AddLoot(LootPack.Rich); - AddLoot(LootPack.Gems, 1); - } + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich); + AddLoot(LootPack.Rich); + AddLoot(LootPack.Gems, 1); + } - private static MonsterAbility[] _abilities = - { - new MonsterAbilityGroup( - (1, MonsterAbilities.ColossalBlow), - (1, MonsterAbilities.PoisonGasAreaAttack) - ) - }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - 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 static MonsterAbility[] _abilities = + { + new MonsterAbilityGroup( + (1, MonsterAbilities.ColossalBlow), + (1, MonsterAbilities.PoisonGasAreaAttack) + ) + }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; } } diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Bogle.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Bogle.cs index b90623cda..7bd2704e7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Bogle.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Bogle.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Bogle : BaseCreature + [SerializationGenerator(0, false)] + public partial class Bogle : BaseCreature { [Constructible] public Bogle() : base(AIType.AI_Mage) @@ -32,10 +34,6 @@ namespace Server.Mobiles PackItem(new Bone()); } - public Bogle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ghostly corpse"; public override string DefaultName => "a bogle"; @@ -48,17 +46,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/Humanoid/Magic/BoneMagi.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/BoneMagi.cs index dcc897d7e..de2ae39e1 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/BoneMagi.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/BoneMagi.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { [TypeAlias("Server.Mobiles.BoneMage")] - public class BoneMagi : BaseCreature + [SerializationGenerator(0, false)] + public partial class BoneMagi : BaseCreature { [Constructible] public BoneMagi() : base(AIType.AI_Mage) @@ -45,10 +47,6 @@ namespace Server.Mobiles PackItem(new Bone()); } - public BoneMagi(Serial serial) : base(serial) - { - } - public override string CorpseName => "a skeletal corpse"; public override string DefaultName => "a bone mage"; @@ -64,17 +62,5 @@ namespace Server.Mobiles AddLoot(LootPack.LowScrolls); 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/Humanoid/Magic/Daemon.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Daemon.cs index 5d582c802..2fab099b4 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Daemon.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Daemon.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Ethics; using Server.Factions; namespace Server.Mobiles { - public class Daemon : BaseCreature + [SerializationGenerator(0, false)] + public partial class Daemon : BaseCreature { [Constructible] public Daemon() : base(AIType.AI_Mage) @@ -41,10 +43,6 @@ namespace Server.Mobiles ControlSlots = Core.SE ? 4 : 5; } - public Daemon(Serial serial) : base(serial) - { - } - public override string CorpseName => "a daemon corpse"; public override double DispelDifficulty => 125.0; public override double DispelFocus => 45.0; @@ -64,17 +62,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/Humanoid/Magic/ElderGazer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs index 376ad67e2..1087aeaf2 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class ElderGazer : BaseCreature + [SerializationGenerator(0, false)] + public partial class ElderGazer : BaseCreature { [Constructible] public ElderGazer() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 50; } - public ElderGazer(Serial serial) : base(serial) - { - } - public override string CorpseName => "an elder gazer corpse"; public override string DefaultName => "an elder gazer"; @@ -51,17 +50,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/Humanoid/Magic/FireGargoyle.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/FireGargoyle.cs index a0d083680..e48036554 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/FireGargoyle.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/FireGargoyle.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class FireGargoyle : BaseCreature + [SerializationGenerator(0, false)] + public partial class FireGargoyle : BaseCreature { [Constructible] public FireGargoyle() : base(AIType.AI_Mage) @@ -39,10 +42,6 @@ namespace Server.Mobiles VirtualArmor = 32; } - public FireGargoyle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a charred corpse"; public override int TreasureMapLevel => 1; @@ -57,17 +56,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); 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/Humanoid/Magic/Gargoyle.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gargoyle.cs index b09605b71..876bf988d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gargoyle.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gargoyle.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Gargoyle : BaseCreature + [SerializationGenerator(0, false)] + public partial class Gargoyle : BaseCreature { [Constructible] public Gargoyle() : base(AIType.AI_Mage) @@ -42,10 +44,6 @@ namespace Server.Mobiles } } - public Gargoyle(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gargoyle corpse"; public override string DefaultName => "a gargoyle"; @@ -60,17 +58,5 @@ namespace Server.Mobiles AddLoot(LootPack.MedScrolls); AddLoot(LootPack.Gems, Utility.RandomMinMax(1, 4)); } - - 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/Humanoid/Magic/GargoyleDestroyer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleDestroyer.cs index e4cb35ae0..59db42ea9 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleDestroyer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleDestroyer.cs @@ -1,82 +1,69 @@ +using ModernUO.Serialization; using Server.Items; -namespace Server.Mobiles; - -public class GargoyleDestroyer : BaseCreature +namespace Server.Mobiles { - [Constructible] - public GargoyleDestroyer() : base(AIType.AI_Mage) + [SerializationGenerator(0, false)] + public partial class GargoyleDestroyer : BaseCreature { - Body = 0x2F3; - BaseSoundID = 0x174; - - SetStr(760, 850); - SetDex(102, 150); - SetInt(152, 200); - - SetHits(482, 485); - - SetDamage(7, 14); - - SetResistance(ResistanceType.Physical, 40, 60); - SetResistance(ResistanceType.Fire, 60, 70); - SetResistance(ResistanceType.Cold, 15, 25); - SetResistance(ResistanceType.Poison, 15, 25); - SetResistance(ResistanceType.Energy, 15, 25); - - SetSkill(SkillName.Wrestling, 90.1, 100.0); - SetSkill(SkillName.Tactics, 90.1, 100.0); - SetSkill(SkillName.MagicResist, 120.4, 160.0); - SetSkill(SkillName.Anatomy, 50.5, 100.0); - SetSkill(SkillName.Swords, 90.1, 100.0); - SetSkill(SkillName.Macing, 90.1, 100.0); - SetSkill(SkillName.Fencing, 90.1, 100.0); - SetSkill(SkillName.Magery, 90.1, 100.0); - SetSkill(SkillName.EvalInt, 90.1, 100.0); - SetSkill(SkillName.Meditation, 90.1, 100.0); - - Fame = 10000; - Karma = -10000; - - VirtualArmor = 50; - - if (Utility.RandomDouble() < 0.2) + [Constructible] + public GargoyleDestroyer() : base(AIType.AI_Mage) { - PackItem(new GargoylesPickaxe()); + Body = 0x2F3; + BaseSoundID = 0x174; + + SetStr(760, 850); + SetDex(102, 150); + SetInt(152, 200); + + SetHits(482, 485); + + SetDamage(7, 14); + + SetResistance(ResistanceType.Physical, 40, 60); + SetResistance(ResistanceType.Fire, 60, 70); + SetResistance(ResistanceType.Cold, 15, 25); + SetResistance(ResistanceType.Poison, 15, 25); + SetResistance(ResistanceType.Energy, 15, 25); + + SetSkill(SkillName.Wrestling, 90.1, 100.0); + SetSkill(SkillName.Tactics, 90.1, 100.0); + SetSkill(SkillName.MagicResist, 120.4, 160.0); + SetSkill(SkillName.Anatomy, 50.5, 100.0); + SetSkill(SkillName.Swords, 90.1, 100.0); + SetSkill(SkillName.Macing, 90.1, 100.0); + SetSkill(SkillName.Fencing, 90.1, 100.0); + SetSkill(SkillName.Magery, 90.1, 100.0); + SetSkill(SkillName.EvalInt, 90.1, 100.0); + SetSkill(SkillName.Meditation, 90.1, 100.0); + + Fame = 10000; + Karma = -10000; + + VirtualArmor = 50; + + if (Utility.RandomDouble() < 0.2) + { + PackItem(new GargoylesPickaxe()); + } + } + + public override string CorpseName => "a gargoyle corpse"; + public override string DefaultName => "a gargoyle destroyer"; + + public override bool BardImmune => !Core.AOS; + public override int Meat => 1; + public override bool CanFly => true; + + private static MonsterAbility[] _abilities = { MonsterAbilities.ThrowHatchetCounter }; + public override MonsterAbility[] GetMonsterAbilities() => _abilities; + + public override void GenerateLoot() + { + AddLoot(LootPack.FilthyRich); + AddLoot(LootPack.Rich); + AddLoot(LootPack.MedScrolls); + AddLoot(LootPack.Gems, 2); } } - - public GargoyleDestroyer(Serial serial) : base(serial) - { - } - - public override string CorpseName => "a gargoyle corpse"; - public override string DefaultName => "a gargoyle destroyer"; - - public override bool BardImmune => !Core.AOS; - public override int Meat => 1; - public override bool CanFly => true; - - private static MonsterAbility[] _abilities = { MonsterAbilities.ThrowHatchetCounter }; - public override MonsterAbility[] GetMonsterAbilities() => _abilities; - - public override void GenerateLoot() - { - AddLoot(LootPack.FilthyRich); - AddLoot(LootPack.Rich); - AddLoot(LootPack.MedScrolls); - 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/Humanoid/Magic/GargoyleEnforcer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleEnforcer.cs index 9a0c01753..996f2ecae 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleEnforcer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GargoyleEnforcer.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class GargoyleEnforcer : BaseCreature + [SerializationGenerator(0, false)] + public partial class GargoyleEnforcer : BaseCreature { [Constructible] public GargoyleEnforcer() : base(AIType.AI_Mage) @@ -44,10 +46,6 @@ namespace Server.Mobiles } } - public GargoyleEnforcer(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gargoyle corpse"; public override string DefaultName => "a gargoyle enforcer"; @@ -63,17 +61,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/Humanoid/Magic/Gazer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gazer.cs index ed9e35dcb..c28bd8f19 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gazer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Gazer.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Gazer : BaseCreature + [SerializationGenerator(0, false)] + public partial class Gazer : BaseCreature { [Constructible] public Gazer() : base(AIType.AI_Mage) @@ -40,10 +42,6 @@ namespace Server.Mobiles PackItem(new Nightshade(4)); } - public Gazer(Serial serial) : base(serial) - { - } - public override string CorpseName => "a gazer corpse"; public override string DefaultName => "a gazer"; @@ -55,17 +53,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); 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/Humanoid/Magic/GolemController.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GolemController.cs index 87bbf8c41..bd381cfa7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GolemController.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/GolemController.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class GolemController : BaseCreature + [SerializationGenerator(0, false)] + public partial class GolemController : BaseCreature { [Constructible] public GolemController() : base(AIType.AI_Mage) @@ -52,10 +54,6 @@ namespace Server.Mobiles } } - public GolemController(Serial serial) : base(serial) - { - } - public override string CorpseName => "a golem controller corpse"; public override bool ClickTitle => false; @@ -79,17 +77,5 @@ namespace Server.Mobiles AddItem(item); } - - 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/Humanoid/Magic/IceFiend.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/IceFiend.cs index 513386a59..e5f3b6257 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/IceFiend.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/IceFiend.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class IceFiend : BaseCreature + [SerializationGenerator(0, false)] + public partial class IceFiend : BaseCreature { [Constructible] public IceFiend() : base(AIType.AI_Mage) @@ -34,10 +37,6 @@ namespace Server.Mobiles VirtualArmor = 60; } - public IceFiend(Serial serial) : base(serial) - { - } - public override string CorpseName => "an ice fiend corpse"; public override string DefaultName => "an ice fiend"; @@ -51,17 +50,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); 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/Humanoid/Magic/Imp.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Imp.cs index 6bc8a560b..455f572a6 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Imp.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Imp.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Imp : BaseCreature + [SerializationGenerator(0, false)] + public partial class Imp : BaseCreature { [Constructible] public Imp() : base(AIType.AI_Mage) @@ -42,10 +45,6 @@ namespace Server.Mobiles MinTameSkill = 83.1; } - public Imp(Serial serial) : base(serial) - { - } - public override string CorpseName => "an imp corpse"; public override string DefaultName => "an imp"; @@ -61,17 +60,5 @@ namespace Server.Mobiles AddLoot(LootPack.Meager); 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/Humanoid/Magic/Lich.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Lich.cs index 96b93a502..3873e0949 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Lich.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Lich.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class Lich : BaseCreature + [SerializationGenerator(0, false)] + public partial class Lich : BaseCreature { [Constructible] public Lich() : base(AIType.AI_Mage) @@ -45,10 +47,6 @@ namespace Server.Mobiles PackNecroReg(17, 24); } - public Lich(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lich's corpse"; public override string DefaultName => "a lich"; @@ -64,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/Humanoid/Magic/LichLord.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/LichLord.cs index ddc18011b..86c3997d1 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/LichLord.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/LichLord.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class LichLord : BaseCreature + [SerializationGenerator(0, false)] + public partial class LichLord : BaseCreature { [Constructible] public LichLord() : base(AIType.AI_Mage) @@ -44,11 +46,6 @@ namespace Server.Mobiles PackItem(new GnarledStaff()); PackNecroReg(12, 40); } - - public LichLord(Serial serial) : base(serial) - { - } - public override string CorpseName => "a lich's corpse"; public override string DefaultName => "a lich lord"; @@ -67,17 +64,5 @@ namespace Server.Mobiles AddLoot(LootPack.FilthyRich); 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/Humanoid/Magic/OrcishMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs index e49c73d17..bf365db2d 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs @@ -1,9 +1,11 @@ +using ModernUO.Serialization; using Server.Items; using Server.Misc; namespace Server.Mobiles { - public class OrcishMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class OrcishMage : BaseCreature { [Constructible] public OrcishMage() : base(AIType.AI_Mage) @@ -46,10 +48,6 @@ namespace Server.Mobiles } } - public OrcishMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a glowing orc corpse"; public override InhumanSpeech SpeechType => InhumanSpeech.Orc; @@ -82,17 +80,5 @@ namespace Server.Mobiles aggressor.PlaySound(0x307); } } - - 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/Humanoid/Magic/RatmanMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs index 64ed0626e..cd4cf1df7 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Misc; namespace Server.Mobiles { - public class RatmanMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class RatmanMage : BaseCreature { [Constructible] public RatmanMage() : base(AIType.AI_Mage) @@ -46,10 +48,6 @@ namespace Server.Mobiles } } - public RatmanMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a glowing ratman corpse"; public override InhumanSpeech SpeechType => InhumanSpeech.Ratman; @@ -63,23 +61,5 @@ namespace Server.Mobiles AddLoot(LootPack.Rich); AddLoot(LootPack.LowScrolls); } - - 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 (Body == 42) - { - Body = 0x8F; - Hue = 0; - } - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SavageShaman.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SavageShaman.cs index cdc3744dc..7d3a23c5f 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SavageShaman.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SavageShaman.cs @@ -1,3 +1,4 @@ +using ModernUO.Serialization; using System; using System.Collections.Generic; using Server.Items; @@ -5,7 +6,8 @@ using Server.Spells; namespace Server.Mobiles { - public class SavageShaman : BaseCreature + [SerializationGenerator(0, false)] + public partial class SavageShaman : BaseCreature { [Constructible] public SavageShaman() : base(AIType.AI_Mage) @@ -61,10 +63,6 @@ namespace Server.Mobiles AddItem(new DeerMask()); } - public SavageShaman(Serial serial) : base(serial) - { - } - public override string CorpseName => "a savage corpse"; public override int Meat => 1; @@ -310,17 +308,5 @@ 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Shade.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Shade.cs index 6a9a04e17..d50bcd431 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Shade.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Shade.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Shade : BaseCreature + [SerializationGenerator(0, false)] + public partial class Shade : BaseCreature { [Constructible] public Shade() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles PackReg(10); } - public Shade(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ghostly corpse"; public override string DefaultName => "a shade"; @@ -55,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/Humanoid/Magic/SkeletalMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs index c40390a17..c5e8bfb9a 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Items; namespace Server.Mobiles { - public class SkeletalMage : BaseCreature + [SerializationGenerator(0, false)] + public partial class SkeletalMage : BaseCreature { [Constructible] public SkeletalMage() : base(AIType.AI_Mage) @@ -43,10 +45,6 @@ namespace Server.Mobiles PackItem(new Bone()); } - public SkeletalMage(Serial serial) : base(serial) - { - } - public override string CorpseName => "a skeletal corpse"; public override string DefaultName => "a skeletal mage"; @@ -62,17 +60,5 @@ namespace Server.Mobiles AddLoot(LootPack.LowScrolls); 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/Humanoid/Magic/Spectre.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Spectre.cs index c1e311333..c5e70b445 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Spectre.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Spectre.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Spectre : BaseCreature + [SerializationGenerator(0, false)] + public partial class Spectre : BaseCreature { [Constructible] public Spectre() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles PackReg(10); } - public Spectre(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ghostly corpse"; public override string DefaultName => "a spectre"; @@ -55,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/Humanoid/Magic/Succubus.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Succubus.cs index 1809a2af2..bd75dd1a2 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Succubus.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Succubus.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Succubus : BaseCreature + [SerializationGenerator(0, false)] + public partial class Succubus : BaseCreature { [Constructible] public Succubus() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles VirtualArmor = 80; } - public Succubus(Serial serial) : base(serial) - { - } - public override string CorpseName => "a succubus corpse"; public override string DefaultName => "a succubus"; @@ -56,17 +55,5 @@ namespace Server.Mobiles private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAreaAttack }; 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(); - } } } diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Titan.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Titan.cs index 0cbf87790..f53619089 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Titan.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Titan.cs @@ -1,8 +1,10 @@ +using ModernUO.Serialization; using Server.Engines.Plants; namespace Server.Mobiles { - public class Titan : BaseCreature + [SerializationGenerator(0, false)] + public partial class Titan : BaseCreature { [Constructible] public Titan() : base(AIType.AI_Mage) @@ -43,10 +45,6 @@ namespace Server.Mobiles } } - public Titan(Serial serial) : base(serial) - { - } - public override string CorpseName => "a titans corpse"; public override string DefaultName => "a titan"; @@ -60,17 +58,5 @@ namespace Server.Mobiles AddLoot(LootPack.Average); 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/Humanoid/Magic/Wraith.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Wraith.cs index 0806091db..8cce24e83 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Wraith.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/Wraith.cs @@ -1,6 +1,9 @@ +using ModernUO.Serialization; + namespace Server.Mobiles { - public class Wraith : BaseCreature + [SerializationGenerator(0, false)] + public partial class Wraith : BaseCreature { [Constructible] public Wraith() : base(AIType.AI_Mage) @@ -38,10 +41,6 @@ namespace Server.Mobiles PackReg(10); } - public Wraith(Serial serial) : base(serial) - { - } - public override string CorpseName => "a ghostly corpse"; public override string DefaultName => "a wraith"; @@ -55,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(); - } } }