162 lines
4.3 KiB
C#
162 lines
4.3 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class PrismOfLightTele : Teleporter
|
|
{
|
|
[Constructable]
|
|
public PrismOfLightTele()
|
|
: base(new Point3D(6474, 188, 0), Map.Trammel)
|
|
{
|
|
}
|
|
|
|
public PrismOfLightTele(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
if (m.NetState == null || !m.NetState.SupportsExpansion(Expansion.ML))
|
|
{
|
|
m.SendLocalizedMessage(1072608); // You must upgrade to the Mondain's Legacy expansion in order to enter here.
|
|
return true;
|
|
}
|
|
else if (!MondainsLegacy.PrismOfLight && (int)m.AccessLevel < (int)AccessLevel.GameMaster)
|
|
{
|
|
m.SendLocalizedMessage(1042753, "Prism of Light"); // ~1_SOMETHING~ has been temporarily disabled.
|
|
return true;
|
|
}
|
|
|
|
if (m.Backpack != null)
|
|
{
|
|
if (m.Backpack.FindItemByType(typeof(PrismOfLightAdmissionTicket), true) != null)
|
|
return base.OnMoveOver(m);
|
|
}
|
|
|
|
m.SendLocalizedMessage(1074277); // No admission without a ticket.
|
|
|
|
return true;
|
|
}
|
|
|
|
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 PrismOfLightTeleFel : Teleporter
|
|
{
|
|
[Constructable]
|
|
public PrismOfLightTeleFel()
|
|
: base(new Point3D(6474, 188, 0), Map.Felucca)
|
|
{
|
|
}
|
|
|
|
public PrismOfLightTeleFel(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
if (m.NetState == null || !m.NetState.SupportsExpansion(Expansion.ML))
|
|
{
|
|
m.SendLocalizedMessage(1072608); // You must upgrade to the Mondain's Legacy expansion in order to enter here.
|
|
return true;
|
|
}
|
|
else if (!MondainsLegacy.PrismOfLight && (int)m.AccessLevel < (int)AccessLevel.GameMaster)
|
|
{
|
|
m.SendLocalizedMessage(1042753, "Prism of Light"); // ~1_SOMETHING~ has been temporarily disabled.
|
|
return true;
|
|
}
|
|
|
|
if (m.Backpack != null)
|
|
{
|
|
if (m.Backpack.FindItemByType(typeof(PrismOfLightAdmissionTicket), true) != null)
|
|
return base.OnMoveOver(m);
|
|
}
|
|
|
|
m.SendLocalizedMessage(1074277); // No admission without a ticket.
|
|
|
|
return true;
|
|
}
|
|
|
|
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 CrystalFieldTele : Item
|
|
{
|
|
[Constructable]
|
|
public CrystalFieldTele()
|
|
: base(0x3818)
|
|
{
|
|
this.Movable = false;
|
|
}
|
|
|
|
public CrystalFieldTele(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override TimeSpan DecayTime
|
|
{
|
|
get
|
|
{
|
|
return TimeSpan.FromMinutes(1);
|
|
}
|
|
}
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
if (m.Player)
|
|
{
|
|
if (Utility.RandomBool())
|
|
{
|
|
Point3D p = new Point3D(6523, 71, -10);
|
|
Server.Mobiles.BaseCreature.TeleportPets(m, p, m.Map);
|
|
m.MoveToWorld(p, m.Map);
|
|
}
|
|
|
|
this.Delete();
|
|
return false;
|
|
}
|
|
else
|
|
return true;
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |