Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
|
|
@ -0,0 +1,113 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class EarringBoxSet : RedVelvetGiftBox
|
||||
{
|
||||
[Constructible]
|
||||
public EarringBoxSet()
|
||||
{
|
||||
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(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class EarringsOfProtection : BaseJewel
|
||||
{
|
||||
private AosElementAttribute m_Attribute;
|
||||
|
||||
[Constructible]
|
||||
public EarringsOfProtection() : this(RandomType())
|
||||
{
|
||||
}
|
||||
|
||||
[Constructible]
|
||||
public EarringsOfProtection(AosElementAttribute element)
|
||||
: base(0x1087, Layer.Earrings)
|
||||
{
|
||||
Resistances[element] = 2;
|
||||
|
||||
m_Attribute = element;
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public EarringsOfProtection(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public virtual AosElementAttribute Attribute => m_Attribute;
|
||||
|
||||
public override int LabelNumber => GetItemData(m_Attribute, true);
|
||||
|
||||
public override int Hue => GetItemData(m_Attribute, false);
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(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();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue