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,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();
}
}
}
}