fix: Changes on Mele Humanoid Monsters to use code generation (#1300)

This commit is contained in:
Arutosio 2022-12-13 23:33:05 +01:00 committed by GitHub
parent 899c2e868d
commit 00b3a849b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
94 changed files with 419 additions and 888 deletions

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.ArcticOgreLord"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.BoneKnight"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Brigand"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.ChaosDaemon"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Cursed"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Cyclops"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Doppleganger"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.ElfBrigand"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.EnslavedGargoyle"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Ettin"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Executioner"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.FrostTroll"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.GazerLarva"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Ghoul"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.GreaterMongbat"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Guardian"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.HeadlessOne"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.HordeMinion"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Juggernaut"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.KhaldunRevenant"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.KhaldunSummoner"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.KhaldunZealot"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Moloch"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Mongbat"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Mummy"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Ogre"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.OgreLord"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Orc"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.OrcBomber"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.OrcBrute"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.OrcCaptain"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.OrcishLord"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Ratman"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.RatmanArcher"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.RestlessSoul"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.RottingCorpse"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Savage"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.SavageRider"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.ShadowFiend"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.SkeletalKnight"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Skeleton"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.SpawnedOrcishLord"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.SpectralArmour"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.StoneGargoyle"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.StrongMongbat"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Troll"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.Zombie"
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.ArticOgreLord")]
public class ArcticOgreLord : BaseCreature
[SerializationGenerator(0, false)]
public partial class ArcticOgreLord : BaseCreature
{
[Constructible]
public ArcticOgreLord() : base(AIType.AI_Melee)
@ -39,10 +41,6 @@ namespace Server.Mobiles
PackItem(new Club());
}
public ArcticOgreLord(Serial serial) : base(serial)
{
}
public override string CorpseName => "a frozen ogre lord's corpse";
public override string DefaultName => "an arctic ogre lord";
@ -54,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class BoneKnight : BaseCreature
[SerializationGenerator(0, false)]
public partial class BoneKnight : BaseCreature
{
[Constructible]
public BoneKnight() : base(AIType.AI_Melee)
@ -63,10 +65,6 @@ namespace Server.Mobiles
PackItem(new WoodenShield());
}
public BoneKnight(Serial serial) : base(serial)
{
}
public override string CorpseName => "a skeletal corpse";
public override string DefaultName => "a bone knight";
@ -79,17 +77,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Brigand : BaseCreature
[SerializationGenerator(0, false)]
public partial class Brigand : BaseCreature
{
[Constructible]
public Brigand() : base(AIType.AI_Melee)
@ -60,10 +62,6 @@ namespace Server.Mobiles
Utility.AssignRandomHair(this);
}
public Brigand(Serial serial) : base(serial)
{
}
public override bool ClickTitle => false;
public override bool AlwaysMurderer => true;
@ -82,19 +80,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Average);
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class ChaosDaemon : BaseCreature
[SerializationGenerator(0, false)]
public partial class ChaosDaemon : BaseCreature
{
[Constructible]
public ChaosDaemon() : base(AIType.AI_Melee)
@ -37,10 +39,6 @@ namespace Server.Mobiles
VirtualArmor = 15;
}
public ChaosDaemon(Serial serial) : base(serial)
{
}
public override string CorpseName => "a chaos daemon corpse";
public override string DefaultName => "a chaos daemon";
@ -52,17 +50,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Cursed : BaseCreature
[SerializationGenerator(0, false)]
public partial class Cursed : BaseCreature
{
[Constructible]
public Cursed() : base(AIType.AI_Melee)
@ -46,10 +48,6 @@ namespace Server.Mobiles
Karma = -2000;
}
public Cursed(Serial serial) : base(serial)
{
}
public override string CorpseName => "an inhuman corpse";
public override bool ClickTitle => false;
public override bool ShowFameTitle => false;
@ -63,19 +61,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Meager);
// AddLoot( LootPack.Miscellaneous );
}
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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Cyclops : BaseCreature
[SerializationGenerator(0, false)]
public partial class Cyclops : BaseCreature
{
[Constructible]
public Cyclops() : base(AIType.AI_Melee)
@ -35,10 +38,6 @@ namespace Server.Mobiles
VirtualArmor = 48;
}
public Cyclops(Serial serial) : base(serial)
{
}
public override string CorpseName => "a cyclopean corpse";
public override string DefaultName => "a cyclopean warrior";
@ -50,17 +49,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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Doppleganger : BaseCreature
[SerializationGenerator(0, false)]
public partial class Doppleganger : BaseCreature
{
[Constructible]
public Doppleganger() : base(AIType.AI_Melee)
@ -32,10 +35,6 @@ namespace Server.Mobiles
VirtualArmor = 55;
}
public Doppleganger(Serial serial) : base(serial)
{
}
public override string CorpseName => "a doppleganger corpse";
public override string DefaultName => "a doppleganger";
@ -46,17 +45,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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
[SerializationGenerator(0, false)]
// TODO: Needs some Spellweaving abilities
public class ElfBrigand : BaseCreature
public partial class ElfBrigand : BaseCreature
{
[Constructible]
public ElfBrigand() : base(AIType.AI_Melee)
@ -79,10 +81,6 @@ namespace Server.Mobiles
Utility.AssignRandomHair(this);
}
public ElfBrigand(Serial serial) : base(serial)
{
}
public override bool ClickTitle => false;
public override bool AlwaysMurderer => true;
@ -101,19 +99,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Average);
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using Server.Items;
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class EnslavedGargoyle : BaseCreature
[SerializationGenerator(0, false)]
public partial class EnslavedGargoyle : BaseCreature
{
[Constructible]
public EnslavedGargoyle() : base(AIType.AI_Melee)
@ -39,10 +41,6 @@ namespace Server.Mobiles
}
}
public EnslavedGargoyle(Serial serial) : base(serial)
{
}
public override string CorpseName => "an enslaved gargoyle corpse";
public override string DefaultName => "an enslaved gargoyle";
@ -54,17 +52,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Average, 2);
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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Ettin : BaseCreature
[SerializationGenerator(0, false)]
public partial class Ettin : BaseCreature
{
[Constructible]
public Ettin() : base(AIType.AI_Melee)
@ -34,10 +37,6 @@ namespace Server.Mobiles
VirtualArmor = 38;
}
public Ettin(Serial serial) : base(serial)
{
}
public override string CorpseName => "an ettins corpse";
public override string DefaultName => "an ettin";
@ -51,17 +50,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Executioner : BaseCreature
[SerializationGenerator(0, false)]
public partial class Executioner : BaseCreature
{
[Constructible]
public Executioner() : base(AIType.AI_Melee)
@ -59,10 +61,6 @@ namespace Server.Mobiles
Utility.AssignRandomHair(this);
}
public Executioner(Serial serial) : base(serial)
{
}
public override bool AlwaysMurderer => true;
public override void GenerateLoot()
@ -70,19 +68,5 @@ namespace Server.Mobiles
AddLoot(LootPack.FilthyRich);
AddLoot(LootPack.Meager);
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using Server.Items;
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class FrostTroll : BaseCreature
[SerializationGenerator(0, false)]
public partial class FrostTroll : BaseCreature
{
[Constructible]
public FrostTroll() : base(AIType.AI_Melee)
@ -38,10 +40,6 @@ namespace Server.Mobiles
PackItem(new DoubleAxe()); // TODO: Weapon??
}
public FrostTroll(Serial serial) : base(serial)
{
}
public override string CorpseName => "a frost troll corpse";
public override string DefaultName => "a frost troll";
@ -53,17 +51,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class GazerLarva : BaseCreature
[SerializationGenerator(0, false)]
public partial class GazerLarva : BaseCreature
{
[Constructible]
public GazerLarva() : base(AIType.AI_Melee)
@ -34,10 +36,6 @@ namespace Server.Mobiles
PackItem(new Nightshade(Utility.RandomMinMax(2, 3)));
}
public GazerLarva(Serial serial) : base(serial)
{
}
public override string CorpseName => "a gazer larva corpse";
public override string DefaultName => "a gazer larva";
@ -47,17 +45,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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Ghoul : BaseCreature
[SerializationGenerator(0, false)]
public partial class Ghoul : BaseCreature
{
[Constructible]
public Ghoul() : base(AIType.AI_Melee)
@ -36,10 +39,6 @@ namespace Server.Mobiles
PackItem(Loot.RandomWeapon());
}
public Ghoul(Serial serial) : base(serial)
{
}
public override string CorpseName => "a ghostly corpse";
public override string DefaultName => "a ghoul";
@ -52,17 +51,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Meager);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class GreaterMongbat : BaseCreature
[SerializationGenerator(0, false)]
public partial class GreaterMongbat : BaseCreature
{
[Constructible]
public GreaterMongbat() : base(AIType.AI_Melee)
@ -36,10 +39,6 @@ namespace Server.Mobiles
MinTameSkill = 71.1;
}
public GreaterMongbat(Serial serial) : base(serial)
{
}
public override string CorpseName => "a mongbat corpse";
public override string DefaultName => "a greater mongbat";
@ -51,17 +50,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Guardian : BaseCreature
[SerializationGenerator(0, false)]
public partial class Guardian : BaseCreature
{
[Constructible]
public Guardian() : base(AIType.AI_Archer, FightMode.Aggressor)
@ -63,23 +65,5 @@ namespace Server.Mobiles
Skills.MagicResist.Base = 120.0;
Skills.DetectHidden.Base = 100.0;
}
public Guardian(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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class HeadlessOne : BaseCreature
[SerializationGenerator(0, false)]
public partial class HeadlessOne : BaseCreature
{
[Constructible]
public HeadlessOne() : base(AIType.AI_Melee)
@ -31,10 +34,6 @@ namespace Server.Mobiles
VirtualArmor = 18;
}
public HeadlessOne(Serial serial) : base(serial)
{
}
public override string CorpseName => "a headless corpse";
public override string DefaultName => "a headless one";
@ -46,17 +45,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Poor);
// TODO: body parts
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class HordeMinion : BaseCreature
[SerializationGenerator(0, false)]
public partial class HordeMinion : BaseCreature
{
[Constructible]
public HordeMinion() : base(AIType.AI_Melee)
@ -38,10 +40,6 @@ namespace Server.Mobiles
// TODO: Body parts
}
public HordeMinion(Serial serial) : base(serial)
{
}
public override string CorpseName => "a horde minion corpse";
public override string DefaultName => "a horde minion";
@ -54,17 +52,5 @@ namespace Server.Mobiles
public override int GetAttackSound() => 406;
public override int GetHurtSound() => 194;
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();
}
}
}

