fix(codegen): Codegens Weapons (#698)

This commit is contained in:
Michael Dijkstra 2021-08-20 02:12:24 +10:00 • committed by GitHub
parent 3293ffcf06
commit 3fc2b76468
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
267 changed files with 873 additions and 2705 deletions

View file

@ -2,16 +2,13 @@ using Server.Engines.ConPVP;
namespace Server.Items
{
public abstract class BaseBashing : BaseMeleeWeapon
[Serializable(0, false)]
public abstract partial class BaseBashing : BaseMeleeWeapon
{
public BaseBashing(int itemID) : base(itemID)
{
}
public BaseBashing(Serial serial) : base(serial)
{
}
public override int DefHitSound => 0x233;
public override int DefMissSound => 0x239;
@ -19,20 +16,6 @@ namespace Server.Items
public override WeaponType DefType => WeaponType.Bashing;
public override WeaponAnimation DefAnimation => WeaponAnimation.Bash1H;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus = 1)
{
base.OnHit(attacker, defender, damageBonus);

View file

@ -1,15 +1,12 @@
namespace Server.Items
{
[Flippable(0x13b4, 0x13b3)]
public class Club : BaseBashing
[Serializable(0, false)]
public partial class Club : BaseBashing
{
[Constructible]
public Club() : base(0x13B4) => Weight = 9.0;
public Club(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ShadowStrike;
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
@ -26,19 +23,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 40;
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,28 +1,11 @@
namespace Server.Items
{
public class EmeraldMace : DiamondMace
[Serializable(0)]
public partial class EmeraldMace : DiamondMace
{
[Constructible]
public EmeraldMace() => WeaponAttributes.ResistPoisonBonus = 5;
public EmeraldMace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073530; // emerald mace
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
}
}

View file

@ -2,39 +2,28 @@ using System;
namespace Server.Items
{
public class FireworksWand : MagicWand
[Serializable(0, false)]
public partial class FireworksWand : MagicWand
{
private int m_Charges;
[SerializableField(0)]
[InvalidateProperties]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private int _charges;
[Constructible]
public FireworksWand(int charges = 100)
{
m_Charges = charges;
Charges = charges;
LootType = LootType.Blessed;
}
public FireworksWand(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1041424; // a fireworks wand
[CommandProperty(AccessLevel.GameMaster)]
public int Charges
{
get => m_Charges;
set
{
m_Charges = value;
InvalidateProperties();
}
}
public override void AddNameProperties(ObjectPropertyList list)
{
base.AddNameProperties(list);
list.Add(1060741, m_Charges.ToString()); // charges: ~1_val~
list.Add(1060741, _charges.ToString()); // charges: ~1_val~
}
public override void OnDoubleClick(Mobile from)
@ -108,30 +97,5 @@ namespace Server.Items
Effects.PlaySound(endLoc, map, Utility.Random(0x11B, 4));
Effects.SendLocationEffect(endLoc, map, 0x373A + 0x10 * Utility.Random(4), 16, 10, hue, renderMode);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Charges);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 0:
{
m_Charges = reader.ReadInt();
break;
}
}
}
}
}

View file

@ -1,7 +1,8 @@
namespace Server.Items
{
[Flippable(0x143D, 0x143C)]
public class HammerPick : BaseBashing
[Serializable(0, false)]
public partial class HammerPick : BaseBashing
{
[Constructible]
public HammerPick() : base(0x143D)
@ -10,10 +11,6 @@ namespace Server.Items
Layer = Layer.OneHanded;
}
public HammerPick(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
@ -30,19 +27,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 70;
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,15 +1,12 @@
namespace Server.Items
{
[Flippable(0xF5C, 0xF5D)]
public class Mace : BaseBashing
[Serializable(0, false)]
public partial class Mace : BaseBashing
{
[Constructible]
public Mace() : base(0xF5C) => Weight = 14.0;
public Mace(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
@ -26,19 +23,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 70;
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,14 +1,11 @@
namespace Server.Items
{
public class MagicWand : BaseBashing
[Serializable(0, false)]
public partial class MagicWand : BaseBashing
{
[Constructible]
public MagicWand() : base(0xDF2) => Weight = 1.0;
public MagicWand(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.Dismount;
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
@ -25,19 +22,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 110;
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,15 +1,12 @@
namespace Server.Items
{
[Flippable(0x143B, 0x143A)]
public class Maul : BaseBashing
[Serializable(0, false)]
public partial class Maul : BaseBashing
{
[Constructible]
public Maul() : base(0x143B) => Weight = 10.0;
public Maul(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;
@ -26,24 +23,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 70;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 14.0)
{
Weight = 10.0;
}
}
}
}

View file

@ -1,28 +1,11 @@
namespace Server.Items
{
public class RubyMace : DiamondMace
[Serializable(0)]
public partial class RubyMace : DiamondMace
{
[Constructible]
public RubyMace() => Attributes.WeaponDamage = 5;
public RubyMace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073529; // ruby mace
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
}
}

View file

@ -1,28 +1,11 @@
namespace Server.Items
{
public class SapphireMace : DiamondMace
[Serializable(0)]
public partial class SapphireMace : DiamondMace
{
[Constructible]
public SapphireMace() => WeaponAttributes.ResistEnergyBonus = 5;
public SapphireMace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073531; // sapphire mace
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
}
}

View file

@ -1,15 +1,12 @@
namespace Server.Items
{
[Flippable(0x26BC, 0x26C6)]
public class Scepter : BaseBashing
[Serializable(0, false)]
public partial class Scepter : BaseBashing
{
[Constructible]
public Scepter() : base(0x26BC) => Weight = 8.0;
public Scepter(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
@ -26,19 +23,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 110;
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,28 +1,11 @@
namespace Server.Items
{
public class SilverEtchedMace : DiamondMace
[Serializable(0)]
public partial class SilverEtchedMace : DiamondMace
{
[Constructible]
public SilverEtchedMace() => Slayer = SlayerName.Exorcism;
public SilverEtchedMace(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073532; // silver-etched mace
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
}
}
}

View file

@ -1,7 +1,8 @@
namespace Server.Items
{
[Flippable(0x1439, 0x1438)]
public class WarHammer : BaseBashing
[Serializable(0, false)]
public partial class WarHammer : BaseBashing
{
[Constructible]
public WarHammer() : base(0x1439)
@ -10,10 +11,6 @@ namespace Server.Items
Layer = Layer.TwoHanded;
}
public WarHammer(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;
@ -32,19 +29,5 @@ namespace Server.Items
public override int InitMaxHits => 110;
public override WeaponAnimation DefAnimation => WeaponAnimation.Bash2H;
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,15 +1,12 @@
namespace Server.Items
{
[Flippable(0x1407, 0x1406)]
public class WarMace : BaseBashing
[Serializable(0, false)]
public partial class WarMace : BaseBashing
{
[Constructible]
public WarMace() : base(0x1407) => Weight = 17.0;
public WarMace(Serial serial) : base(serial)
{
}
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
@ -26,19 +23,5 @@ namespace Server.Items
public override int InitMinHits => 31;
public override int InitMaxHits => 110;
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();
}
}
}