Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,68 @@
using System;
namespace Server.Items
{
public class ANecromancerShroud : Robe
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ANecromancerShroud()
{
Hue = 0x455;
}
public ANecromancerShroud(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094913;
}
}// A Necromancer Shroud [Replica]
public override int BaseColdResistance
{
get
{
return 5;
}
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,38 @@
using System;
namespace Server.Items
{
public class AcidProofRobe : Robe
{
public override int LabelNumber { get { return 1095236; } }// Acid-Proof Robe [Replica]
public override int BaseFireResistance { get { return 4; } }
public override int InitMinHits { get { return 150; } }
public override int InitMaxHits { get { return 150; } }
public override bool CanFortify { get { return false; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public AcidProofRobe()
{
Hue = 0x455;
LootType = LootType.Blessed;
}
public AcidProofRobe(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
[Flipable(0x4B9D, 0x4B9E)]
public class AnniversaryRobe : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1153496; } } // 15th Anniversary Commemorative Robe
[Constructable]
public AnniversaryRobe() : this(0x455)
{
}
[Constructable]
public AnniversaryRobe(int hue) : base(0x4B9D, hue)
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public AnniversaryRobe(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,35 @@
using Server;
using System;
namespace Server.Items
{
public class AntiqueWeddingDress : PlainDress
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1149958; } }
[Constructable]
public AntiqueWeddingDress()
{
Hue = 2953;
}
public AntiqueWeddingDress(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();
}
}
}

View File

@@ -0,0 +1,102 @@
using System;
namespace Server.Items
{
public class BurglarsBandana : Bandana
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public BurglarsBandana()
{
Hue = Utility.RandomBool() ? 0x58C : 0x10;
SkillBonuses.SetValues(0, SkillName.Stealing, 10.0);
SkillBonuses.SetValues(1, SkillName.Stealth, 10.0);
SkillBonuses.SetValues(2, SkillName.Snooping, 10.0);
Attributes.BonusDex = 5;
}
public BurglarsBandana(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1063473;
}
}
public override int BasePhysicalResistance
{
get
{
return 10;
}
}
public override int BaseFireResistance
{
get
{
return 5;
}
}
public override int BaseColdResistance
{
get
{
return 7;
}
}
public override int BasePoisonResistance
{
get
{
return 10;
}
}
public override int BaseEnergyResistance
{
get
{
return 10;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)2);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 2)
{
this.Resistances.Physical = 0;
this.Resistances.Fire = 0;
this.Resistances.Cold = 0;
this.Resistances.Poison = 0;
this.Resistances.Energy = 0;
}
}
}
}

View File

