146 lines
3.5 KiB
C#
146 lines
3.5 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class BoneCouchComponent : AddonComponent
|
|
{
|
|
public BoneCouchComponent(int itemID)
|
|
: base(itemID)
|
|
{
|
|
}
|
|
|
|
public BoneCouchComponent(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1074477;
|
|
}
|
|
}// Bone couch
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
bool allow = base.OnMoveOver(m);
|
|
|
|
if (allow && m.Alive && m.Player && (m.IsPlayer() || !m.Hidden))
|
|
Effects.PlaySound(this.Location, this.Map, Utility.RandomMinMax(0x547, 0x54A));
|
|
|
|
return allow;
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
|
|
[FlipableAddon(Direction.South, Direction.East)]
|
|
public class BoneCouchAddon : BaseAddon
|
|
{
|
|
[Constructable]
|
|
public BoneCouchAddon()
|
|
: base()
|
|
{
|
|
this.Direction = Direction.South;
|
|
|
|
this.AddComponent(new BoneCouchComponent(0x2A5A), 0, 0, 0);
|
|
this.AddComponent(new BoneCouchComponent(0x2A5B), -1, 0, 0);
|
|
}
|
|
|
|
public BoneCouchAddon(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override BaseAddonDeed Deed
|
|
{
|
|
get
|
|
{
|
|
return new BoneCouchDeed();
|
|
}
|
|
}
|
|
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();
|
|
}
|
|
|
|
public virtual void Flip(Mobile from, Direction direction)
|
|
{
|
|
switch ( direction )
|
|
{
|
|
case Direction.East:
|
|
this.AddComponent(new BoneCouchComponent(0x2A80), 0, 0, 0);
|
|
this.AddComponent(new BoneCouchComponent(0x2A7F), 0, 1, 0);
|
|
break;
|
|
case Direction.South:
|
|
this.AddComponent(new BoneCouchComponent(0x2A5A), 0, 0, 0);
|
|
this.AddComponent(new BoneCouchComponent(0x2A5B), -1, 0, 0);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class BoneCouchDeed : BaseAddonDeed
|
|
{
|
|
[Constructable]
|
|
public BoneCouchDeed()
|
|
: base()
|
|
{
|
|
this.LootType = LootType.Blessed;
|
|
}
|
|
|
|
public BoneCouchDeed(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override BaseAddon Addon
|
|
{
|
|
get
|
|
{
|
|
return new BoneCouchAddon();
|
|
}
|
|
}
|
|
public override int LabelNumber
|
|
{
|
|
get
|
|
{
|
|
return 1074477;
|
|
}
|
|
}// Bone couch
|
|
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();
|
|
}
|
|
}
|
|
} |