View file

@ -1,118 +1,103 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles;
public class Juggernaut : BaseCreature
namespace Server.Mobiles
{
[Constructible]
public Juggernaut() : base(AIType.AI_Melee)
[SerializationGenerator(0, false)]
public partial class Juggernaut : BaseCreature
{
Body = 768;
SetStr(301, 400);
SetDex(51, 70);
SetInt(51, 100);
SetHits(181, 240);
SetDamage(12, 19);
SetDamageType(ResistanceType.Physical, 50);
SetDamageType(ResistanceType.Fire, 25);
SetDamageType(ResistanceType.Energy, 25);
SetResistance(ResistanceType.Physical, 65, 75);
SetResistance(ResistanceType.Fire, 35, 45);
SetResistance(ResistanceType.Cold, 35, 45);
SetResistance(ResistanceType.Poison, 15, 25);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.Anatomy, 90.1, 100.0);
SetSkill(SkillName.MagicResist, 140.1, 150.0);
SetSkill(SkillName.Tactics, 90.1, 100.0);
SetSkill(SkillName.Wrestling, 90.1, 100.0);
Fame = 12000;
Karma = -12000;
VirtualArmor = 70;
if (Utility.RandomDouble() < 0.1)
[Constructible]
public Juggernaut() : base(AIType.AI_Melee)
{
PackItem(new PowerCrystal());
}
Body = 768;
if (Utility.RandomDouble() < 0.4)
{
PackItem(new ClockworkAssembly());
}
}
SetStr(301, 400);
SetDex(51, 70);
SetInt(51, 100);
public Juggernaut(Serial serial) : base(serial)
{
}
SetHits(181, 240);
public override string CorpseName => "a juggernaut corpse";
SetDamage(12, 19);
public override string DefaultName => "a blackthorn juggernaut";
SetDamageType(ResistanceType.Physical, 50);
SetDamageType(ResistanceType.Fire, 25);
SetDamageType(ResistanceType.Energy, 25);
public override bool AlwaysMurderer => true;
public override bool BardImmune => !Core.AOS;
public override bool BleedImmune => true;
public override Poison PoisonImmune => Poison.Lethal;
public override int Meat => 1;
public override int TreasureMapLevel => 5;
SetResistance(ResistanceType.Physical, 65, 75);
SetResistance(ResistanceType.Fire, 35, 45);
SetResistance(ResistanceType.Cold, 35, 45);
SetResistance(ResistanceType.Poison, 15, 25);
SetResistance(ResistanceType.Energy, 10, 20);
private static MonsterAbility[] _abilities = { MonsterAbilities.ColossalBlow };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
SetSkill(SkillName.Anatomy, 90.1, 100.0);
SetSkill(SkillName.MagicResist, 140.1, 150.0);
SetSkill(SkillName.Tactics, 90.1, 100.0);
SetSkill(SkillName.Wrestling, 90.1, 100.0);
public override void OnDeath(Container c)
{
base.OnDeath(c);
Fame = 12000;
Karma = -12000;
if (Utility.RandomDouble() < 0.05)
{
if (!IsParagon)
VirtualArmor = 70;
if (Utility.RandomDouble() < 0.1)
{
if (Utility.RandomDouble() < 0.75)
PackItem(new PowerCrystal());
}
if (Utility.RandomDouble() < 0.4)
{
PackItem(new ClockworkAssembly());
}
}
public override string CorpseName => "a juggernaut corpse";
public override string DefaultName => "a blackthorn juggernaut";
public override bool AlwaysMurderer => true;
public override bool BardImmune => !Core.AOS;
public override bool BleedImmune => true;
public override Poison PoisonImmune => Poison.Lethal;
public override int Meat => 1;
public override int TreasureMapLevel => 5;
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)
{
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 void GenerateLoot()
{
AddLoot(LootPack.Rich);
AddLoot(LootPack.Gems, 1);
}
public override void GenerateLoot()
{
AddLoot(LootPack.Rich);
AddLoot(LootPack.Gems, 1);
}
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 void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
public override int GetHurtSound() => 0x140;
}
}