@@ -0,0 +1,101 @@
using System;
namespace Server.Items
{
public class CaptainJohnsHat : TricorneHat
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CaptainJohnsHat()
{
Hue = 0x455;
Attributes.BonusDex = 8;
Attributes.NightSight = 1;
Attributes.AttackChance = 15;
SkillBonuses.Skill_1_Name = SkillName.Swords;
SkillBonuses.Skill_1_Value = 20;
}
public CaptainJohnsHat(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094911;
}
}// Captain John's Hat [Replica]
public override int BasePhysicalResistance
{
get
{
return 2;
}
}
public override int BaseFireResistance
{
get
{
return 6;
}
}
public override int BaseColdResistance
{
get
{
return 9;
}
}
public override int BasePoisonResistance
{
get
{
return 7;
}
}
public override int BaseEnergyResistance
{
get
{
return 23;
}
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
[Flipable(0x2FB9, 0x3173)]
public class CloakOfDeath : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CloakOfDeath()
: base(0x2FB9)
{
Weight = 2.0;
Hue = 0x966;
Attributes.DefendChance = 3;
Attributes.AttackChance = 3;
Attributes.SpellDamage = 3;
}
public CloakOfDeath(Serial serial)
: base(serial)
{
}
public override int LabelNumber {get {return 1112881;} }// Cloak of Death
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
namespace Server.Items
{
[Flipable(0x2FB9, 0x3173)]
public class CloakOfLife : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CloakOfLife()
: base(0x2FB9)
{
Weight = 2.0;
Hue = 0x21;
Attributes.RegenHits = 1;
Attributes.BonusHits = 3;
}
public CloakOfLife(Serial serial)
: base(serial)
{
}
public override int LabelNumber {get {return 1112880;} }// Cloak of Life
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
namespace Server.Items
{
[Flipable(0x2FB9, 0x3173)]
public class CloakOfPower : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CloakOfPower()
: base(0x2FB9)
{
Weight = 2.0;
Hue = 0xFE;
Attributes.BonusStr = 2;
Attributes.BonusDex = 2;
Attributes.BonusInt = 2;
}
public CloakOfPower(Serial serial)
: base(serial)
{
}
public override int LabelNumber {get {return 1112882;} }// Cloak of Power
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
[Flipable(0x2FB9, 0x3173)]
public class CloakOfSilence : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CloakOfSilence()
: base(0x2FB9)
{
Weight = 2.0;
Hue = 0x2A0;
SkillBonuses.SetValues(0, SkillName.Stealth, 10);
}
public CloakOfSilence(Serial serial)
: base(serial)
{
}
public override int LabelNumber {get {return 1112883;} }// Cloak of Silence
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
[Flipable(0x1F03, 0x1F04)]
public class ConjureresGarb : BaseOuterTorso
{
public override bool CanBeWornByGargoyles { get { return true; } }
public override bool IsArtifact { get { return true; } }
public override int LabelNumber {get {return 1114052;} }// Conjurer's Garb
[Constructable]
public ConjureresGarb()
: base(0x1F03, 0x486)
{
Hue = 0x4AA;
Weight = 3.0;
Attributes.DefendChance = 5;
Attributes.Luck = 140;
Attributes.RegenMana = 2;
}
public ConjureresGarb(Serial serial)
: base(serial)
{
}
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,41 @@
using System;
namespace Server.Items
{
[Flipable(0x1F03, 0x1F04)]
public class ConjureresGarbHarbringer : BaseOuterTorso
{
public override bool CanBeWornByGargoyles { get { return true; } }
public override bool IsArtifact { get { return true; } }
public override int LabelNumber {get {return 1114052;} }// Conjurer's Garb
[Constructable]
public ConjureresGarbHarbringer()
: base(0x1F03, 0x486)
{
Hue = 0x4AA;
Weight = 3.0;
Attributes.DefendChance = 5;
Attributes.RegenMana = 2;
}
public ConjureresGarbHarbringer(Serial serial)
: base(serial)
{
}
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,87 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
[Alterable(typeof(DefTailoring), typeof(GargishCrimsonCincture))]
public class CrimsonCincture : HalfApron
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CrimsonCincture()
: base()
{
Hue = 0x485;
Attributes.BonusDex = 5;
Attributes.BonusHits = 10;
Attributes.RegenHits = 2;
}
public CrimsonCincture(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075043;
}
}// Crimson Cincture
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class GargishCrimsonCincture : GargoyleHalfApron
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public GargishCrimsonCincture()
: base()
{
Hue = 0x485;
Attributes.BonusDex = 5;
Attributes.BonusHits = 10;
Attributes.RegenHits = 2;
}
public GargishCrimsonCincture(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075043;
}
}// Crimson Cincture
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,99 @@
using System;
namespace Server.Items
{
public class CrownOfTalKeesh : Bandana
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public CrownOfTalKeesh()
{
Hue = 0x4F2;
Attributes.BonusInt = 8;
Attributes.RegenMana = 4;
Attributes.SpellDamage = 10;
}
public CrownOfTalKeesh(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094903;
}
}// Crown of Tal'Keesh [Replica]
public override int BasePhysicalResistance
{
get
{
return 0;
}
}
public override int BaseFireResistance
{
get
{
return 5;
}
}
public override int BaseColdResistance
{
get
{
return 9;
}
}
public override int BasePoisonResistance
{
get
{
return 20;
}
}
public override int BaseEnergyResistance
{
get
{
return 20;
}
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,79 @@
using System;
namespace Server.Items
{
public class DetectiveBoots : Boots
{
public override bool IsArtifact { get { return true; } }
private int m_Level;
[Constructable]
public DetectiveBoots()
{
Hue = 0x455;
Level = Utility.RandomMinMax(0, 2);
}
public DetectiveBoots(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094894 + this.m_Level;
}
}// [Quality] Detective of the Royal Guard [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public int Level
{
get
{
return this.m_Level;
}
set
{
this.m_Level = Math.Max(Math.Min(2, value), 0);
this.Attributes.BonusInt = 2 + this.m_Level;
this.InvalidateProperties();
}
}
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();
this.Level = this.Attributes.BonusInt - 2;
}
}
}

View File

@@ -0,0 +1,105 @@
using System;
namespace Server.Items
{
public class DivineCountenance : HornedTribalMask
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public DivineCountenance()
{
Hue = 0x482;
Attributes.BonusInt = 8;
Attributes.RegenMana = 2;
Attributes.ReflectPhysical = 15;
Attributes.LowerManaCost = 8;
}
public DivineCountenance(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1061289;
}
}// Divine Countenance
public override int ArtifactRarity
{
get
{
return 11;
}
}
public override int BasePhysicalResistance
{
get
{
return 8;
}
}
public override int BaseFireResistance
{
get
{
return 6;
}
}
public override int BaseColdResistance
{
get
{
return 9;
}
}
public override int BaseEnergyResistance
{
get
{
return 25;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.Resistances.Physical = 0;
this.Resistances.Fire = 0;
this.Resistances.Cold = 0;
this.Resistances.Energy = 0;
break;
}
}
}
}
}

