Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,62 @@
namespace Server.Items
{
public enum ArmorQuality
{
Low,
Regular,
Exceptional
}
public enum ArmorDurabilityLevel
{
Regular,
Durable,
Substantial,
Massive,
Fortified,
Indestructible
}
public enum ArmorProtectionLevel
{
Regular,
Defense,
Guarding,
Hardening,
Fortification,
Invulnerability
}
public enum ArmorBodyType
{
Gorget,
Gloves,
Helmet,
Arms,
Legs,
Chest,
Shield
}
public enum ArmorMaterialType
{
Cloth,
Leather,
Studded,
Bone,
Spined,
Horned,
Barbed,
Ringmail,
Chainmail,
Plate,
Dragon // On OSI, Dragon is seen and considered its own type.
}
public enum ArmorMeditationAllowance
{
All,
Half,
None
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class ArmorOfFortune : StuddedChest
{
[Constructible]
public ArmorOfFortune()
{
Hue = 0x501;
Attributes.Luck = 200;
Attributes.DefendChance = 15;
Attributes.LowerRegCost = 40;
ArmorAttributes.MageArmor = 1;
}
public ArmorOfFortune(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061098; // Armor of Fortune
public override int ArtifactRarity => 11;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class BrambleCoat : WoodlandChest
{
[Constructible]
public BrambleCoat()
{
Hue = 0x1;
ArmorAttributes.SelfRepair = 3;
Attributes.BonusHits = 4;
Attributes.Luck = 150;
Attributes.ReflectPhysical = 25;
Attributes.DefendChance = 15;
}
public BrambleCoat(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072925; // Bramble Coat
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 8;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 8;
public override int BaseEnergyResistance => 7;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class IronwoodCrown : RavenHelm
{
[Constructible]
public IronwoodCrown()
{
Hue = 0x1;
ArmorAttributes.SelfRepair = 3;
Attributes.BonusStr = 5;
Attributes.BonusDex = 5;
Attributes.BonusInt = 5;
}
public IronwoodCrown(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072924; // Ironwood Crown
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 7;
public override int BaseEnergyResistance => 10;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,40 @@
namespace Server.Items
{
public class SongWovenMantle : LeafArms
{
[Constructible]
public SongWovenMantle()
{
Hue = 0x493;
SkillBonuses.SetValues(0, SkillName.Musicianship, 10.0);
Attributes.Luck = 100;
Attributes.DefendChance = 5;
}
public SongWovenMantle(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072931; // Song Woven Mantle
public override int BasePhysicalResistance => 14;
public override int BaseColdResistance => 14;
public override int BaseEnergyResistance => 16;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,40 @@
namespace Server.Items
{
public class SpellWovenBritches : LeafLegs
{
[Constructible]
public SpellWovenBritches()
{
Hue = 0x487;
SkillBonuses.SetValues(0, SkillName.Meditation, 10.0);
Attributes.BonusInt = 8;
Attributes.SpellDamage = 10;
Attributes.LowerManaCost = 10;
}
public SpellWovenBritches(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072929; // Spell Woven Britches
public override int BaseFireResistance => 15;
public override int BasePoisonResistance => 16;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class StitchersMittens : LeafGloves
{
[Constructible]
public StitchersMittens()
{
Hue = 0x481;
SkillBonuses.SetValues(0, SkillName.Healing, 10.0);
Attributes.BonusDex = 5;
Attributes.LowerRegCost = 30;
}
public StitchersMittens(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1072932; // Stitcher's Mittens
public override int BasePhysicalResistance => 20;
public override int BaseColdResistance => 20;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
public class GauntletsOfNobility : RingmailGloves
{
[Constructible]
public GauntletsOfNobility()
{
Hue = 0x4FE;
Attributes.BonusStr = 8;
Attributes.Luck = 100;
Attributes.WeaponDamage = 20;
}
public GauntletsOfNobility(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061092; // Gauntlets of Nobility
public override int ArtifactRarity => 11;
public override int BasePhysicalResistance => 18;
public override int BasePoisonResistance => 20;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (Hue == 0x562)
Hue = 0x4FE;
PhysicalBonus = 0;
PoisonBonus = 0;
}
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
public class HelmOfInsight : PlateHelm
{
[Constructible]
public HelmOfInsight()
{
Hue = 0x554;
Attributes.BonusInt = 8;
Attributes.BonusMana = 15;
Attributes.RegenMana = 2;
Attributes.LowerManaCost = 8;
}
public HelmOfInsight(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061096; // Helm of Insight
public override int ArtifactRarity => 11;
public override int BaseEnergyResistance => 17;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
EnergyBonus = 0;
}
}
}

View file

@ -0,0 +1,42 @@
namespace Server.Items
{
public class HolyKnightsBreastplate : PlateChest
{
[Constructible]
public HolyKnightsBreastplate()
{
Hue = 0x47E;
Attributes.BonusHits = 10;
Attributes.ReflectPhysical = 15;
}
public HolyKnightsBreastplate(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061097; // Holy Knight's Breastplate
public override int ArtifactRarity => 11;
public override int BasePhysicalResistance => 35;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
PhysicalBonus = 0;
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
public class InquisitorsResolution : PlateGloves
{
[Constructible]
public InquisitorsResolution()
{
Hue = 0x4F2;
Attributes.CastRecovery = 3;
Attributes.LowerManaCost = 8;
ArmorAttributes.MageArmor = 1;
}
public InquisitorsResolution(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1060206; // The Inquisitor's Resolution
public override int ArtifactRarity => 10;
public override int BaseColdResistance => 22;
public override int BaseEnergyResistance => 17;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
ColdBonus = 0;
EnergyBonus = 0;
}
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
public class JackalsCollar : PlateGorget
{
[Constructible]
public JackalsCollar()
{
Hue = 0x6D1;
Attributes.BonusDex = 15;
Attributes.RegenHits = 2;
}
public JackalsCollar(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061594; // Jackal's Collar
public override int ArtifactRarity => 11;
public override int BaseFireResistance => 23;
public override int BaseColdResistance => 17;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (Hue == 0x54B)
Hue = 0x6D1;
FireBonus = 0;
ColdBonus = 0;
}
}
}
}

View file

@ -0,0 +1,57 @@
namespace Server.Items
{
public class LeggingsOfBane : ChainLegs
{
[Constructible]
public LeggingsOfBane()
{
Hue = 0x4F5;
ArmorAttributes.DurabilityBonus = 100;
HitPoints = MaxHitPoints =
255; //Cause the Durability bonus and such and the min/max hits as well as all other hits being whole #'s...
Attributes.BonusStam = 8;
Attributes.AttackChance = 20;
}
public LeggingsOfBane(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061100; // Leggings of Bane
public override int ArtifactRarity => 11;
public override int BasePoisonResistance => 36;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(2);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version <= 1)
if (HitPoints > 255 || MaxHitPoints > 255)
HitPoints = MaxHitPoints = 255;
if (version < 1)
{
if (Hue == 0x559)
Hue = 0x4F5;
if (ArmorAttributes.DurabilityBonus == 0)
ArmorAttributes.DurabilityBonus = 100;
PoisonBonus = 0;
}
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class MidnightBracers : BoneArms
{
[Constructible]
public MidnightBracers()
{
Hue = 0x455;
SkillBonuses.SetValues(0, SkillName.Necromancy, 20.0);
Attributes.SpellDamage = 10;
ArmorAttributes.MageArmor = 1;
}
public MidnightBracers(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061093; // Midnight Bracers
public override int ArtifactRarity => 11;
public override int BasePhysicalResistance => 23;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
PhysicalBonus = 0;
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
public class OrnateCrownOfTheHarrower : BoneHelm
{
[Constructible]
public OrnateCrownOfTheHarrower()
{
Hue = 0x4F6;
Attributes.RegenHits = 2;
Attributes.RegenStam = 3;
Attributes.WeaponDamage = 25;
}
public OrnateCrownOfTheHarrower(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061095; // Ornate Crown of the Harrower
public override int ArtifactRarity => 11;
public override int BasePoisonResistance => 17;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (Hue == 0x55A)
Hue = 0x4F6;
PoisonBonus = 0;
}
}
}
}

View file

@ -0,0 +1,52 @@
namespace Server.Items
{
public class ShadowDancerLeggings : LeatherLegs
{
[Constructible]
public ShadowDancerLeggings()
{
ItemID = 0x13D2;
Hue = 0x455;
SkillBonuses.SetValues(0, SkillName.Stealth, 20.0);
SkillBonuses.SetValues(1, SkillName.Stealing, 20.0);
}
public ShadowDancerLeggings(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061598; // Shadow Dancer Leggings
public override int ArtifactRarity => 11;
public override int BasePhysicalResistance => 17;
public override int BasePoisonResistance => 18;
public override int BaseEnergyResistance => 18;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (ItemID == 0x13CB)
ItemID = 0x13D2;
PhysicalBonus = 0;
PoisonBonus = 0;
EnergyBonus = 0;
}
}
}
}

View file

@ -0,0 +1,53 @@
namespace Server.Items
{
public class TunicOfFire : ChainChest
{
[Constructible]
public TunicOfFire()
{
Hue = 0x54F;
ArmorAttributes.SelfRepair = 5;
Attributes.NightSight = 1;
Attributes.ReflectPhysical = 15;
}
public TunicOfFire(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061099; // Tunic of Fire
public override int ArtifactRarity => 11;
public override int BasePhysicalResistance => 24;
public override int BaseFireResistance => 34;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (Hue == 0x54E)
Hue = 0x54F;
if (Attributes.NightSight == 0)
Attributes.NightSight = 1;
PhysicalBonus = 0;
FireBonus = 0;
}
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
public class VoiceOfTheFallenKing : LeatherGorget
{
[Constructible]
public VoiceOfTheFallenKing()
{
Hue = 0x76D;
Attributes.BonusStr = 8;
Attributes.RegenHits = 5;
Attributes.RegenStam = 3;
}
public VoiceOfTheFallenKing(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061094; // Voice of the Fallen King
public override int ArtifactRarity => 11;
public override int BaseColdResistance => 18;
public override int BaseEnergyResistance => 18;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
if (Hue == 0x551)
Hue = 0x76D;
ColdBonus = 0;
EnergyBonus = 0;
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,51 @@
namespace Server.Items
{
[Flippable(0x144e, 0x1453)]
public class BoneArms : BaseArmor
{
[Constructible]
public BoneArms() : base(0x144E)
{
Weight = 2.0;
}
public BoneArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 30;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -2;
public override int ArmorBase => 30;
public override int RevertArmorBase => 4;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 1.0)
Weight = 2.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,51 @@
namespace Server.Items
{
[Flippable(0x144f, 0x1454)]
public class BoneChest : BaseArmor
{
[Constructible]
public BoneChest() : base(0x144F)
{
Weight = 6.0;
}
public BoneChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 30;
public override int AosStrReq => 60;
public override int OldStrReq => 40;
public override int OldDexBonus => -6;
public override int ArmorBase => 30;
public override int RevertArmorBase => 11;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 1.0)
Weight = 6.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,51 @@
namespace Server.Items
{
[Flippable(0x1450, 0x1455)]
public class BoneGloves : BaseArmor
{
[Constructible]
public BoneGloves() : base(0x1450)
{
Weight = 2.0;
}
public BoneGloves(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 30;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -1;
public override int ArmorBase => 30;
public override int RevertArmorBase => 2;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 1.0)
Weight = 2.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x1452, 0x1457)]
public class BoneLegs : BaseArmor
{
[Constructible]
public BoneLegs() : base(0x1452)
{
Weight = 3.0;
}
public BoneLegs(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 30;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -4;
public override int ArmorBase => 30;
public override int RevertArmorBase => 7;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
[Flippable(0x13bf, 0x13c4)]
public class ChainChest : BaseArmor
{
[Constructible]
public ChainChest() : base(0x13BF)
{
Weight = 7.0;
}
public ChainChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 4;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 1;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 45;
public override int InitMaxHits => 60;
public override int AosStrReq => 60;
public override int OldStrReq => 20;
public override int OldDexBonus => -5;
public override int ArmorBase => 28;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Chainmail;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class ChainHatsuburi : BaseArmor
{
[Constructible]
public ChainHatsuburi() : base(0x2774)
{
Weight = 7.0;
}
public ChainHatsuburi(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 50;
public override int OldStrReq => 50;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Chainmail;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
[Flippable(0x13be, 0x13c3)]
public class ChainLegs : BaseArmor
{
[Constructible]
public ChainLegs() : base(0x13BE)
{
Weight = 7.0;
}
public ChainLegs(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 4;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 1;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 45;
public override int InitMaxHits => 60;
public override int AosStrReq => 60;
public override int OldStrReq => 20;
public override int OldDexBonus => -3;
public override int ArmorBase => 28;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Chainmail;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,60 @@
namespace Server.Items
{
[Flippable(0x144e, 0x1453)]
public class DaemonArms : BaseArmor
{
[Constructible]
public DaemonArms() : base(0x144E)
{
Weight = 2.0;
Hue = 0x648;
ArmorAttributes.SelfRepair = 1;
}
public DaemonArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -2;
public override int ArmorBase => 46;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override int LabelNumber => 1041371; // daemon bone arms
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 1.0)
Weight = 2.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (ArmorAttributes.SelfRepair == 0)
ArmorAttributes.SelfRepair = 1;
}
}
}

View file

@ -0,0 +1,60 @@
namespace Server.Items
{
[Flippable(0x144f, 0x1454)]
public class DaemonChest : BaseArmor
{
[Constructible]
public DaemonChest() : base(0x144F)
{
Weight = 6.0;
Hue = 0x648;
ArmorAttributes.SelfRepair = 1;
}
public DaemonChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override int AosStrReq => 60;
public override int OldStrReq => 40;
public override int OldDexBonus => -6;
public override int ArmorBase => 46;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override int LabelNumber => 1041372; // daemon bone armor
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 6.0;
if (ArmorAttributes.SelfRepair == 0)
ArmorAttributes.SelfRepair = 1;
}
}
}

View file

@ -0,0 +1,60 @@
namespace Server.Items
{
[Flippable(0x1450, 0x1455)]
public class DaemonGloves : BaseArmor
{
[Constructible]
public DaemonGloves() : base(0x1450)
{
Weight = 2.0;
Hue = 0x648;
ArmorAttributes.SelfRepair = 1;
}
public DaemonGloves(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -1;
public override int ArmorBase => 46;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override int LabelNumber => 1041373; // daemon bone gloves
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
if (ArmorAttributes.SelfRepair == 0)
ArmorAttributes.SelfRepair = 1;
}
}
}

View file

@ -0,0 +1,55 @@
namespace Server.Items
{
[Flippable(0x1452, 0x1457)]
public class DaemonLegs : BaseArmor
{
[Constructible]
public DaemonLegs() : base(0x1452)
{
Weight = 3.0;
Hue = 0x648;
ArmorAttributes.SelfRepair = 1;
}
public DaemonLegs(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int OldDexBonus => -4;
public override int ArmorBase => 46;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override int LabelNumber => 1041375; // daemon bone leggings
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (ArmorAttributes.SelfRepair == 0)
ArmorAttributes.SelfRepair = 1;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2657, 0x2658)]
public class DragonArms : BaseArmor
{
[Constructible]
public DragonArms() : base(0x2657)
{
Weight = 5.0;
}
public DragonArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 75;
public override int OldStrReq => 20;
public override int OldDexBonus => -2;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.RedScales;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 15.0;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2641, 0x2642)]
public class DragonChest : BaseArmor
{
[Constructible]
public DragonChest() : base(0x2641)
{
Weight = 10.0;
}
public DragonChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 75;
public override int OldStrReq => 60;
public override int OldDexBonus => -8;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.RedScales;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 15.0;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2643, 0x2644)]
public class DragonGloves : BaseArmor
{
[Constructible]
public DragonGloves() : base(0x2643)
{
Weight = 2.0;
}
public DragonGloves(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 75;
public override int OldStrReq => 30;
public override int OldDexBonus => -2;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.RedScales;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2645, 0x2646)]
public class DragonHelm : BaseArmor
{
[Constructible]
public DragonHelm() : base(0x2645)
{
Weight = 5.0;
}
public DragonHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 75;
public override int OldStrReq => 40;
public override int OldDexBonus => -1;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.RedScales;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x2647, 0x2648)]
public class DragonLegs : BaseArmor
{
[Constructible]
public DragonLegs() : base(0x2647)
{
Weight = 6.0;
}
public DragonLegs(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 75;
public override int OldStrReq => 60;
public override int OldDexBonus => -6;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Dragon;
public override CraftResource DefaultResource => CraftResource.RedScales;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class AnthropomorphistGlasses : ElvenGlasses
{
[Constructible]
public AnthropomorphistGlasses()
{
Attributes.BonusHits = 5;
Attributes.RegenMana = 3;
Attributes.ReflectPhysical = 20;
Hue = 0x80;
}
public AnthropomorphistGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073379; //Anthropomorphist Reading Glasses
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 20;
public override int BaseEnergyResistance => 20;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x80;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class ArtsGlasses : ElvenGlasses
{
[Constructible]
public ArtsGlasses()
{
Attributes.BonusStr = 5;
Attributes.BonusInt = 5;
Attributes.BonusHits = 15;
Hue = 0x73;
}
public ArtsGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073363; //Reading Glasses of the Arts
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 8;
public override int BaseColdResistance => 8;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x73;
}
}
}

View file

@ -0,0 +1,138 @@
namespace Server.Items
{
public class ElvenGlasses : BaseArmor
{
[Constructible]
public ElvenGlasses() : base(0x2FB8)
{
Weight = 2;
WeaponAttributes = new AosWeaponAttributes(this);
}
public ElvenGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1032216; // elven glasses
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 36;
public override int InitMaxHits => 48;
public override int AosStrReq => 45;
public override int OldStrReq => 40;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
[CommandProperty(AccessLevel.GameMaster)]
public AosWeaponAttributes WeaponAttributes{ get; private set; }
public override void AppendChildNameProperties(ObjectPropertyList list)
{
base.AppendChildNameProperties(list);
int prop;
if ((prop = WeaponAttributes.HitColdArea) != 0)
list.Add(1060416, prop.ToString()); // hit cold area ~1_val~%
if ((prop = WeaponAttributes.HitDispel) != 0)
list.Add(1060417, prop.ToString()); // hit dispel ~1_val~%
if ((prop = WeaponAttributes.HitEnergyArea) != 0)
list.Add(1060418, prop.ToString()); // hit energy area ~1_val~%
if ((prop = WeaponAttributes.HitFireArea) != 0)
list.Add(1060419, prop.ToString()); // hit fire area ~1_val~%
if ((prop = WeaponAttributes.HitFireball) != 0)
list.Add(1060420, prop.ToString()); // hit fireball ~1_val~%
if ((prop = WeaponAttributes.HitHarm) != 0)
list.Add(1060421, prop.ToString()); // hit harm ~1_val~%
if ((prop = WeaponAttributes.HitLeechHits) != 0)
list.Add(1060422, prop.ToString()); // hit life leech ~1_val~%
if ((prop = WeaponAttributes.HitLightning) != 0)
list.Add(1060423, prop.ToString()); // hit lightning ~1_val~%
if ((prop = WeaponAttributes.HitLowerAttack) != 0)
list.Add(1060424, prop.ToString()); // hit lower attack ~1_val~%
if ((prop = WeaponAttributes.HitLowerDefend) != 0)
list.Add(1060425, prop.ToString()); // hit lower defense ~1_val~%
if ((prop = WeaponAttributes.HitMagicArrow) != 0)
list.Add(1060426, prop.ToString()); // hit magic arrow ~1_val~%
if ((prop = WeaponAttributes.HitLeechMana) != 0)
list.Add(1060427, prop.ToString()); // hit mana leech ~1_val~%
if ((prop = WeaponAttributes.HitPhysicalArea) != 0)
list.Add(1060428, prop.ToString()); // hit physical area ~1_val~%
if ((prop = WeaponAttributes.HitPoisonArea) != 0)
list.Add(1060429, prop.ToString()); // hit poison area ~1_val~%
if ((prop = WeaponAttributes.HitLeechStam) != 0)
list.Add(1060430, prop.ToString()); // hit stamina leech ~1_val~%
}
private static void SetSaveFlag(ref SaveFlag flags, SaveFlag toSet, bool setIf)
{
if (setIf)
flags |= toSet;
}
private static bool GetSaveFlag(SaveFlag flags, SaveFlag toGet)
{
return (flags & toGet) != 0;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
SaveFlag flags = SaveFlag.None;
SetSaveFlag(ref flags, SaveFlag.WeaponAttributes, !WeaponAttributes.IsEmpty);
writer.Write((int)flags);
if (GetSaveFlag(flags, SaveFlag.WeaponAttributes))
WeaponAttributes.Serialize(writer);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
SaveFlag flags = (SaveFlag)reader.ReadInt();
if (GetSaveFlag(flags, SaveFlag.WeaponAttributes))
WeaponAttributes = new AosWeaponAttributes(this, reader);
else
WeaponAttributes = new AosWeaponAttributes(this);
}
private enum SaveFlag
{
None = 0x00000000,
WeaponAttributes = 0x00000001
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class FoldedSteelGlasses : ElvenGlasses
{
[Constructible]
public FoldedSteelGlasses()
{
Attributes.BonusStr = 8;
Attributes.NightSight = 1;
Attributes.DefendChance = 15;
Hue = 0x47E;
}
public FoldedSteelGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073380; //Folded Steel Reading Glasses
public override int BasePhysicalResistance => 20;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x47E;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class LightOfWayGlasses : ElvenGlasses
{
[Constructible]
public LightOfWayGlasses()
{
Attributes.BonusStr = 7;
Attributes.BonusInt = 5;
Attributes.WeaponDamage = 30;
Hue = 0x256;
}
public LightOfWayGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073378; //Light Of Way Reading Glasses
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x256;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class LyricalGlasses : ElvenGlasses
{
[Constructible]
public LyricalGlasses()
{
WeaponAttributes.HitLowerDefend = 20;
Attributes.NightSight = 1;
Attributes.ReflectPhysical = 15;
Hue = 0x47F;
}
public LyricalGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073382; //Lyrical Reading Glasses
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x47F;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class MaceShieldGlasses : ElvenGlasses
{
[Constructible]
public MaceShieldGlasses()
{
WeaponAttributes.HitLowerDefend = 30;
Attributes.BonusStr = 10;
Attributes.BonusDex = 5;
Hue = 0x1DD;
}
public MaceShieldGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073381; //Mace And Shield Reading Glasses
public override int BasePhysicalResistance => 25;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x1DD;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class MaritimeGlasses : ElvenGlasses
{
[Constructible]
public MaritimeGlasses()
{
Attributes.Luck = 150;
Attributes.NightSight = 1;
Attributes.ReflectPhysical = 20;
Hue = 0x581;
}
public MaritimeGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073364; //Maritime Reading Glasses
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 30;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x581;
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
public class NecromanticGlasses : ElvenGlasses
{
[Constructible]
public NecromanticGlasses()
{
Attributes.LowerManaCost = 15;
Attributes.LowerRegCost = 30;
Hue = 0x22D;
}
public NecromanticGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073377; //Necromantic Reading Glasses
public override int BasePhysicalResistance => 0;
public override int BaseFireResistance => 0;
public override int BaseColdResistance => 0;
public override int BasePoisonResistance => 0;
public override int BaseEnergyResistance => 0;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x22D;
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
public class PoisonedGlasses : ElvenGlasses
{
[Constructible]
public PoisonedGlasses()
{
Attributes.BonusStam = 3;
Attributes.RegenStam = 4;
Hue = 0x113;
}
public PoisonedGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073376; //Poisoned Reading Glasses
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 30;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x113;
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
public class TradeGlasses : ElvenGlasses
{
[Constructible]
public TradeGlasses()
{
Attributes.BonusStr = 10;
Attributes.BonusInt = 10;
}
public TradeGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073362; //Reading Glasses of the Trades
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class TreasureTrinketGlasses : ElvenGlasses
{
[Constructible]
public TreasureTrinketGlasses()
{
Attributes.BonusInt = 10;
Attributes.BonusHits = 5;
Attributes.SpellDamage = 10;
Hue = 0x1C2;
}
public TreasureTrinketGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073373; //Treasures and Trinkets Reading Glasses
public override int BasePhysicalResistance => 10;
public override int BaseFireResistance => 10;
public override int BaseColdResistance => 10;
public override int BasePoisonResistance => 10;
public override int BaseEnergyResistance => 10;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x1C2;
}
}
}

View file

@ -0,0 +1,45 @@
namespace Server.Items
{
public class WizardsGlasses : ElvenGlasses
{
[Constructible]
public WizardsGlasses()
{
Attributes.BonusMana = 10;
Attributes.RegenMana = 3;
Attributes.SpellDamage = 15;
Hue = 0x2B0;
}
public WizardsGlasses(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1073374; //Wizard's Crystal Reading Glasses
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 5;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && Hue == 0)
Hue = 0x2B0;
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class Bascinet : BaseArmor
{
[Constructible]
public Bascinet() : base(0x140C)
{
Weight = 5.0;
}
public Bascinet(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 7;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 40;
public override int InitMaxHits => 50;
public override int AosStrReq => 40;
public override int OldStrReq => 10;
public override int ArmorBase => 18;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,47 @@
namespace Server.Items
{
[Flippable(0x1451, 0x1456)]
public class BoneHelm : BaseArmor
{
[Constructible]
public BoneHelm() : base(0x1451)
{
Weight = 3.0;
}
public BoneHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 4;
public override int InitMinHits => 25;
public override int InitMaxHits => 30;
public override int AosStrReq => 20;
public override int OldStrReq => 40;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 1.0)
Weight = 3.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,44 @@
namespace Server.Items
{
[Flippable(0x13BB, 0x13C0)]
public class ChainCoif : BaseArmor
{
[Constructible]
public ChainCoif() : base(0x13BB)
{
Weight = 1.0;
}
public ChainCoif(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 4;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 1;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 35;
public override int InitMaxHits => 60;
public override int AosStrReq => 60;
public override int OldStrReq => 20;
public override int ArmorBase => 28;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Chainmail;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2B6E, 0x3165)]
public class Circlet : BaseArmor
{
[Constructible]
public Circlet() : base(0x2B6E)
{
Weight = 2.0;
}
public Circlet(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 1;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override Race RequiredRace => Race.Elf;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class CloseHelm : BaseArmor
{
[Constructible]
public CloseHelm() : base(0x1408)
{
Weight = 5.0;
}
public CloseHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 45;
public override int InitMaxHits => 60;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,58 @@
namespace Server.Items
{
[Flippable(0x1451, 0x1456)]
public class DaemonHelm : BaseArmor
{
[Constructible]
public DaemonHelm() : base(0x1451)
{
Hue = 0x648;
Weight = 3.0;
ArmorAttributes.SelfRepair = 1;
}
public DaemonHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 6;
public override int BaseColdResistance => 7;
public override int BasePoisonResistance => 5;
public override int BaseEnergyResistance => 7;
public override int InitMinHits => 255;
public override int InitMaxHits => 255;
public override int AosStrReq => 20;
public override int OldStrReq => 40;
public override int ArmorBase => 46;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Bone;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override int LabelNumber => 1041374; // daemon bone helmet
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 3.0;
if (ArmorAttributes.SelfRepair == 0)
ArmorAttributes.SelfRepair = 1;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2B70, 0x3167)]
public class GemmedCirclet : BaseArmor
{
[Constructible]
public GemmedCirclet() : base(0x2B70)
{
Weight = 2.0;
}
public GemmedCirclet(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 1;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 20;
public override int InitMaxHits => 35;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class Helmet : BaseArmor
{
[Constructible]
public Helmet() : base(0x140A)
{
Weight = 5.0;
}
public Helmet(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 2;
public override int BaseFireResistance => 4;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 45;
public override int InitMaxHits => 60;
public override int AosStrReq => 45;
public override int OldStrReq => 40;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x1db9, 0x1dba)]
public class LeatherCap : BaseArmor
{
[Constructible]
public LeatherCap() : base(0x1DB9)
{
Weight = 2.0;
}
public LeatherCap(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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
}
}
}

View file

@ -0,0 +1,46 @@
namespace Server.Items
{
public class NorseHelm : BaseArmor
{
[Constructible]
public NorseHelm() : base(0x140E)
{
Weight = 5.0;
}
public NorseHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 4;
public override int BaseFireResistance => 1;
public override int BaseColdResistance => 4;
public override int BasePoisonResistance => 4;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 45;
public override int InitMaxHits => 60;
public override int AosStrReq => 55;
public override int OldStrReq => 40;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
public class OrcHelm : BaseArmor
{
[Constructible]
public OrcHelm() : base(0x1F0B)
{
}
public OrcHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 3;
public override int BaseFireResistance => 1;
public override int BaseColdResistance => 3;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 30;
public override int InitMaxHits => 50;
public override int AosStrReq => 30;
public override int OldStrReq => 10;
public override int ArmorBase => 20;
public override double DefaultWeight => 5;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
public override CraftResource DefaultResource => CraftResource.RegularLeather;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.None;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0 && (Weight == 1 || Weight == 5)) Weight = -1;
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
public class PlateHelm : BaseArmor
{
[Constructible]
public PlateHelm() : base(0x1412)
{
Weight = 5.0;
}
public PlateHelm(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 80;
public override int OldStrReq => 40;
public override int OldDexBonus => -1;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x2B71, 0x3168)]
public class RavenHelm : BaseArmor
{
[Constructible]
public RavenHelm() : base(0x2B71)
{
Weight = 5.0;
}
public RavenHelm(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 1;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 25;
public override int OldStrReq => 25;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
namespace Server.Items
{
[Flippable(0x2B6F, 0x3166)]
public class RoyalCirclet : BaseArmor
{
[Constructible]
public RoyalCirclet() : base(0x2B6F)
{
Weight = 2.0;
}
public RoyalCirclet(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 1;
public override int BaseFireResistance => 5;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 20;
public override int InitMaxHits => 35;
public override int AosStrReq => 10;
public override int OldStrReq => 10;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x2B72, 0x3169)]
public class VultureHelm : BaseArmor
{
[Constructible]
public VultureHelm() : base(0x2B72)
{
Weight = 5.0;
}
public VultureHelm(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 1;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 25;
public override int OldStrReq => 25;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,48 @@
namespace Server.Items
{
[Flippable(0x2B73, 0x316A)]
public class WingedHelm : BaseArmor
{
[Constructible]
public WingedHelm() : base(0x2B73)
{
Weight = 5.0;
}
public WingedHelm(Serial serial) : base(serial)
{
}
public override Race RequiredRace => Race.Elf;
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 1;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 5;
public override int InitMinHits => 45;
public override int InitMaxHits => 55;
public override int AosStrReq => 25;
public override int OldStrReq => 25;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,51 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,49 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,50 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,146 @@
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(GenericWriter 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(GenericReader 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;
}
}
}
#region Arcane Impl
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;
}
#endregion
}
}

View file

@ -0,0 +1,49 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,51 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,50 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
}
}
}

View file

@ -0,0 +1,49 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,50 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 6.0;
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,145 @@
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(GenericWriter 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(GenericReader 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;
}
}
}
#region Arcane Impl
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;
}
#endregion
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,47 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,63 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(2);
}
public override void Deserialize(GenericReader 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,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,49 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,52 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
if (Weight == 3.0)
Weight = 1.0;
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,46 @@
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(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class DecorativePlateKabuto : BaseArmor
{
[Constructible]
public DecorativePlateKabuto() : base(0x2778)
{
Weight = 6.0;
}
public DecorativePlateKabuto(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 55;
public override int InitMaxHits => 75;
public override int AosStrReq => 70;
public override int OldStrReq => 70;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,51 @@
namespace Server.Items
{
[Flippable(0x1c04, 0x1c05)]
public class FemalePlateChest : BaseArmor
{
[Constructible]
public FemalePlateChest() : base(0x1C04)
{
Weight = 4.0;
}
public FemalePlateChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 95;
public override int OldStrReq => 45;
public override int OldDexBonus => -5;
public override bool AllowMaleWearer => false;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 4.0;
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
//Is this a filler-type item? the clilocs don't match up and at a glacnce I can't find direct reference of it
[Flippable(0x2B6D, 0x3164)]
public class FemaleElvenPlateChest : BaseArmor
{
[Constructible]
public FemaleElvenPlateChest() : base(0x2B6D)
{
Weight = 8.0;
}
public FemaleElvenPlateChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 95;
public override int OldStrReq => 95;
public override bool AllowMaleWearer => false;
public override int ArmorBase => 30;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class HeavyPlateJingasa : BaseArmor
{
[Constructible]
public HeavyPlateJingasa() : base(0x2777)
{
Weight = 5.0;
}
public HeavyPlateJingasa(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 7;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 70;
public override int AosStrReq => 55;
public override int OldStrReq => 55;
public override int ArmorBase => 4;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class LightPlateJingasa : BaseArmor
{
[Constructible]
public LightPlateJingasa() : base(0x2781)
{
Weight = 5.0;
}
public LightPlateJingasa(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 7;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 55;
public override int InitMaxHits => 60;
public override int AosStrReq => 55;
public override int OldStrReq => 55;
public override int ArmorBase => 4;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x1410, 0x1417)]
public class PlateArms : BaseArmor
{
[Constructible]
public PlateArms() : base(0x1410)
{
Weight = 5.0;
}
public PlateArms(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 80;
public override int OldStrReq => 40;
public override int OldDexBonus => -2;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 5.0;
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class PlateBattleKabuto : BaseArmor
{
[Constructible]
public PlateBattleKabuto() : base(0x2785)
{
Weight = 6.0;
}
public PlateBattleKabuto(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 6;
public override int BaseFireResistance => 2;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 2;
public override int BaseEnergyResistance => 3;
public override int InitMinHits => 60;
public override int InitMaxHits => 65;
public override int AosStrReq => 70;
public override int OldStrReq => 70;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x1415, 0x1416)]
public class PlateChest : BaseArmor
{
[Constructible]
public PlateChest() : base(0x1415)
{
Weight = 10.0;
}
public PlateChest(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 95;
public override int OldStrReq => 60;
public override int OldDexBonus => -8;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 10.0;
}
}
}

View file

@ -0,0 +1,43 @@
namespace Server.Items
{
public class PlateDo : BaseArmor
{
[Constructible]
public PlateDo() : base(0x277D)
{
Weight = 10.0;
}
public PlateDo(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 60;
public override int InitMaxHits => 70;
public override int AosStrReq => 85;
public override int OldStrReq => 85;
public override int ArmorBase => 3;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,49 @@
namespace Server.Items
{
[Flippable(0x1414, 0x1418)]
public class PlateGloves : BaseArmor
{
[Constructible]
public PlateGloves() : base(0x1414)
{
Weight = 2.0;
}
public PlateGloves(Serial serial) : base(serial)
{
}
public override int BasePhysicalResistance => 5;
public override int BaseFireResistance => 3;
public override int BaseColdResistance => 2;
public override int BasePoisonResistance => 3;
public override int BaseEnergyResistance => 2;
public override int InitMinHits => 50;
public override int InitMaxHits => 65;
public override int AosStrReq => 70;
public override int OldStrReq => 30;
public override int OldDexBonus => -2;
public override int ArmorBase => 40;
public override ArmorMaterialType MaterialType => ArmorMaterialType.Plate;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (Weight == 1.0)
Weight = 2.0;
}
}
}

Some files were not shown because too many files have changed in this diff Show more