Files
abysmal-isle/Scripts/Services/Revamped Dungeons/DespiseRevamped/Setup.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

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