64 lines
1.6 KiB
C#
64 lines
1.6 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class ShipLadder : Item
|
|
{
|
|
private Point3D m_PointDest;
|
|
private Map m_Map;
|
|
|
|
[Constructable]
|
|
public ShipLadder(Point3D point, Map map, int id)
|
|
: base(0x08A6)
|
|
{
|
|
this.ItemID = id;
|
|
this.m_PointDest = point;
|
|
this.m_Map = map;
|
|
this.Movable = false;
|
|
}
|
|
|
|
public ShipLadder(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override void OnDoubleClickDead(Mobile from)
|
|
{
|
|
if (from.InRange(this.Location, 2))
|
|
{
|
|
Server.Mobiles.BaseCreature.TeleportPets(from, m_PointDest, from.Map);
|
|
from.MoveToWorld(m_PointDest, m_Map);
|
|
}
|
|
}
|
|
|
|
public override void OnDoubleClick(Mobile from)
|
|
{
|
|
if (!from.Alive)
|
|
return;
|
|
|
|
if (from.InRange(this.Location, 2))
|
|
{
|
|
Server.Mobiles.BaseCreature.TeleportPets(from, m_PointDest, from.Map);
|
|
from.MoveToWorld(m_PointDest, m_Map);
|
|
}
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write((int)0); // version
|
|
|
|
writer.Write(m_PointDest);
|
|
writer.Write(m_Map);
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
|
|
m_PointDest = reader.ReadPoint3D();
|
|
m_Map = reader.ReadMap();
|
|
}
|
|
}
|
|
} |