Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
343
Scripts/Services/Underworld/Generate.cs
Normal file
343
Scripts/Services/Underworld/Generate.cs
Normal file
@@ -0,0 +1,343 @@
|
||||
using Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
using Server.Engines.Quests.Haven;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public static class GenerateUnderworldRooms
|
||||
{
|
||||
public static void Generate()
|
||||
{
|
||||
ExperimentalRoomController controller = new ExperimentalRoomController();
|
||||
controller.MoveToWorld(new Point3D(980, 1117, -42), Map.TerMur);
|
||||
|
||||
//Room 0 to 1
|
||||
ExperimentalRoomDoor door = new ExperimentalRoomDoor(Room.RoomZero, DoorFacing.WestCCW);
|
||||
ExperimentalRoomBlocker blocker = new ExperimentalRoomBlocker(Room.RoomZero);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(984, 1116, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(984, 1116, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
door = new ExperimentalRoomDoor(Room.RoomZero, DoorFacing.EastCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomZero);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(985, 1116, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(985, 1116, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
//Room 1 to 2
|
||||
door = new ExperimentalRoomDoor(Room.RoomOne, DoorFacing.WestCCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomOne);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(984, 1102, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(984, 1102, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
door = new ExperimentalRoomDoor(Room.RoomOne, DoorFacing.EastCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomOne);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(985, 1102, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(985, 1102, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
//Room 2 to 3
|
||||
door = new ExperimentalRoomDoor(Room.RoomTwo, DoorFacing.WestCCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomTwo);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(984, 1090, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(984, 1090, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
door = new ExperimentalRoomDoor(Room.RoomTwo, DoorFacing.EastCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomTwo);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(985, 1090, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(985, 1090, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
//Room 3 to 4
|
||||
door = new ExperimentalRoomDoor(Room.RoomTwo, DoorFacing.WestCCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomThree);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(984, 1072, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(984, 1072, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
door = new ExperimentalRoomDoor(Room.RoomTwo, DoorFacing.EastCW);
|
||||
blocker = new ExperimentalRoomBlocker(Room.RoomThree);
|
||||
door.Hue = 1109;
|
||||
door.MoveToWorld(new Point3D(985, 1072, -42), Map.TerMur);
|
||||
blocker.MoveToWorld(new Point3D(985, 1072, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
WeakEntityCollection.Add("sa", blocker);
|
||||
|
||||
ExperimentalRoomChest chest = new ExperimentalRoomChest();
|
||||
chest.MoveToWorld(new Point3D(984, 1064, -37), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", chest);
|
||||
|
||||
ExperimentalBook instr = new ExperimentalBook();
|
||||
instr.Movable = false;
|
||||
instr.MoveToWorld(new Point3D(995, 1114, -36), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", instr);
|
||||
|
||||
SecretDungeonDoor dd = new SecretDungeonDoor(DoorFacing.NorthCCW);
|
||||
dd.ClosedID = 87;
|
||||
dd.OpenedID = 88;
|
||||
dd.MoveToWorld(new Point3D(1007, 1119, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", dd);
|
||||
|
||||
LocalizedSign sign = new LocalizedSign(3026, 1113407); // Experimental Room Access
|
||||
sign.Movable = false;
|
||||
sign.MoveToWorld(new Point3D(980, 1119, -37), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", sign);
|
||||
|
||||
//Puzze Room
|
||||
PuzzleBox box = new PuzzleBox(PuzzleType.WestBox);
|
||||
box.MoveToWorld(new Point3D(1090, 1171, 11), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", box);
|
||||
|
||||
box = new PuzzleBox(PuzzleType.EastBox);
|
||||
box.MoveToWorld(new Point3D(1104, 1171, 11), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", box);
|
||||
|
||||
box = new PuzzleBox(PuzzleType.NorthBox);
|
||||
box.MoveToWorld(new Point3D(1097, 1163, 11), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", box);
|
||||
|
||||
PuzzleBook book = new PuzzleBook();
|
||||
book.Movable = false;
|
||||
book.MoveToWorld(new Point3D(1109, 1153, -17), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", book);
|
||||
|
||||
PuzzleRoomTeleporter tele = new PuzzleRoomTeleporter();
|
||||
tele.PointDest = new Point3D(1097, 1173, 1);
|
||||
tele.MapDest = Map.TerMur;
|
||||
tele.MoveToWorld(new Point3D(1097, 1175, 0), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tele);
|
||||
|
||||
tele = new PuzzleRoomTeleporter();
|
||||
tele.PointDest = new Point3D(1098, 1173, 1);
|
||||
tele.MapDest = Map.TerMur;
|
||||
tele.MoveToWorld(new Point3D(1098, 1175, 0), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tele);
|
||||
|
||||
MetalDoor2 door2 = new MetalDoor2(DoorFacing.WestCCW);
|
||||
door2.Locked = true;
|
||||
door2.KeyValue = 50000;
|
||||
door2.MoveToWorld(new Point3D(1097, 1174, 1), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door2);
|
||||
|
||||
door2 = new MetalDoor2(DoorFacing.EastCW);
|
||||
door2.Locked = true;
|
||||
door2.KeyValue = 50000;
|
||||
door2.MoveToWorld(new Point3D(1098, 1174, 1), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", door);
|
||||
|
||||
Teleporter telep = new Teleporter();
|
||||
telep.PointDest = new Point3D(1097, 1175, 0);
|
||||
telep.MapDest = Map.TerMur;
|
||||
telep.MoveToWorld(new Point3D(1097, 1173, 1), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", telep);
|
||||
|
||||
telep = new Teleporter();
|
||||
telep.PointDest = new Point3D(1098, 1175, 0);
|
||||
telep.MapDest = Map.TerMur;
|
||||
telep.MoveToWorld(new Point3D(1098, 1173, 1), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", telep);
|
||||
|
||||
telep = new Teleporter();
|
||||
telep.PointDest = new Point3D(996, 1117, -42);
|
||||
telep.MapDest = Map.TerMur;
|
||||
telep.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", telep);
|
||||
|
||||
Static sparkle = new Static(14138);
|
||||
sparkle.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", sparkle);
|
||||
|
||||
//Maze of Death
|
||||
UnderworldPuzzleBox pBox = new UnderworldPuzzleBox();
|
||||
pBox.MoveToWorld(new Point3D(1068, 1026, -37), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", pBox);
|
||||
|
||||
GoldenCompass compass = new GoldenCompass();
|
||||
compass.MoveToWorld(new Point3D(1070, 1055, -34), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", compass);
|
||||
|
||||
Item map = new RolledMapOfTheUnderworld();
|
||||
map.MoveToWorld(new Point3D(1072, 1055, -36), Map.TerMur);
|
||||
map.Movable = false;
|
||||
WeakEntityCollection.Add("sa", map);
|
||||
|
||||
FountainOfFortune f = new FountainOfFortune();
|
||||
f.MoveToWorld(new Point3D(1121, 957, -42), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", f);
|
||||
|
||||
Item tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1121, 965, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1122, 965, -40), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1123, 965, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1124, 965, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1122, 964, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1123, 964, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1123, 963, -40), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1123, 962, -40), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1123, 961, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1122, 961, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1122, 960, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1121, 960, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new InvisibleTile();
|
||||
tile.MoveToWorld(new Point3D(1121, 959, -41), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
GenerateRevealTiles();
|
||||
CheckCannoneers();
|
||||
|
||||
Console.WriteLine("Experimental Room, Puzzle Room and Maze of Death initialized.");
|
||||
}
|
||||
|
||||
public static void GenerateRevealTiles()
|
||||
{
|
||||
Map map = Map.TerMur;
|
||||
|
||||
for (int x = 1182; x <= 1192; x++)
|
||||
{
|
||||
for (int y = 1120; y <= 1134; y++)
|
||||
{
|
||||
if (map != null && map.CanSpawnMobile(x, y, -42))
|
||||
{
|
||||
var t = new RevealTile();
|
||||
t.MoveToWorld(new Point3D(x, y, -42), map);
|
||||
WeakEntityCollection.Add("sa", t);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var tile = new RevealTile();
|
||||
tile.MoveToWorld(new Point3D(1180, 883, 0), map);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new RevealTile();
|
||||
tile.MoveToWorld(new Point3D(1180, 882, 0), map);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new RevealTile();
|
||||
tile.MoveToWorld(new Point3D(1180, 881, 0), map);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new RevealTile();
|
||||
tile.MoveToWorld(new Point3D(1180, 880, 0), map);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
|
||||
tile = new RevealTile();
|
||||
tile.MoveToWorld(new Point3D(1180, 879, 0), map);
|
||||
WeakEntityCollection.Add("sa", tile);
|
||||
}
|
||||
|
||||
public static void CheckCannoneers()
|
||||
{
|
||||
Cannon cannon = Map.TerMur.FindItem<Cannon>(new Point3D(1126, 1200, -2));
|
||||
MilitiaCanoneer cannoneer = null;
|
||||
|
||||
if (cannon == null)
|
||||
{
|
||||
cannon = new Cannon(CannonDirection.North);
|
||||
cannon.MoveToWorld(new Point3D(1126, 1200, -2), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", cannon);
|
||||
}
|
||||
|
||||
cannoneer = Map.TerMur.FindMobile<MilitiaCanoneer>(new Point3D(1126, 1203, -2));
|
||||
|
||||
if (cannoneer == null)
|
||||
{
|
||||
cannoneer = new MilitiaCanoneer();
|
||||
cannoneer.MoveToWorld(new Point3D(1126, 1203, -2), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", cannoneer);
|
||||
|
||||
}
|
||||
|
||||
cannon.Canoneer = cannoneer;
|
||||
|
||||
cannon = Map.TerMur.FindItem<Cannon>(new Point3D(1131, 1200, -2));
|
||||
cannoneer = null;
|
||||
|
||||
if (cannon == null)
|
||||
{
|
||||
cannon = new Cannon(CannonDirection.North);
|
||||
cannon.MoveToWorld(new Point3D(1131, 1200, -2), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", cannon);
|
||||
}
|
||||
|
||||
cannoneer = Map.TerMur.FindMobile<MilitiaCanoneer>(new Point3D(1131, 1203, -2));
|
||||
|
||||
if (cannoneer == null)
|
||||
{
|
||||
cannoneer = new MilitiaCanoneer();
|
||||
cannoneer.MoveToWorld(new Point3D(1131, 1203, -2), Map.TerMur);
|
||||
WeakEntityCollection.Add("sa", cannoneer);
|
||||
}
|
||||
|
||||
cannon.Canoneer = cannoneer;
|
||||
}
|
||||
|
||||
private static bool FindItem(Point3D p, Map map)
|
||||
{
|
||||
IPooledEnumerable eable = map.GetItemsInRange(p, 0);
|
||||
|
||||
foreach (Item item in eable)
|
||||
{
|
||||
eable.Free();
|
||||
return true;
|
||||
}
|
||||
|
||||
eable.Free();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user