Files
abysmal-isle/Scripts/Items/Decorative/HolidayWallArt.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

172 lines
4.9 KiB
C#

using System;
namespace Server.Items
{
public class BaseHolidayWallArt : BaseLight, IFlipable
{
public override int LabelNumber { get { return 1126181; } } // glass tree
private string _DisplayName;
[CommandProperty(AccessLevel.GameMaster)]
public string DisplayName { get { return _DisplayName; } set { _DisplayName = value; InvalidateProperties(); } }
public override int LitItemID { get; }
public override int UnlitItemID { get; }
public virtual int NorthID { get; }
public virtual int WestID { get; }
[Constructable]
public BaseHolidayWallArt(int ItemID)
: base(ItemID)
{
_DisplayName = _Names[Utility.Random(_Names.Length)];
Burning = false;
Light = LightType.Circle225;
Weight = 1.0;
}
public void OnFlip(Mobile from)
{
if (ItemID == NorthID)
ItemID = WestID;
else if (ItemID == WestID)
ItemID = NorthID;
}
private static string[] _Names =
{
"Minoc", "Britain", "Heartwood", "Empath Abbey", "The Lycaeum", "New Haven", "New Magincia", "Eodon", "Luna", "Delucia", "Buccaneer's Den", "Trinsic",
"Wind", "Jhelom", "Zento", "Nujel'm", "Papua", "Moonglow", "Minoc", "Skara Brae"
};
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (!string.IsNullOrEmpty(_DisplayName))
{
list.Add(1159260, _DisplayName); // Crafted By A Glassblower From ~1_WHERE~
}
}
public BaseHolidayWallArt(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(_DisplayName);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
_DisplayName = reader.ReadString();
}
}
public class HolidayWallArt1 : BaseHolidayWallArt
{
public override int LitItemID { get { return ItemID == 0xA4B3 ? 0xA4B4 : 0xA4B6; } }
public override int UnlitItemID { get { return ItemID == 0xA4B4 ? 0xA4B3 : 0xA4B5; } }
public override int NorthID { get { return Burning ? 0xA4B4 : 0xA4B3; } }
public override int WestID { get { return Burning ? 0xA4B6 : 0xA4B5; } }
[Constructable]
public HolidayWallArt1()
: base(0xA4B3)
{
}
public HolidayWallArt1(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 HolidayWallArt2 : BaseHolidayWallArt
{
public override int LitItemID { get { return ItemID == 0xA4B7 ? 0xA4B8 : 0xA4BA; } }
public override int UnlitItemID { get { return ItemID == 0xA4B8 ? 0xA4B7 : 0xA4B9; } }
public override int NorthID { get { return Burning ? 0xA4B8 : 0xA4B7; } }
public override int WestID { get { return Burning ? 0xA4BA : 0xA4B9; } }
[Constructable]
public HolidayWallArt2()
: base(0xA4B7)
{
}
public HolidayWallArt2(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 HolidayWallArt3 : BaseHolidayWallArt
{
public override int LitItemID { get { return ItemID == 0xA4AD ? 0xA4AE : 0xA4B0; } }
public override int UnlitItemID { get { return ItemID == 0xA4AE ? 0xA4AD : 0xA4AF; } }
public override int NorthID { get { return Burning ? 0xA4AE : 0xA4AD; } }
public override int WestID { get { return Burning ? 0xA4B0 : 0xA4AF; } }
[Constructable]
public HolidayWallArt3()
: base(0xA4AD)
{
}
public HolidayWallArt3(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();
}
}
}