View File

@@ -0,0 +1,87 @@
using System;
namespace Server.Items
{
public class DreadPirateHat : TricorneHat
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public DreadPirateHat()
{
Hue = 0x497;
SkillBonuses.SetValues(0, Utility.RandomCombatSkill(), 10.0);
Attributes.BonusDex = 8;
Attributes.AttackChance = 10;
Attributes.NightSight = 1;
}
public DreadPirateHat(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1063467;
}
}
public override int BaseColdResistance
{
get
{
return 14;
}
}
public override int BasePoisonResistance
{
get
{
return 10;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)3);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 3)
{
this.Resistances.Cold = 0;
this.Resistances.Poison = 0;
}
if (version < 1)
{
this.Attributes.Luck = 0;
this.Attributes.AttackChance = 10;
this.Attributes.NightSight = 1;
this.SkillBonuses.SetValues(0, Utility.RandomCombatSkill(), 10.0);
this.SkillBonuses.SetBonus(1, 0);
}
}
}
}

View File

@@ -0,0 +1,68 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
public class EmbroideredOakLeafCloak : BaseOuterTorso, IRepairable
{
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public EmbroideredOakLeafCloak()
: base(0x2684)
{
Hue = 0x483;
StrRequirement = 0;
SkillBonuses.Skill_1_Name = SkillName.Stealth;
SkillBonuses.Skill_1_Value = 5;
}
public EmbroideredOakLeafCloak(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094901;
}
}// Embroidered Oak Leaf Cloak [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,88 @@
using System;
namespace Server.Items
{
public class HatOfTheMagi : WizardsHat
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public HatOfTheMagi()
{
Hue = 0x481;
Attributes.BonusInt = 8;
Attributes.RegenMana = 4;
Attributes.SpellDamage = 10;
}
public HatOfTheMagi(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1061597;
}
}// Hat of the Magi
public override int ArtifactRarity
{
get
{
return 11;
}
}
public override int BasePoisonResistance
{
get
{
return 20;
}
}
public override int BaseEnergyResistance
{
get
{
return 20;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.Resistances.Poison = 0;
this.Resistances.Energy = 0;
break;
}
}
}
}
}

View File

@@ -0,0 +1,47 @@
using System;
namespace Server.Items
{
[Flipable(0x2684, 0x2683)]
public class HoodedShroudOfShadows : BaseOuterTorso
{
[Constructable]
public HoodedShroudOfShadows()
: this(0x455)
{
}
[Constructable]
public HoodedShroudOfShadows(int hue)
: base(0x2684, hue)
{
LootType = LootType.Blessed;
Weight = 3.0;
}
public HoodedShroudOfShadows(Serial serial)
: base(serial)
{
}
public override bool Dye(Mobile from, DyeTub sender)
{
from.SendLocalizedMessage(sender.FailMessage);
return false;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,80 @@
using System;
namespace Server.Items
{
public class HuntersHeaddress : DeerMask
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public HuntersHeaddress()
{
Hue = 0x594;
SkillBonuses.SetValues(0, SkillName.Archery, 20);
Attributes.BonusDex = 8;
Attributes.NightSight = 1;
Attributes.AttackChance = 15;
}
public HuntersHeaddress(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1061595;
}
}// Hunter's Headdress
public override int ArtifactRarity
{
get
{
return 11;
}
}
public override int BaseColdResistance
{
get
{
return 23;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.Resistances.Cold = 0;
break;
}
}
}
}
}

