Files
abysmal-isle/Scripts/Items/Equipment/Armor/GargishClothArmor.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

572 lines
18 KiB
C#

using System;
using Server.Engines.Craft;
namespace Server.Items
{
public class GargishClothArmsArmor : BaseArmor
{
[Constructable]
public GargishClothArmsArmor() : this(0)
{
}
[Constructable]
public GargishClothArmsArmor(int hue)
: base(0x404)
{
Hue = hue;
Weight = 2.0;
}
public override bool Scissor(Mobile from, Scissors scissors)
{
if (!IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(502437); // Items you wish to cut must be in your backpack.
return false;
}
if (Ethics.Ethic.IsImbued(this))
{
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
CraftSystem system = DefTailoring.CraftSystem;
CraftItem item = system.CraftItems.SearchFor(GetType());
if (item != null && item.Resources.Count == 1 && item.Resources.GetAt(0).Amount >= 2)
{
try
{
Type resourceType = null;
CraftResourceInfo info = CraftResources.GetInfo(Resource);
if (info != null && info.ResourceTypes.Length > 0)
resourceType = info.ResourceTypes[0];
if (resourceType == null)
resourceType = item.Resources.GetAt(0).ItemType;
Item res = (Item)Activator.CreateInstance(resourceType);
ScissorHelper(from, res, PlayerConstructed ? (item.Resources.GetAt(0).Amount / 2) : 1);
res.LootType = LootType.Regular;
return true;
}
catch
{
}
}
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
public override Race RequiredRace { get { return Race.Gargoyle; } }
public override bool CanBeWornByGargoyles { get { return true; } }
public GargishClothArmsArmor(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance { get { return 5; } }
public override int BaseFireResistance { get { return 7; } }
public override int BaseColdResistance { get { return 6; } }
public override int BasePoisonResistance { get { return 6; } }
public override int BaseEnergyResistance { get { return 6; } }
public override int InitMinHits { get { return 40; } }
public override int InitMaxHits { get { return 50; } }
public override int AosStrReq { get { return 20; } }
public override int OldStrReq { get { return 20; } }
public override int ArmorBase { get { return 18; } }
public override ArmorMaterialType MaterialType
{
get { return ArmorMaterialType.Leather; }
}
public override CraftResource DefaultResource
{
get { return CraftResource.None; }
}
public override ArmorMeditationAllowance DefMedAllowance
{
get { return ArmorMeditationAllowance.All; }
}
public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
}
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 class FemaleGargishClothArmsArmor : GargishClothArmsArmor
{
[Constructable]
public FemaleGargishClothArmsArmor() : this(0)
{
}
[Constructable]
public FemaleGargishClothArmsArmor(int hue)
: base(0x403)
{
Hue = hue;
Weight = 2.0;
}
public FemaleGargishClothArmsArmor(Serial serial)
: base(serial)
{
}
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 class GargishClothChestArmor : BaseArmor
{
[Constructable]
public GargishClothChestArmor()
: this(0)
{
}
[Constructable]
public GargishClothChestArmor(int hue)
: base(0x406)
{
Hue = hue;
Weight = 2.0;
}
public override bool Scissor(Mobile from, Scissors scissors)
{
if (!IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(502437); // Items you wish to cut must be in your backpack.
return false;
}
if (Ethics.Ethic.IsImbued(this))
{
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
CraftSystem system = DefTailoring.CraftSystem;
CraftItem item = system.CraftItems.SearchFor(GetType());
if (item != null && item.Resources.Count == 1 && item.Resources.GetAt(0).Amount >= 2)
{
try
{
Type resourceType = null;
CraftResourceInfo info = CraftResources.GetInfo(Resource);
if (info != null && info.ResourceTypes.Length > 0)
resourceType = info.ResourceTypes[0];
if (resourceType == null)
resourceType = item.Resources.GetAt(0).ItemType;
Item res = (Item)Activator.CreateInstance(resourceType);
ScissorHelper(from, res, PlayerConstructed ? (item.Resources.GetAt(0).Amount / 2) : 1);
res.LootType = LootType.Regular;
return true;
}
catch
{
}
}
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
public override Race RequiredRace { get { return Race.Gargoyle; } }
public override bool CanBeWornByGargoyles { get { return true; } }
public GargishClothChestArmor(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance { get { return 5; } }
public override int BaseFireResistance { get { return 7; } }
public override int BaseColdResistance { get { return 6; } }
public override int BasePoisonResistance { get { return 6; } }
public override int BaseEnergyResistance { get { return 6; } }
public override int InitMinHits { get { return 40; } }
public override int InitMaxHits { get { return 50; } }
public override int AosStrReq { get { return 25; } }
public override int OldStrReq { get { return 25; } }
public override int ArmorBase { get { return 18; } }
public override ArmorMaterialType MaterialType { get { return ArmorMaterialType.Leather; } }
public override CraftResource DefaultResource { get { return CraftResource.None; } }
public override ArmorMeditationAllowance DefMedAllowance { get { return ArmorMeditationAllowance.All; } }
public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
}
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 class FemaleGargishClothChestArmor : GargishClothChestArmor
{
[Constructable]
public FemaleGargishClothChestArmor()
: this(0)
{
}
[Constructable]
public FemaleGargishClothChestArmor(int hue)
: base(0x405)
{
Hue = hue;
Weight = 2.0;
}
public FemaleGargishClothChestArmor(Serial serial)
: base(serial)
{
}
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 class GargishClothLegsArmor : BaseArmor
{
[Constructable]
public GargishClothLegsArmor()
: this(0)
{
}
[Constructable]
public GargishClothLegsArmor(int hue)
: base(0x40A)
{
Hue = hue;
Weight = 2.0;
}
public override bool Scissor(Mobile from, Scissors scissors)
{
if (!IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(502437); // Items you wish to cut must be in your backpack.
return false;
}
if (Ethics.Ethic.IsImbued(this))
{
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
CraftSystem system = DefTailoring.CraftSystem;
CraftItem item = system.CraftItems.SearchFor(GetType());
if (item != null && item.Resources.Count == 1 && item.Resources.GetAt(0).Amount >= 2)
{
try
{
Type resourceType = null;
CraftResourceInfo info = CraftResources.GetInfo(Resource);
if (info != null && info.ResourceTypes.Length > 0)
resourceType = info.ResourceTypes[0];
if (resourceType == null)
resourceType = item.Resources.GetAt(0).ItemType;
Item res = (Item)Activator.CreateInstance(resourceType);
ScissorHelper(from, res, PlayerConstructed ? (item.Resources.GetAt(0).Amount / 2) : 1);
res.LootType = LootType.Regular;
return true;
}
catch
{
}
}
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
public override Race RequiredRace { get { return Race.Gargoyle; } }
public override bool CanBeWornByGargoyles { get { return true; } }
public GargishClothLegsArmor(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance { get { return 5; } }
public override int BaseFireResistance { get { return 7; } }
public override int BaseColdResistance { get { return 6; } }
public override int BasePoisonResistance { get { return 6; } }
public override int BaseEnergyResistance { get { return 6; } }
public override int InitMinHits { get { return 40; } }
public override int InitMaxHits { get { return 50; } }
public override int AosStrReq { get { return 20; } }
public override int OldStrReq { get { return 20; } }
public override int ArmorBase { get { return 18; } }
public override ArmorMaterialType MaterialType { get { return ArmorMaterialType.Leather; } }
public override CraftResource DefaultResource { get { return CraftResource.None; } }
public override ArmorMeditationAllowance DefMedAllowance { get { return ArmorMeditationAllowance.All; } }
public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
}
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 class FemaleGargishClothLegsArmor : GargishClothLegsArmor
{
[Constructable]
public FemaleGargishClothLegsArmor()
: this(0)
{
}
[Constructable]
public FemaleGargishClothLegsArmor(int hue)
: base(0x409)
{
Hue = hue;
Weight = 2.0;
}
public FemaleGargishClothLegsArmor(Serial serial)
: base(serial)
{
}
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 class GargishClothKiltArmor : BaseArmor
{
[Constructable]
public GargishClothKiltArmor()
: this(0)
{
}
[Constructable]
public GargishClothKiltArmor(int hue)
: base(0x408)
{
Hue = hue;
Weight = 2.0;
}
public override bool Scissor(Mobile from, Scissors scissors)
{
if (!IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(502437); // Items you wish to cut must be in your backpack.
return false;
}
if (Ethics.Ethic.IsImbued(this))
{
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
CraftSystem system = DefTailoring.CraftSystem;
CraftItem item = system.CraftItems.SearchFor(GetType());
if (item != null && item.Resources.Count == 1 && item.Resources.GetAt(0).Amount >= 2)
{
try
{
Type resourceType = null;
CraftResourceInfo info = CraftResources.GetInfo(Resource);
if (info != null && info.ResourceTypes.Length > 0)
resourceType = info.ResourceTypes[0];
if (resourceType == null)
resourceType = item.Resources.GetAt(0).ItemType;
Item res = (Item)Activator.CreateInstance(resourceType);
ScissorHelper(from, res, PlayerConstructed ? (item.Resources.GetAt(0).Amount / 2) : 1);
res.LootType = LootType.Regular;
return true;
}
catch
{
}
}
from.SendLocalizedMessage(502440); // Scissors can not be used on that to produce anything.
return false;
}
public override Race RequiredRace { get { return Race.Gargoyle; } }
public override bool CanBeWornByGargoyles { get { return true; } }
public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
}
public GargishClothKiltArmor(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance { get { return 5; } }
public override int BaseFireResistance { get { return 7; } }
public override int BaseColdResistance { get { return 6; } }
public override int BasePoisonResistance { get { return 6; } }
public override int BaseEnergyResistance { get { return 6; } }
public override int InitMinHits { get { return 40; } }
public override int InitMaxHits { get { return 50; } }
public override int AosStrReq { get { return 20; } }
public override int OldStrReq { get { return 20; } }
public override int ArmorBase { get { return 18; } }
public override ArmorMaterialType MaterialType { get { return ArmorMaterialType.Leather; } }
public override CraftResource DefaultResource { get { return CraftResource.None; } }
public override ArmorMeditationAllowance DefMedAllowance { get { return ArmorMeditationAllowance.All; } }
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 class FemaleGargishClothKiltArmor : GargishClothKiltArmor
{
[Constructable]
public FemaleGargishClothKiltArmor()
: this(0)
{
}
[Constructable]
public FemaleGargishClothKiltArmor(int hue)
: base(0x407)
{
Hue = hue;
Weight = 2.0;
}
public FemaleGargishClothKiltArmor(Serial serial)
: base(serial)
{
}
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();
}
}
}