138 lines
4.1 KiB
C#
138 lines
4.1 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class EarringBoxSet : RedVelvetGiftBox
|
|
{
|
|
public override bool IsArtifact { get { return true; } }
|
|
[Constructable]
|
|
public EarringBoxSet()
|
|
: base()
|
|
{
|
|
DropItem(new EarringsOfProtection(AosElementAttribute.Physical));
|
|
DropItem(new EarringsOfProtection(AosElementAttribute.Fire));
|
|
DropItem(new EarringsOfProtection(AosElementAttribute.Cold));
|
|
DropItem(new EarringsOfProtection(AosElementAttribute.Poison));
|
|
DropItem(new EarringsOfProtection(AosElementAttribute.Energy));
|
|
}
|
|
|
|
public EarringBoxSet(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 EarringsOfProtection : BaseJewel
|
|
{
|
|
private AosElementAttribute m_Attribute;
|
|
[Constructable]
|
|
public EarringsOfProtection()
|
|
: this(RandomType())
|
|
{
|
|
}
|
|
|
|
[Constructable]
|
|
public EarringsOfProtection(AosElementAttribute element)
|
|
: base(0x1087, Layer.Earrings)
|
|
{
|
|
Resistances[((AosElementAttribute)element)] = 2;
|
|
|
|
m_Attribute = element;
|
|
LootType = LootType.Blessed;
|
|
|
|
Hue = GetItemData(m_Attribute, false);
|
|
}
|
|
|
|
public EarringsOfProtection(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public virtual AosElementAttribute Attribute
|
|
{
|
|
get
|
|
{
|
|
return m_Attribute;
|
|
}
|
|
}
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return GetItemData(m_Attribute, true);
|
|
}
|
|
}
|
|
public static AosElementAttribute RandomType()
|
|
{
|
|
return GetTypes(Utility.Random(5));
|
|
}
|
|
|
|
public static AosElementAttribute GetTypes(int value)
|
|
{
|
|
switch( value )
|
|
{
|
|
case 0:
|
|
return AosElementAttribute.Physical;
|
|
case 1:
|
|
return AosElementAttribute.Fire;
|
|
case 2:
|
|
return AosElementAttribute.Cold;
|
|
case 3:
|
|
return AosElementAttribute.Poison;
|
|
default:
|
|
return AosElementAttribute.Energy;
|
|
}
|
|
}
|
|
|
|
public static int GetItemData(AosElementAttribute element, bool label)
|
|
{
|
|
switch( element )
|
|
{
|
|
case AosElementAttribute.Physical:
|
|
return (label) ? 1071091 : 0; // Earring of Protection (Physical) 1071091
|
|
case AosElementAttribute.Fire:
|
|
return (label) ? 1071092 : 0x4ec; // Earring of Protection (Fire) 1071092
|
|
case AosElementAttribute.Cold:
|
|
return (label) ? 1071093 : 0x4f2; // Earring of Protection (Cold) 1071093
|
|
case AosElementAttribute.Poison:
|
|
return (label) ? 1071094 : 0x4f8; // Earring of Protection (Poison) 1071094
|
|
case AosElementAttribute.Energy:
|
|
return (label) ? 1071095 : 0x4fe; // Earring of Protection (Energy) 1071095
|
|
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
writer.Write((int)m_Attribute);
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
m_Attribute = (AosElementAttribute)reader.ReadInt();
|
|
}
|
|
}
|
|
} |