View File

@@ -0,0 +1,127 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
[Alterable(typeof(DefTailoring), typeof(GargishLieutenantOfTheBritannianRoyalGuard))]
public class LieutenantOfTheBritannianRoyalGuard : BodySash
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public LieutenantOfTheBritannianRoyalGuard()
{
Hue = 0xe8;
Attributes.BonusInt = 5;
Attributes.RegenMana = 2;
Attributes.LowerRegCost = 10;
}
public LieutenantOfTheBritannianRoyalGuard(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094910;
}
}// Lieutenant of the Britannian Royal Guard [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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 GargishLieutenantOfTheBritannianRoyalGuard : GargishSash
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public GargishLieutenantOfTheBritannianRoyalGuard()
{
Hue = 0xe8;
Attributes.BonusInt = 5;
Attributes.RegenMana = 2;
Attributes.LowerRegCost = 10;
}
public GargishLieutenantOfTheBritannianRoyalGuard(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094910;
}
}// Lieutenant of the Britannian Royal Guard [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,53 @@
using System;
using Server.Network;
using Server.Items;
namespace Server.Items
{
public class MagicalDoor : Item
{
[Constructable]
public MagicalDoor() : this(Utility.RandomList(7905, 7914, 7923, 7932))
{
}
public MagicalDoor(int id) : base( id )
{
}
public override int LabelNumber { get { return 1112410; } } //Magical Door [Replica]
public override int ItemID
{
get
{
if (Parent == null && Map != Map.Internal)
return base.ItemID - 8;
return base.ItemID;
}
set
{
base.ItemID = value;
}
}
public MagicalDoor( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,157 @@
using System;
namespace Server.Items
{
public class MarkOfTravesty : SavageMask
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public MarkOfTravesty()
: base()
{
Hue = 0x495;
Attributes.BonusMana = 8;
Attributes.RegenHits = 3;
ClothingAttributes.SelfRepair = 3;
switch( Utility.Random(15) )
{
case 0:
SkillBonuses.SetValues(0, SkillName.EvalInt, 10);
SkillBonuses.SetValues(1, SkillName.Magery, 10);
break;
case 1:
SkillBonuses.SetValues(0, SkillName.AnimalLore, 10);
SkillBonuses.SetValues(1, SkillName.AnimalTaming, 10);
break;
case 2:
SkillBonuses.SetValues(0, SkillName.Swords, 10);
SkillBonuses.SetValues(1, SkillName.Tactics, 10);
break;
case 3:
SkillBonuses.SetValues(0, SkillName.Discordance, 10);
SkillBonuses.SetValues(1, SkillName.Musicianship, 10);
break;
case 4:
SkillBonuses.SetValues(0, SkillName.Fencing, 10);
SkillBonuses.SetValues(1, SkillName.Tactics, 10);
break;
case 5:
SkillBonuses.SetValues(0, SkillName.Chivalry, 10);
SkillBonuses.SetValues(1, SkillName.MagicResist, 10);
break;
case 6:
SkillBonuses.SetValues(0, SkillName.Anatomy, 10);
SkillBonuses.SetValues(1, SkillName.Healing, 10);
break;
case 7:
SkillBonuses.SetValues(0, SkillName.Ninjitsu, 10);
SkillBonuses.SetValues(1, SkillName.Stealth, 10);
break;
case 8:
SkillBonuses.SetValues(0, SkillName.Bushido, 10);
SkillBonuses.SetValues(1, SkillName.Parry, 10);
break;
case 9:
SkillBonuses.SetValues(0, SkillName.Archery, 10);
SkillBonuses.SetValues(1, SkillName.Tactics, 10);
break;
case 10:
SkillBonuses.SetValues(0, SkillName.Macing, 10);
SkillBonuses.SetValues(1, SkillName.Tactics, 10);
break;
case 11:
SkillBonuses.SetValues(0, SkillName.Necromancy, 10);
SkillBonuses.SetValues(1, SkillName.SpiritSpeak, 10);
break;
case 12:
SkillBonuses.SetValues(0, SkillName.Stealth, 10);
SkillBonuses.SetValues(1, SkillName.Stealing, 10);
break;
case 13:
SkillBonuses.SetValues(0, SkillName.Peacemaking, 10);
SkillBonuses.SetValues(1, SkillName.Musicianship, 10);
break;
case 14:
SkillBonuses.SetValues(0, SkillName.Provocation, 10);
SkillBonuses.SetValues(1, SkillName.Musicianship, 10);
break;
}
}
public MarkOfTravesty(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1074493;
}
}// Mark of Travesty
public override int BasePhysicalResistance
{
get
{
return 8;
}
}
public override int BaseFireResistance
{
get
{
return 5;
}
}
public override int BaseColdResistance
{
get
{
return 11;
}
}
public override int BasePoisonResistance
{
get
{
return 20;
}
}
public override int BaseEnergyResistance
{
get
{
return 15;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,70 @@
using System;
namespace Server.Items
{
public class MysticsGarb : Robe
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1113649; } } // Mystic's Garb
[Constructable]
public MysticsGarb()
: base()
{
ItemID = 0x4000;
Hue = 1420;
Attributes.BonusMana = 5;
Attributes.LowerManaCost = 1;
}
public MysticsGarb(Serial serial)
: base(serial)
{
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override bool CanBeWornByGargoyles
{
get
{
return true;
}
}
public override Race RequiredRace
{
get
{
return Race.Gargoyle;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 0)
ItemID = 0x4000;
}
}
}

View File

@@ -0,0 +1,66 @@
using System;
namespace Server.Items
{
[FlipableAttribute(0x1515, 0x1530)]
public class ObiDiEnse : Obi
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public ObiDiEnse()
: base(0x27A0)
{
Hue = 0;
Attributes.BonusInt = 5;
Attributes.NightSight = 1;
SkillBonuses.SetValues(0, SkillName.Focus, 5.0);
}
public ObiDiEnse(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1112406;
}
}// Obi Di Ense [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
namespace Server.Items
{
public class PadsOfTheCuSidhe : FurBoots
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PadsOfTheCuSidhe()
: base(0x47E)
{
}
public PadsOfTheCuSidhe(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075048;
}
}// Pads of the Cu Sidhe
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,77 @@
using System;
namespace Server.Items
{
public class PhilosophersHat : WizardsHat
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PhilosophersHat()
{
LootType = LootType.Blessed;
Attributes.RegenMana = 1;
Attributes.LowerRegCost = 7;
}
public PhilosophersHat(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1077602;
}
}// Philosopher's Hat
public override int BasePhysicalResistance
{
get
{
return 5;
}
}
public override int BaseFireResistance
{
get
{
return 5;
}
}
public override int BaseColdResistance
{
get
{
return 9;
}
}
public override int BasePoisonResistance
{
get
{
return 5;
}
}
public override int BaseEnergyResistance
{
get
{
return 5;
}
}
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,80 @@
using System;
namespace Server.Items
{
public class PolarBearMask : BearMask
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public PolarBearMask()
{
Hue = Utility.RandomBool() ? 0x481 : 0x47E;
ClothingAttributes.SelfRepair = 3;
Attributes.RegenHits = 2;
Attributes.NightSight = 1;
}
public PolarBearMask(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1070637;
}
}
public override int BasePhysicalResistance
{
get
{
return 15;
}
}
public override int BaseColdResistance
{
get
{
return 21;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)2);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 2)
{
this.Resistances.Physical = 0;
this.Resistances.Cold = 0;
}
if (this.Attributes.NightSight == 0)
this.Attributes.NightSight = 1;
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
using Server;
using Server.Engines.Craft;
namespace Server.Items
{
[Alterable(typeof(DefTailoring), typeof(WardensArmorOfAugmentation))]
public class RangersCloakOfAugmentation : Cloak
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1115514; } } // Ranger's Cloak Of Augmentation
[Constructable]
public RangersCloakOfAugmentation()
{
Hue = 0x54A;
SAAbsorptionAttributes.EaterKinetic = 5;
Attributes.SpellDamage = 3;
Attributes.LowerManaCost = 1;
Attributes.WeaponSpeed = 5;
}
public RangersCloakOfAugmentation(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();
}
}
}

