64 lines
1.4 KiB
C#
64 lines
1.4 KiB
C#
using System;
|
|
using Server.Gumps;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class PeerlessTeleporter : Teleporter
|
|
{
|
|
[Constructable]
|
|
public PeerlessTeleporter()
|
|
: this(null)
|
|
{
|
|
}
|
|
|
|
public PeerlessTeleporter(PeerlessAltar altar)
|
|
: base()
|
|
{
|
|
Altar = altar;
|
|
}
|
|
|
|
public PeerlessTeleporter(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public PeerlessAltar Altar { get; set; }
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
if (m.Alive)
|
|
{
|
|
m.CloseGump(typeof(ConfirmExitGump));
|
|
m.SendGump(new ConfirmExitGump(Altar));
|
|
}
|
|
else if (Altar != null)
|
|
{
|
|
Altar.Exit(m);
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write((int)0); // version
|
|
|
|
writer.Write((Item)Altar);
|
|
|
|
if (Altar != null && Altar.Map != Map)
|
|
Map = Altar.Map;
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
|
|
Altar = reader.ReadItem() as PeerlessAltar;
|
|
}
|
|
}
|
|
}
|