108 lines
4.2 KiB
C#
108 lines
4.2 KiB
C#
using Server;
|
|
using System;
|
|
using Server.Items;
|
|
using Server.Mobiles;
|
|
using Server.Commands;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Server.Engines.Despise
|
|
{
|
|
public static class DespiseRevampedSetup
|
|
{
|
|
public static void Initialize()
|
|
{
|
|
CommandSystem.Register("SetupDespise", AccessLevel.GameMaster, new CommandEventHandler(SetupDespise_OnCommand));
|
|
CommandSystem.Register("DeleteDespise", AccessLevel.GameMaster, new CommandEventHandler(DeleteDespise_OnCommand));
|
|
}
|
|
|
|
private static void DeleteDespise_OnCommand(CommandEventArgs e)
|
|
{
|
|
WeakEntityCollection.Delete("despise");
|
|
DespiseController.Instance = null;
|
|
}
|
|
|
|
public static void SetupDespise_OnCommand(CommandEventArgs e)
|
|
{
|
|
if (DespiseController.Instance == null)
|
|
{
|
|
DespiseController.RemoveAnkh();
|
|
|
|
DespiseController controller = new DespiseController();
|
|
WeakEntityCollection.Add("despise", controller);
|
|
controller.MoveToWorld(new Point3D(5571, 626, 30), Map.Trammel);
|
|
|
|
DespiseAnkh ankh = new DespiseAnkh(Alignment.Good);
|
|
WeakEntityCollection.Add("despise", ankh);
|
|
ankh.MoveToWorld(new Point3D(5474, 525, 79), Map.Trammel);
|
|
|
|
ankh = new DespiseAnkh(Alignment.Evil);
|
|
WeakEntityCollection.Add("despise", ankh);
|
|
ankh.MoveToWorld(new Point3D(5472, 754, 10), Map.Trammel);
|
|
|
|
SetupTeleporters();
|
|
|
|
//Teleporters
|
|
IPooledEnumerable eable = Map.Trammel.GetItemsInRange(new Point3D(5588, 631, 30), 2);
|
|
DespiseTeleporter tele = null;
|
|
|
|
//Wisp
|
|
MysteriousWisp wisp = new MysteriousWisp();
|
|
WeakEntityCollection.Add("despise", wisp);
|
|
wisp.MoveToWorld(new Point3D(1303, 1088, 0), Map.Trammel);
|
|
|
|
foreach (Item item in eable)
|
|
{
|
|
if (item is Teleporter)
|
|
{
|
|
Teleporter old = (Teleporter)item;
|
|
|
|
tele = new DespiseTeleporter();
|
|
WeakEntityCollection.Add("despise", tele);
|
|
tele.PointDest = old.PointDest;
|
|
tele.MapDest = old.MapDest;
|
|
tele.MoveToWorld(old.Location, old.Map);
|
|
|
|
old.Delete();
|
|
}
|
|
}
|
|
eable.Free();
|
|
|
|
e.Mobile.SendMessage("Despise setup complete");
|
|
}
|
|
else
|
|
e.Mobile.SendMessage("Despise appears to already be setup");
|
|
|
|
DespiseController.Instance.CheckSpawnersVersion3();
|
|
}
|
|
|
|
public static void SetupTeleporters()
|
|
{
|
|
//Gate1
|
|
GateTeleporter gate1 = new GateTeleporter(3948, 1965, new Point3D(5458, 610, 50), Map.Trammel);
|
|
GateTeleporter gate2 = new GateTeleporter(3948, 1960, new Point3D(5476, 737, 5), Map.Trammel);
|
|
WeakEntityCollection.Add("despise", gate1);
|
|
WeakEntityCollection.Add("despise", gate2);
|
|
|
|
gate1.MoveToWorld(new Point3D(5476, 737, 5), Map.Trammel);
|
|
gate2.MoveToWorld(new Point3D(5458, 610, 50), Map.Trammel);
|
|
|
|
//Gate2
|
|
gate1 = new GateTeleporter(3948, 1960, new Point3D(5460, 675, 20), Map.Trammel);
|
|
gate2 = new GateTeleporter(3948, 1965, new Point3D(5460, 523, 60), Map.Trammel);
|
|
WeakEntityCollection.Add("despise", gate1);
|
|
WeakEntityCollection.Add("despise", gate2);
|
|
|
|
gate1.MoveToWorld(new Point3D(5460, 523, 60), Map.Trammel);
|
|
gate2.MoveToWorld(new Point3D(5460, 675, 20), Map.Trammel);
|
|
|
|
//Gate3
|
|
gate1 = new GateTeleporter(3948, 1965, new Point3D(5387, 628, 30), Map.Trammel);
|
|
gate2 = new GateTeleporter(3948, 1960, new Point3D(5388, 753, 5), Map.Trammel);
|
|
WeakEntityCollection.Add("despise", gate1);
|
|
WeakEntityCollection.Add("despise", gate2);
|
|
|
|
gate1.MoveToWorld(new Point3D(5388, 753, 5), Map.Trammel);
|
|
gate2.MoveToWorld(new Point3D(5387, 628, 30), Map.Trammel);
|
|
}
|
|
}
|
|
} |