View File

@@ -0,0 +1,45 @@
using System;
namespace Server.Items
{
[Flipable(0x1F03, 0x1F04)]
public class RobeOfTheEclipse : BaseOuterTorso
{
public override bool CanBeWornByGargoyles { get { return true; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public RobeOfTheEclipse()
: base(0x1F03, 0x486)
{
Weight = 3.0;
Attributes.Luck = 95;
}
public RobeOfTheEclipse(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075082;
}
}// Robe of the Eclipse
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,65 @@
using System;
namespace Server.Items
{
[Flipable(0x1F03, 0x1F04)]
public class RobeOfTheEquinox : BaseOuterTorso, ICanBeElfOrHuman
{
public override bool IsArtifact { get { return true; } }
private bool _ElfOnly;
public override Race RequiredRace { get { return _ElfOnly ? Race.Elf : null; } }
[CommandProperty(AccessLevel.GameMaster)]
public bool ElfOnly { get { return _ElfOnly; } set { _ElfOnly = value; InvalidateProperties(); } }
[Constructable]
public RobeOfTheEquinox()
: base(0x1F04, 0xD6)
{
Weight = 3.0;
_ElfOnly = true;
Attributes.Luck = 95;
}
public RobeOfTheEquinox(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1075042;
}
}// Robe of the Equinox
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(1); // version
writer.Write(_ElfOnly);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
switch (version)
{
case 1:
_ElfOnly = reader.ReadBool();
break;
case 0:
_ElfOnly = true;
break;
}
}
}
}

View File

@@ -0,0 +1,56 @@
using System;
namespace Server.Items
{
public class RoyalGuardInvestigatorsCloak : Cloak
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public RoyalGuardInvestigatorsCloak()
: base()
{
Hue = 1163;
SkillBonuses.SetValues(0, SkillName.Stealth, 20.0);
}
public RoyalGuardInvestigatorsCloak(Serial serial)
: base(serial)
{
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override int LabelNumber
{
get
{
return 1112409;
}
}// Royal Guard Investigator's Cloak [Replica]
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);//version
}
}
}

View File

@@ -0,0 +1,171 @@
using Server;
using System;
using System.Collections.Generic;
using Server.Mobiles;
using Server.Engines.Craft;
namespace Server.Items
{
public enum WardingEffect
{
WeaponDamage,
SpellDamage
}
[Alterable(typeof(DefTailoring), typeof(GargishRunedSashOfWarding))]
public class RunedSashOfWarding : BodySash
{
public override bool IsArtifact { get { return true; } }
public static Dictionary<Mobile, WardingEffect> Table { get { return m_Table; } }
private static Dictionary<Mobile, WardingEffect> m_Table = new Dictionary<Mobile, WardingEffect>();
public override int LabelNumber { get { return 1116231; } }
private int m_Charges;
private WardingEffect m_Ward;
[CommandProperty(AccessLevel.GameMaster)]
public int Charges { get { return m_Charges; } set { m_Charges = value; InvalidateProperties(); } }
[CommandProperty(AccessLevel.GameMaster)]
public WardingEffect Ward { get { return m_Ward; } set { m_Ward = value; } }
public override int InitMinHits { get { return 255; } }
public override int InitMaxHits { get { return 255; } }
[Constructable]
public RunedSashOfWarding()
{
Hue = 1157;
m_Charges = 50;
if (Utility.RandomBool())
m_Ward = WardingEffect.WeaponDamage;
else
m_Ward = WardingEffect.SpellDamage;
Attributes.Brittle = 1;
}
public override void OnDoubleClick(Mobile from)
{
if (m_Charges <= 0)
from.SendLocalizedMessage(501259); //This magic item is out of charges.
if (IsUnderEffects(from, m_Ward))
from.SendLocalizedMessage(502173); //You are already under a similar effect.
else if (from.FindItemOnLayer(Layer.MiddleTorso) == this)
{
Charges--;
m_Table[from] = m_Ward;
Timer.DelayCall(TimeSpan.FromSeconds(10.0), new TimerStateCallback(RemoveEffects), from);
from.FixedParticles(14154, 1, 30, 9964, 3, 3, EffectLayer.Waist);
for (int i = -1; i <= 1; i++)
{
IEntity entity = new Entity(Serial.Zero, new Point3D(from.X + i, from.Y, from.Z), from.Map);
IEntity to = new Entity(Serial.Zero, new Point3D(from.X + i, from.Y, from.Z + 50), from.Map);
Effects.SendMovingParticles(entity, to, 7956, 1, 0, false, false, 33, 3, 9501, 1, 0, EffectLayer.Head, 0x100);
}
from.PlaySound(0x5C1);
from.SendLocalizedMessage(1116243); //The runes glow and a magical warding forms around your body.
BuffInfo.AddBuff(from, new BuffInfo(BuffIcon.Warding, 1151395, 1151396, m_Ward == WardingEffect.WeaponDamage ? 1116172 : 1116173));
}
else
{
from.SendLocalizedMessage(1112886); //You must be wearing this item in order to use it.
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1060741, m_Charges.ToString());
switch (m_Ward)
{
case WardingEffect.WeaponDamage:
list.Add(1116172);
break;
case WardingEffect.SpellDamage:
list.Add(1116173);
break;
}
list.Add(1060639, "{0}\t{1}", this.HitPoints, this.MaxHitPoints); // durability ~1_val~ / ~2_val~
}
public static bool IsUnderEffects(Mobile from, WardingEffect type)
{
return m_Table.ContainsKey(from) && m_Table[from] == type;
}
public static void RemoveEffects(object obj)
{
Mobile from = (Mobile)obj;
if (m_Table.ContainsKey(from))
m_Table.Remove(from);
from.SendLocalizedMessage(1116244); //The magical ward around you dissipates.
BuffInfo.RemoveBuff(from, BuffIcon.Warding);
}
public RunedSashOfWarding(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(m_Charges);
writer.Write((int)m_Ward);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
m_Charges = reader.ReadInt();
m_Ward = (WardingEffect)reader.ReadInt();
}
}
public class GargishRunedSashOfWarding : RunedSashOfWarding
{
public override Race RequiredRace { get { return Race.Gargoyle; } }
public override bool CanBeWornByGargoyles { get { return true; } }
[Constructable]
public GargishRunedSashOfWarding()
{
ItemID = 0x46B4;
}
public GargishRunedSashOfWarding(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,68 @@
using System;
namespace Server.Items
{
public class SamaritanRobe : Robe
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SamaritanRobe()
{
Hue = 0x2a3;
}
public SamaritanRobe(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094926;
}
}// Good Samaritan of Britannia [Replica]
public override int BasePhysicalResistance
{
get
{
return 5;
}
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,35 @@
using System;
using Server.Misc;
namespace Server.Items
{
[FlipableAttribute( 0x1541, 0x1542 )]
public class SashOfMight : BodySash
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1075412; } } // Sash of Might
[Constructable]
public SashOfMight() : base( 0x1541 )
{
Hue = 0x481;
}
public SashOfMight(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();
}
}
}

View File

@@ -0,0 +1,77 @@
using System;
using Server;
using Server.Engines.Craft;
namespace Server.Items
{
[Alterable(typeof(DefTailoring), typeof(GargishShadowCloakOfRejuvenation))]
public class ShadowCloakOfRejuvenation : Cloak
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1115649; } } // Shadow Cloak Of Rejuvenation
[Constructable]
public ShadowCloakOfRejuvenation()
{
Hue = 1884;
Attributes.RegenMana = 1;
Attributes.RegenHits = 1;
Attributes.RegenStam = 1;
Attributes.LowerManaCost = 2;
}
public ShadowCloakOfRejuvenation(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 GargishShadowCloakOfRejuvenation : GargishClothWingArmor
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1115649; } } // Shadow Cloak Of Rejuvenation
[Constructable]
public GargishShadowCloakOfRejuvenation()
{
Hue = 1884;
Attributes.RegenMana = 1;
Attributes.RegenHits = 1;
Attributes.RegenStam = 1;
Attributes.LowerManaCost = 2;
}
public GargishShadowCloakOfRejuvenation(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();
}
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace Server.Items
{
[Flipable(0x1F03, 0x1F04)]
public class ShroudOfTheCondemned : BaseOuterTorso
{
public override bool IsArtifact { get { return true; } }
public override bool CanBeWornByGargoyles { get { return true; } }
public override int LabelNumber { get { return 1113703; } } // Shroud of the Condemned
[Constructable]
public ShroudOfTheCondemned()
: base(0x1F04, 0xD6)
{
Hue = 2075;
Attributes.BonusHits = 3;
Attributes.BonusInt = 5;
}
public ShroudOfTheCondemned(Serial serial)
: base(serial)
{
}
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,34 @@
using System;
namespace Server.Items
{
public class SolesOfProvidence : Sandals
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1113376; } } // Soles of Providence
[Constructable]
public SolesOfProvidence()
{
Attributes.Luck = 80;
Hue = 1177;
}
public SolesOfProvidence(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();
}
}
}

View File

@@ -0,0 +1,80 @@
using System;
namespace Server.Items
{
public class SpiritOfTheTotem : BearMask
{
public override bool IsArtifact { get { return true; } }
[Constructable]
public SpiritOfTheTotem()
{
Hue = 0x455;
Attributes.BonusStr = 20;
Attributes.ReflectPhysical = 15;
Attributes.AttackChance = 15;
}
public SpiritOfTheTotem(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1061599;
}
}// Spirit of the Totem
public override int ArtifactRarity
{
get
{
return 11;
}
}
public override int BasePhysicalResistance
{
get
{
return 20;
}
}
public override int InitMinHits
{
get
{
return 255;
}
}
public override int InitMaxHits
{
get
{
return 255;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.Resistances.Physical = 0;
break;
}
}
}
}
}

View File

@@ -0,0 +1,76 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
[Alterable(typeof(DefTailoring), typeof(GargishTangle1))]
public class Tangle1 : HalfApron
{
public override int LabelNumber { get { return 1114784; } } // Tangle
public override bool IsArtifact { get { return true; } }
[Constructable]
public Tangle1()
: base()
{
Hue = 506;
Attributes.BonusInt = 10;
Attributes.DefendChance = 5;
Attributes.RegenMana = 2;
}
public Tangle1(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class GargishTangle1 : GargoyleHalfApron
{
public override int LabelNumber { get { return 1114784; } } // Tangle
public override bool IsArtifact { get { return true; } }
[Constructable]
public GargishTangle1()
: base()
{
Hue = 506;
Attributes.BonusInt = 10;
Attributes.DefendChance = 5;
Attributes.RegenMana = 2;
}
public GargishTangle1(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,66 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
public class TheMostKnowledgePerson : BaseOuterTorso, IRepairable
{
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public TheMostKnowledgePerson()
: base(0x2684)
{
Hue = 0x117;
Attributes.BonusHits = 3 + Utility.RandomMinMax(0, 2);
}
public TheMostKnowledgePerson(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094893;
}
}// The Most Knowledge Person [Replica]
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,72 @@
using System;
using Server.Engines.Craft;
namespace Server.Items
{
public class TheRobeOfBritanniaAri : BaseOuterTorso, IRepairable
{
public CraftSystem RepairSystem { get { return DefTailoring.CraftSystem; } }
public override bool IsArtifact { get { return true; } }
[Constructable]
public TheRobeOfBritanniaAri()
: base(0x2684)
{
Hue = 0x48b;
}
public TheRobeOfBritanniaAri(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1094931;
}
}// The Robe of Britannia "Ari" [Replica]
public override int BasePhysicalResistance
{
get
{
return 10;
}
}
public override int InitMinHits
{
get
{
return 150;
}
}
public override int InitMaxHits
{
get
{
return 150;
}
}
public override bool CanFortify
{
get
{
return false;
}
}
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();
}
}
}

View File

@@ -0,0 +1,47 @@
using System;
namespace Server.Items
{
public class TheScholarsHalo : Bandana
{
public override int LabelNumber { get { return 1157354; } } // the scholar's halo
public override bool IsArtifact { get { return true; } }
[Constructable]
public TheScholarsHalo()
{
Attributes.BonusMana = 15;
Attributes.RegenMana = 2;
Attributes.SpellDamage = 15;
Attributes.CastSpeed = 1;
Attributes.LowerManaCost = 10;
}
public TheScholarsHalo(Serial serial)
: base(serial)
{
}
public override int BasePhysicalResistance { get { return 15; } }
public override int BaseFireResistance { get { return 15; } }
public override int BaseColdResistance { get { return 15; } }
public override int BasePoisonResistance { get { return 15; } }
public override int BaseEnergyResistance { get { return 15; } }
public override int InitMinHits { get { return 255; } }
public override int InitMaxHits { get { return 255; } }
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,40 @@
using System;
using Server;
namespace Server.Items
{
public class WardensArmorOfAugmentation : GargishLeatherWingArmor
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1115515; } } // Warden's Armor Of Augmentation
[Constructable]
public WardensArmorOfAugmentation()
{
Hue = 0x9C2;
AbsorptionAttributes.EaterKinetic = 5;
Attributes.SpellDamage = 3;
Attributes.LowerManaCost = 1;
Attributes.WeaponSpeed = 5;
}
public WardensArmorOfAugmentation(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();
}
}
}