Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FifteenthAnniversaryLithographAddon : BaseAddon
|
||||
{
|
||||
[Constructable]
|
||||
public FifteenthAnniversaryLithographAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(19508, 1154129), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19507, 1154129), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19506, 1154129), 0, -1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(19510, 1154129), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19509, 1154129), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19511, 1154129), -1, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public FifteenthAnniversaryLithographAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new FifteenthAnniversaryLithographDeed(); } }
|
||||
|
||||
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 FifteenthAnniversaryLithographDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154129; } } // 15th Anniversary Lithograph
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public FifteenthAnniversaryLithographDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public FifteenthAnniversaryLithographDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new FifteenthAnniversaryLithographAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AlchemistsBookshelfAddon : BaseAddonContainer
|
||||
{
|
||||
public override BaseAddonContainerDeed Deed { get { return new AlchemistsBookshelfDeed(); } }
|
||||
public override bool RetainDeedHue { get { return true; } }
|
||||
public override int DefaultGumpID { get { return 0x4D; } }
|
||||
public override int DefaultDropSound { get { return 0x42; } }
|
||||
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public AlchemistsBookshelfAddon(DirectionType type)
|
||||
: base(type == DirectionType.South ? 0x4C24 : 0x4C25)
|
||||
{
|
||||
}
|
||||
|
||||
public AlchemistsBookshelfAddon(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 AlchemistsBookshelfDeed : BaseAddonContainerDeed, IRewardOption
|
||||
{
|
||||
public override BaseAddonContainer Addon { get { return new AlchemistsBookshelfAddon(_Direction); } }
|
||||
public override int LabelNumber { get { return 1154192; } } // Alchemist Bookcase
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public AlchemistsBookshelfDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public AlchemistsBookshelfDeed(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
181
Scripts/Items/Addons/TheKingsCollection/BarrelSponge.cs
Normal file
181
Scripts/Items/Addons/TheKingsCollection/BarrelSponge.cs
Normal file
@@ -0,0 +1,181 @@
|
||||
using Server.Multis;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BarrelSpongeAddon : BaseAddon, IDyable
|
||||
{
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DateTime NextResourceCount { get; set; }
|
||||
|
||||
private int m_ResourceCount;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ResourceCount { get { return m_ResourceCount; } set { m_ResourceCount = value; UpdateProperties(); } }
|
||||
|
||||
[Constructable]
|
||||
public BarrelSpongeAddon()
|
||||
: this(0, DateTime.UtcNow + TimeSpan.FromDays(7))
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BarrelSpongeAddon(int resCount, DateTime nextuse)
|
||||
{
|
||||
NextResourceCount = nextuse;
|
||||
ResourceCount = resCount;
|
||||
|
||||
AddComponent(new BarrelSpongeComponent(0x4C30), 0, 0, 0);
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public BarrelSpongeAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
private readonly Type[] m_Potions = new Type[]
|
||||
{
|
||||
typeof(ShatterPotion),
|
||||
typeof(FearEssence),
|
||||
typeof(InvisibilityPotion),
|
||||
typeof(GreaterConflagrationPotion),
|
||||
typeof(ParasiticPotion),
|
||||
typeof(ExplodingTarPotion),
|
||||
typeof(GreaterConfusionBlastPotion)
|
||||
};
|
||||
|
||||
public override void OnComponentUsed(AddonComponent component, Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.LockDowns.ContainsKey(this) && house.LockDowns[this] == from)))
|
||||
{
|
||||
if (ResourceCount > 0)
|
||||
{
|
||||
Item item = Loot.Construct(m_Potions);
|
||||
|
||||
if (item == null)
|
||||
return;
|
||||
|
||||
ResourceCount--;
|
||||
|
||||
from.AddToBackpack(item);
|
||||
from.SendLocalizedMessage(1154176); // Potions have been placed in your backpack.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new BarrelSpongeDeed(); } }
|
||||
|
||||
private class BarrelSpongeComponent : LocalizedAddonComponent
|
||||
{
|
||||
public BarrelSpongeComponent(int id)
|
||||
: base(id, 1098376) // Barrel Sponge
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (Addon is BarrelSpongeAddon)
|
||||
{
|
||||
list.Add(1154178, ((BarrelSpongeAddon)Addon).ResourceCount.ToString()); // Potions: ~1_COUNT~
|
||||
}
|
||||
}
|
||||
|
||||
public BarrelSpongeComponent(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();
|
||||
}
|
||||
}
|
||||
|
||||
private void TryGiveResourceCount()
|
||||
{
|
||||
if (NextResourceCount < DateTime.UtcNow)
|
||||
{
|
||||
ResourceCount = Math.Min(140, m_ResourceCount + 35);
|
||||
NextResourceCount = DateTime.UtcNow + TimeSpan.FromDays(7);
|
||||
|
||||
UpdateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
|
||||
TryGiveResourceCount();
|
||||
|
||||
writer.Write(m_ResourceCount);
|
||||
writer.Write(NextResourceCount);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_ResourceCount = reader.ReadInt();
|
||||
NextResourceCount = reader.ReadDateTime();
|
||||
}
|
||||
}
|
||||
|
||||
public class BarrelSpongeDeed : BaseAddonDeed
|
||||
{
|
||||
public override int LabelNumber { get { return 1098376; } } // Barrel Sponge
|
||||
|
||||
[Constructable]
|
||||
public BarrelSpongeDeed()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BarrelSpongeDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new BarrelSpongeAddon(); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
157
Scripts/Items/Addons/TheKingsCollection/BirdLamp.cs
Normal file
157
Scripts/Items/Addons/TheKingsCollection/BirdLamp.cs
Normal file
@@ -0,0 +1,157 @@
|
||||
using Server.Multis;
|
||||
using Server.Targeting;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BirdLamp : BaseLight, IFlipable, IAddon
|
||||
{
|
||||
public override int LabelNumber { get { return 1154188; } } // Bird Lamp
|
||||
|
||||
public override int LitItemID { get { return ItemID == 0x4C44 ? 0x4C45 : 0x4C47; } }
|
||||
public override int UnlitItemID { get { return ItemID == 0x4C45 ? 0x4C44 : 0x4C46; } }
|
||||
|
||||
public int NorthID { get { return Burning ? 0x4C45 : 0x4C44; } }
|
||||
public int WestID { get { return Burning ? 0x4C47 : 0x4C46; } }
|
||||
|
||||
[Constructable]
|
||||
public BirdLamp()
|
||||
: base(0x4C44)
|
||||
{
|
||||
Movable = false;
|
||||
Duration = TimeSpan.Zero;
|
||||
Burning = false;
|
||||
Light = LightType.Circle300;
|
||||
Weight = 0.0;
|
||||
}
|
||||
|
||||
public Item Deed { get { return new BirdLampDeed(); } }
|
||||
|
||||
public bool CouldFit(IPoint3D p, Map map)
|
||||
{
|
||||
return map.CanFit((Point3D)p, 20);
|
||||
}
|
||||
|
||||
void IChopable.OnChop(Mobile from)
|
||||
{
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.Addons.ContainsKey(this) && house.Addons[this] == from)))
|
||||
{
|
||||
Effects.PlaySound(GetWorldLocation(), Map, 0x3B3);
|
||||
from.SendLocalizedMessage(500461); // You destroy the item.
|
||||
|
||||
Delete();
|
||||
|
||||
house.Addons.Remove(this);
|
||||
|
||||
from.AddToBackpack(Deed);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1113134); // You can only redeed items in your own house!
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFlip(Mobile from)
|
||||
{
|
||||
if (ItemID == NorthID)
|
||||
ItemID = WestID;
|
||||
else if (ItemID == WestID)
|
||||
ItemID = NorthID;
|
||||
}
|
||||
|
||||
public BirdLamp(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 BirdLampDeed : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1154188; } } // Bird Lamp
|
||||
|
||||
[Constructable]
|
||||
public BirdLampDeed()
|
||||
: base(0x14F0)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BirdLampDeed(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 override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
from.BeginTarget(-1, true, TargetFlags.None, new TargetStateCallback(Placement_OnTarget), null);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public void Placement_OnTarget(Mobile from, object targeted, object state)
|
||||
{
|
||||
IPoint3D p = targeted as IPoint3D;
|
||||
Map map = from.Map;
|
||||
|
||||
if (p == null || map == null || Deleted)
|
||||
return;
|
||||
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
Point3D loc = new Point3D(p);
|
||||
BaseHouse house = BaseHouse.FindHouseAt(loc, from.Map, 16);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
Item addon = new BirdLamp();
|
||||
|
||||
addon.MoveToWorld(loc, from.Map);
|
||||
|
||||
house.Addons[addon] = from;
|
||||
Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042036); // That location is not in your house.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
112
Scripts/Items/Addons/TheKingsCollection/BullTapestry.cs
Normal file
112
Scripts/Items/Addons/TheKingsCollection/BullTapestry.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BullTapestryAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public BullTapestryAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(19619, 1154148), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19618, 1154148), 0, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(19617, 1154148), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19616, 1154148), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public BullTapestryAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new BullTapestryDeed(); } }
|
||||
|
||||
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 BullTapestryDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154148; } } // Bull Tapestry
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public BullTapestryDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BullTapestryDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new BullTapestryAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Items/Addons/TheKingsCollection/CactusSponge.cs
Normal file
71
Scripts/Items/Addons/TheKingsCollection/CactusSponge.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CactusSpongeAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public CactusSpongeAddon()
|
||||
{
|
||||
AddComponent(new AddonComponent(0x4C2E), 0, 0, 0);
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public CactusSpongeAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new CactusSpongeDeed(); } }
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class CactusSpongeDeed : BaseAddonDeed
|
||||
{
|
||||
public override int LabelNumber { get { return 1098374; } } // Cactus Sponge
|
||||
|
||||
[Constructable]
|
||||
public CactusSpongeDeed()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public CactusSpongeDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new CactusSpongeAddon(); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
101
Scripts/Items/Addons/TheKingsCollection/CastlePainting.cs
Normal file
101
Scripts/Items/Addons/TheKingsCollection/CastlePainting.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CastlePaintingAddon : BaseAddon
|
||||
{
|
||||
[Constructable]
|
||||
public CastlePaintingAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C21, 1154184), 0, 0, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C20, 1154184), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public CastlePaintingAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new CastlePaintingDeed(); } }
|
||||
|
||||
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 CastlePaintingDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154184; } } // Castle Painting
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public CastlePaintingDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public CastlePaintingDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new CastlePaintingAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
157
Scripts/Items/Addons/TheKingsCollection/DragonLantern.cs
Normal file
157
Scripts/Items/Addons/TheKingsCollection/DragonLantern.cs
Normal file
@@ -0,0 +1,157 @@
|
||||
using Server.Multis;
|
||||
using Server.Targeting;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DragonLantern : BaseLight, IFlipable, IAddon
|
||||
{
|
||||
public override int LabelNumber { get { return 1098392; } } // dragon lantern
|
||||
|
||||
public override int LitItemID { get { return ItemID == 0x4C40 ? 0x4C41 : 0x4C43; } }
|
||||
public override int UnlitItemID { get { return ItemID == 0x4C41 ? 0x4C40 : 0x4C42; } }
|
||||
|
||||
public int NorthID { get { return Burning ? 0x4C41 : 0x4C40; } }
|
||||
public int WestID { get { return Burning ? 0x4C43 : 0x4C42; } }
|
||||
|
||||
[Constructable]
|
||||
public DragonLantern()
|
||||
: base(0x4C40)
|
||||
{
|
||||
Movable = false;
|
||||
Duration = TimeSpan.Zero;
|
||||
Burning = false;
|
||||
Light = LightType.Circle300;
|
||||
Weight = 0.0;
|
||||
}
|
||||
|
||||
public Item Deed { get { return new DragonLanternDeed(); } }
|
||||
|
||||
public bool CouldFit(IPoint3D p, Map map)
|
||||
{
|
||||
return map.CanFit((Point3D)p, 20);
|
||||
}
|
||||
|
||||
void IChopable.OnChop(Mobile from)
|
||||
{
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.Addons.ContainsKey(this) && house.Addons[this] == from)))
|
||||
{
|
||||
Effects.PlaySound(GetWorldLocation(), Map, 0x3B3);
|
||||
from.SendLocalizedMessage(500461); // You destroy the item.
|
||||
|
||||
Delete();
|
||||
|
||||
house.Addons.Remove(this);
|
||||
|
||||
from.AddToBackpack(Deed);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1113134); // You can only redeed items in your own house!
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFlip(Mobile from)
|
||||
{
|
||||
if (ItemID == NorthID)
|
||||
ItemID = WestID;
|
||||
else if (ItemID == WestID)
|
||||
ItemID = NorthID;
|
||||
}
|
||||
|
||||
public DragonLantern(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 DragonLanternDeed : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1098392; } } // dragon lantern
|
||||
|
||||
[Constructable]
|
||||
public DragonLanternDeed()
|
||||
: base(0x14F0)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public DragonLanternDeed(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 override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
from.BeginTarget(-1, true, TargetFlags.None, new TargetStateCallback(Placement_OnTarget), null);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public void Placement_OnTarget(Mobile from, object targeted, object state)
|
||||
{
|
||||
IPoint3D p = targeted as IPoint3D;
|
||||
Map map = from.Map;
|
||||
|
||||
if (p == null || map == null || Deleted)
|
||||
return;
|
||||
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
Point3D loc = new Point3D(p);
|
||||
BaseHouse house = BaseHouse.FindHouseAt(loc, from.Map, 16);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
Item addon = new DragonLantern();
|
||||
|
||||
addon.MoveToWorld(loc, from.Map);
|
||||
|
||||
house.Addons[addon] = from;
|
||||
Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042036); // That location is not in your house.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
112
Scripts/Items/Addons/TheKingsCollection/EmbroideredTapestry.cs
Normal file
112
Scripts/Items/Addons/TheKingsCollection/EmbroideredTapestry.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EmbroideredTapestryAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public EmbroideredTapestryAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(19610, 1154143), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19611, 1154143), 0, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(19609, 1154143), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19608, 1154143), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public EmbroideredTapestryAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new EmbroideredTapestryDeed(); } }
|
||||
|
||||
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 EmbroideredTapestryDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154143; } } // Embroidered Tapestry
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public EmbroideredTapestryDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public EmbroideredTapestryDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new EmbroideredTapestryAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
196
Scripts/Items/Addons/TheKingsCollection/FirePainting.cs
Normal file
196
Scripts/Items/Addons/TheKingsCollection/FirePainting.cs
Normal file
@@ -0,0 +1,196 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FirePaintingAddon : BaseAddon
|
||||
{
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DateTime NextResourceCount { get; set; }
|
||||
|
||||
private int m_ResourceCount;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ResourceCount { get { return m_ResourceCount; } set { m_ResourceCount = value; UpdateProperties(); } }
|
||||
|
||||
[Constructable]
|
||||
public FirePaintingAddon(DirectionType type)
|
||||
: this(type, 0, DateTime.UtcNow + TimeSpan.FromDays(7))
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public FirePaintingAddon(DirectionType type, int resCount, DateTime nextuse)
|
||||
{
|
||||
NextResourceCount = nextuse;
|
||||
ResourceCount = resCount;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C29, 1098378), 0, 0, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C28, 1098378), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public FirePaintingAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComponentUsed(AddonComponent component, Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.LockDowns.ContainsKey(this) && house.LockDowns[this] == from)))
|
||||
{
|
||||
if (ResourceCount > 0)
|
||||
{
|
||||
ResourceCount--;
|
||||
Item item = ScrollOfTranscendence.CreateRandom(1, 1);
|
||||
|
||||
from.AddToBackpack(item);
|
||||
from.SendLocalizedMessage(1154177); // Scrolls of Transcendence have been placed in your backpack.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new FirePaintingDeed(); } }
|
||||
|
||||
private class FirePaintingComponent : LocalizedAddonComponent
|
||||
{
|
||||
public FirePaintingComponent(int id)
|
||||
: base(id, 1098378) // painting
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (Addon is FirePaintingAddon)
|
||||
{
|
||||
list.Add(1154179, ((FirePaintingAddon)Addon).ResourceCount.ToString()); // Scrolls of Transcendence: ~1_COUNT~
|
||||
}
|
||||
}
|
||||
|
||||
public FirePaintingComponent(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();
|
||||
}
|
||||
}
|
||||
|
||||
private void TryGiveResourceCount()
|
||||
{
|
||||
if (NextResourceCount < DateTime.UtcNow)
|
||||
{
|
||||
ResourceCount = Math.Min(140, m_ResourceCount + 1);
|
||||
NextResourceCount = DateTime.UtcNow + TimeSpan.FromDays(7);
|
||||
|
||||
UpdateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
|
||||
TryGiveResourceCount();
|
||||
|
||||
writer.Write(m_ResourceCount);
|
||||
writer.Write(NextResourceCount);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_ResourceCount = reader.ReadInt();
|
||||
NextResourceCount = reader.ReadDateTime();
|
||||
}
|
||||
}
|
||||
|
||||
public class FirePaintingDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154182; } } // Fire Painting
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public FirePaintingDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public FirePaintingDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new FirePaintingAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Items/Addons/TheKingsCollection/FluffySponge.cs
Normal file
71
Scripts/Items/Addons/TheKingsCollection/FluffySponge.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FluffySpongeAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public FluffySpongeAddon()
|
||||
{
|
||||
AddComponent(new AddonComponent(0x4C31), 0, 0, 0);
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public FluffySpongeAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new FluffySpongeDeed(); } }
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class FluffySpongeDeed : BaseAddonDeed
|
||||
{
|
||||
public override int LabelNumber { get { return 1098377; } } // Fluffy Sponge
|
||||
|
||||
[Constructable]
|
||||
public FluffySpongeDeed()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public FluffySpongeDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new FluffySpongeAddon(); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
Scripts/Items/Addons/TheKingsCollection/FourPostBed.cs
Normal file
120
Scripts/Items/Addons/TheKingsCollection/FourPostBed.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class FourPostBedAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public FourPostBedAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C71, 1154131), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C70, 1154131), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6E, 1154131), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C72, 1154131), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C73, 1154131), -1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6F, 1154131), -1, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C69, 1154131), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C68, 1154131), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6D, 1154131), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6C, 1154131), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6A, 1154131), 1, -1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C6B, 1154131), 0, -1, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public FourPostBedAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new FourPostBedDeed(); } }
|
||||
|
||||
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 FourPostBedDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154131; } } // Four Post Bed
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public FourPostBedDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public FourPostBedDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new FourPostBedAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
116
Scripts/Items/Addons/TheKingsCollection/GoldenTable.cs
Normal file
116
Scripts/Items/Addons/TheKingsCollection/GoldenTable.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GoldenTableAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public GoldenTableAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(19624, 1154150), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19627, 1154150), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19626, 1154150), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19625, 1154150), 1, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(19623, 1154150), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19622, 1154150), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19621, 1154150), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19620, 1154150), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public GoldenTableAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new GoldenTableDeed(); } }
|
||||
|
||||
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 GoldenTableDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154150; } } // Golden Table
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public GoldenTableDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public GoldenTableDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new GoldenTableAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
110
Scripts/Items/Addons/TheKingsCollection/HorsePainting.cs
Normal file
110
Scripts/Items/Addons/TheKingsCollection/HorsePainting.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HorsePaintingAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public HorsePaintingAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C23, 1154186), 0, 0, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C22, 1154186), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public HorsePaintingAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new HorsePaintingDeed(); } }
|
||||
|
||||
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 HorsePaintingDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154186; } } // Horse Painting
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public HorsePaintingDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HorsePaintingDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new HorsePaintingAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
157
Scripts/Items/Addons/TheKingsCollection/KoiLamp.cs
Normal file
157
Scripts/Items/Addons/TheKingsCollection/KoiLamp.cs
Normal file
@@ -0,0 +1,157 @@
|
||||
using Server.Multis;
|
||||
using Server.Targeting;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class KoiLamp : BaseLight, IFlipable, IAddon
|
||||
{
|
||||
public override int LabelNumber { get { return 1154190; } } // Koi Lamp
|
||||
|
||||
public override int LitItemID { get { return ItemID == 0x4C48 ? 0x4C49 : 0x4C4B; } }
|
||||
public override int UnlitItemID { get { return ItemID == 0x4C49 ? 0x4C48 : 0x4C4A; } }
|
||||
|
||||
public int NorthID { get { return Burning ? 0x4C49 : 0x4C48; } }
|
||||
public int WestID { get { return Burning ? 0x4C4B : 0x4C4A; } }
|
||||
|
||||
[Constructable]
|
||||
public KoiLamp()
|
||||
: base(0x4C49)
|
||||
{
|
||||
Movable = false;
|
||||
Duration = TimeSpan.Zero;
|
||||
Burning = false;
|
||||
Light = LightType.Circle300;
|
||||
Weight = 0.0;
|
||||
}
|
||||
|
||||
public Item Deed { get { return new KoiLampDeed(); } }
|
||||
|
||||
public bool CouldFit(IPoint3D p, Map map)
|
||||
{
|
||||
return map.CanFit((Point3D)p, 20);
|
||||
}
|
||||
|
||||
void IChopable.OnChop(Mobile from)
|
||||
{
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.Addons.ContainsKey(this) && house.Addons[this] == from)))
|
||||
{
|
||||
Effects.PlaySound(GetWorldLocation(), Map, 0x3B3);
|
||||
from.SendLocalizedMessage(500461); // You destroy the item.
|
||||
|
||||
Delete();
|
||||
|
||||
house.Addons.Remove(this);
|
||||
|
||||
from.AddToBackpack(Deed);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1113134); // You can only redeed items in your own house!
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFlip(Mobile from)
|
||||
{
|
||||
if (ItemID == NorthID)
|
||||
ItemID = WestID;
|
||||
else if (ItemID == WestID)
|
||||
ItemID = NorthID;
|
||||
}
|
||||
|
||||
public KoiLamp(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 KoiLampDeed : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1154190; } } // Koi Lamp
|
||||
|
||||
[Constructable]
|
||||
public KoiLampDeed()
|
||||
: base(0x14F0)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public KoiLampDeed(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 override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
from.BeginTarget(-1, true, TargetFlags.None, new TargetStateCallback(Placement_OnTarget), null);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public void Placement_OnTarget(Mobile from, object targeted, object state)
|
||||
{
|
||||
IPoint3D p = targeted as IPoint3D;
|
||||
Map map = from.Map;
|
||||
|
||||
if (p == null || map == null || Deleted)
|
||||
return;
|
||||
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
Point3D loc = new Point3D(p);
|
||||
BaseHouse house = BaseHouse.FindHouseAt(loc, from.Map, 16);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
Item addon = new KoiLamp();
|
||||
|
||||
addon.MoveToWorld(loc, from.Map);
|
||||
|
||||
house.Addons[addon] = from;
|
||||
Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042036); // That location is not in your house.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
116
Scripts/Items/Addons/TheKingsCollection/MarbleTable.cs
Normal file
116
Scripts/Items/Addons/TheKingsCollection/MarbleTable.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MarbleTableAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public MarbleTableAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(19635, 1154152), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19634, 1154152), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19633, 1154152), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19632, 1154152), 1, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(19631, 1154152), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19630, 1154152), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19629, 1154152), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(19628, 1154152), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public MarbleTableAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new MarbleTableDeed(); } }
|
||||
|
||||
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 MarbleTableDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154152; } } // Marble Table
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public MarbleTableDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MarbleTableDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new MarbleTableAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
112
Scripts/Items/Addons/TheKingsCollection/MonasteryBell.cs
Normal file
112
Scripts/Items/Addons/TheKingsCollection/MonasteryBell.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MonasteryBellAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public MonasteryBellAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new InstrumentedAddonComponent(0x4C94, 0x66C), 0, 0, 0);
|
||||
AddComponent(new InstrumentedAddonComponent(0x4C95, 0x66C), 0, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new InstrumentedAddonComponent(0x4C92, 0x66C), 1, 0, 0);
|
||||
AddComponent(new InstrumentedAddonComponent(0x4C93, 0x66C), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public MonasteryBellAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new MonasteryBellDeed(); } }
|
||||
|
||||
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 MonasteryBellDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1098472; } } // monastery bell
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public MonasteryBellDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MonasteryBellDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new MonasteryBellAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
Scripts/Items/Addons/TheKingsCollection/OrnateBed.cs
Normal file
120
Scripts/Items/Addons/TheKingsCollection/OrnateBed.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class OrnateBedAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public OrnateBedAddon(DirectionType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7F, 1154133), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7A, 1154133), 0, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7C, 1154133), -1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7E, 1154133), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7B, 1154133), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C7D, 1154133), -1, 1, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C77, 1154133), 0, -1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C79, 1154133), 0, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C74, 1154133), 1, 0, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C76, 1154133), 1, -1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C75, 1154133), 1, 1, 0);
|
||||
AddComponent(new LocalizedAddonComponent(0x4C78, 1154133), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public OrnateBedAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new OrnateBedDeed(); } }
|
||||
|
||||
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 OrnateBedDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154133; } } // Ornate Bed
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public OrnateBedDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public OrnateBedDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new OrnateBedAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Items/Addons/TheKingsCollection/ShelfSponge.cs
Normal file
71
Scripts/Items/Addons/TheKingsCollection/ShelfSponge.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ShelfSpongeAddon : BaseAddon, IDyable
|
||||
{
|
||||
[Constructable]
|
||||
public ShelfSpongeAddon()
|
||||
{
|
||||
AddComponent(new AddonComponent(0x4C2F), 0, 0, 0);
|
||||
}
|
||||
|
||||
public virtual bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
return false;
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
return true;
|
||||
}
|
||||
|
||||
public ShelfSpongeAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new ShelfSpongeDeed(); } }
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ShelfSpongeDeed : BaseAddonDeed
|
||||
{
|
||||
public override int LabelNumber { get { return 1098375; } } // Shelf Sponge
|
||||
|
||||
[Constructable]
|
||||
public ShelfSpongeDeed()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public ShelfSpongeDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new ShelfSpongeAddon(); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
196
Scripts/Items/Addons/TheKingsCollection/ShipPainting.cs
Normal file
196
Scripts/Items/Addons/TheKingsCollection/ShipPainting.cs
Normal file
@@ -0,0 +1,196 @@
|
||||
using System;
|
||||
using Server.Gumps;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ShipPaintingAddon : BaseAddon
|
||||
{
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DateTime NextResourceCount { get; set; }
|
||||
|
||||
private int m_ResourceCount;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ResourceCount { get { return m_ResourceCount; } set { m_ResourceCount = value; UpdateProperties(); } }
|
||||
|
||||
[Constructable]
|
||||
public ShipPaintingAddon(DirectionType type)
|
||||
: this(type, 0, DateTime.UtcNow + TimeSpan.FromDays(7))
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ShipPaintingAddon(DirectionType type, int resCount, DateTime nextuse)
|
||||
{
|
||||
NextResourceCount = nextuse;
|
||||
ResourceCount = resCount;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DirectionType.East:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C27, 1098378), 0, 0, 0);
|
||||
break;
|
||||
case DirectionType.South:
|
||||
AddComponent(new LocalizedAddonComponent(0x4C26, 1098378), 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public ShipPaintingAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComponentUsed(AddonComponent component, Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.LockDowns.ContainsKey(this) && house.LockDowns[this] == from)))
|
||||
{
|
||||
if (ResourceCount > 0)
|
||||
{
|
||||
ResourceCount--;
|
||||
Item item = new HeavyPowderCharge();
|
||||
|
||||
from.AddToBackpack(item);
|
||||
from.SendLocalizedMessage(1154174); // Powder charges have been placed in your backpack.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed { get { return new ShipPaintingDeed(); } }
|
||||
|
||||
private class ShipPaintingComponent : LocalizedAddonComponent
|
||||
{
|
||||
public ShipPaintingComponent(int id)
|
||||
: base(id, 1098378) // painting
|
||||
{
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (Addon is ShipPaintingAddon)
|
||||
{
|
||||
list.Add(1154175, ((ShipPaintingAddon)Addon).ResourceCount.ToString()); // Powder Charges: ~1_COUNT~
|
||||
}
|
||||
}
|
||||
|
||||
public ShipPaintingComponent(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();
|
||||
}
|
||||
}
|
||||
|
||||
private void TryGiveResourceCount()
|
||||
{
|
||||
if (NextResourceCount < DateTime.UtcNow)
|
||||
{
|
||||
ResourceCount = Math.Min(210, m_ResourceCount + 42);
|
||||
NextResourceCount = DateTime.UtcNow + TimeSpan.FromDays(7);
|
||||
|
||||
UpdateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
|
||||
TryGiveResourceCount();
|
||||
|
||||
writer.Write(m_ResourceCount);
|
||||
writer.Write(NextResourceCount);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_ResourceCount = reader.ReadInt();
|
||||
NextResourceCount = reader.ReadDateTime();
|
||||
}
|
||||
}
|
||||
|
||||
public class ShipPaintingDeed : BaseAddonDeed, IRewardOption
|
||||
{
|
||||
public override int LabelNumber { get { return 1154180; } } // Ship Painting
|
||||
|
||||
private DirectionType _Direction;
|
||||
|
||||
[Constructable]
|
||||
public ShipPaintingDeed()
|
||||
: base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public ShipPaintingDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
from.CloseGump(typeof(AddonOptionGump));
|
||||
from.SendGump(new AddonOptionGump(this, 1154194)); // Choose a Facing:
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
|
||||
}
|
||||
}
|
||||
|
||||
public void GetOptions(RewardOptionList list)
|
||||
{
|
||||
list.Add((int)DirectionType.South, 1075386); // South
|
||||
list.Add((int)DirectionType.East, 1075387); // East
|
||||
}
|
||||
|
||||
public void OnOptionSelected(Mobile from, int choice)
|
||||
{
|
||||
_Direction = (DirectionType)choice;
|
||||
|
||||
if (!Deleted)
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override BaseAddon Addon { get { return new ShipPaintingAddon(_Direction); } }
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
157
Scripts/Items/Addons/TheKingsCollection/TallLamp.cs
Normal file
157
Scripts/Items/Addons/TheKingsCollection/TallLamp.cs
Normal file
@@ -0,0 +1,157 @@
|
||||
using Server.Multis;
|
||||
using Server.Targeting;
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class TallLamp : BaseLight, IFlipable, IAddon
|
||||
{
|
||||
public override int LabelNumber { get { return 1098410; } } // tall lamp
|
||||
|
||||
public override int LitItemID { get { return ItemID == 0x4C52 ? 0x4C53 : 0x4C55; } }
|
||||
public override int UnlitItemID { get { return ItemID == 0x4C53 ? 0x4C52 : 0x4C54; } }
|
||||
|
||||
public int NorthID { get { return Burning ? 0x4C53 : 0x4C52; } }
|
||||
public int WestID { get { return Burning ? 0x4C55 : 0x4C54; } }
|
||||
|
||||
[Constructable]
|
||||
public TallLamp()
|
||||
: base(0x4C52)
|
||||
{
|
||||
Movable = false;
|
||||
Duration = TimeSpan.Zero;
|
||||
Burning = false;
|
||||
Light = LightType.Circle300;
|
||||
Weight = 0.0;
|
||||
}
|
||||
|
||||
public Item Deed { get { return new TallLampDeed(); } }
|
||||
|
||||
public bool CouldFit(IPoint3D p, Map map)
|
||||
{
|
||||
return map.CanFit((Point3D)p, 20);
|
||||
}
|
||||
|
||||
void IChopable.OnChop(Mobile from)
|
||||
{
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
if (house != null && (house.IsOwner(from) || (house.Addons.ContainsKey(this) && house.Addons[this] == from)))
|
||||
{
|
||||
Effects.PlaySound(GetWorldLocation(), Map, 0x3B3);
|
||||
from.SendLocalizedMessage(500461); // You destroy the item.
|
||||
|
||||
Delete();
|
||||
|
||||
house.Addons.Remove(this);
|
||||
|
||||
from.AddToBackpack(Deed);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1113134); // You can only redeed items in your own house!
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFlip(Mobile from)
|
||||
{
|
||||
if (ItemID == NorthID)
|
||||
ItemID = WestID;
|
||||
else if (ItemID == WestID)
|
||||
ItemID = NorthID;
|
||||
}
|
||||
|
||||
public TallLamp(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 TallLampDeed : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1098410; } } // tall lamp
|
||||
|
||||
[Constructable]
|
||||
public TallLampDeed()
|
||||
: base(0x14F0)
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public TallLampDeed(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 override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(from);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
from.BeginTarget(-1, true, TargetFlags.None, new TargetStateCallback(Placement_OnTarget), null);
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(502092); // You must be in your house to do this.
|
||||
}
|
||||
}
|
||||
|
||||
public void Placement_OnTarget(Mobile from, object targeted, object state)
|
||||
{
|
||||
IPoint3D p = targeted as IPoint3D;
|
||||
Map map = from.Map;
|
||||
|
||||
if (p == null || map == null || Deleted)
|
||||
return;
|
||||
|
||||
if (IsChildOf(from.Backpack))
|
||||
{
|
||||
Point3D loc = new Point3D(p);
|
||||
BaseHouse house = BaseHouse.FindHouseAt(loc, from.Map, 16);
|
||||
|
||||
if (house != null && house.IsCoOwner(from))
|
||||
{
|
||||
Item addon = new TallLamp();
|
||||
|
||||
addon.MoveToWorld(loc, from.Map);
|
||||
|
||||
house.Addons[addon] = from;
|
||||
Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042036); // That location is not in your house.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
58
Scripts/Items/Addons/TheKingsCollection/TheTokenBox.cs
Normal file
58
Scripts/Items/Addons/TheKingsCollection/TheTokenBox.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable(0x4D0C, 0x4D0D)]
|
||||
public class TheTokenBox : BaseContainer
|
||||
{
|
||||
public override int LabelNumber { get { return 1154209; } } // The King's Collection
|
||||
|
||||
public override int DefaultGumpID { get { return 0x4D0C; } }
|
||||
|
||||
[Constructable]
|
||||
public TheTokenBox()
|
||||
: base(0x4D0C)
|
||||
{
|
||||
Weight = 4.0;
|
||||
|
||||
DropItem(new FifteenthAnniversaryLithographDeed());
|
||||
DropItem(new AlchemistsBookshelfDeed());
|
||||
DropItem(new BarrelSpongeDeed());
|
||||
DropItem(new BirdLampDeed());
|
||||
DropItem(new BullTapestryDeed());
|
||||
DropItem(new CactusSpongeDeed());
|
||||
DropItem(new CastlePaintingDeed());
|
||||
DropItem(new DragonLanternDeed());
|
||||
DropItem(new EmbroideredTapestryDeed());
|
||||
DropItem(new FirePaintingDeed());
|
||||
DropItem(new FluffySpongeDeed());
|
||||
DropItem(new FourPostBedDeed());
|
||||
DropItem(new GoldenTableDeed());
|
||||
DropItem(new HorsePaintingDeed());
|
||||
DropItem(new KoiLampDeed());
|
||||
DropItem(new MarbleTableDeed());
|
||||
DropItem(new MonasteryBellDeed());
|
||||
DropItem(new OrnateBedDeed());
|
||||
DropItem(new ShelfSpongeDeed());
|
||||
DropItem(new ShipPaintingDeed());
|
||||
DropItem(new TallLampDeed());
|
||||
}
|
||||
|
||||
public TheTokenBox(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user