Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
using System.Linq;
|
||||
using Server.Regions;
|
||||
using System.Xml;
|
||||
using Server.Spells;
|
||||
|
||||
namespace Server.Engines.Exodus
|
||||
{
|
||||
public class VerLorRegCity : DungeonRegion
|
||||
{
|
||||
private static readonly Point3D[] Random_Locations =
|
||||
{
|
||||
new Point3D(1217, 469, -13),
|
||||
new Point3D(720, 1356, -60),
|
||||
new Point3D(748, 728, -29),
|
||||
new Point3D(287, 1016, 0),
|
||||
new Point3D(987, 1007, -35),
|
||||
new Point3D(1175, 1287, -30),
|
||||
new Point3D(1532, 1341, -3),
|
||||
new Point3D(527, 218, -44),
|
||||
};
|
||||
|
||||
public VerLorRegCity(XmlElement xml, Map map, Region parent)
|
||||
: base(xml, map, parent)
|
||||
{
|
||||
}
|
||||
|
||||
public class ExitTimer : Timer
|
||||
{
|
||||
private static TimeSpan m_Delay = TimeSpan.FromMinutes(2);
|
||||
private static TimeSpan m_Warning = TimeSpan.FromMinutes(8);
|
||||
VerLorRegCity m_region;
|
||||
|
||||
public ExitTimer(VerLorRegCity region) : base(m_Warning)
|
||||
{
|
||||
m_region = region;
|
||||
}
|
||||
protected override void OnTick()
|
||||
{
|
||||
foreach (Mobile m in m_region.GetEnumeratedMobiles().Where(m => m is PlayerMobile && m.AccessLevel == AccessLevel.Player))
|
||||
{
|
||||
m.SendLocalizedMessage(1010589);
|
||||
}
|
||||
|
||||
Timer.DelayCall(m_Delay, new TimerCallback(m_region.MoveLocation));
|
||||
}
|
||||
}
|
||||
|
||||
public void MoveLocation()
|
||||
{
|
||||
foreach (Mobile m in this.GetEnumeratedMobiles().Where(m => m is PlayerMobile && m.AccessLevel == AccessLevel.Player))
|
||||
{
|
||||
Point3D p = Random_Locations[Utility.Random(Random_Locations.Length)];
|
||||
|
||||
m.MoveToWorld(p, m.Map);
|
||||
BaseCreature.TeleportPets(m, p, m.Map);
|
||||
}
|
||||
|
||||
VerLorRegController.Start();
|
||||
}
|
||||
|
||||
public override bool CheckTravel(Mobile traveller, Point3D p, TravelCheckType type)
|
||||
{
|
||||
if (traveller.AccessLevel > AccessLevel.Player)
|
||||
return true;
|
||||
|
||||
return type > TravelCheckType.Mark;
|
||||
}
|
||||
|
||||
public override void OnDeath(Mobile m)
|
||||
{
|
||||
if (VerLorRegController.Mobile != null && VerLorRegController.Mobile == m)
|
||||
{
|
||||
VerLorRegController.Stop();
|
||||
new ExitTimer(this).Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user