Files
abysmal-isle/Scripts/Items/Artifacts/Equipment/Armor/GlovesOfMining.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

624 lines
14 KiB
C#

using System;
using Server.Engines.Craft;
namespace Server.Items
{
[FlipableAttribute(0x13c6, 0x13ce)]
public class LeatherGlovesOfMining : BaseGlovesOfMining
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public LeatherGlovesOfMining(int bonus)
: base(bonus, 0x13C6)
{
Weight = 1;
}
public LeatherGlovesOfMining(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance
{
get
{
return 2;
}
}
public override int BaseFireResistance
{
get
{
return 4;
}
}
public override int BaseColdResistance
{
get
{
return 3;
}
}
public override int BasePoisonResistance
{
get
{
return 3;
}
}
public override int BaseEnergyResistance
{
get
{
return 3;
}
}
public override int InitMinHits
{
get
{
return 30;
}
}
public override int InitMaxHits
{
get
{
return 40;
}
}
public override int AosStrReq
{
get
{
return 20;
}
}
public override int OldStrReq
{
get
{
return 10;
}
}
public override int ArmorBase
{
get
{
return 13;
}
}
public override ArmorMaterialType MaterialType
{
get
{
return ArmorMaterialType.Leather;
}
}
public override CraftResource DefaultResource
{
get
{
return CraftResource.RegularLeather;
}
}
public override ArmorMeditationAllowance DefMedAllowance
{
get
{
return ArmorMeditationAllowance.All;
}
}
public override int LabelNumber
{
get
{
return 1045122;
}
}// leather blacksmith gloves of mining
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
[FlipableAttribute(0x13d5, 0x13dd)]
public class StuddedGlovesOfMining : BaseGlovesOfMining
{
[Constructable]
public StuddedGlovesOfMining(int bonus)
: base(bonus, 0x13D5)
{
Weight = 2;
}
public StuddedGlovesOfMining(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance
{
get
{
return 2;
}
}
public override int BaseFireResistance
{
get
{
return 4;
}
}
public override int BaseColdResistance
{
get
{
return 3;
}
}
public override int BasePoisonResistance
{
get
{
return 3;
}
}
public override int BaseEnergyResistance
{
get
{
return 4;
}
}
public override int InitMinHits
{
get
{
return 35;
}
}
public override int InitMaxHits
{
get
{
return 45;
}
}
public override int AosStrReq
{
get
{
return 25;
}
}
public override int OldStrReq
{
get
{
return 25;
}
}
public override int ArmorBase
{
get
{
return 16;
}
}
public override ArmorMaterialType MaterialType
{
get
{
return ArmorMaterialType.Studded;
}
}
public override CraftResource DefaultResource
{
get
{
return CraftResource.RegularLeather;
}
}
public override int LabelNumber
{
get
{
return 1045123;
}
}// studded leather blacksmith gloves of mining
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
[Alterable(typeof(DefBlacksmithy), typeof(GargishKiltOfMining))]
[FlipableAttribute(0x13eb, 0x13f2)]
public class RingmailGlovesOfMining : BaseGlovesOfMining
{
[Constructable]
public RingmailGlovesOfMining(int bonus)
: base(bonus, 0x13EB)
{
Weight = 1;
}
public RingmailGlovesOfMining(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance
{
get
{
return 3;
}
}
public override int BaseFireResistance
{
get
{
return 3;
}
}
public override int BaseColdResistance
{
get
{
return 1;
}
}
public override int BasePoisonResistance
{
get
{
return 5;
}
}
public override int BaseEnergyResistance
{
get
{
return 3;
}
}
public override int InitMinHits
{
get
{
return 40;
}
}
public override int InitMaxHits
{
get
{
return 50;
}
}
public override int AosStrReq
{
get
{
return 40;
}
}
public override int OldStrReq
{
get
{
return 20;
}
}
public override int OldDexBonus
{
get
{
return -1;
}
}
public override int ArmorBase
{
get
{
return 22;
}
}
public override ArmorMaterialType MaterialType
{
get
{
return ArmorMaterialType.Ringmail;
}
}
public override int LabelNumber
{
get
{
return 1045124;
}
}// ringmail blacksmith gloves of mining
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
[FlipableAttribute(0x13eb, 0x13f2)]
public class GargishKiltOfMining : BaseGlovesOfMining
{
public override Race RequiredRace
{
get
{
return Race.Gargoyle;
}
}
public override bool CanBeWornByGargoyles
{
get
{
return true;
}
}
[Constructable]
public GargishKiltOfMining() : this(5)
{
}
[Constructable]
public GargishKiltOfMining(int bonus)
: base(bonus, 0x030C)
{
Weight = 1;
}
public GargishKiltOfMining(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance
{
get
{
return 3;
}
}
public override int BaseFireResistance
{
get
{
return 3;
}
}
public override int BaseColdResistance
{
get
{
return 1;
}
}
public override int BasePoisonResistance
{
get
{
return 5;
}
}
public override int BaseEnergyResistance
{
get
{
return 3;
}
}
public override int InitMinHits
{
get
{
return 40;
}
}
public override int InitMaxHits
{
get
{
return 50;
}
}
public override int AosStrReq
{
get
{
return 40;
}
}
public override int OldStrReq
{
get
{
return 20;
}
}
public override int OldDexBonus
{
get
{
return -1;
}
}
public override int ArmorBase
{
get
{
return 22;
}
}
public override ArmorMaterialType MaterialType
{
get
{
return ArmorMaterialType.Ringmail;
}
}
public override int LabelNumber
{
get
{
return 1045124;
}
}// ringmail blacksmith gloves of mining
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public abstract class BaseGlovesOfMining : BaseArmor
{
private int m_Bonus;
private SkillMod m_SkillMod;
public BaseGlovesOfMining(int bonus, int itemID)
: base(itemID)
{
this.m_Bonus = bonus;
this.Hue = CraftResources.GetHue((CraftResource)Utility.RandomMinMax((int)CraftResource.DullCopper, (int)CraftResource.Valorite));
}
public BaseGlovesOfMining(Serial serial)
: base(serial)
{
}
[CommandProperty(AccessLevel.GameMaster)]
public int Bonus
{
get
{
return this.m_Bonus;
}
set
{
this.m_Bonus = value;
this.InvalidateProperties();
if (this.m_Bonus == 0)
{
if (this.m_SkillMod != null)
this.m_SkillMod.Remove();
this.m_SkillMod = null;
}
else if (this.m_SkillMod == null && this.Parent is Mobile)
{
this.m_SkillMod = new DefaultSkillMod(SkillName.Mining, true, this.m_Bonus);
((Mobile)this.Parent).AddSkillMod(this.m_SkillMod);
}
else if (this.m_SkillMod != null)
{
this.m_SkillMod.Value = this.m_Bonus;
}
}
}
public override void OnAdded(object parent)
{
base.OnAdded(parent);
if (this.m_Bonus != 0 && parent is Mobile)
{
if (this.m_SkillMod != null)
this.m_SkillMod.Remove();
this.m_SkillMod = new DefaultSkillMod(SkillName.Mining, true, this.m_Bonus);
((Mobile)parent).AddSkillMod(this.m_SkillMod);
}
}
public override void OnRemoved(object parent)
{
base.OnRemoved(parent);
if (this.m_SkillMod != null)
this.m_SkillMod.Remove();
this.m_SkillMod = null;
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (this.m_Bonus != 0)
list.Add(1062005, this.m_Bonus.ToString()); // mining bonus +~1_val~
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((int)this.m_Bonus);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.m_Bonus = reader.ReadInt();
break;
}
}
if (this.m_Bonus != 0 && this.Parent is Mobile)
{
if (this.m_SkillMod != null)
this.m_SkillMod.Remove();
this.m_SkillMod = new DefaultSkillMod(SkillName.Mining, true, this.m_Bonus);
((Mobile)this.Parent).AddSkillMod(this.m_SkillMod);
}
}
}
}