fix(codegen): Codegens Weapons (#698)
This commit is contained in:
parent
3293ffcf06
commit
3fc2b76468
267 changed files with 873 additions and 2705 deletions
|
|
@ -3,7 +3,8 @@ using Server.Engines.ConPVP;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class Fists : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public partial class Fists : BaseMeleeWeapon
|
||||
{
|
||||
public Fists() : base(0)
|
||||
{
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Quality = WeaponQuality.Regular;
|
||||
}
|
||||
|
||||
public Fists(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -175,19 +172,9 @@ namespace Server.Items
|
|||
base.PlaySwingAnimation( attacker );
|
||||
}*/
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
[AfterDeserialization]
|
||||
private void OnAfterDeserialization()
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
Delete();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,16 +2,13 @@ using Server.Targets;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseKnife : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BaseKnife : BaseMeleeWeapon
|
||||
{
|
||||
public BaseKnife(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseKnife(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DefHitSound => 0x23B;
|
||||
public override int DefMissSound => 0x238;
|
||||
|
||||
|
|
@ -19,20 +16,6 @@ namespace Server.Items
|
|||
public override WeaponType DefType => WeaponType.Slashing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Slash1H;
|
||||
|
||||
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 OnDoubleClick(Mobile from)
|
||||
{
|
||||
from.SendLocalizedMessage(1010018); // What do you want to use this item on?
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13F6, 0x13F7)]
|
||||
public class ButcherKnife : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class ButcherKnife : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public ButcherKnife() : base(0x13F6) => Weight = 1.0;
|
||||
|
||||
public ButcherKnife(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.InfectiousStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xEC3, 0xEC2)]
|
||||
public class Cleaver : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Cleaver : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Cleaver() : base(0xEC3) => Weight = 2.0;
|
||||
|
||||
public Cleaver(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.InfectiousStrike;
|
||||
|
||||
|
|
@ -26,24 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 50;
|
||||
|
||||
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 == 1.0)
|
||||
{
|
||||
Weight = 2.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF52, 0xF51)]
|
||||
public class Dagger : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Dagger : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Dagger() : base(0xF52) => Weight = 1.0;
|
||||
|
||||
public Dagger(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.InfectiousStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ShadowStrike;
|
||||
|
||||
|
|
@ -30,19 +27,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xEC4, 0xEC5)]
|
||||
public class SkinningKnife : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class SkinningKnife : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public SkinningKnife() : base(0xEC4) => Weight = 1.0;
|
||||
|
||||
public SkinningKnife(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ShadowStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ using Server.Targeting;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF52, 0xF51)]
|
||||
public class ThrowingDagger : Item
|
||||
[Serializable(0, false)]
|
||||
public partial class ThrowingDagger : Item
|
||||
{
|
||||
[Constructible]
|
||||
public ThrowingDagger() : base(0xF52)
|
||||
|
|
@ -13,26 +14,8 @@ namespace Server.Items
|
|||
Layer = Layer.OneHanded;
|
||||
}
|
||||
|
||||
public ThrowingDagger(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string DefaultName => "a throwing dagger";
|
||||
|
||||
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 OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.Items.Contains(this))
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class BlightGrippedLongbow : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class BlightGrippedLongbow : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public BlightGrippedLongbow()
|
||||
|
|
@ -14,24 +15,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 35;
|
||||
}
|
||||
|
||||
public BlightGrippedLongbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072907; // Blight Gripped Longbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ColdForgedBlade : ElvenSpellblade
|
||||
[Serializable(0)]
|
||||
public partial class ColdForgedBlade : ElvenSpellblade
|
||||
{
|
||||
[Constructible]
|
||||
public ColdForgedBlade()
|
||||
|
|
@ -14,10 +15,6 @@ namespace Server.Items
|
|||
Hue = GetElementalDamageHue();
|
||||
}
|
||||
|
||||
public ColdForgedBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072916; // Cold Forged Blade
|
||||
|
||||
public override void GetDamageTypes(
|
||||
|
|
@ -28,19 +25,5 @@ namespace Server.Items
|
|||
phys = fire = pois = nrgy = chaos = direct = 0;
|
||||
cold = 100;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class LuminousRuneBlade : RuneBlade
|
||||
[Serializable(0)]
|
||||
public partial class LuminousRuneBlade : RuneBlade
|
||||
{
|
||||
[Constructible]
|
||||
public LuminousRuneBlade()
|
||||
|
|
@ -14,10 +15,6 @@ namespace Server.Items
|
|||
Hue = GetElementalDamageHue();
|
||||
}
|
||||
|
||||
public LuminousRuneBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072922; // Luminous Rune Blade
|
||||
|
||||
public override void GetDamageTypes(
|
||||
|
|
@ -28,19 +25,5 @@ namespace Server.Items
|
|||
phys = fire = cold = pois = chaos = direct = 0;
|
||||
nrgy = 100;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class OverseerSunderedBlade : RadiantScimitar
|
||||
[Serializable(0)]
|
||||
public partial class OverseerSunderedBlade : RadiantScimitar
|
||||
{
|
||||
[Constructible]
|
||||
public OverseerSunderedBlade()
|
||||
|
|
@ -16,10 +17,6 @@ namespace Server.Items
|
|||
Hue = GetElementalDamageHue();
|
||||
}
|
||||
|
||||
public OverseerSunderedBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072920; // Overseer Sundered Blade
|
||||
|
||||
public override void GetDamageTypes(
|
||||
|
|
@ -30,19 +27,5 @@ namespace Server.Items
|
|||
phys = cold = pois = nrgy = chaos = direct = 0;
|
||||
fire = 100;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class PhantomStaff : WildStaff
|
||||
[Serializable(0)]
|
||||
public partial class PhantomStaff : WildStaff
|
||||
{
|
||||
[Constructible]
|
||||
public PhantomStaff()
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 60;
|
||||
}
|
||||
|
||||
public PhantomStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072919; // Phantom Staff
|
||||
|
||||
public override void GetDamageTypes(
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
phys = fire = nrgy = chaos = direct = 0;
|
||||
cold = pois = 50;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class RuneCarvingKnife : AssassinSpike
|
||||
[Serializable(0)]
|
||||
public partial class RuneCarvingKnife : AssassinSpike
|
||||
{
|
||||
[Constructible]
|
||||
public RuneCarvingKnife()
|
||||
|
|
@ -14,24 +15,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 30;
|
||||
}
|
||||
|
||||
public RuneCarvingKnife(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072915; // Rune Carving Knife
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ShardThrasher : DiamondMace
|
||||
[Serializable(0)]
|
||||
public partial class ShardThrasher : DiamondMace
|
||||
{
|
||||
[Constructible]
|
||||
public ShardThrasher()
|
||||
|
|
@ -14,24 +15,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 40;
|
||||
}
|
||||
|
||||
public ShardThrasher(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072918; // Shard Thrasher
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class SilvanisFeywoodBow : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class SilvanisFeywoodBow : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public SilvanisFeywoodBow()
|
||||
|
|
@ -13,10 +14,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 35;
|
||||
}
|
||||
|
||||
public SilvanisFeywoodBow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072955; // Silvani's Feywood Bow
|
||||
|
||||
public override void GetDamageTypes(
|
||||
|
|
@ -27,19 +24,5 @@ namespace Server.Items
|
|||
phys = fire = cold = pois = chaos = direct = 0;
|
||||
nrgy = 100;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class TheNightReaper : RepeatingCrossbow
|
||||
[Serializable(0, false)]
|
||||
public partial class TheNightReaper : RepeatingCrossbow
|
||||
{
|
||||
[Constructible]
|
||||
public TheNightReaper()
|
||||
|
|
@ -14,24 +15,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 55;
|
||||
}
|
||||
|
||||
public TheNightReaper(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1072912; // The Night Reaper
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D21, 0x2D2D)]
|
||||
public class AssassinSpike : BaseKnife
|
||||
[Serializable(0)]
|
||||
public partial class AssassinSpike : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public AssassinSpike() : base(0x2D21) => Weight = 4.0;
|
||||
|
||||
public AssassinSpike(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.InfectiousStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ShadowStrike;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30; // TODO
|
||||
public override int InitMaxHits => 60; // TODO
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,13 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ButchersWarCleaver : WarCleaver
|
||||
[Serializable(0)]
|
||||
public partial class ButchersWarCleaver : WarCleaver
|
||||
{
|
||||
[Constructible]
|
||||
public ButchersWarCleaver()
|
||||
{
|
||||
}
|
||||
|
||||
public ButchersWarCleaver(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073526; // butcher's war cleaver
|
||||
|
||||
public override void AppendChildNameProperties(ObjectPropertyList list)
|
||||
|
|
@ -19,19 +16,5 @@ namespace Server.Items
|
|||
|
||||
list.Add(1072512); // Bovine Slayer
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D24, 0x2D30)]
|
||||
public class DiamondMace : BaseBashing
|
||||
[Serializable(0)]
|
||||
public partial class DiamondMace : BaseBashing
|
||||
{
|
||||
[Constructible]
|
||||
public DiamondMace() : base(0x2D24) => Weight = 10.0;
|
||||
|
||||
public DiamondMace(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30; // TODO
|
||||
public override int InitMaxHits => 60; // TODO
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D1E, 0x2D2A)]
|
||||
public class ElvenCompositeLongbow : BaseRanged
|
||||
[Serializable(0)]
|
||||
public partial class ElvenCompositeLongbow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public ElvenCompositeLongbow() : base(0x2D1E) => Weight = 8.0;
|
||||
|
||||
public ElvenCompositeLongbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0xF42;
|
||||
public override Type AmmoType => typeof(Arrow);
|
||||
public override Item Ammo => new Arrow();
|
||||
|
|
@ -36,19 +33,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 90;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.ShootBow;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D35, 0x2D29)]
|
||||
public class ElvenMachete : BaseSword
|
||||
[Serializable(0)]
|
||||
public partial class ElvenMachete : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public ElvenMachete() : base(0x2D35) => Weight = 6.0;
|
||||
|
||||
public ElvenMachete(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DefenseMastery;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D20, 0x2D2C)]
|
||||
public class ElvenSpellblade : BaseKnife
|
||||
[Serializable(0)]
|
||||
public partial class ElvenSpellblade : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public ElvenSpellblade() : base(0x2D20)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public ElvenSpellblade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.PsychicAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack;
|
||||
|
||||
|
|
@ -32,19 +29,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30; // TODO
|
||||
public override int InitMaxHits => 60; // TODO
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D22, 0x2D2E)]
|
||||
public class Leafblade : BaseKnife
|
||||
[Serializable(0)]
|
||||
public partial class Leafblade : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Leafblade() : base(0x2D22) => Weight = 8.0;
|
||||
|
||||
public Leafblade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorIgnore;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30; // TODO
|
||||
public override int InitMaxHits => 60; // TODO
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D2B, 0x2D1F)]
|
||||
public class MagicalShortbow : BaseRanged
|
||||
[Serializable(0)]
|
||||
public partial class MagicalShortbow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public MagicalShortbow() : base(0x2D2B) => Weight = 6.0;
|
||||
|
||||
public MagicalShortbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0xF42;
|
||||
public override Type AmmoType => typeof(Arrow);
|
||||
public override Item Ammo => new Arrow();
|
||||
|
|
@ -34,19 +31,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 41;
|
||||
public override int InitMaxHits => 90;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D28, 0x2D34)]
|
||||
public class OrnateAxe : BaseAxe
|
||||
[Serializable(0)]
|
||||
public partial class OrnateAxe : BaseAxe
|
||||
{
|
||||
[Constructible]
|
||||
public OrnateAxe() : base(0x2D28)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public OrnateAxe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;
|
||||
|
||||
|
|
@ -32,19 +29,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D33, 0x2D27)]
|
||||
public class RadiantScimitar : BaseSword
|
||||
[Serializable(0)]
|
||||
public partial class RadiantScimitar : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public RadiantScimitar() : base(0x2D33) => Weight = 9.0;
|
||||
|
||||
public RadiantScimitar(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D32, 0x2D26)]
|
||||
public class RuneBlade : BaseSword
|
||||
[Serializable(0)]
|
||||
public partial class RuneBlade : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public RuneBlade() : base(0x2D32)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public RuneBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave;
|
||||
|
||||
|
|
@ -33,19 +30,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D2F, 0x2D23)]
|
||||
public class WarCleaver : BaseKnife
|
||||
[Serializable(0)]
|
||||
public partial class WarCleaver : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public WarCleaver() : base(0x2D2F) => Weight = 10.0;
|
||||
|
||||
public WarCleaver(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave;
|
||||
|
||||
|
|
@ -33,19 +30,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x2D25, 0x2D31)]
|
||||
public class WildStaff : BaseStaff
|
||||
[Serializable(0)]
|
||||
public partial class WildStaff : BaseStaff
|
||||
{
|
||||
[Constructible]
|
||||
public WildStaff() : base(0x2D25) => Weight = 8.0;
|
||||
|
||||
public WildStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Block;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 30;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF4D, 0xF4E)]
|
||||
public class Bardiche : BasePoleArm
|
||||
[Serializable(0, false)]
|
||||
public partial class Bardiche : BasePoleArm
|
||||
{
|
||||
[Constructible]
|
||||
public Bardiche() : base(0xF4D) => Weight = 7.0;
|
||||
|
||||
public Bardiche(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 100;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,17 +6,20 @@ using Server.Engines.Harvest;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BasePoleArm : BaseMeleeWeapon, IUsesRemaining
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BasePoleArm : BaseMeleeWeapon, IUsesRemaining
|
||||
{
|
||||
private bool m_ShowUsesRemaining;
|
||||
[SerializableField(0)]
|
||||
[InvalidateProperties]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private bool _showUsesRemaining;
|
||||
|
||||
private int m_UsesRemaining;
|
||||
[SerializableField(1)]
|
||||
[InvalidateProperties]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private int _usesRemaining;
|
||||
|
||||
public BasePoleArm(int itemID) : base(itemID) => m_UsesRemaining = 150;
|
||||
|
||||
public BasePoleArm(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public BasePoleArm(int itemID) : base(itemID) => _usesRemaining = 150;
|
||||
|
||||
public override int DefHitSound => 0x237;
|
||||
public override int DefMissSound => 0x238;
|
||||
|
|
@ -27,28 +30,6 @@ namespace Server.Items
|
|||
|
||||
public virtual HarvestSystem HarvestSystem => Lumberjacking.System;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int UsesRemaining
|
||||
{
|
||||
get => m_UsesRemaining;
|
||||
set
|
||||
{
|
||||
m_UsesRemaining = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public bool ShowUsesRemaining
|
||||
{
|
||||
get => m_ShowUsesRemaining;
|
||||
set
|
||||
{
|
||||
m_ShowUsesRemaining = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (HarvestSystem == null)
|
||||
|
|
@ -76,47 +57,6 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(2); // version
|
||||
|
||||
writer.Write(m_ShowUsesRemaining);
|
||||
|
||||
writer.Write(m_UsesRemaining);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
m_ShowUsesRemaining = reader.ReadBool();
|
||||
goto case 1;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
m_UsesRemaining = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
if (m_UsesRemaining < 1)
|
||||
{
|
||||
m_UsesRemaining = 150;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus = 1)
|
||||
{
|
||||
base.OnHit(attacker, defender, damageBonus);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x143E, 0x143F)]
|
||||
public class Halberd : BasePoleArm
|
||||
[Serializable(0, false)]
|
||||
public partial class Halberd : BasePoleArm
|
||||
{
|
||||
[Constructible]
|
||||
public Halberd() : base(0x143E) => Weight = 16.0;
|
||||
|
||||
public Halberd(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@ using Server.Engines.Harvest;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26BA, 0x26C4)]
|
||||
public class Scythe : BasePoleArm
|
||||
[Serializable(0, false)]
|
||||
public partial class Scythe : BasePoleArm
|
||||
{
|
||||
[Constructible]
|
||||
public Scythe() : base(0x26BA) => Weight = 5.0;
|
||||
|
||||
public Scythe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -30,24 +27,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 100;
|
||||
|
||||
public override HarvestSystem HarvestSystem => null;
|
||||
|
||||
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 == 15.0)
|
||||
{
|
||||
Weight = 5.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AssassinsShortbow : MagicalShortbow
|
||||
[Serializable(0)]
|
||||
public partial class AssassinsShortbow : MagicalShortbow
|
||||
{
|
||||
[Constructible]
|
||||
public AssassinsShortbow()
|
||||
|
|
@ -9,24 +10,6 @@ namespace Server.Items
|
|||
Attributes.WeaponDamage = 4;
|
||||
}
|
||||
|
||||
public AssassinsShortbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073512; // assassin's shortbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class BarbedLongbow : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class BarbedLongbow : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public BarbedLongbow() => Attributes.ReflectPhysical = 12;
|
||||
|
||||
public BarbedLongbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073505; // barbed longbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,21 +5,25 @@ using Server.Spells;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseRanged : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BaseRanged : BaseMeleeWeapon
|
||||
{
|
||||
private bool m_Balanced;
|
||||
[SerializableField(0)]
|
||||
[InvalidateProperties]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private bool _balanced;
|
||||
|
||||
[SerializableField(1)]
|
||||
[InvalidateProperties]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private int _velocity;
|
||||
|
||||
private TimerExecutionToken _recoveryTimerToken;
|
||||
private int m_Velocity;
|
||||
|
||||
public BaseRanged(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseRanged(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public abstract int EffectID { get; }
|
||||
public abstract Type AmmoType { get; }
|
||||
public abstract Item Ammo { get; }
|
||||
|
|
@ -33,28 +37,6 @@ namespace Server.Items
|
|||
|
||||
public override SkillName AccuracySkill => SkillName.Archery;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public bool Balanced
|
||||
{
|
||||
get => m_Balanced;
|
||||
set
|
||||
{
|
||||
m_Balanced = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int Velocity
|
||||
{
|
||||
get => m_Velocity;
|
||||
set
|
||||
{
|
||||
m_Velocity = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override TimeSpan OnSwing(Mobile attacker, Mobile defender)
|
||||
{
|
||||
// WeaponAbility a = WeaponAbility.GetCurrentAbility( attacker );
|
||||
|
|
@ -116,11 +98,11 @@ namespace Server.Items
|
|||
defender.AddToBackpack(Ammo);
|
||||
}
|
||||
|
||||
if (Core.ML && m_Velocity > 0)
|
||||
if (Core.ML && _velocity > 0)
|
||||
{
|
||||
var bonus = (int)attacker.GetDistanceToSqrt(defender);
|
||||
|
||||
if (bonus > 0 && m_Velocity > Utility.Random(100))
|
||||
if (bonus > 0 && _velocity > Utility.Random(100))
|
||||
{
|
||||
AOS.Damage(defender, attacker, bonus * 3, 100, 0, 0, 0, 0);
|
||||
|
||||
|
|
@ -214,50 +196,5 @@ namespace Server.Items
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(3); // version
|
||||
|
||||
writer.Write(m_Balanced);
|
||||
writer.Write(m_Velocity);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
m_Balanced = reader.ReadBool();
|
||||
m_Velocity = reader.ReadInt();
|
||||
|
||||
goto case 2;
|
||||
}
|
||||
case 2:
|
||||
case 1:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
/*m_EffectID =*/
|
||||
reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (version < 2)
|
||||
{
|
||||
WeaponAttributes.MageWeapon = 0;
|
||||
WeaponAttributes.UseBestSkill = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13B2, 0x13B1)]
|
||||
public class Bow : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class Bow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public Bow() : base(0x13B2)
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Bow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0xF42;
|
||||
public override Type AmmoType => typeof(Arrow);
|
||||
public override Item Ammo => new Arrow();
|
||||
|
|
@ -40,24 +37,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 60;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.ShootBow;
|
||||
|
||||
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 == 7.0)
|
||||
{
|
||||
Weight = 6.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26C2, 0x26CC)]
|
||||
public class CompositeBow : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class CompositeBow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public CompositeBow() : base(0x26C2) => Weight = 5.0;
|
||||
|
||||
public CompositeBow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0xF42;
|
||||
public override Type AmmoType => typeof(Arrow);
|
||||
public override Item Ammo => new Arrow();
|
||||
|
|
@ -36,19 +33,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 70;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.ShootBow;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF50, 0xF4F)]
|
||||
public class Crossbow : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class Crossbow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public Crossbow() : base(0xF50)
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Crossbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0x1BFE;
|
||||
public override Type AmmoType => typeof(Bolt);
|
||||
public override Item Ammo => new Bolt();
|
||||
|
|
@ -38,19 +35,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class FrozenLongbow : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class FrozenLongbow : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public FrozenLongbow()
|
||||
|
|
@ -9,24 +10,6 @@ namespace Server.Items
|
|||
Attributes.DefendChance = 10;
|
||||
}
|
||||
|
||||
public FrozenLongbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073507; // frozen longbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13FD, 0x13FC)]
|
||||
public class HeavyCrossbow : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class HeavyCrossbow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public HeavyCrossbow() : base(0x13FD)
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public HeavyCrossbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0x1BFE;
|
||||
public override Type AmmoType => typeof(Bolt);
|
||||
public override Item Ammo => new Bolt();
|
||||
|
|
@ -38,19 +35,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 100;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,17 +3,14 @@ using Server.Targeting;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13B2, 0x13B1)]
|
||||
public class JukaBow : Bow
|
||||
[Serializable(0, false)]
|
||||
public partial class JukaBow : Bow
|
||||
{
|
||||
[Constructible]
|
||||
public JukaBow()
|
||||
{
|
||||
}
|
||||
|
||||
public JukaBow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int AosStrengthReq => 80;
|
||||
public override int AosDexterityReq => 80;
|
||||
|
||||
|
|
@ -74,19 +71,5 @@ namespace Server.Items
|
|||
from.SendMessage("You modify it.");
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class LightweightShortbow : MagicalShortbow
|
||||
[Serializable(0)]
|
||||
public partial class LightweightShortbow : MagicalShortbow
|
||||
{
|
||||
[Constructible]
|
||||
public LightweightShortbow() => Balanced = true;
|
||||
|
||||
public LightweightShortbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073510; // lightweight shortbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class LongbowOfMight : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class LongbowOfMight : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public LongbowOfMight() => Attributes.WeaponDamage = 5;
|
||||
|
||||
public LongbowOfMight(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073508; // longbow of might
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class MysticalShortbow : MagicalShortbow
|
||||
[Serializable(0)]
|
||||
public partial class MysticalShortbow : MagicalShortbow
|
||||
{
|
||||
[Constructible]
|
||||
public MysticalShortbow()
|
||||
|
|
@ -9,24 +10,6 @@ namespace Server.Items
|
|||
Attributes.CastSpeed = -1;
|
||||
}
|
||||
|
||||
public MysticalShortbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073511; // mystical shortbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class RangersShortbow : MagicalShortbow
|
||||
[Serializable(0)]
|
||||
public partial class RangersShortbow : MagicalShortbow
|
||||
{
|
||||
[Constructible]
|
||||
public RangersShortbow() => Attributes.WeaponSpeed = 5;
|
||||
|
||||
public RangersShortbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073509; // ranger's shortbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26C3, 0x26CD)]
|
||||
public class RepeatingCrossbow : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class RepeatingCrossbow : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public RepeatingCrossbow() : base(0x26C3) => Weight = 6.0;
|
||||
|
||||
public RepeatingCrossbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0x1BFE;
|
||||
public override Type AmmoType => typeof(Bolt);
|
||||
public override Item Ammo => new Bolt();
|
||||
|
|
@ -34,19 +31,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class SlayerLongbow : ElvenCompositeLongbow
|
||||
[Serializable(0)]
|
||||
public partial class SlayerLongbow : ElvenCompositeLongbow
|
||||
{
|
||||
[Constructible]
|
||||
public SlayerLongbow() => Slayer2 = (SlayerName)Utility.RandomMinMax(1, 27);
|
||||
|
||||
public SlayerLongbow(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073506; // slayer longbow
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A8, 0x27F3)]
|
||||
public class Bokuto : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class Bokuto : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public Bokuto() : base(0x27A8) => Weight = 7.0;
|
||||
|
||||
public Bokuto(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.NerveStrike;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 25;
|
||||
public override int InitMaxHits => 50;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A9, 0x27F4)]
|
||||
public class Daisho : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class Daisho : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public Daisho() : base(0x27A9)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Daisho(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike;
|
||||
|
||||
|
|
@ -33,19 +30,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 45;
|
||||
public override int InitMaxHits => 65;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27AD, 0x27F8)]
|
||||
public class Kama : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Kama : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Kama() : base(0x27AD)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Kama(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.DefenseMastery;
|
||||
|
||||
|
|
@ -37,19 +34,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A7, 0x27F2)]
|
||||
public class Lajatang : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Lajatang : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Lajatang() : base(0x27A7)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Lajatang(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DefenseMastery;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.FrenziedWhirlwind;
|
||||
|
||||
|
|
@ -37,19 +34,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A2, 0x27ED)]
|
||||
public class NoDachi : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class NoDachi : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public NoDachi() : base(0x27A2)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public NoDachi(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.RidingSwipe;
|
||||
|
||||
|
|
@ -33,19 +30,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 90;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27AE, 0x27F9)]
|
||||
public class Nunchaku : BaseBashing
|
||||
[Serializable(0, false)]
|
||||
public partial class Nunchaku : BaseBashing
|
||||
{
|
||||
[Constructible]
|
||||
public Nunchaku() : base(0x27AE) => Weight = 5.0;
|
||||
|
||||
public Nunchaku(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Block;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Feint;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 40;
|
||||
public override int InitMaxHits => 55;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27AF, 0x27FA)]
|
||||
public class Sai : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Sai : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Sai() : base(0x27AF)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Sai(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Block;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorPierce;
|
||||
|
||||
|
|
@ -37,19 +34,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27Ab, 0x27F6)]
|
||||
public class Tekagi : BaseKnife
|
||||
[Serializable(0, false)]
|
||||
public partial class Tekagi : BaseKnife
|
||||
{
|
||||
[Constructible]
|
||||
public Tekagi() : base(0x27AB)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Tekagi(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DualWield;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.TalonStrike;
|
||||
|
||||
|
|
@ -37,19 +34,5 @@ namespace Server.Items
|
|||
public override SkillName DefSkill => SkillName.Fencing;
|
||||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A3, 0x27EE)]
|
||||
public class Tessen : BaseBashing
|
||||
[Serializable(0, false)]
|
||||
public partial class Tessen : BaseBashing
|
||||
{
|
||||
[Constructible]
|
||||
public Tessen() : base(0x27A3)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Tessen(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Block;
|
||||
|
||||
|
|
@ -35,19 +32,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A6, 0x27F1)]
|
||||
public class Tetsubo : BaseBashing
|
||||
[Serializable(0, false)]
|
||||
public partial class Tetsubo : BaseBashing
|
||||
{
|
||||
[Constructible]
|
||||
public Tetsubo() : base(0x27A6)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Tetsubo(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;
|
||||
|
||||
|
|
@ -35,19 +32,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 65;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A4, 0x27EF)]
|
||||
public class Wakizashi : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class Wakizashi : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public Wakizashi() : base(0x27A4)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Layer = Layer.OneHanded;
|
||||
}
|
||||
|
||||
public Wakizashi(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike;
|
||||
|
||||
|
|
@ -33,19 +30,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 45;
|
||||
public override int InitMaxHits => 50;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ using System;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x27A5, 0x27F0)]
|
||||
public class Yumi : BaseRanged
|
||||
[Serializable(0, false)]
|
||||
public partial class Yumi : BaseRanged
|
||||
{
|
||||
[Constructible]
|
||||
public Yumi() : base(0x27A5)
|
||||
|
|
@ -12,10 +13,6 @@ namespace Server.Items
|
|||
Layer = Layer.TwoHanded;
|
||||
}
|
||||
|
||||
public Yumi(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int EffectID => 0xF42;
|
||||
public override Type AmmoType => typeof(Arrow);
|
||||
public override Item Ammo => new Arrow();
|
||||
|
|
@ -40,24 +37,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 60;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.ShootBow;
|
||||
|
||||
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 == 7.0)
|
||||
{
|
||||
Weight = 6.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,16 +3,13 @@ using Server.Engines.ConPVP;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseSpear : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BaseSpear : BaseMeleeWeapon
|
||||
{
|
||||
public BaseSpear(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseSpear(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DefHitSound => 0x23C;
|
||||
public override int DefMissSound => 0x238;
|
||||
|
||||
|
|
@ -20,20 +17,6 @@ namespace Server.Items
|
|||
public override WeaponType DefType => WeaponType.Piercing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce2H;
|
||||
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26BD, 0x26C7)]
|
||||
public class BladedStaff : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class BladedStaff : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public BladedStaff() : base(0x26BD) => Weight = 4.0;
|
||||
|
||||
public BladedStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
|
||||
|
||||
|
|
@ -28,19 +25,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 110;
|
||||
|
||||
public override SkillName DefSkill => SkillName.Swords;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26BF, 0x26C9)]
|
||||
public class DoubleBladedStaff : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class DoubleBladedStaff : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public DoubleBladedStaff() : base(0x26BF) => Weight = 2.0;
|
||||
|
||||
public DoubleBladedStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.InfectiousStrike;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26BE, 0x26C8)]
|
||||
public class Pike : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class Pike : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public Pike() : base(0x26BE) => Weight = 8.0;
|
||||
|
||||
public Pike(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.InfectiousStrike;
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xE87, 0xE88)]
|
||||
public class Pitchfork : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class Pitchfork : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public Pitchfork() : base(0xE87) => Weight = 11.0;
|
||||
|
||||
public Pitchfork(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Dismount;
|
||||
|
||||
|
|
@ -26,24 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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 == 10.0)
|
||||
{
|
||||
Weight = 11.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x1403, 0x1402)]
|
||||
public class ShortSpear : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class ShortSpear : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public ShortSpear() : base(0x1403) => Weight = 4.0;
|
||||
|
||||
public ShortSpear(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ShadowStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
|
||||
|
||||
|
|
@ -28,19 +25,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 70;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF62, 0xF63)]
|
||||
public class Spear : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class Spear : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public Spear() : base(0xF62) => Weight = 7.0;
|
||||
|
||||
public Spear(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF62, 0xF63)]
|
||||
public class TribalSpear : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class TribalSpear : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public TribalSpear() : base(0xF62)
|
||||
|
|
@ -10,10 +11,6 @@ namespace Server.Items
|
|||
Hue = 837;
|
||||
}
|
||||
|
||||
public TribalSpear(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -34,19 +31,5 @@ namespace Server.Items
|
|||
public override int VirtualDamageBonus => 25;
|
||||
|
||||
public override string DefaultName => "a tribal spear";
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x1405, 0x1404)]
|
||||
public class WarFork : BaseSpear
|
||||
[Serializable(0, false)]
|
||||
public partial class WarFork : BaseSpear
|
||||
{
|
||||
[Constructible]
|
||||
public WarFork() : base(0x1405) => Weight = 9.0;
|
||||
|
||||
public WarFork(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
|
|
@ -31,19 +28,5 @@ namespace Server.Items
|
|||
public override int InitMaxHits => 110;
|
||||
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Pierce1H;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseStaff : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BaseStaff : BaseMeleeWeapon
|
||||
{
|
||||
public BaseStaff(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DefHitSound => 0x233;
|
||||
public override int DefMissSound => 0x239;
|
||||
|
||||
|
|
@ -17,20 +14,6 @@ namespace Server.Items
|
|||
public override WeaponType DefType => WeaponType.Staff;
|
||||
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();
|
||||
}
|
||||
|
||||
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus = 1)
|
||||
{
|
||||
base.OnHit(attacker, defender, damageBonus);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xDF1, 0xDF0)]
|
||||
public class BlackStaff : BaseStaff
|
||||
[Serializable(0, false)]
|
||||
public partial class BlackStaff : BaseStaff
|
||||
{
|
||||
[Constructible]
|
||||
public BlackStaff() : base(0xDF0) => Weight = 6.0;
|
||||
|
||||
public BlackStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class GlacialStaff : BlackStaff
|
||||
[Serializable(0, false)]
|
||||
public partial class GlacialStaff : BlackStaff
|
||||
{
|
||||
[Constructible]
|
||||
public GlacialStaff()
|
||||
|
|
@ -12,25 +13,7 @@ namespace Server.Items
|
|||
AosElementDamages[AosElementAttribute.Cold] = 20 + 5 * Utility.RandomMinMax(0, 6);
|
||||
}
|
||||
|
||||
public GlacialStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
// TODO: Pre-AoS stuff
|
||||
public override int LabelNumber => 1017413; // Glacial Staff
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x13F8, 0x13F9)]
|
||||
public class GnarledStaff : BaseStaff
|
||||
[Serializable(0, false)]
|
||||
public partial class GnarledStaff : BaseStaff
|
||||
{
|
||||
[Constructible]
|
||||
public GnarledStaff() : base(0x13F8) => Weight = 3.0;
|
||||
|
||||
public GnarledStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 50;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xE89, 0xE8a)]
|
||||
public class QuarterStaff : BaseStaff
|
||||
[Serializable(0, false)]
|
||||
public partial class QuarterStaff : BaseStaff
|
||||
{
|
||||
[Constructible]
|
||||
public QuarterStaff() : base(0xE89) => Weight = 4.0;
|
||||
|
||||
public QuarterStaff(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;
|
||||
|
||||
|
|
@ -26,19 +23,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 60;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,15 +7,12 @@ using Server.Targeting;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xE81, 0xE82)]
|
||||
public class ShepherdsCrook : BaseStaff
|
||||
[Serializable(0, false)]
|
||||
public partial class ShepherdsCrook : BaseStaff
|
||||
{
|
||||
[Constructible]
|
||||
public ShepherdsCrook() : base(0xE81) => Weight = 4.0;
|
||||
|
||||
public ShepherdsCrook(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;
|
||||
|
||||
|
|
@ -33,25 +30,6 @@ namespace Server.Items
|
|||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 50;
|
||||
|
||||
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 == 2.0)
|
||||
{
|
||||
Weight = 4.0;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
from.SendLocalizedMessage(502464); // Target the animal you wish to herd.
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AdventurersMachete : ElvenMachete
|
||||
[Serializable(0)]
|
||||
public partial class AdventurersMachete : ElvenMachete
|
||||
{
|
||||
[Constructible]
|
||||
public AdventurersMachete() => Attributes.Luck = 20;
|
||||
|
||||
public AdventurersMachete(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073533; // adventurer's machete
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,34 +2,17 @@ using Server.Targets;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseSword : BaseMeleeWeapon
|
||||
[Serializable(0, false)]
|
||||
public abstract partial class BaseSword : BaseMeleeWeapon
|
||||
{
|
||||
public BaseSword(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseSword(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override SkillName DefSkill => SkillName.Swords;
|
||||
public override WeaponType DefType => WeaponType.Slashing;
|
||||
public override WeaponAnimation DefAnimation => WeaponAnimation.Slash1H;
|
||||
|
||||
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 OnDoubleClick(Mobile from)
|
||||
{
|
||||
from.SendLocalizedMessage(1010018); // What do you want to use this item on?
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26BB, 0x26C5)]
|
||||
public class BoneHarvester : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class BoneHarvester : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public BoneHarvester() : base(0x26BB) => Weight = 3.0;
|
||||
|
||||
public BoneHarvester(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.ParalyzingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
|
||||
|
||||
|
|
@ -29,19 +26,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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,16 +2,12 @@ using Server.Engines.MLQuests.Items;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BoneMachete : ElvenMachete, ITicket
|
||||
[Serializable(0)]
|
||||
public partial class BoneMachete : ElvenMachete, ITicket
|
||||
{
|
||||
[Constructible]
|
||||
public BoneMachete() => ItemID = 0x20E;
|
||||
|
||||
public BoneMachete(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => null;
|
||||
public override WeaponAbility SecondaryAbility => null;
|
||||
|
||||
|
|
@ -40,19 +36,5 @@ namespace Server.Items
|
|||
); // Your bone handled machete has grown dull but you still manage to force your way past the venomous branches.
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0xF5E, 0xF5F)]
|
||||
public class Broadsword : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class Broadsword : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public Broadsword() : base(0xF5E) => Weight = 6.0;
|
||||
|
||||
public Broadsword(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorIgnore;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 31;
|
||||
public override int InitMaxHits => 100;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ChargedAssassinSpike : AssassinSpike
|
||||
[Serializable(0)]
|
||||
public partial class ChargedAssassinSpike : AssassinSpike
|
||||
{
|
||||
[Constructible]
|
||||
public ChargedAssassinSpike() => WeaponAttributes.HitLightning = 10;
|
||||
|
||||
public ChargedAssassinSpike(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073518; // charged assassin spike
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class CorruptedRuneBlade : RuneBlade
|
||||
[Serializable(0)]
|
||||
public partial class CorruptedRuneBlade : RuneBlade
|
||||
{
|
||||
[Constructible]
|
||||
public CorruptedRuneBlade()
|
||||
|
|
@ -9,24 +10,6 @@ namespace Server.Items
|
|||
WeaponAttributes.ResistPoisonBonus = 12;
|
||||
}
|
||||
|
||||
public CorruptedRuneBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073540; // Corrupted Rune Blade
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x26C1, 0x26CB)]
|
||||
public class CrescentBlade : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class CrescentBlade : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public CrescentBlade() : base(0x26C1) => Weight = 1.0;
|
||||
|
||||
public CrescentBlade(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
|
||||
|
||||
|
|
@ -29,19 +26,5 @@ namespace Server.Items
|
|||
|
||||
public override int InitMinHits => 51;
|
||||
public override int InitMaxHits => 80;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
[Flippable(0x1441, 0x1440)]
|
||||
public class Cutlass : BaseSword
|
||||
[Serializable(0, false)]
|
||||
public partial class Cutlass : BaseSword
|
||||
{
|
||||
[Constructible]
|
||||
public Cutlass() : base(0x1441) => Weight = 8.0;
|
||||
|
||||
public Cutlass(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
|
||||
public override WeaponAbility SecondaryAbility => WeaponAbility.ShadowStrike;
|
||||
|
||||
|
|
@ -29,19 +26,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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class DarkglowScimitar : RadiantScimitar
|
||||
[Serializable(0)]
|
||||
public partial class DarkglowScimitar : RadiantScimitar
|
||||
{
|
||||
[Constructible]
|
||||
public DarkglowScimitar() => WeaponAttributes.HitDispel = 10;
|
||||
|
||||
public DarkglowScimitar(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073542; // darkglow scimitar
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,11 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class DiseasedMachete : ElvenMachete
|
||||
[Serializable(0)]
|
||||
public partial class DiseasedMachete : ElvenMachete
|
||||
{
|
||||
[Constructible]
|
||||
public DiseasedMachete() => WeaponAttributes.HitPoisonArea = 25;
|
||||
|
||||
public DiseasedMachete(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1073536; // Diseased Machete
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue