rendered paste bodynamespace Server.Items
{
public class RewardDyeTub : DyeTub
{
private Mobile m_Owner;
private bool m_IsRewardItem;
private int m_DyedHue;
public virtual bool AllowRunebooks // so you can dye runes.
{
get { return true; }
}
[CommandProperty(AccessLevel.GameMaster)]
public bool IsRewardItem
{
get { return m_IsRewardItem; }
set { m_IsRewardItem = value; }
}
[CommandProperty(AccessLevel.GameMaster)]
public Mobile Owner
{
get { return m_Owner; }
set
{
m_Owner = value;
InvalidateProperties();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public int DyedHue
{
get { return m_DyedHue; }
set { m_DyedHue = value; }
}
[Constructable]
public RewardDyeTub() : base( 0xFAB )
{
Hue = DyedHue = 0;
Redyable = false;
LootType = LootType.Blessed;
}
public RewardDyeTub(Serial serial) : base(serial)
{
}
public RewardDyeTub(Mobile owner)
{
m_Owner = Owner;
}
public override void OnDoubleClick(Mobile from)
{
if (from != m_Owner)
from.SendAsciiMessage("This is not your Rare DyeTub!");
else
{
base.OnDoubleClick(from);
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // version
writer.Write((bool)m_IsRewardItem);
writer.Write((int)m_DyedHue);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
{
m_DyedHue = reader.ReadInt();
break;
}
case 1:
{
m_IsRewardItem = reader.ReadBool();
break;
}
}
}
}
}