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,44 @@
using System;
namespace Server.Items
{
public class AcidWall : BaseWall
{
[Constructable]
public AcidWall()
: base(969)
{
Hue = 1828;
}
public AcidWall(Serial serial)
: base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
if (from.InRange(this.GetWorldLocation(), 1))
{
from.SendLocalizedMessage(1111659); // You try to examine the strange wall but the vines get in your way.
}
else if (!from.InRange(this.GetWorldLocation(), 1))
{
from.SendLocalizedMessage(1019045); // I can't reach that.
}
base.OnDoubleClick(from);
}
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,43 @@
using System;
namespace Server.Items
{
public class AcidWall1 : BaseWall
{
[Constructable]
public AcidWall1()
: base(578)
{
}
public AcidWall1(Serial serial)
: base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
if (from.InRange(this.GetWorldLocation(), 1))
{
from.SendLocalizedMessage(1111659); // You try to examine the strange wall but the vines get in your way.
}
else if (!from.InRange(this.GetWorldLocation(), 1))
{
from.SendLocalizedMessage(1019045); // I can't reach that.
}
base.OnDoubleClick(from);
}
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,56 @@
using System;
using Server;
using Server.Engines.VeteranRewards;
namespace Server.Items
{
public class AllegiancePouch : Backpack, IRewardItem
{
private bool m_IsRewardItem;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsRewardItem
{
get { return m_IsRewardItem; }
set { m_IsRewardItem = value; }
}
public override int LabelNumber { get { return 1113953; } } //Allegiance Pouch
[Constructable]
public AllegiancePouch()
{
Hue = 2958;
Weight = 1.0;
LootType = LootType.Regular;
DropItem(new OrderBanner());
DropItem(new ChaosBanner());
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (m_IsRewardItem)
list.Add(1113802); // 12th Year Veteran Reward
}
public AllegiancePouch(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,100 @@
using System;
namespace Server.Items
{
[FlipableAttribute(0xA33B, 0xA33C)]
public class AncientWeapon1 : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1125811; } } // ancient weapon
[Constructable]
public AncientWeapon1()
: base(0xA33B)
{
}
public AncientWeapon1(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();
}
}
[FlipableAttribute(0xA33D, 0xA33E)]
public class AncientWeapon2 : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1125811; } } // ancient weapon
[Constructable]
public AncientWeapon2()
: base(0xA33D)
{
}
public AncientWeapon2(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();
}
}
[FlipableAttribute(0xA33F, 0xA340)]
public class AncientWeapon3 : Item
{
public override bool IsArtifact { get { return true; } }
public override int LabelNumber { get { return 1125811; } } // ancient weapon
[Constructable]
public AncientWeapon3()
: base(0xA33F)
{
}
public AncientWeapon3(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0x46FA, 0x46FB)]
public class AngelDecoration : Item
{
[Constructable]
public AngelDecoration()
: base(0x46FA)
{
this.LootType = LootType.Blessed;
}
public AngelDecoration(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,34 @@
using System;
namespace Server.Items
{
public class DecoArrowShafts : Item
{
[Constructable]
public DecoArrowShafts()
: base(Utility.Random(2) + 0x1024)
{
this.Movable = true;
this.Stackable = false;
}
public DecoArrowShafts(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,47 @@
using System;
namespace Server.Items
{
public class LanternBrokenShield : BaseLight, IFlipable
{
public override int LabelNumber { get { return 1011221; } } // lantern
public override int LitItemID { get { return ItemID == 0xA469 ? 0xA46A : 0xA46E; } }
public override int UnlitItemID { get { return ItemID == 0xA46A ? 0xA469 : 0xA46D; } }
public int NorthID { get { return Burning ? 0xA46A : 0xA469; } }
public int WestID { get { return Burning ? 0xA46E : 0xA46D; } }
[Constructable]
public LanternBrokenShield()
: base(0xA469)
{
Weight = 1;
}
public void OnFlip(Mobile from)
{
if (ItemID == NorthID)
ItemID = WestID;
else if (ItemID == WestID)
ItemID = NorthID;
}
public LanternBrokenShield(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,47 @@
using System;
namespace Server.Items
{
public class LanternHand : BaseLight, IFlipable
{
public override int LabelNumber { get { return 1011221; } } // lantern
public override int LitItemID { get { return ItemID == 0xA471 ? 0xA472 : 0xA476; } }
public override int UnlitItemID { get { return ItemID == 0xA472 ? 0xA471 : 0xA475; } }
public int NorthID { get { return Burning ? 0xA472 : 0xA471; } }
public int WestID { get { return Burning ? 0xA476 : 0xA475; } }
[Constructable]
public LanternHand()
: base(0xA471)
{
Weight = 1;
}
public void OnFlip(Mobile from)
{
if (ItemID == NorthID)
ItemID = WestID;
else if (ItemID == WestID)
ItemID = NorthID;
}
public LanternHand(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,47 @@
using System;
namespace Server.Items
{
public class LanternHeart : BaseLight, IFlipable
{
public override int LabelNumber { get { return 1011221; } } // lantern
public override int LitItemID { get { return ItemID == 0xA481 ? 0xA482 : 0xA486; } }
public override int UnlitItemID { get { return ItemID == 0xA482 ? 0xA481 : 0xA485; } }
public int NorthID { get { return Burning ? 0xA482 : 0xA481; } }
public int WestID { get { return Burning ? 0xA486 : 0xA485; } }
[Constructable]
public LanternHeart()
: base(0xA481)
{
Weight = 1;
}
public void OnFlip(Mobile from)
{
if (ItemID == NorthID)
ItemID = WestID;
else if (ItemID == WestID)
ItemID = NorthID;
}
public LanternHeart(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,47 @@
using System;
namespace Server.Items
{
public class LanternUnevenScales : BaseLight, IFlipable
{
public override int LabelNumber { get { return 1011221; } } // lantern
public override int LitItemID { get { return ItemID == 0xA479 ? 0xA47A : 0xA47E; } }
public override int UnlitItemID { get { return ItemID == 0xA47A ? 0xA479 : 0xA47D; } }
public int NorthID { get { return Burning ? 0xA47A : 0xA479; } }
public int WestID { get { return Burning ? 0xA47E : 0xA47D; } }
[Constructable]
public LanternUnevenScales()
: base(0xA479)
{
Weight = 1;
}
public void OnFlip(Mobile from)
{
if (ItemID == NorthID)
ItemID = WestID;
else if (ItemID == WestID)
ItemID = NorthID;
}
public LanternUnevenScales(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA48D, 0xA48E)]
public class PaintingAnkh : Item
{
public override int LabelNumber { get { return 1023744; } } // painting
[Constructable]
public PaintingAnkh()
: base(0xA48D)
{
Weight = 10;
}
public PaintingAnkh(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA489, 0xA48A)]
public class PaintingAxe : Item
{
public override int LabelNumber { get { return 1023744; } } // painting
[Constructable]
public PaintingAxe()
: base(0xA489)
{
Weight = 10;
}
public PaintingAxe(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA48F, 0xA490)]
public class PaintingMasks : Item
{
public override int LabelNumber { get { return 1023744; } } // painting
[Constructable]
public PaintingMasks()
: base(0xA48F)
{
Weight = 10;
}
public PaintingMasks(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA48B, 0xA48C)]
public class PaintingSword : Item
{
public override int LabelNumber { get { return 1023744; } } // painting
[Constructable]
public PaintingSword()
: base(0xA48B)
{
Weight = 10;
}
public PaintingSword(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA491, 0xA492)]
public class PillowChalice : Item
{
public override int LabelNumber { get { return 1025015; } } // pillow
[Constructable]
public PillowChalice()
: base(0xA491)
{
Weight = 1;
}
public PillowChalice(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA495, 0xA496)]
public class PillowMoon : Item
{
public override int LabelNumber { get { return 1025015; } } // pillow
[Constructable]
public PillowMoon()
: base(0xA495)
{
Weight = 1;
}
public PillowMoon(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA497, 0xA498)]
public class PillowSkull : Item
{
public override int LabelNumber { get { return 1025015; } } // pillow
[Constructable]
public PillowSkull()
: base(0xA497)
{
Weight = 1;
}
public PillowSkull(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,34 @@
using System;
namespace Server.Items
{
[Flipable(0xA493, 0xA494)]
public class PillowTear : Item
{
public override int LabelNumber { get { return 1025015; } } // pillow
[Constructable]
public PillowTear()
: base(0xA493)
{
Weight = 1;
}
public PillowTear(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,39 @@
using System;
namespace Server.Items
{
public class SculptureWoodCanes : BaseLight
{
public override int LabelNumber { get { return 1029241; } } // sculpture
public override int LitItemID { get { return 0xA49F; } }
public override int UnlitItemID { get { return 0xA49E; } }
public override int LitSound { get { return 480; } }
public override int UnlitSound { get { return 482; } }
[Constructable]
public SculptureWoodCanes()
: base(0xA49E)
{
Weight = 1;
}
public SculptureWoodCanes(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,39 @@
using System;
namespace Server.Items
{
public class SculptureWoodCoin : BaseLight
{
public override int LabelNumber { get { return 1029241; } } // sculpture
public override int LitItemID { get { return 0xA4A4; } }
public override int UnlitItemID { get { return 0xA493; } }
public override int LitSound { get { return 480; } }
public override int UnlitSound { get { return 482; } }
[Constructable]
public SculptureWoodCoin()
: base(0xA493)
{
Weight = 1;
}
public SculptureWoodCoin(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,39 @@
using System;
namespace Server.Items
{
public class SculptureWoodEven : BaseLight
{
public override int LabelNumber { get { return 1029241; } } // sculpture
public override int LitItemID { get { return 0xA49A; } }
public override int UnlitItemID { get { return 0xA499; } }
public override int LitSound { get { return 480; } }
public override int UnlitSound { get { return 482; } }
[Constructable]
public SculptureWoodEven()
: base(0xA499)
{
Weight = 1;
}
public SculptureWoodEven(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,39 @@
using System;
namespace Server.Items
{
public class SculptureWoodScept : BaseLight
{
public override int LabelNumber { get { return 1029241; } } // sculpture
public override int LitItemID { get { return 0xA4A9; } }
public override int UnlitItemID { get { return 0xA4A8; } }
public override int LitSound { get { return 480; } }
public override int UnlitSound { get { return 482; } }
[Constructable]
public SculptureWoodScept()
: base(0xA4A8)
{
Weight = 1;
}
public SculptureWoodScept(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,47 @@
using System;
using Server.Gumps;
using Server.Mobiles;
namespace Server.Items
{
public abstract class BaseImprisonedMobile : Item
{
[Constructable]
public BaseImprisonedMobile(int itemID)
: base(itemID)
{
}
public BaseImprisonedMobile(Serial serial)
: base(serial)
{
}
public abstract BaseCreature Summon { get; }
public override void OnDoubleClick(Mobile from)
{
if (this.IsChildOf(from.Backpack))
from.SendGump(new ConfirmBreakCrystalGump(this));
else
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
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 virtual void Release(Mobile from, BaseCreature summon)
{
}
}
}

View File

@@ -0,0 +1,374 @@
using System;
using Server.Engines.Craft;
using Server.Gumps;
using Server.Multis;
using Server.ContextMenus;
namespace Server.Items
{
public abstract class BaseLight : Item, ICraftable, IResource, IQuality, ISecurable
{
public static readonly bool Burnout = false;
private Timer m_Timer;
private DateTime m_End;
private bool m_BurntOut = false;
private bool m_Burning = false;
private bool m_Protected = false;
private TimeSpan m_Duration = TimeSpan.Zero;
private CraftResource _Resource;
private Mobile _Crafter;
private ItemQuality _Quality;
private bool _PlayerConstructed;
[CommandProperty(AccessLevel.GameMaster)]
public CraftResource Resource { get { return _Resource; } set { _Resource = value; _Resource = value; Hue = CraftResources.GetHue(this._Resource); InvalidateProperties(); } }
[CommandProperty(AccessLevel.GameMaster)]
public Mobile Crafter { get { return _Crafter; } set { _Crafter = value; InvalidateProperties(); } }
[CommandProperty(AccessLevel.GameMaster)]
public ItemQuality Quality { get { return _Quality; } set { _Quality = value; InvalidateProperties(); } }
[CommandProperty(AccessLevel.GameMaster)]
public bool PlayerConstructed { get { return _PlayerConstructed; } set { _PlayerConstructed = value; InvalidateProperties(); } }
[CommandProperty(AccessLevel.GameMaster)]
public SecureLevel Level { get; set; }
[Constructable]
public BaseLight(int itemID)
: base(itemID)
{
Level = SecureLevel.Friends;
}
public BaseLight(Serial serial)
: base(serial)
{
}
public abstract int LitItemID { get; }
public virtual int UnlitItemID
{
get
{
return 0;
}
}
public virtual int BurntOutItemID
{
get
{
return 0;
}
}
public virtual int LitSound
{
get
{
return 0x47;
}
}
public virtual int UnlitSound
{
get
{
return 0x3be;
}
}
public virtual int BurntOutSound
{
get
{
return 0x4b8;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool Burning
{
get { return m_Burning; }
set
{
if (m_Burning == value) return;
if (value)
Ignite();
else
Douse();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool BurntOut
{
get
{
return this.m_BurntOut;
}
set
{
this.m_BurntOut = value;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool Protected
{
get
{
return this.m_Protected;
}
set
{
this.m_Protected = value;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public TimeSpan Duration
{
get
{
if (this.m_Duration != TimeSpan.Zero && this.m_Burning)
{
return this.m_End - DateTime.UtcNow;
}
else
return this.m_Duration;
}
set
{
this.m_Duration = value;
}
}
public virtual void PlayLitSound()
{
if (this.LitSound != 0)
{
Point3D loc = this.GetWorldLocation();
Effects.PlaySound(loc, this.Map, this.LitSound);
}
}
public virtual void PlayUnlitSound()
{
int sound = this.UnlitSound;
if (this.m_BurntOut && this.BurntOutSound != 0)
sound = this.BurntOutSound;
if (sound != 0)
{
Point3D loc = this.GetWorldLocation();
Effects.PlaySound(loc, this.Map, sound);
}
}
public virtual void Ignite()
{
if (!this.m_BurntOut)
{
this.PlayLitSound();
this.m_Burning = true;
this.ItemID = this.LitItemID;
this.DoTimer(this.m_Duration);
}
}
public virtual void Douse()
{
this.m_Burning = false;
if (this.m_BurntOut && this.BurntOutItemID != 0)
this.ItemID = this.BurntOutItemID;
else
this.ItemID = this.UnlitItemID;
if (this.m_BurntOut)
this.m_Duration = TimeSpan.Zero;
else if (this.m_Duration != TimeSpan.Zero)
this.m_Duration = this.m_End - DateTime.UtcNow;
if (this.m_Timer != null)
this.m_Timer.Stop();
this.PlayUnlitSound();
}
public virtual void Burn()
{
this.m_BurntOut = true;
this.Douse();
}
public override void OnDoubleClick(Mobile from)
{
if (this.m_BurntOut)
return;
if (this.m_Protected && from.IsPlayer())
return;
if (!from.InRange(this.GetWorldLocation(), 2))
return;
if (this.m_Burning)
{
if (this.UnlitItemID != 0)
this.Douse();
}
else
{
this.Ignite();
}
}
public override void AddCraftedProperties(ObjectPropertyList list)
{
if (_PlayerConstructed && _Crafter != null)
{
list.Add(1050043, _Crafter.TitleName); // crafted by ~1_NAME~
}
if (_Quality == ItemQuality.Exceptional)
{
list.Add(1060636); // Exceptional
}
}
public override void AddNameProperty(ObjectPropertyList list)
{
if (_Resource > CraftResource.Iron)
{
list.Add(1053099, "#{0}\t{1}", CraftResources.GetLocalizationNumber(_Resource), String.Format("#{0}", LabelNumber.ToString())); // ~1_oretype~ ~2_armortype~
}
else
{
base.AddNameProperty(list);
}
}
public virtual int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
this.Quality = (ItemQuality)quality;
PlayerConstructed = true;
if (makersMark)
this.Crafter = from;
if (!craftItem.ForceNonExceptional)
{
if (typeRes == null)
typeRes = craftItem.Resources.GetAt(0).ItemType;
Resource = CraftResources.GetFromType(typeRes);
}
return quality;
}
public override void GetContextMenuEntries(Mobile from, System.Collections.Generic.List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
SetSecureLevelEntry.AddTo(from, this, list);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)3);
writer.Write((int)Level);
writer.Write(_PlayerConstructed);
writer.Write((int)_Resource);
writer.Write(_Crafter);
writer.Write((int)_Quality);
writer.Write(this.m_BurntOut);
writer.Write(this.m_Burning);
writer.Write(this.m_Duration);
writer.Write(this.m_Protected);
if (this.m_Burning && this.m_Duration != TimeSpan.Zero)
writer.WriteDeltaTime(this.m_End);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 3:
{
Level = (SecureLevel)reader.ReadInt();
goto case 2;
}
case 2:
{
_PlayerConstructed = reader.ReadBool();
goto case 1;
}
case 1:
{
_Resource = (CraftResource)reader.ReadInt();
_Crafter = reader.ReadMobile();
_Quality = (ItemQuality)reader.ReadInt();
goto case 0;
}
case 0:
{
this.m_BurntOut = reader.ReadBool();
this.m_Burning = reader.ReadBool();
this.m_Duration = reader.ReadTimeSpan();
this.m_Protected = reader.ReadBool();
if (this.m_Burning && this.m_Duration != TimeSpan.Zero)
this.DoTimer(reader.ReadDeltaTime() - DateTime.UtcNow);
break;
}
}
if(version == 2)
Level = SecureLevel.Friends;
}
private void DoTimer(TimeSpan delay)
{
this.m_Duration = delay;
if (this.m_Timer != null)
this.m_Timer.Stop();
if (delay == TimeSpan.Zero)
return;
this.m_End = DateTime.UtcNow + delay;
this.m_Timer = new InternalTimer(this, delay);
this.m_Timer.Start();
}
private class InternalTimer : Timer
{
private readonly BaseLight m_Light;
public InternalTimer(BaseLight light, TimeSpan delay)
: base(delay)
{
this.m_Light = light;
this.Priority = TimerPriority.FiveSeconds;
}
protected override void OnTick()
{
if (this.m_Light != null && !this.m_Light.Deleted)
this.m_Light.Burn();
}
}
}
}

View File

@@ -0,0 +1,77 @@
using System;
//using System.Collections.Generic;
namespace Server.Items.Holiday
{
[TypeAlias("Server.Items.ClownMask", "Server.Items.DaemonMask", "Server.Items.PlagueMask")]
public class BasePaintedMask : Item
{
private static readonly string[] m_Staffers =
{
"Ryan",
"Mark",
"Krrios",
"Zippy",
"Athena",
"Eos",
"Xavier"
};
private string m_Staffer;
public BasePaintedMask(int itemid)
: this(m_Staffers[Utility.Random(m_Staffers.Length)], itemid)
{
}
public BasePaintedMask(string staffer, int itemid)
: base(itemid + Utility.Random(2))
{
this.m_Staffer = staffer;
Utility.Intern(this.m_Staffer);
}
public BasePaintedMask(Serial serial)
: base(serial)
{
}
public override string DefaultName
{
get
{
if (this.m_Staffer != null)
{
return String.Format("{0} hand painted by {1}", this.MaskName, this.m_Staffer);
}
return this.MaskName;
}
}
public virtual string MaskName
{
get
{
return "A Mask";
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // version
writer.Write((string)this.m_Staffer);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version == 1)
{
this.m_Staffer = Utility.Intern(reader.ReadString());
}
}
}
}

View File

@@ -0,0 +1,120 @@
using System;
namespace Server.Items
{
public class BasePiece : Item
{
private BaseBoard m_Board;
public BasePiece(int itemID, BaseBoard board)
: base(itemID)
{
this.m_Board = board;
}
public BasePiece(Serial serial)
: base(serial)
{
}
public BaseBoard Board
{
get
{
return this.m_Board;
}
set
{
this.m_Board = value;
}
}
public override bool IsVirtualItem
{
get
{
return true;
}
}
public override bool CanTarget
{
get
{
return false;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(this.m_Board);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.m_Board = (BaseBoard)reader.ReadItem();
if (this.m_Board == null || this.Parent == null)
this.Delete();
break;
}
}
}
public override void OnSingleClick(Mobile from)
{
if (this.m_Board == null || this.m_Board.Deleted)
this.Delete();
else if (!this.IsChildOf(this.m_Board))
this.m_Board.DropItem(this);
else
base.OnSingleClick(from);
}
public override bool OnDragLift(Mobile from)
{
if (this.m_Board == null || this.m_Board.Deleted)
{
this.Delete();
return false;
}
else if (!this.IsChildOf(this.m_Board))
{
this.m_Board.DropItem(this);
return false;
}
else
{
return true;
}
}
public override bool DropToMobile(Mobile from, Mobile target, Point3D p)
{
return false;
}
public override bool DropToItem(Mobile from, Item target, Point3D p)
{
return (target == this.m_Board && p.X != -1 && p.Y != -1 && base.DropToItem(from, target, p));
}
public override bool DropToWorld(Mobile from, Point3D p)
{
return false;
}
public override int GetLiftSound(Mobile from)
{
return -1;
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public abstract class BaseSign : Item
{
public BaseSign(int dispID)
: base(dispID)
{
this.Movable = false;
}
public BaseSign(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,55 @@
using System;
namespace Server.Items
{
public class BaseSliding : Item
{
private int m_OpenedID;
private int m_ClosedID;
[Constructable]
public BaseSliding(int closedID, int openedID)
: base(closedID)
{
this.Movable = false;
this.m_OpenedID = openedID;
this.m_ClosedID = closedID;
}
public BaseSliding(Serial serial)
: base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
this.ItemID = this.m_OpenedID;
Timer.DelayCall(TimeSpan.FromSeconds(1.6), delegate()
{
this.Z += -22;
this.Visible = false;
Timer.DelayCall(TimeSpan.FromSeconds(5.0), delegate()
{
this.ItemID = this.m_ClosedID;
this.Visible = true;
this.Z += 22;
});
});
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write(this.m_OpenedID);
writer.Write(this.m_ClosedID);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
this.m_OpenedID = reader.ReadInt();
this.m_ClosedID = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,157 @@
using System;
using Server.Gumps;
using Server.Multis;
using Server.Network;
namespace Server.Items
{
public class BaseStatuette : Item
{
private bool m_TurnedOn;
[Constructable]
public BaseStatuette(int itemID)
: base(itemID)
{
this.LootType = LootType.Blessed;
}
public BaseStatuette(Serial serial)
: base(serial)
{
}
public override bool HandlesOnMovement
{
get
{
return this.m_TurnedOn && this.IsLockedDown;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool TurnedOn
{
get
{
return this.m_TurnedOn;
}
set
{
this.m_TurnedOn = value;
this.InvalidateProperties();
}
}
public override double DefaultWeight
{
get
{
return 1.0;
}
}
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (this.m_TurnedOn && this.IsLockedDown && (!m.Hidden || m.IsPlayer()) && Utility.InRange(m.Location, this.Location, 2) && !Utility.InRange(oldLocation, this.Location, 2))
{
this.PlaySound(m);
}
base.OnMovement(m, oldLocation);
}
public virtual void PlaySound(Mobile to)
{
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (this.m_TurnedOn)
list.Add(502695); // turned on
else
list.Add(502696); // turned off
}
public bool IsOwner(Mobile mob)
{
BaseHouse house = BaseHouse.FindHouseAt(this);
return (house != null && house.IsOwner(mob));
}
public override void OnDoubleClick(Mobile from)
{
if (this.IsOwner(from))
{
OnOffGump onOffGump = new OnOffGump(this);
from.SendGump(onOffGump);
}
else
{
from.SendLocalizedMessage(502691); // You must be the owner to use this.
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((bool)this.m_TurnedOn);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
this.m_TurnedOn = reader.ReadBool();
break;
}
}
}
private class OnOffGump : Gump
{
private readonly BaseStatuette m_Statuette;
public OnOffGump(BaseStatuette statuette)
: base(150, 200)
{
this.m_Statuette = statuette;
this.AddBackground(0, 0, 300, 150, 0xA28);
this.AddHtmlLocalized(45, 20, 300, 35, statuette.TurnedOn ? 1011035 : 1011034, false, false); // [De]Activate this item
this.AddButton(40, 53, 0xFA5, 0xFA7, 1, GumpButtonType.Reply, 0);
this.AddHtmlLocalized(80, 55, 65, 35, 1011036, false, false); // OKAY
this.AddButton(150, 53, 0xFA5, 0xFA7, 0, GumpButtonType.Reply, 0);
this.AddHtmlLocalized(190, 55, 100, 35, 1011012, false, false); // CANCEL
}
public override void OnResponse(NetState sender, RelayInfo info)
{
Mobile from = sender.Mobile;
if (info.ButtonID == 1)
{
bool newValue = !this.m_Statuette.TurnedOn;
this.m_Statuette.TurnedOn = newValue;
if (newValue && !this.m_Statuette.IsLockedDown)
from.SendLocalizedMessage(502693); // Remember, this only works when locked down.
}
else
{
from.SendLocalizedMessage(502694); // Cancelled action.
}
}
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace Server.Items
{
public abstract class BaseWall : Item
{
public BaseWall(int itemID)
: base(itemID)
{
this.Movable = false;
}
public BaseWall(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,36 @@
using System;
namespace Server.Items
{
[Furniture]
[Flipable(0xB2D, 0xB2C)]
public class WoodenBench : CraftableFurniture
{
[Constructable]
public WoodenBench()
: base(0xB2D)
{
this.Weight = 6;
}
public WoodenBench(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,69 @@
#region References
using System;
#endregion
namespace Server.Items
{
public class Blood : Item
{
public static int[] BloodIDs = { 0x1645, 0x122A, 0x122B, 0x122C, 0x122D, 0x122E, 0x122F };
public static int RandomID { get { return Utility.RandomList(BloodIDs); } }
public static TimeSpan Decay = TimeSpan.FromSeconds(3.0);
public override TimeSpan DecayTime { get { return Decay; } }
[Constructable]
public Blood()
: this(RandomID)
{ }
[Constructable]
public Blood(int itemID)
: base(itemID)
{
Movable = false;
new InternalTimer(this).Start();
}
public Blood(Serial serial)
: base(serial)
{
new InternalTimer(this).Start();
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
private class InternalTimer : Timer
{
private readonly Blood m_Blood;
public InternalTimer(Blood blood)
: base(blood.DecayTime)
{
Priority = TimerPriority.OneSecond;
m_Blood = blood;
}
protected override void OnTick()
{
m_Blood.Delete();
}
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
namespace Server.Items
{
public class DecoBottlesOfLiquor : Item
{
[Constructable]
public DecoBottlesOfLiquor()
: base(0x99E)
{
this.Movable = true;
this.Stackable = false;
}
public DecoBottlesOfLiquor(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,42 @@
using System;
namespace Server.Items
{
public class Brazier : BaseLight
{
[Constructable]
public Brazier()
: base(0xE31)
{
this.Movable = false;
this.Duration = TimeSpan.Zero; // Never burnt out
this.Burning = true;
this.Light = LightType.Circle225;
this.Weight = 20.0;
}
public Brazier(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0xE31;
}
}
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,42 @@
using System;
namespace Server.Items
{
public class BrazierTall : BaseLight
{
[Constructable]
public BrazierTall()
: base(0x19AA)
{
this.Movable = false;
this.Duration = TimeSpan.Zero; // Never burnt out
this.Burning = true;
this.Light = LightType.Circle300;
this.Weight = 25.0;
}
public BrazierTall(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0x19AA;
}
}
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,62 @@
using System;
namespace Server.Items
{
[TypeAlias("Server.Items.DecoBridle")]
public class DecoBridleSouth : Item
{
[Constructable]
public DecoBridleSouth()
: base(0x1374)
{
Movable = true;
Stackable = false;
}
public DecoBridleSouth(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();
}
}
[TypeAlias("Server.Items.DecoBridle2")]
public class DecoBridleEast : Item
{
[Constructable]
public DecoBridleEast()
: base(0x1375)
{
Movable = true;
Stackable = false;
}
public DecoBridleEast(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,34 @@
using System;
namespace Server.Items
{
public class BrokenChair : Item
{
[Constructable]
public BrokenChair()
: base(Utility.Random(2) + 0xC19)
{
this.Movable = true;
this.Stackable = false;
}
public BrokenChair(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,33 @@
using System;
namespace Server.Items
{
public class ButcherBlock : Item
{
public override int LabelNumber { get { return 1125659; } } // butcher block
[Constructable]
public ButcherBlock()
: base(0xA2A3)
{
LootType = LootType.Blessed;
}
public ButcherBlock(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,94 @@
using System;
namespace Server.Items
{
public class Candelabra : BaseLight, IShipwreckedItem
{
public override int LitItemID
{
get
{
return 0xB1D;
}
}
public override int UnlitItemID
{
get
{
return 0xA27;
}
}
[Constructable]
public Candelabra()
: base(0xA27)
{
this.Duration = TimeSpan.Zero; // Never burnt out
this.Burning = false;
this.Light = LightType.Circle225;
this.Weight = 3.0;
}
public Candelabra(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1);
writer.Write(this.m_IsShipwreckedItem);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch ( version )
{
case 1:
{
this.m_IsShipwreckedItem = reader.ReadBool();
break;
}
}
}
public override void AddNameProperties(ObjectPropertyList list)
{
base.AddNameProperties(list);
if (this.m_IsShipwreckedItem)
list.Add(1041645); // recovered from a shipwreck
}
public override void OnSingleClick(Mobile from)
{
base.OnSingleClick(from);
if (this.m_IsShipwreckedItem)
this.LabelTo(from, 1041645); //recovered from a shipwreck
}
#region IShipwreckedItem Members
private bool m_IsShipwreckedItem;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsShipwreckedItem
{
get
{
return this.m_IsShipwreckedItem;
}
set
{
this.m_IsShipwreckedItem = value;
}
}
#endregion
}
}

View File

@@ -0,0 +1,48 @@
using System;
namespace Server.Items
{
public class CandelabraStand : BaseLight
{
[Constructable]
public CandelabraStand()
: base(0xA29)
{
this.Duration = TimeSpan.Zero; // Never burnt out
this.Burning = false;
this.Light = LightType.Circle225;
this.Weight = 20.0;
}
public CandelabraStand(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0xB26;
}
}
public override int UnlitItemID
{
get
{
return 0xA29;
}
}
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,52 @@
using System;
namespace Server.Items
{
public class CandleLarge : BaseLight
{
[Constructable]
public CandleLarge()
: base(0xA26)
{
if (Burnout)
Duration = TimeSpan.FromMinutes(25);
else
Duration = TimeSpan.Zero;
Burning = false;
Light = LightType.Circle150;
Weight = 2.0;
}
public CandleLarge(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0xB1A;
}
}
public override int UnlitItemID
{
get
{
return 0xA26;
}
}
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,52 @@
using System;
namespace Server.Items
{
public class CandleLong : BaseLight
{
[Constructable]
public CandleLong()
: base(0x1433)
{
if (Burnout)
this.Duration = TimeSpan.FromMinutes(30);
else
this.Duration = TimeSpan.Zero;
this.Burning = false;
this.Light = LightType.Circle150;
this.Weight = 1.0;
}
public CandleLong(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0x1430;
}
}
public override int UnlitItemID
{
get
{
return 0x1433;
}
}
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,52 @@
using System;
namespace Server.Items
{
public class CandleShort : BaseLight
{
[Constructable]
public CandleShort()
: base(0x142F)
{
if (Burnout)
this.Duration = TimeSpan.FromMinutes(25);
else
this.Duration = TimeSpan.Zero;
this.Burning = false;
this.Light = LightType.Circle150;
this.Weight = 1.0;
}
public CandleShort(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0x142C;
}
}
public override int UnlitItemID
{
get
{
return 0x142F;
}
}
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,58 @@
using System;
namespace Server.Items
{
public class CandleSkull : BaseLight
{
[Constructable]
public CandleSkull()
: base(0x1853)
{
if (Burnout)
this.Duration = TimeSpan.FromMinutes(25);
else
this.Duration = TimeSpan.Zero;
this.Burning = false;
this.Light = LightType.Circle150;
this.Weight = 5.0;
}
public CandleSkull(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
if (this.ItemID == 0x1583 || this.ItemID == 0x1854)
return 0x1854;
return 0x1858;
}
}
public override int UnlitItemID
{
get
{
if (this.ItemID == 0x1853 || this.ItemID == 0x1584)
return 0x1853;
return 0x1857;
}
}
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,34 @@
using System;
namespace Server.Items
{
public class Cards : Item
{
[Constructable]
public Cards()
: base(0xE19)
{
this.Movable = true;
this.Stackable = false;
}
public Cards(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,34 @@
using System;
namespace Server.Items
{
public class Cards2 : Item
{
[Constructable]
public Cards2()
: base(0xE16)
{
this.Movable = true;
this.Stackable = false;
}
public Cards2(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,34 @@
using System;
namespace Server.Items
{
public class Cards3 : Item
{
[Constructable]
public Cards3()
: base(0xE15)
{
this.Movable = true;
this.Stackable = false;
}
public Cards3(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,34 @@
using System;
namespace Server.Items
{
public class Cards4 : Item
{
[Constructable]
public Cards4()
: base(0xE17)
{
this.Movable = true;
this.Stackable = false;
}
public Cards4(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,34 @@
using System;
namespace Server.Items
{
public class DecoCards5 : Item
{
[Constructable]
public DecoCards5()
: base(0xE18)
{
this.Movable = true;
this.Stackable = false;
}
public DecoCards5(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,39 @@
using System;
namespace Server.Items
{
public class ChairInAGhostCostume : Item
{
[Constructable]
public ChairInAGhostCostume()
: base(0x3F26)
{
}
public ChairInAGhostCostume(Serial serial)
: base(serial)
{
}
public override double DefaultWeight
{
get
{
return 5;
}
}
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,297 @@
using System;
namespace Server.Items
{
[Furniture]
[Flipable(0xB4F, 0xB4E, 0xB50, 0xB51)]
public class FancyWoodenChairCushion : CraftableFurniture
{
[Constructable]
public FancyWoodenChairCushion()
: base(0xB4F)
{
this.Weight = 20.0;
}
public FancyWoodenChairCushion(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();
if (this.Weight == 6.0)
this.Weight = 20.0;
}
}
[Furniture]
[Flipable(0xB53, 0xB52, 0xB54, 0xB55)]
public class WoodenChairCushion : CraftableFurniture
{
[Constructable]
public WoodenChairCushion()
: base(0xB53)
{
this.Weight = 20.0;
}
public WoodenChairCushion(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();
if (this.Weight == 6.0)
this.Weight = 20.0;
}
}
[Furniture]
[Flipable(0xB57, 0xB56, 0xB59, 0xB58)]
public class WoodenChair : CraftableFurniture
{
[Constructable]
public WoodenChair()
: base(0xB57)
{
this.Weight = 20.0;
}
public WoodenChair(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();
if (this.Weight == 6.0)
this.Weight = 20.0;
}
}
[Furniture]
[Flipable(0xB5B, 0xB5A, 0xB5C, 0xB5D)]
public class BambooChair : CraftableFurniture
{
[Constructable]
public BambooChair()
: base(0xB5B)
{
this.Weight = 20.0;
}
public BambooChair(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();
if (this.Weight == 6.0)
this.Weight = 20.0;
}
}
[Furniture]
[DynamicFliping]
[Flipable(0x1218, 0x1219, 0x121A, 0x121B)]
public class StoneChair : Item
{
[Constructable]
public StoneChair()
: base(0x1218)
{
this.Weight = 1.0;
}
public StoneChair(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();
}
}
[Furniture]
[DynamicFliping]
[Flipable(0x2DE3, 0x2DE4, 0x2DE5, 0x2DE6)]
public class OrnateElvenChair : CraftableFurniture
{
[Constructable]
public OrnateElvenChair()
: base(0x2DE3)
{
this.Weight = 1.0;
}
public OrnateElvenChair(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();
}
}
[Furniture]
[DynamicFliping]
[Flipable(0x2DEB, 0x2DEC, 0x2DED, 0x2DEE)]
public class BigElvenChair : CraftableFurniture
{
[Constructable]
public BigElvenChair()
: base(0x2DEB)
{
}
public BigElvenChair(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();
}
}
[Furniture]
[DynamicFliping]
[Flipable(0x2DF5, 0x2DF6)]
public class ElvenReadingChair : CraftableFurniture
{
[Constructable]
public ElvenReadingChair()
: base(0x2DF5)
{
}
public ElvenReadingChair(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();
}
}
[Furniture]
[Flipable(0x4023, 0x4024)]
public class TerMurStyleChair : CraftableFurniture
{
public override int LabelNumber { get { return 1095291; } } // Ter-Mur style chair
[Constructable]
public TerMurStyleChair()
: base(0x4023)
{
Weight = 20.0;
}
public TerMurStyleChair(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,34 @@
using System;
namespace Server.Items
{
public class Checkers : Item
{
[Constructable]
public Checkers()
: base(0xE1A)
{
this.Movable = true;
this.Stackable = false;
}
public Checkers(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,34 @@
using System;
namespace Server.Items
{
public class Checkers2 : Item
{
[Constructable]
public Checkers2()
: base(0xE1B)
{
this.Movable = true;
this.Stackable = false;
}
public Checkers2(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,34 @@
using System;
namespace Server.Items
{
public class Chessmen : Item
{
[Constructable]
public Chessmen()
: base(0xE13)
{
this.Movable = true;
this.Stackable = false;
}
public Chessmen(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,34 @@
using System;
namespace Server.Items
{
public class Chessmen2 : Item
{
[Constructable]
public Chessmen2()
: base(0xE12)
{
this.Movable = true;
this.Stackable = false;
}
public Chessmen2(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,34 @@
using System;
namespace Server.Items
{
public class Chessmen3 : Item
{
[Constructable]
public Chessmen3()
: base(0xE14)
{
this.Movable = true;
this.Stackable = false;
}
public Chessmen3(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,39 @@
using System;
namespace Server.Items.Holiday
{
public class PaintedEvilClownMask : BasePaintedMask
{
[Constructable]
public PaintedEvilClownMask()
: base(0x4a90)
{
}
public PaintedEvilClownMask(Serial serial)
: base(serial)
{
}
public override string MaskName
{
get
{
return "Evil Clown Mask";
}
}
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
{
public class ColoredSmallWebs : Item
{
[Constructable]
public ColoredSmallWebs()
: base(Utility.RandomBool() ? 0x10d6 : 0x10d7)
{
this.Hue = Utility.RandomBool() ? 0x455 : 0x4E9;
}
public ColoredSmallWebs(Serial serial)
: base(serial)
{
}
public override double DefaultWeight
{
get
{
return 5;
}
}
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,34 @@
using System;
namespace Server.Items
{
[Furniture]
public class Countertop : Item
{
public override int LabelNumber { get { return 1125714; } } // countertop
[Constructable]
public Countertop()
: base(0xA2DA)
{
LootType = LootType.Blessed;
}
public Countertop(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,181 @@
using System;
using Server.Engines.Craft;
using Server.Mobiles;
namespace Server.Items
{
public class CraftableFurniture : Item, IResource, IQuality
{
public virtual bool ShowCrafterName
{
get
{
return true;
}
}
private Mobile m_Crafter;
private CraftResource m_Resource;
private ItemQuality m_Quality;
[CommandProperty(AccessLevel.GameMaster)]
public ItemQuality Quality
{
get
{
return this.m_Quality;
}
set
{
this.m_Quality = value;
this.InvalidateProperties();
}
}
[CommandProperty(AccessLevel.GameMaster)]
public CraftResource Resource
{
get
{
return this.m_Resource;
}
set
{
if (this.m_Resource != value)
{
this.m_Resource = value;
this.Hue = CraftResources.GetHue(this.m_Resource);
this.InvalidateProperties();
}
}
}
[CommandProperty(AccessLevel.GameMaster)]
public Mobile Crafter
{
get
{
return this.m_Crafter;
}
set
{
this.m_Crafter = value;
this.InvalidateProperties();
}
}
public virtual bool PlayerConstructed { get { return true; } }
public CraftableFurniture(int itemID)
: base(itemID)
{
}
public CraftableFurniture(Serial serial)
: base(serial)
{
}
public override void AddWeightProperty(ObjectPropertyList list)
{
base.AddWeightProperty(list);
if (this.ShowCrafterName && this.m_Crafter != null)
list.Add(1050043, m_Crafter.TitleName); // crafted by ~1_NAME~
if (this.m_Quality == ItemQuality.Exceptional)
list.Add(1060636); // exceptional
}
public override void AddCraftedProperties(ObjectPropertyList list)
{
CraftResourceInfo info = CraftResources.IsStandard(this.m_Resource) ? null : CraftResources.GetInfo(this.m_Resource);
if (info != null && info.Number > 0)
list.Add(info.Number);
}
public override void OnSingleClick(Mobile from)
{
base.OnSingleClick(from);
if (m_Crafter != null)
{
LabelTo(from, 1050043, m_Crafter.TitleName); // crafted by ~1_NAME~
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
/* The jump to verison 1000 was due to needing to insert a class in the
inheritence chain for some items. We need to be certain that the new
version of CraftableFurniture that handles this data will not
conflict with the version numbers of the child classes.
*/
writer.Write((int)1000); // version
writer.Write((Mobile)this.m_Crafter);
writer.Write((int)this.m_Resource);
writer.Write((int)this.m_Quality);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.PeekInt();
switch (version)
{
case 1000:
reader.ReadInt();
this.m_Crafter = reader.ReadMobile();
this.m_Resource = (CraftResource)reader.ReadInt();
this.m_Quality = (ItemQuality)reader.ReadInt();
break;
case 0:
// Only these two items had this base class prior to the version change
if(this is ElvenPodium ||
this is GiantReplicaAcorn)
{
reader.ReadInt();
this.m_Crafter = reader.ReadMobile();
this.m_Resource = (CraftResource)reader.ReadInt();
this.m_Quality = (ItemQuality)reader.ReadInt();
}
// If we peeked a zero here any other way we should not consume data
else
{
this.m_Crafter = null;
this.m_Resource = CraftResource.None;
this.m_Quality = ItemQuality.Normal;
}
break;
default:
throw new ArgumentException("Unhandled version number for CraftableFurniture");
}
}
#region ICraftable
public virtual int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
{
this.Quality = (ItemQuality)quality;
if (makersMark)
this.Crafter = from;
Type resourceType = typeRes;
if (resourceType == null)
resourceType = craftItem.Resources.GetAt(0).ItemType;
this.Resource = CraftResources.GetFromType(resourceType);
return quality;
}
#endregion
}
}

View File

@@ -0,0 +1,34 @@
using System;
namespace Server.Items
{
public class CrossbowBolts : Item
{
[Constructable]
public CrossbowBolts()
: base(0x1BFC)
{
this.Movable = true;
this.Stackable = false;
}
public CrossbowBolts(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,43 @@
// By Neon
// Improved By Dddie
using System;
using Server;
using Server.Network;
namespace Server.Items
{
public class MagicCrystalBall : Item
{
[Constructable]
public MagicCrystalBall() : base( 0xE2E )
{
this.Name = "a crystal ball";
this.Weight = 10;
this.Stackable = false;
this.LootType = LootType.Blessed;
this.Light = LightType.Circle150;
}
public override void OnDoubleClick( Mobile from )
{
this.PublicOverheadMessage( MessageType.Regular, 0x3B2, 1007000 + Utility.Random( 28 ));
}
public MagicCrystalBall( 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,33 @@
using System;
namespace Server.Items
{
[FlipableAttribute(0x9A1A, 0x9A1B)]
public class CrystalSkull : Item
{
public override int LabelNumber { get { return 1123474; } } // Crystal Skull
[Constructable]
public CrystalSkull()
: base(0x9A1A)
{
}
public CrystalSkull(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,35 @@
using System;
namespace Server.Items
{
[Flipable(0x4F7C, 0x4F7D)]
public class CupidStatue : Item
{
public override int LabelNumber { get { return 1099220; } } // cupid statue
[Constructable]
public CupidStatue()
: base(0x4F7C)
{
Weight = 1.0;
LootType = LootType.Blessed;
}
public CupidStatue(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,107 @@
using System;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Multis;
using Server.Mobiles;
using Server.Gumps;
namespace Server.Items
{
public interface ICustomizableMessage
{
string[] Lines { get; set; }
}
[Furniture]
[FlipableAttribute(0x4790, 0x4791)]
public class CustomizableRoundedDoorMat : Item, IDyable, ICustomizableMessageItem
{
public string[] Lines { get; set; }
[Constructable]
public CustomizableRoundedDoorMat()
: base(0x4790)
{
Lines = new string[3];
LootType = LootType.Blessed;
}
public bool Dye(Mobile from, DyeTub sender)
{
if (Deleted)
return false;
Hue = sender.DyedHue;
return true;
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
{
if(from is PlayerMobile)
BaseGump.SendGump(new AddCustomizableMessageGump((PlayerMobile)from, this));
}
else
{
from.SendLocalizedMessage(1116249); // That must be in your backpack for you to use it.
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (Lines != null)
{
for (int i = 0; i < Lines.Length; i++)
{
if (!string.IsNullOrEmpty(Lines[i]))
{
list.Add(1150301 + i, Lines[i]); // [ ~1_LINE0~ ]
}
}
}
}
public CustomizableRoundedDoorMat(Serial serial)
: base(serial)
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
BaseHouse house = BaseHouse.FindHouseAt(from);
if (house != null && house.IsCoOwner(from) && from is PlayerMobile)
{
list.Add(new EditSign(this, (PlayerMobile)from));
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((int)Lines.Length);
for (int i = 0; i < Lines.Length; i++)
writer.Write((string)Lines[i]);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
Lines = new string[reader.ReadInt()];
for (int i = 0; i < Lines.Length; i++)
Lines[i] = reader.ReadString();
}
}
}

View File

@@ -0,0 +1,180 @@
using System;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Multis;
using Server.Mobiles;
using Server.Gumps;
namespace Server.Items
{
public class CustomizableSquaredDoorMatAddon : BaseAddon, ICustomizableMessageItem
{
public string[] Lines { get; set; }
public override BaseAddonDeed Deed { get { return new CustomizableSquaredDoorMatDeed(); } }
[Constructable]
public CustomizableSquaredDoorMatAddon(DirectionType type)
{
Lines = new string[3];
switch (type)
{
case DirectionType.South:
AddComponent(new CustomizableSquaredDoorMatComponent(0x4AB6), 0, 0, 0);
AddComponent(new CustomizableSquaredDoorMatComponent(0x4AB7), 1, 0, 0);
break;
case DirectionType.East:
AddComponent(new CustomizableSquaredDoorMatComponent(0x4AB4), 0, 1, 0);
AddComponent(new CustomizableSquaredDoorMatComponent(0x4AB5), 0, 0, 0);
break;
}
}
public CustomizableSquaredDoorMatAddon(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((int)Lines.Length);
for (int i = 0; i < Lines.Length; i++)
writer.Write((string)Lines[i]);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
Lines = new string[reader.ReadInt()];
for (int i = 0; i < Lines.Length; i++)
Lines[i] = reader.ReadString();
}
}
public class CustomizableSquaredDoorMatComponent : LocalizedAddonComponent
{
public override bool ForceShowProperties { get { return true; } }
public CustomizableSquaredDoorMatComponent(int id)
: base(id, 1097996) // door mat
{
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
CustomizableSquaredDoorMatAddon addon = Addon as CustomizableSquaredDoorMatAddon;
if (addon != null)
{
if (addon.Lines != null)
{
for (int i = 0; i < addon.Lines.Length; i++)
{
if (!string.IsNullOrEmpty(addon.Lines[i]))
{
list.Add(1150301 + i, addon.Lines[i]); // [ ~1_LINE0~ ]
}
}
}
}
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
BaseHouse house = BaseHouse.FindHouseAt(from);
if (house != null && house.IsCoOwner(from) && from is PlayerMobile)
{
list.Add(new EditSign((CustomizableSquaredDoorMatAddon)Addon, (PlayerMobile)from));
}
}
public CustomizableSquaredDoorMatComponent(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 CustomizableSquaredDoorMatDeed : BaseAddonDeed, IRewardOption
{
public override BaseAddon Addon { get { return new CustomizableSquaredDoorMatAddon(m_CustomizableSquaredDoorMatType); } }
private DirectionType m_CustomizableSquaredDoorMatType;
public override int LabelNumber { get { return 1151806; } } // squared door mat deed
[Constructable]
public CustomizableSquaredDoorMatDeed()
{
LootType = LootType.Blessed;
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
{
from.CloseGump(typeof(AddonOptionGump));
from.SendGump(new AddonOptionGump(this, LabelNumber));
}
else
{
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
}
}
public CustomizableSquaredDoorMatDeed(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 void GetOptions(RewardOptionList list)
{
list.Add((int)DirectionType.South, 1151815);
list.Add((int)DirectionType.East, 1151816);
}
public void OnOptionSelected(Mobile from, int choice)
{
m_CustomizableSquaredDoorMatType = (DirectionType)choice;
if (!Deleted)
base.OnDoubleClick(from);
}
}
}

View File

@@ -0,0 +1,91 @@
using System;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Multis;
using Server.Mobiles;
using Server.Gumps;
namespace Server.Items
{
[FlipableAttribute(0x4B20, 0x4B21)]
public class CustomizableWallSign : Item, ICustomizableMessageItem
{
public string[] Lines { get; set; }
[Constructable]
public CustomizableWallSign()
: base(0x4B20)
{
Lines = new string[3];
LootType = LootType.Blessed;
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
{
if(from is PlayerMobile)
BaseGump.SendGump(new AddCustomizableMessageGump((PlayerMobile)from, this));
}
else
{
from.SendLocalizedMessage(1116249); // That must be in your backpack for you to use it.
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if (Lines != null)
{
for (int i = 0; i < Lines.Length; i++)
{
if (!string.IsNullOrEmpty(Lines[i]))
{
list.Add(1150301 + i, Lines[i]); // [ ~1_LINE0~ ]
}
}
}
}
public CustomizableWallSign(Serial serial)
: base(serial)
{
}
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
BaseHouse house = BaseHouse.FindHouseAt(from);
if (house != null && house.IsCoOwner(from) && from is PlayerMobile)
{
list.Add(new EditSign(this, (PlayerMobile)from));
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write((int)Lines.Length);
for (int i = 0; i < Lines.Length; i++)
writer.Write((string)Lines[i]);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
Lines = new string[reader.ReadInt()];
for (int i = 0; i < Lines.Length; i++)
Lines[i] = reader.ReadString();
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
namespace Server.Items.Holiday
{
public class PaintedDaemonMask : BasePaintedMask
{
[Constructable]
public PaintedDaemonMask()
: base(0x4a92)
{
}
public PaintedDaemonMask(Serial serial)
: base(serial)
{
}
public override string MaskName
{
get
{
return "Daemon Mask";
}
}
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,32 @@
using System;
namespace Server.Items
{
public class DarkSource : Item
{
[Constructable]
public DarkSource()
: base(0x1646)
{
this.Layer = Layer.TwoHanded;
this.Movable = false;
}
public DarkSource(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,56 @@
using System;
namespace Server.Items
{
public enum DarkWoodWallTypes
{
Corner,
SouthWall,
EastWall,
CornerPost,
EastDoorFrame,
SouthDoorFrame,
WestDoorFrame,
NorthDoorFrame,
SouthWindow,
EastWindow,
CornerMedium,
EastWallMedium,
SouthWallMedium,
CornerPostMedium,
CornerShort,
EastWallShort,
SouthWallShort,
CornerPostShort,
SouthWallVShort,
EastWallVShort
}
public class DarkWoodWall : BaseWall
{
[Constructable]
public DarkWoodWall(DarkWoodWallTypes type)
: base(0x0006 + (int)type)
{
}
public DarkWoodWall(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,34 @@
using System;
namespace Server.Items
{
public class DecoBlackmoor : Item
{
[Constructable]
public DecoBlackmoor()
: base(0xF79)
{
this.Movable = true;
this.Stackable = false;
}
public DecoBlackmoor(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,34 @@
using System;
namespace Server.Items
{
public class DecoBloodspawn : Item
{
[Constructable]
public DecoBloodspawn()
: base(0xF7C)
{
this.Movable = true;
this.Stackable = false;
}
public DecoBloodspawn(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,34 @@
using System;
namespace Server.Items
{
public class DecoBrimstone : Item
{
[Constructable]
public DecoBrimstone()
: base(0xF7F)
{
this.Movable = true;
this.Stackable = false;
}
public DecoBrimstone(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,34 @@
using System;
namespace Server.Items
{
public class DecoCrystalBall : Item
{
[Constructable]
public DecoCrystalBall()
: base(0xE2E)
{
this.Movable = true;
this.Stackable = false;
}
public DecoCrystalBall(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,34 @@
using System;
namespace Server.Items
{
public class DecoDeckOfTarot : Item
{
[Constructable]
public DecoDeckOfTarot()
: base(0x12AB)
{
this.Movable = true;
this.Stackable = false;
}
public DecoDeckOfTarot(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,34 @@
using System;
namespace Server.Items
{
public class DecoDeckOfTarot2 : Item
{
[Constructable]
public DecoDeckOfTarot2()
: base(0x12Ac)
{
this.Movable = true;
this.Stackable = false;
}
public DecoDeckOfTarot2(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,34 @@
using System;
namespace Server.Items
{
public class DecoDragonsBlood : Item
{
[Constructable]
public DecoDragonsBlood()
: base(0x4077)
{
this.Movable = true;
this.Stackable = false;
}
public DecoDragonsBlood(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,34 @@
using System;
namespace Server.Items
{
public class DecoDragonsBlood2 : Item
{
[Constructable]
public DecoDragonsBlood2()
: base(0xF82)
{
this.Movable = true;
this.Stackable = false;
}
public DecoDragonsBlood2(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,34 @@
using System;
namespace Server.Items
{
public class DecoEyeOfNewt : Item
{
[Constructable]
public DecoEyeOfNewt()
: base(0xF87)
{
this.Movable = true;
this.Stackable = false;
}
public DecoEyeOfNewt(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,34 @@
using System;
namespace Server.Items
{
public class DecoFlower : Item
{
[Constructable]
public DecoFlower()
: base(0x18DA)
{
this.Movable = true;
this.Stackable = false;
}
public DecoFlower(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,34 @@
using System;
namespace Server.Items
{
public class DecoFlower2 : Item
{
[Constructable]
public DecoFlower2()
: base(0x18D9)
{
this.Movable = true;
this.Stackable = false;
}
public DecoFlower2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGarlic : Item
{
[Constructable]
public DecoGarlic()
: base(0x18E1)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGarlic(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,34 @@
using System;
namespace Server.Items
{
public class DecoGarlic2 : Item
{
[Constructable]
public DecoGarlic2()
: base(0x18E2)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGarlic2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGarlicBulb : Item
{
[Constructable]
public DecoGarlicBulb()
: base(0x18E3)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGarlicBulb(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,34 @@
using System;
namespace Server.Items
{
public class DecoGarlicBulb2 : Item
{
[Constructable]
public DecoGarlicBulb2()
: base(0x18E4)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGarlicBulb2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGinseng : Item
{
[Constructable]
public DecoGinseng()
: base(0x18E9)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGinseng(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,34 @@
using System;
namespace Server.Items
{
public class DecoGinseng2 : Item
{
[Constructable]
public DecoGinseng2()
: base(0x18EA)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGinseng2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGinsengRoot : Item
{
[Constructable]
public DecoGinsengRoot()
: base(0x18EB)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGinsengRoot(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,34 @@
using System;
namespace Server.Items
{
public class DecoGinsengRoot2 : Item
{
[Constructable]
public DecoGinsengRoot2()
: base(0x18EC)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGinsengRoot2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngot : Item
{
[Constructable]
public DecoGoldIngot()
: base(0x1BE9)
{
this.Movable = true;
this.Stackable = true;
}
public DecoGoldIngot(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngot2 : Item
{
[Constructable]
public DecoGoldIngot2()
: base(0x1BEC)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGoldIngot2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngots : Item
{
[Constructable]
public DecoGoldIngots()
: base(0x1BEA)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGoldIngots(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngots2 : Item
{
[Constructable]
public DecoGoldIngots2()
: base(0x1BEB)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGoldIngots2(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngots3 : Item
{
[Constructable]
public DecoGoldIngots3()
: base(0x1BED)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGoldIngots3(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,34 @@
using System;
namespace Server.Items
{
public class DecoGoldIngots4 : Item
{
[Constructable]
public DecoGoldIngots4()
: base(0x1BEE)
{
this.Movable = true;
this.Stackable = false;
}
public DecoGoldIngots4(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,34 @@
using System;
namespace Server.Items
{
public class DecoHay : Item
{
[Constructable]
public DecoHay()
: base(0xF35)
{
this.Movable = true;
this.Stackable = false;
}
public DecoHay(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,34 @@
using System;
namespace Server.Items
{
public class DecoHay2 : Item
{
[Constructable]
public DecoHay2()
: base(0xF34)
{
this.Movable = true;
this.Stackable = false;
}
public DecoHay2(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,34 @@
using System;
namespace Server.Items
{
public class DecoHorseDung : Item
{
[Constructable]
public DecoHorseDung()
: base(0xF3B)
{
this.Movable = true;
this.Stackable = false;
}
public DecoHorseDung(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,34 @@
using System;
namespace Server.Items
{
public class DecoIronIngot : Item
{
[Constructable]
public DecoIronIngot()
: base(0x1BEF)
{
this.Movable = true;
this.Stackable = true;
}
public DecoIronIngot(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,34 @@
using System;
namespace Server.Items
{
public class DecoIronIngot2 : Item
{
[Constructable]
public DecoIronIngot2()
: base(0x1BEF)
{
this.Movable = true;
this.Stackable = false;
}
public DecoIronIngot2(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();
}
}
}

Some files were not shown because too many files have changed in this diff Show More