fix: Changes on Animals to use code generation (#1306)

This commit is contained in:
Arutosio 2022-12-21 08:31:44 +01:00 • committed by GitHub
parent 7a1d5131c8
commit 6eebf358da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
176 changed files with 1177 additions and 2479 deletions

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Boar : BaseCreature
[SerializationGenerator(0, false)]
public partial class Boar : BaseCreature
{
[Constructible]
public Boar() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -37,28 +40,10 @@ namespace Server.Mobiles
MinTameSkill = 29.1;
}
public Boar(Serial serial) : base(serial)
{
}
public override string CorpseName => "a pig corpse";
public override string DefaultName => "a boar";
public override int Meat => 2;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,7 +1,10 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Bullfrog")]
public class BullFrog : BaseCreature
[SerializationGenerator(0,false)]
public partial class BullFrog : BaseCreature
{
[Constructible]
public BullFrog() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -37,10 +40,6 @@ namespace Server.Mobiles
MinTameSkill = 23.1;
}
public BullFrog(Serial serial) : base(serial)
{
}
public override string CorpseName => "a bull frog corpse";
public override string DefaultName => "a bull frog";
@ -52,19 +51,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Poor);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Dolphin : BaseCreature
[SerializationGenerator(0, false)]
public partial class Dolphin : BaseCreature
{
[Constructible]
public Dolphin()
@ -37,11 +40,6 @@ namespace Server.Mobiles
CantWalk = true;
}
public Dolphin(Serial serial)
: base(serial)
{
}
public override string CorpseName => "a dolphin corpse";
public override string DefaultName => "a dolphin";
@ -76,19 +74,5 @@ namespace Server.Mobiles
base.OnThink();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,8 +1,10 @@
using ModernUO.Serialization;
using Server.Items;
namespace Server.Mobiles
{
public class Gaman : BaseCreature
[SerializationGenerator(0, false)]
public partial class Gaman : BaseCreature
{
[Constructible]
public Gaman() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -38,10 +40,6 @@ namespace Server.Mobiles
MinTameSkill = 68.7;
}
public Gaman(Serial serial) : base(serial)
{
}
public override string CorpseName => "a gaman corpse";
public override string DefaultName => "a gaman";
@ -64,17 +62,5 @@ namespace Server.Mobiles
base.OnDeath(c);
c.DropItem(new GamanHorns(Utility.RandomBool() ? 1 : 2));
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,7 +1,10 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Gianttoad")]
public class GiantToad : BaseCreature
[SerializationGenerator(0, false)]
public partial class GiantToad : BaseCreature
{
[Constructible]
public GiantToad() : base(AIType.AI_Melee)
@ -38,10 +41,6 @@ namespace Server.Mobiles
MinTameSkill = 77.1;
}
public GiantToad(Serial serial) : base(serial)
{
}
public override string CorpseName => "a giant toad corpse";
public override string DefaultName => "a giant toad";
@ -53,24 +52,5 @@ namespace Server.Mobiles
{
AddLoot(LootPack.Poor);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (version < 1)
{
AI = AIType.AI_Melee;
FightMode = FightMode.Closest;
}
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Goat : BaseCreature
[SerializationGenerator(0, false)]
public partial class Goat : BaseCreature
{
[Constructible]
public Goat() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -35,29 +38,11 @@ namespace Server.Mobiles
MinTameSkill = 11.1;
}
public Goat(Serial serial) : base(serial)
{
}
public override string CorpseName => "a goat corpse";
public override string DefaultName => "a goat";
public override int Meat => 2;
public override int Hides => 8;
public override FoodType FavoriteFood => FoodType.GrainsAndHay | FoodType.FruitsAndVegies;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Gorilla : BaseCreature
[SerializationGenerator(0, false)]
public partial class Gorilla : BaseCreature
{
[Constructible]
public Gorilla() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -37,29 +40,11 @@ namespace Server.Mobiles
MinTameSkill = -18.9;
}
public Gorilla(Serial serial) : base(serial)
{
}
public override string CorpseName => "a gorilla corpse";
public override string DefaultName => "a gorilla";
public override int Meat => 1;
public override int Hides => 6;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,7 +1,10 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Greathart")]
public class GreatHart : BaseCreature
[SerializationGenerator(0, false)]
public partial class GreatHart : BaseCreature
{
[Constructible]
public GreatHart() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -36,10 +39,6 @@ namespace Server.Mobiles
MinTameSkill = 59.1;
}
public GreatHart(Serial serial) : base(serial)
{
}
public override string CorpseName => "a deer corpse";
public override string DefaultName => "a great hart";
@ -52,19 +51,6 @@ namespace Server.Mobiles
public override int GetHurtSound() => 0x83;
public override int GetDeathSound() => 0x84;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Hind : BaseCreature
[SerializationGenerator(0, false)]
public partial class Hind : BaseCreature
{
[Constructible]
public Hind() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -35,10 +38,6 @@ namespace Server.Mobiles
MinTameSkill = 23.1;
}
public Hind(Serial serial) : base(serial)
{
}
public override string CorpseName => "a deer corpse";
public override string DefaultName => "a hind";
@ -51,19 +50,5 @@ namespace Server.Mobiles
public override int GetHurtSound() => 0x83;
public override int GetDeathSound() => 0x84;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Llama : BaseCreature
[SerializationGenerator(0, false)]
public partial class Llama : BaseCreature
{
[Constructible]
public Llama() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -35,29 +38,11 @@ namespace Server.Mobiles
MinTameSkill = 35.1;
}
public Llama(Serial serial) : base(serial)
{
}
public override string CorpseName => "a llama corpse";
public override string DefaultName => "a llama";
public override int Meat => 1;
public override int Hides => 12;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class MountainGoat : BaseCreature
[SerializationGenerator(0, false)]
public partial class MountainGoat : BaseCreature
{
[Constructible]
public MountainGoat() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -39,29 +42,11 @@ namespace Server.Mobiles
MinTameSkill = -0.9;
}
public MountainGoat(Serial serial) : base(serial)
{
}
public override string CorpseName => "a mountain goat corpse";
public override string DefaultName => "a mountain goat";
public override int Meat => 2;
public override int Hides => 12;
public override FoodType FavoriteFood => FoodType.GrainsAndHay | FoodType.FruitsAndVegies;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,10 +1,12 @@
using ModernUO.Serialization;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Items;
namespace Server.Mobiles
{
public class PackHorse : BaseCreature
[SerializationGenerator(0, false)]
public partial class PackHorse : BaseCreature
{
[Constructible]
public PackHorse() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -53,10 +55,6 @@ namespace Server.Mobiles
AddItem(pack);
}
public PackHorse(Serial serial) : base(serial)
{
}
public override string CorpseName => "a horse corpse";
public override string DefaultName => "a pack horse";
@ -64,20 +62,6 @@ namespace Server.Mobiles
public override int Hides => 10;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
public override bool OnBeforeDeath()
{
if (!base.OnBeforeDeath())

View file

@ -1,10 +1,12 @@
using ModernUO.Serialization;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Items;
namespace Server.Mobiles
{
public class PackLlama : BaseCreature
[SerializationGenerator(0, false)]
public partial class PackLlama : BaseCreature
{
[Constructible]
public PackLlama() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -53,30 +55,12 @@ namespace Server.Mobiles
AddItem(pack);
}
public PackLlama(Serial serial) : base(serial)
{
}
public override string CorpseName => "a llama corpse";
public override string DefaultName => "a pack llama";
public override int Meat => 1;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
public override bool OnBeforeDeath()
{
if (!base.OnBeforeDeath())

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Pig : BaseCreature
[SerializationGenerator(0, false)]
public partial class Pig : BaseCreature
{
[Constructible]
public Pig() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -35,28 +38,10 @@ namespace Server.Mobiles
MinTameSkill = 11.1;
}
public Pig(Serial serial) : base(serial)
{
}
public override string CorpseName => "a pig corpse";
public override string DefaultName => "a pig";
public override int Meat => 1;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}

View file

@ -1,13 +1,14 @@
using ModernUO.Serialization;
using System;
using Server.Items;
using Server.Network;
using System.Runtime.CompilerServices;
namespace Server.Mobiles
{
public class Sheep : BaseCreature, ICarvable
[SerializationGenerator(0, false)]
public partial class Sheep : BaseCreature, ICarvable
{
private DateTime m_NextWoolTime;
[Constructible]
public Sheep() : base(AIType.AI_Animal, FightMode.Aggressor)
{
@ -41,23 +42,24 @@ namespace Server.Mobiles
MinTameSkill = 11.1;
}
public Sheep(Serial serial) : base(serial)
{
}
public override string CorpseName => "a sheep corpse";
[CommandProperty(AccessLevel.GameMaster)]
[SerializableProperty(0)]
public DateTime NextWoolTime
{
get => m_NextWoolTime;
get => _nextWoolTime;
set
{
m_NextWoolTime = value;
Body = Core.Now >= m_NextWoolTime ? 0xCF : 0xDF;
_nextWoolTime = value;
SheepBody();
this.MarkDirty();
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SheepBody() => Body = Core.Now >= _nextWoolTime ? 0xCF : 0xDF;
public override string DefaultName => "a sheep";
public override int Meat => 3;
@ -68,7 +70,7 @@ namespace Server.Mobiles
public void Carve(Mobile from, Item item)
{
if (Core.Now < m_NextWoolTime)
if (Core.Now < _nextWoolTime)
{
// This sheep is not yet ready to be shorn.
PrivateOverheadMessage(MessageType.Regular, 0x3B2, 500449, from.NetState);
@ -84,32 +86,13 @@ namespace Server.Mobiles
public override void OnThink()
{
base.OnThink();
Body = Core.Now >= m_NextWoolTime ? 0xCF : 0xDF;
SheepBody();
}
public override void Serialize(IGenericWriter writer)
[AfterDeserialization]
private void AfterDeserialization()
{
base.Serialize(writer);
writer.Write(1);
writer.WriteDeltaTime(m_NextWoolTime);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 1:
{
NextWoolTime = reader.ReadDeltaTime();
break;
}
}
SheepBody();
}
}
}

View file

@ -1,6 +1,9 @@
using ModernUO.Serialization;
namespace Server.Mobiles
{
public class Walrus : BaseCreature
[SerializationGenerator(0, false)]
public partial class Walrus : BaseCreature
{
[Constructible]
public Walrus() : base(AIType.AI_Animal, FightMode.Aggressor)
@ -39,29 +42,11 @@ namespace Server.Mobiles
MinTameSkill = 35.1;
}
public Walrus(Serial serial) : base(serial)
{
}
public override string CorpseName => "a walrus corpse";
public override string DefaultName => "a walrus";
public override int Meat => 1;
public override int Hides => 12;
public override FoodType FavoriteFood => FoodType.Fish;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
}