Adds assemblies config, fixes crash bugs. (#134)

This commit is contained in:
Kamron Batman 2020-05-09 12:55:56 -07:00 • committed by GitHub
parent 0140eb73b4
commit 8ec166bcd0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3223 changed files with 191 additions and 191 deletions

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x2FCB, 0x3181)]
public class FemaleLeafChest : BaseArmor
{
[Constructible]
public FemaleLeafChest() : base(0x2FCB) => Weight = 2.0;
public FemaleLeafChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 20;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override bool AllowMaleWearer => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
[Flippable(0x1c06, 0x1c07)]
public class FemaleLeatherChest : BaseArmor
{
[Constructible]
public FemaleLeatherChest() : base(0x1C06) => Weight = 1.0;
public FemaleLeatherChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 25;
public override int OldStrReq => 15;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override bool AllowMaleWearer => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x2FC8, 0x317E)]
public class LeafArms : BaseArmor
{
[Constructible]
public LeafArms() : base(0x2FC8) => Weight = 2.0;
public LeafArms(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 15;
public override int OldStrReq => 15;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x2FC5, 0x317B)]
public class LeafChest : BaseArmor
{
[Constructible]
public LeafChest() : base(0x2FC5) => Weight = 2.0;
public LeafChest(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 20;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,139 @@
namespace Server.Items
{
[Flippable]
public class LeafGloves : BaseArmor, IArcaneEquip
{
[Constructible]
public LeafGloves() : base(0x2FC6) => Weight = 2.0;
public LeafGloves(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
if (IsArcane)
{
writer.Write(true);
writer.Write(m_CurArcaneCharges);
writer.Write(m_MaxArcaneCharges);
}
else
{
writer.Write(false);
}
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
switch (version)
{
case 0:
{
if (reader.ReadBool())
{
m_CurArcaneCharges = reader.ReadInt();
m_MaxArcaneCharges = reader.ReadInt();
if (Hue == 2118)
Hue = ArcaneGem.DefaultArcaneHue;
}
break;
}
}
}
private int m_MaxArcaneCharges, m_CurArcaneCharges;
[CommandProperty(AccessLevel.GameMaster)]
public int MaxArcaneCharges
{
get => m_MaxArcaneCharges;
set
{
m_MaxArcaneCharges = value;
InvalidateProperties();
Update();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public int CurArcaneCharges
{
get => m_CurArcaneCharges;
set
{
m_CurArcaneCharges = value;
InvalidateProperties();
Update();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool IsArcane => m_MaxArcaneCharges > 0 && m_CurArcaneCharges >= 0;
public void Update()
{
if (IsArcane)
ItemID = 0x26B0; // TODO: Check
else if (ItemID == 0x26B0)
ItemID = 0x2FC6;
if (IsArcane && CurArcaneCharges == 0)
Hue = 0;
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (IsArcane)
list.Add(1061837, "{0}\t{1}", m_CurArcaneCharges, m_MaxArcaneCharges); // arcane charges: ~1_val~ / ~2_val~
}
public override void OnSingleClick(Mobile from)
{
base.OnSingleClick(from);
if (IsArcane)
LabelTo(from, 1061837, $"{m_CurArcaneCharges}\t{m_MaxArcaneCharges}");
}
public void Flip()
{
if (ItemID == 0x2FC6)
ItemID = 0x317C;
else if (ItemID == 0x317C)
ItemID = 0x2FC6;
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class LeafGorget : BaseArmor
{
[Constructible]
public LeafGorget() : base(0x2FC7) => Weight = 2.0;
public LeafGorget(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x2FC9, 0x317F)]
public class LeafLegs : BaseArmor
{
[Constructible]
public LeafLegs() : base(0x2FC9) => Weight = 2.0;
public LeafLegs(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 20;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x2FCA, 0x3180)]
public class LeafTonlet : BaseArmor
{
[Constructible]
public LeafTonlet() : base(0x2FCA) => Weight = 2.0;
public LeafTonlet(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x13cd, 0x13c5)]
public class LeatherArms : BaseArmor
{
[Constructible]
public LeatherArms() : base(0x13CD) => Weight = 2.0;
public LeatherArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 15;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
[Flippable(0x1c0a, 0x1c0b)]
public class LeatherBustierArms : BaseArmor
{
[Constructible]
public LeatherBustierArms() : base(0x1C0A) => Weight = 1.0;
public LeatherBustierArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 15;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override bool AllowMaleWearer => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x13cc, 0x13d3)]
public class LeatherChest : BaseArmor
{
[Constructible]
public LeatherChest() : base(0x13CC) => Weight = 6.0;
public LeatherChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 25;
public override int OldStrReq => 15;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 6.0;
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherDo : BaseArmor
{
[Constructible]
public LeatherDo() : base(0x27C6) => Weight = 6.0;
public LeatherDo(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 35;
public override int InitMaxHits => 45;
public override int AosStrReq => 40;
public override int OldStrReq => 40;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,138 @@
namespace Server.Items
{
[Flippable]
public class LeatherGloves : BaseArmor, IArcaneEquip
{
[Constructible]
public LeatherGloves() : base(0x13C6) => Weight = 1.0;
public LeatherGloves(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
if (IsArcane)
{
writer.Write(true);
writer.Write(m_CurArcaneCharges);
writer.Write(m_MaxArcaneCharges);
}
else
{
writer.Write(false);
}
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 1:
{
if (reader.ReadBool())
{
m_CurArcaneCharges = reader.ReadInt();
m_MaxArcaneCharges = reader.ReadInt();
if (Hue == 2118)
Hue = ArcaneGem.DefaultArcaneHue;
}
break;
}
}
}
private int m_MaxArcaneCharges, m_CurArcaneCharges;
[CommandProperty(AccessLevel.GameMaster)]
public int MaxArcaneCharges
{
get => m_MaxArcaneCharges;
set
{
m_MaxArcaneCharges = value;
InvalidateProperties();
Update();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public int CurArcaneCharges
{
get => m_CurArcaneCharges;
set
{
m_CurArcaneCharges = value;
InvalidateProperties();
Update();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool IsArcane => m_MaxArcaneCharges > 0 && m_CurArcaneCharges >= 0;
public void Update()
{
if (IsArcane)
ItemID = 0x26B0;
else if (ItemID == 0x26B0)
ItemID = 0x13C6;
if (IsArcane && CurArcaneCharges == 0)
Hue = 0;
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (IsArcane)
list.Add(1061837, "{0}\t{1}", m_CurArcaneCharges, m_MaxArcaneCharges); // arcane charges: ~1_val~ / ~2_val~
}
public override void OnSingleClick(Mobile from)
{
base.OnSingleClick(from);
if (IsArcane)
LabelTo(from, 1061837, $"{m_CurArcaneCharges}\t{m_MaxArcaneCharges}");
}
public void Flip()
{
if (ItemID == 0x13C6)
ItemID = 0x13CE;
else if (ItemID == 0x13CE)
ItemID = 0x13C6;
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherGorget : BaseArmor
{
[Constructible]
public LeatherGorget() : base(0x13C7) => Weight = 1.0;
public LeatherGorget(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherHaidate : BaseArmor
{
[Constructible]
public LeatherHaidate() : base(0x278A) => Weight = 4.0;
public LeatherHaidate(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 20;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherHiroSode : BaseArmor
{
[Constructible]
public LeatherHiroSode() : base(0x277E) => Weight = 1.0;
public LeatherHiroSode(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 25;
public override int OldStrReq => 25;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherJingasa : BaseArmor
{
[Constructible]
public LeatherJingasa() : base(0x2776) => Weight = 3.0;
public LeatherJingasa(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 4;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 20;
public override int InitMaxHits => 30;
public override int AosStrReq => 25;
public override int OldStrReq => 25;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
[Flippable(0x13cb, 0x13d2)]
public class LeatherLegs : BaseArmor
{
[Constructible]
public LeatherLegs() : base(0x13CB) => Weight = 4.0;
public LeatherLegs(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherMempo : BaseArmor
{
[Constructible]
public LeatherMempo() : base(0x277A) => Weight = 2.0;
public LeatherMempo(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 35;
public override int InitMaxHits => 40;
public override int AosStrReq => 30;
public override int OldStrReq => 30;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherNinjaHood : BaseArmor
{
[Constructible]
public LeatherNinjaHood() : base(0x278E) => Weight = 2.0;
public LeatherNinjaHood(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 45;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherNinjaJacket : BaseArmor
{
[Constructible]
public LeatherNinjaJacket() : base(0x2793) => Weight = 5.0;
public LeatherNinjaJacket(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 65;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,60 @@
namespace Server.Items
{
public class LeatherNinjaMitts : BaseArmor
{
[Constructible]
public LeatherNinjaMitts() : base(0x2792) => Weight = 2.0;
public LeatherNinjaMitts(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 25;
public override int InitMaxHits => 25;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(2);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 1:
{
if (reader.ReadBool())
{
reader.ReadInt();
reader.ReadInt();
}
Weight = 2.0;
ItemID = 0x2792;
break;
}
}
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherNinjaPants : BaseArmor
{
[Constructible]
public LeatherNinjaPants() : base(0x2791) => Weight = 3.0;
public LeatherNinjaPants(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
[Flippable(0x1c00, 0x1c01)]
public class LeatherShorts : BaseArmor
{
[Constructible]
public LeatherShorts() : base(0x1C00) => Weight = 3.0;
public LeatherShorts(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override bool AllowMaleWearer => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x1c08, 0x1c09)]
public class LeatherSkirt : BaseArmor
{
[Constructible]
public LeatherSkirt() : base(0x1C08) => Weight = 1.0;
public LeatherSkirt(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 30;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 10;
public override int ArmorBase => 13;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override bool AllowMaleWearer => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 3.0)
Weight = 1.0;
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LeatherSuneate : BaseArmor
{
[Constructible]
public LeatherSuneate() : base(0x2786) => Weight = 4.0;
public LeatherSuneate(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 25;
public override int InitMaxHits => 40;
public override int AosStrReq => 20;
public override int OldStrReq => 20;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}