View file

@ -1,10 +1,13 @@
using System;
using System.Collections.Generic;
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class KhaldunRevenant : BaseCreature
[SerializationGenerator(0, false)]
public partial class KhaldunRevenant : BaseCreature
{
private static readonly HashSet<Mobile> m_Set = new();
private readonly DateTime m_ExpireTime;
@ -52,10 +55,6 @@ namespace Server.Mobiles
AddItem(weapon);
}
public KhaldunRevenant(Serial serial) : base(serial)
{
}
public override bool DeleteCorpseOnDeath => true;
public override Mobile ConstantFocus => m_Target;
@ -154,19 +153,9 @@ namespace Server.Mobiles
base.OnDelete();
}
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();
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class KhaldunSummoner : BaseCreature
[SerializationGenerator(0, false)]
public partial class KhaldunSummoner : BaseCreature
{
[Constructible]
public KhaldunSummoner() : base(AIType.AI_Mage)
@ -63,10 +65,6 @@ namespace Server.Mobiles
AddItem(sandals);
}
public KhaldunSummoner(Serial serial) : base(serial)
{
}
public override bool ClickTitle => false;
public override bool ShowFameTitle => false;
@ -110,19 +108,5 @@ namespace Server.Mobiles
Delete();
return false;
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class KhaldunZealot : BaseCreature
[SerializationGenerator(0, false)]
public partial class KhaldunZealot : BaseCreature
{
[Constructible]
public KhaldunZealot() : base(AIType.AI_Melee)
@ -71,10 +73,6 @@ namespace Server.Mobiles
AddItem(new Boots());
}
public KhaldunZealot(Serial serial) : base(serial)
{
}
public override bool ClickTitle => false;
public override bool ShowFameTitle => false;
@ -119,19 +117,5 @@ namespace Server.Mobiles
Delete();
return false;
}
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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Moloch : BaseCreature
[SerializationGenerator(0, false)]
public partial class Moloch : BaseCreature
{
[Constructible]
public Moloch() : base(AIType.AI_Melee)
@ -34,10 +36,6 @@ namespace Server.Mobiles
VirtualArmor = 32;
}
public Moloch(Serial serial) : base(serial)
{
}
public override string CorpseName => "a moloch corpse";
public override string DefaultName => "a moloch";
@ -50,17 +48,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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Mongbat : BaseCreature
[SerializationGenerator(0, false)]
public partial class Mongbat : BaseCreature
{
[Constructible]
public Mongbat() : base(AIType.AI_Melee)
@ -35,10 +38,6 @@ namespace Server.Mobiles
MinTameSkill = -18.9;
}
public Mongbat(Serial serial) : base(serial)
{
}
public override string CorpseName => "a mongbat corpse";
public override string DefaultName => "a mongbat";
@ -51,17 +50,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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Engines.Plants;
using Server.Items;
namespace Server.Mobiles
{
public class Mummy : BaseCreature
[SerializationGenerator(0, false)]
public partial class Mummy : BaseCreature
{
[Constructible]
public Mummy() : base(AIType.AI_Melee)
@ -46,10 +48,6 @@ namespace Server.Mobiles
PackItem(new Bandage(10));
}
public Mummy(Serial serial) : base(serial)
{
}
public override string CorpseName => "a mummy corpse";
public override string DefaultName => "a mummy";
@ -64,17 +62,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Gems);
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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Ogre : BaseCreature
[SerializationGenerator(0, false)]
public partial class Ogre : BaseCreature
{
[Constructible]
public Ogre() : base(AIType.AI_Melee)
@ -39,10 +41,6 @@ namespace Server.Mobiles
PackItem(new Club());
}
public Ogre(Serial serial) : base(serial)
{
}
public override string CorpseName => "an ogre corpse";
public override string DefaultName => "an ogre";
@ -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();
}
}
}

