Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,162 @@
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();
}
}
}