Files
abysmal-isle/Scripts/Items/Addons/BoneCouch.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

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();
}
}
}