View file

@ -1,10 +1,12 @@
using ModernUO.Serialization;
using Server.Ethics;
using Server.Factions;
using Server.Items;
namespace Server.Mobiles
{
public class OgreLord : BaseCreature
[SerializationGenerator(0, false)]
public partial class OgreLord : BaseCreature
{
[Constructible]
public OgreLord() : base(AIType.AI_Melee)
@ -40,10 +42,6 @@ namespace Server.Mobiles
PackItem(new Club());
}
public OgreLord(Serial serial) : base(serial)
{
}
public override string CorpseName => "an ogre lords corpse";
public override Faction FactionAllegiance => Minax.Instance;
public override Ethic EthicAllegiance => Ethic.Evil;
@ -59,17 +57,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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
public class Orc : BaseCreature
[SerializationGenerator(0, false)]
public partial class Orc : BaseCreature
{
[Constructible]
public Orc() : base(AIType.AI_Melee)
@ -67,10 +69,6 @@ namespace Server.Mobiles
}
}
public Orc(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Orc;
@ -100,17 +98,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();
}
}
}

View file

@ -1,10 +1,12 @@
using System;
using ModernUO.Serialization;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
public class OrcBomber : BaseCreature
[SerializationGenerator(0, false)]
public partial class OrcBomber : BaseCreature
{
private DateTime m_NextBomb;
private int m_Thrown;
@ -54,10 +56,6 @@ namespace Server.Mobiles
}
}
public OrcBomber(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Orc;
@ -125,18 +123,6 @@ namespace Server.Mobiles
new InternalTimer(m, this).Start();
}
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 readonly Mobile m_From;

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class OrcBrute : BaseCreature
[SerializationGenerator(0, false)]
public partial class OrcBrute : BaseCreature
{
[Constructible]
public OrcBrute() : base(AIType.AI_Melee)
@ -52,10 +54,6 @@ namespace Server.Mobiles
}
}
public OrcBrute(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override string DefaultName => "an orc brute";
@ -129,17 +127,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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
public class OrcCaptain : BaseCreature
[SerializationGenerator(0, false)]
public partial class OrcCaptain : BaseCreature
{
[Constructible]
public OrcCaptain() : base(AIType.AI_Melee)
@ -57,10 +59,6 @@ namespace Server.Mobiles
}
}
public OrcCaptain(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Orc;
@ -100,17 +98,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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
public class OrcishLord : BaseCreature
[SerializationGenerator(0, false)]
public partial class OrcishLord : BaseCreature
{
[Constructible]
public OrcishLord() : base(AIType.AI_Melee)
@ -59,10 +61,6 @@ namespace Server.Mobiles
}
}
public OrcishLord(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Orc;
@ -96,17 +94,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Misc;
namespace Server.Mobiles
{
public class Ratman : BaseCreature
[SerializationGenerator(0, false)]
public partial class Ratman : BaseCreature
{
[Constructible]
public Ratman() : base(AIType.AI_Melee)
@ -37,10 +39,6 @@ namespace Server.Mobiles
VirtualArmor = 28;
}
public Ratman(Serial serial) : base(serial)
{
}
public override string CorpseName => "a ratman's corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Ratman;
@ -53,17 +51,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Meager);
// TODO: weapon, misc
}
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();
}
}
}

View file

@ -1,9 +1,11 @@
using ModernUO.Serialization;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
public class RatmanArcher : BaseCreature
[SerializationGenerator(0, false)]
public partial class RatmanArcher : BaseCreature
{
[Constructible]
public RatmanArcher() : base(AIType.AI_Archer)
@ -43,10 +45,6 @@ namespace Server.Mobiles
PackItem(new Arrow(Utility.RandomMinMax(50, 70)));
}
public RatmanArcher(Serial serial) : base(serial)
{
}
public override string CorpseName => "a ratman archer corpse";
public override InhumanSpeech SpeechType => InhumanSpeech.Ratman;
@ -58,23 +56,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();
if (Body == 42)
{
Body = 0x8E;
Hue = 0;
}
}
}
}

View file

@ -1,10 +1,12 @@
using ModernUO.Serialization;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Engines.Quests.Haven;
namespace Server.Mobiles
{
public class RestlessSoul : BaseCreature
[SerializationGenerator(0, false)]
public partial class RestlessSoul : BaseCreature
{
[Constructible]
public RestlessSoul() : base(AIType.AI_Melee)
@ -39,10 +41,6 @@ namespace Server.Mobiles
VirtualArmor = 6;
}
public RestlessSoul(Serial serial) : base(serial)
{
}
public override string CorpseName => "a ghostly corpse";
public override string DefaultName => "a restless soul";
@ -92,17 +90,5 @@ namespace Server.Mobiles
return base.IsEnemy(m);
}
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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class RottingCorpse : BaseCreature
[SerializationGenerator(0, false)]
public partial class RottingCorpse : BaseCreature
{
[Constructible]
public RottingCorpse() : base(AIType.AI_Melee)
@ -39,10 +42,6 @@ namespace Server.Mobiles
VirtualArmor = 40;
}
public RottingCorpse(Serial serial) : base(serial)
{
}
public override string CorpseName => "a rotting corpse";
public override string DefaultName => "a rotting corpse";
@ -57,17 +56,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();
}
}
}

View file

@ -1,9 +1,11 @@
using System;
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Savage : BaseCreature
[SerializationGenerator(0, false)]
public partial class Savage : BaseCreature
{
[Constructible]
public Savage() : base(AIType.AI_Melee)
@ -62,10 +64,6 @@ namespace Server.Mobiles
}
}
public Savage(Serial serial) : base(serial)
{
}
public override string CorpseName => "a savage corpse";
public override int Meat => 1;
@ -116,17 +114,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();
}
}
}

View file

@ -1,9 +1,11 @@
using System;
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class SavageRider : BaseCreature
[SerializationGenerator(0, false)]
public partial class SavageRider : BaseCreature
{
[Constructible]
public SavageRider() : base(AIType.AI_Melee)
@ -53,10 +55,6 @@ namespace Server.Mobiles
new SavageRidgeback().Rider = this;
}
public SavageRider(Serial serial) : base(serial)
{
}
public override string CorpseName => "a savage corpse";
public override int Meat => 1;
@ -124,17 +122,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();
}
}
}

View file

@ -1,9 +1,11 @@
using System;
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class ShadowFiend : BaseCreature
[SerializationGenerator(0, false)]
public partial class ShadowFiend : BaseCreature
{
private UnhideTimer m_Timer;
@ -46,10 +48,6 @@ namespace Server.Mobiles
m_Timer.Start();
}
public ShadowFiend(Serial serial) : base(serial)
{
}
public override bool DeleteCorpseOnDeath => true;
public override string DefaultName => "a shadow fiend";
@ -74,17 +72,9 @@ namespace Server.Mobiles
return true;
}
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();
m_Timer = new UnhideTimer(this);
m_Timer.Start();
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class SkeletalKnight : BaseCreature
[SerializationGenerator(0, false)]
public partial class SkeletalKnight : BaseCreature
{
[Constructible]
public SkeletalKnight() : base(AIType.AI_Melee)
@ -62,10 +64,6 @@ namespace Server.Mobiles
PackItem(new WoodenShield());
}
public SkeletalKnight(Serial serial) : base(serial)
{
}
public override string CorpseName => "a skeletal corpse";
public override string DefaultName => "a skeletal knight";
@ -78,17 +76,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Skeleton : BaseCreature
[SerializationGenerator(0, false)]
public partial class Skeleton : BaseCreature
{
[Constructible]
public Skeleton() : base(AIType.AI_Melee)
@ -65,10 +67,6 @@ namespace Server.Mobiles
}
}
public Skeleton(Serial serial) : base(serial)
{
}
public override string CorpseName => "a skeletal corpse";
public override string DefaultName => "a skeleton";
@ -81,17 +79,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class SpawnedOrcishLord : OrcishLord
[SerializationGenerator(0, false)]
public partial class SpawnedOrcishLord : OrcishLord
{
[Constructible]
public SpawnedOrcishLord()
@ -14,10 +16,6 @@ namespace Server.Mobiles
NoKillAwards = true;
}
public SpawnedOrcishLord(Serial serial) : base(serial)
{
}
public override string CorpseName => "an orcish corpse";
public override void OnDeath(Container c)
@ -27,16 +25,9 @@ namespace Server.Mobiles
c.Delete();
}
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();
NoKillAwards = true;
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class SpectralArmour : BaseCreature
[SerializationGenerator(0, false)]
public partial class SpectralArmour : BaseCreature
{
[Constructible]
public SpectralArmour() : base(AIType.AI_Melee)
@ -41,10 +43,6 @@ namespace Server.Mobiles
Karma = -7000;
}
public SpectralArmour(Serial serial) : base(serial)
{
}
public override bool DeleteCorpseOnDeath => true;
public override string DefaultName => "a spectral armour";
@ -68,17 +66,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class StoneGargoyle : BaseCreature
[SerializationGenerator(0, false)]
public partial class StoneGargoyle : BaseCreature
{
[Constructible]
public StoneGargoyle() : base(AIType.AI_Melee)
@ -43,10 +45,6 @@ namespace Server.Mobiles
}
}
public StoneGargoyle(Serial serial) : base(serial)
{
}
public override string CorpseName => "a gargoyle corpse";
public override string DefaultName => "a stone gargoyle";
@ -58,17 +56,5 @@ namespace Server.Mobiles
AddLoot(LootPack.Gems, 1);
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();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class StrongMongbat : BaseCreature
[SerializationGenerator(0, false)]
public partial class StrongMongbat : BaseCreature
{
[Constructible]
public StrongMongbat() : base(AIType.AI_Melee)
@ -35,10 +38,6 @@ namespace Server.Mobiles
MinTameSkill = 71.1;
}
public StrongMongbat(Serial serial) : base(serial)
{
}
public override string CorpseName => "a mongbat corpse";
public override string DefaultName => "a mongbat";
@ -50,17 +49,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Poor);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Troll : BaseCreature
[SerializationGenerator(0, false)]
public partial class Troll : BaseCreature
{
[Constructible]
public Troll() : base(AIType.AI_Melee)
@ -34,10 +37,6 @@ namespace Server.Mobiles
VirtualArmor = 40;
}
public Troll(Serial serial) : base(serial)
{
}
public override string CorpseName => "a troll corpse";
public override string DefaultName => "a troll";
@ -49,17 +48,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();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Zombie : BaseCreature
[SerializationGenerator(0, false)]
public partial class Zombie : BaseCreature
{
[Constructible]
public Zombie() : base(AIType.AI_Melee)
@ -47,10 +49,6 @@ namespace Server.Mobiles
);
}
public Zombie(Serial serial) : base(serial)
{
}
public override string CorpseName => "a rotting corpse";
public override string DefaultName => "a zombie";
@ -63,17 +61,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();
}
}
}