// Create the appropriate item class - Defaults to a Static Item private Item CreateItem(int ItemID) { Item item = null; switch(ItemID) { // Don't import nodraw, node crystals, odd items, etc. // Add any unwanted items here. // TODO: Boat parts: planks, tillerman, etc. case 0x0001: case 0x1F19: case 0x0FB7: break; /* * Put all usable items here, for example, forges, anvils, * training dummies, lights, containers, messageboards, etc. * We'll need to wait until some of them are scripted. * * The following are some examples, I intend to finish things * up as quickly as I can. */ case 0x0FB1: //forge item = new SmallForgeAddon(); break; case 0x0FAF: //anvil east item = new AnvilEastAddon(); break; case 0x0FB0: //anvil south item = new AnvilSouthAddon(); break; // TODO: Gates /* * Now create all of the doors according to graphic. * NOTE: Some doors seem to open the wrong way, but * there's no way to determine correct CCW/CW * from the POL file. */ // Metal Doors 2 case 0x0675: item = new MetalDoor2( DoorFacing.WestCW ); break; case 0x0677: item = new MetalDoor2( DoorFacing.EastCCW ); break; case 0x067D: item = new MetalDoor2( DoorFacing.SouthCW ); break; case 0x067F: item = new MetalDoor2( DoorFacing.NorthCCW ); break; // Barred Metal Doors case 0x0685: item = new BarredMetalDoor( DoorFacing.WestCW ); break; case 0x0687: item = new BarredMetalDoor( DoorFacing.EastCCW ); break; case 0x068D: item = new BarredMetalDoor( DoorFacing.SouthCW ); break; case 0x068F: item = new BarredMetalDoor( DoorFacing.NorthCCW ); break; // Rattan Doors case 0x0695: item = new RattanDoor( DoorFacing.WestCW ); break; case 0x0697: item = new RattanDoor( DoorFacing.EastCCW ); break; case 0x069D: item = new RattanDoor( DoorFacing.SouthCW ); break; case 0x069F: item = new RattanDoor( DoorFacing.NorthCCW ); break; // Dark Wood Doors case 0x06A5: item = new DarkWoodDoor( DoorFacing.WestCW ); break; case 0x06A7: item = new DarkWoodDoor( DoorFacing.EastCCW ); break; case 0x06AD: item = new DarkWoodDoor( DoorFacing.SouthCW ); break; case 0x06AF: item = new DarkWoodDoor( DoorFacing.NorthCCW ); break; // Medium Wood Doors case 0x06B5: item = new MediumWoodDoor( DoorFacing.WestCW ); break; case 0x06B7: item = new MediumWoodDoor( DoorFacing.EastCCW ); break; case 0x06BD: item = new MediumWoodDoor( DoorFacing.SouthCW ); break; case 0x06BF: item = new MediumWoodDoor( DoorFacing.NorthCCW ); break; // Metal Doors case 0x06C5: item = new MetalDoor( DoorFacing.WestCW ); break; case 0x06C7: item = new MetalDoor( DoorFacing.EastCCW ); break; case 0x06CD: item = new MetalDoor( DoorFacing.SouthCW ); break; case 0x06CF: item = new MetalDoor( DoorFacing.NorthCCW ); break; // Light Wood Doors case 0x06D5: item = new LightWoodDoor( DoorFacing.WestCW ); break; case 0x06D7: item = new LightWoodDoor( DoorFacing.EastCCW ); break; case 0x06DD: item = new LightWoodDoor( DoorFacing.SouthCW ); break; case 0x06DF: item = new LightWoodDoor( DoorFacing.NorthCCW ); break; // Strong Wood Doors case 0x06E5: item = new StrongWoodDoor( DoorFacing.WestCW ); break; case 0x06E7: item = new StrongWoodDoor( DoorFacing.EastCCW ); break; case 0x06ED: item = new StrongWoodDoor( DoorFacing.SouthCW ); break; case 0x06EF: item = new StrongWoodDoor( DoorFacing.NorthCCW ); break; default: item = new Static(ItemID); item.Movable = false; break; } return item; }
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); 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); //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); 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); //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); 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); //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); 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); ExperimentalRoomChest chest = new ExperimentalRoomChest(); chest.MoveToWorld(new Point3D(984, 1064, -37), Map.TerMur); ExperimentalBook instr = new ExperimentalBook(); instr.Movable = false; instr.MoveToWorld(new Point3D(995, 1114, -36), Map.TerMur); SecretDungeonDoor dd = new SecretDungeonDoor(DoorFacing.NorthCCW); dd.ClosedID = 87; dd.OpenedID = 88; dd.MoveToWorld(new Point3D(1007, 1119, -42), Map.TerMur); LocalizedSign sign = new LocalizedSign(3026, 1113407); // Experimental Room Access sign.Movable = false; sign.MoveToWorld(new Point3D(980, 1119, -37), Map.TerMur); //Puzze Room PuzzleBox box = new PuzzleBox(PuzzleType.WestBox); box.MoveToWorld(new Point3D(1090, 1171, 11), Map.TerMur); box = new PuzzleBox(PuzzleType.EastBox); box.MoveToWorld(new Point3D(1104, 1171, 11), Map.TerMur); box = new PuzzleBox(PuzzleType.NorthBox); box.MoveToWorld(new Point3D(1097, 1163, 11), Map.TerMur); XmlSpawner spawner = new XmlSpawner("MagicKey"); spawner.MoveToWorld(new Point3D(1109, 1150, -12), Map.TerMur); spawner.SpawnRange = 0; spawner.MinDelay = TimeSpan.FromSeconds(30); spawner.MaxDelay = TimeSpan.FromSeconds(45); spawner.DoRespawn = true; PuzzleBook book = new PuzzleBook(); book.Movable = false; book.MoveToWorld(new Point3D(1109, 1153, -17), Map.TerMur); PuzzleRoomTeleporter tele = new PuzzleRoomTeleporter(); tele.PointDest = new Point3D(1097, 1173, 1); tele.MapDest = Map.TerMur; tele.MoveToWorld(new Point3D(1097, 1175, 0), Map.TerMur); tele = new PuzzleRoomTeleporter(); tele.PointDest = new Point3D(1098, 1173, 1); tele.MapDest = Map.TerMur; tele.MoveToWorld(new Point3D(1098, 1175, 0), Map.TerMur); MetalDoor2 door2 = new MetalDoor2(DoorFacing.WestCCW); door2.Locked = true; door2.KeyValue = 50000; door2.MoveToWorld(new Point3D(1097, 1174, 1), Map.TerMur); door2 = new MetalDoor2(DoorFacing.EastCW); door2.Locked = true; door2.KeyValue = 50000; door2.MoveToWorld(new Point3D(1098, 1174, 1), Map.TerMur); Teleporter telep = new Teleporter(); telep.PointDest = new Point3D(1097, 1175, 0); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(1097, 1173, 1), Map.TerMur); telep = new Teleporter(); telep.PointDest = new Point3D(1098, 1175, 0); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(1098, 1173, 1), Map.TerMur); telep = new Teleporter(); telep.PointDest = new Point3D(996, 1117, -42); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur); Static sparkle = new Static(14138); sparkle.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur); //Maze of Death UnderworldPuzzleBox pBox = new UnderworldPuzzleBox(); pBox.MoveToWorld(new Point3D(1068, 1026, -37), Map.TerMur); GoldenCompass compass = new GoldenCompass(); compass.MoveToWorld(new Point3D(1070, 1055, -34), Map.TerMur); Item map = new RolledMapOfTheUnderworld(); map.MoveToWorld(new Point3D(1072, 1055, -36), Map.TerMur); map.Movable = false; FountainOfFortune f = new FountainOfFortune(); f.MoveToWorld(new Point3D(1121, 962, -42), Map.TerMur); Console.WriteLine("Experimental Room, Puzzle Room and Maze of Death initialized."); }
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); 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); //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); 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); //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); 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); //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); 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); ExperimentalRoomChest chest = new ExperimentalRoomChest(); chest.MoveToWorld(new Point3D(984, 1064, -37), Map.TerMur); ExperimentalBook instr = new ExperimentalBook(); instr.Movable = false; instr.MoveToWorld(new Point3D(995, 1114, -36), Map.TerMur); SecretDungeonDoor dd = new SecretDungeonDoor(DoorFacing.NorthCCW); dd.ClosedID = 87; dd.OpenedID = 88; dd.MoveToWorld(new Point3D(1007, 1119, -42), Map.TerMur); LocalizedSign sign = new LocalizedSign(3026, 1113407); // Experimental Room Access sign.Movable = false; sign.MoveToWorld(new Point3D(980, 1119, -37), Map.TerMur); //Puzze Room PuzzleBox box = new PuzzleBox(PuzzleType.WestBox); box.MoveToWorld(new Point3D(1090, 1171, 11), Map.TerMur); box = new PuzzleBox(PuzzleType.EastBox); box.MoveToWorld(new Point3D(1104, 1171, 11), Map.TerMur); box = new PuzzleBox(PuzzleType.NorthBox); box.MoveToWorld(new Point3D(1097, 1163, 11), Map.TerMur); XmlSpawner spawner = new XmlSpawner("MagicKey"); spawner.MoveToWorld(new Point3D(1109, 1150, -12), Map.TerMur); spawner.SpawnRange = 0; spawner.MinDelay = TimeSpan.FromSeconds(30); spawner.MaxDelay = TimeSpan.FromSeconds(45); spawner.DoRespawn = true; PuzzleBook book = new PuzzleBook(); book.Movable = false; book.MoveToWorld(new Point3D(1109, 1153, -17), Map.TerMur); PuzzleRoomTeleporter tele = new PuzzleRoomTeleporter(); tele.PointDest = new Point3D(1097, 1173, 1); tele.MapDest = Map.TerMur; tele.MoveToWorld(new Point3D(1097, 1175, 0), Map.TerMur); tele = new PuzzleRoomTeleporter(); tele.PointDest = new Point3D(1098, 1173, 1); tele.MapDest = Map.TerMur; tele.MoveToWorld(new Point3D(1098, 1175, 0), Map.TerMur); MetalDoor2 door2 = new MetalDoor2(DoorFacing.WestCCW); door2.Locked = true; door2.KeyValue = 50000; door2.MoveToWorld(new Point3D(1097, 1174, 1), Map.TerMur); door2 = new MetalDoor2(DoorFacing.EastCW); door2.Locked = true; door2.KeyValue = 50000; door2.MoveToWorld(new Point3D(1098, 1174, 1), Map.TerMur); Teleporter telep = new Teleporter(); telep.PointDest = new Point3D(1097, 1175, 0); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(1097, 1173, 1), Map.TerMur); telep = new Teleporter(); telep.PointDest = new Point3D(1098, 1175, 0); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(1098, 1173, 1), Map.TerMur); telep = new Teleporter(); telep.PointDest = new Point3D(996, 1117, -42); telep.MapDest = Map.TerMur; telep.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur); Static sparkle = new Static(14138); sparkle.MoveToWorld(new Point3D(980, 1064, -42), Map.TerMur); //Maze of Death UnderworldPuzzleBox pBox = new UnderworldPuzzleBox(); pBox.MoveToWorld(new Point3D(1068, 1026, -37), Map.TerMur); GoldenCompass compass = new GoldenCompass(); compass.MoveToWorld(new Point3D(1070, 1055, -34), Map.TerMur); Item map = new RolledMapOfTheUnderworld(); map.MoveToWorld(new Point3D(1072, 1055, -36), Map.TerMur); map.Movable = false; FountainOfFortune f = new FountainOfFortune(); f.MoveToWorld(new Point3D(1121, 957, -42), Map.TerMur); Item tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1121, 965, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1122, 965, -40), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1123, 965, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1124, 965, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1122, 964, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1123, 964, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1123, 963, -40), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1123, 962, -40), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1123, 961, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1122, 961, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1122, 960, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1121, 960, -41), Map.TerMur); tile = new InvisibleTile(); tile.MoveToWorld(new Point3D(1121, 959, -41), Map.TerMur); Console.WriteLine("Experimental Room, Puzzle Room and Maze of Death initialized."); }
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 { Movable = false }; instr.MoveToWorld(new Point3D(995, 1114, -36), Map.TerMur); WeakEntityCollection.Add("sa", instr); SecretDungeonDoor dd = new SecretDungeonDoor(DoorFacing.NorthCCW) { ClosedID = 87, OpenedID = 88 }; dd.MoveToWorld(new Point3D(1007, 1119, -42), Map.TerMur); WeakEntityCollection.Add("sa", dd); LocalizedSign sign = new LocalizedSign(3026, 1113407) { Movable = false }; // Experimental Room Access 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 { Movable = false }; book.MoveToWorld(new Point3D(1109, 1153, -17), Map.TerMur); WeakEntityCollection.Add("sa", book); PuzzleRoomTeleporter tele = new PuzzleRoomTeleporter { PointDest = new Point3D(1097, 1173, 1), MapDest = Map.TerMur }; tele.MoveToWorld(new Point3D(1097, 1175, 0), Map.TerMur); WeakEntityCollection.Add("sa", tele); tele = new PuzzleRoomTeleporter { PointDest = new Point3D(1098, 1173, 1), MapDest = Map.TerMur }; tele.MoveToWorld(new Point3D(1098, 1175, 0), Map.TerMur); WeakEntityCollection.Add("sa", tele); MetalDoor2 door2 = new MetalDoor2(DoorFacing.WestCCW) { Locked = true, KeyValue = 50000 }; door2.MoveToWorld(new Point3D(1097, 1174, 1), Map.TerMur); WeakEntityCollection.Add("sa", door2); door2 = new MetalDoor2(DoorFacing.EastCW) { Locked = true, KeyValue = 50000 }; door2.MoveToWorld(new Point3D(1098, 1174, 1), Map.TerMur); WeakEntityCollection.Add("sa", door); Teleporter telep = new Teleporter { PointDest = new Point3D(1097, 1175, 0), MapDest = Map.TerMur }; telep.MoveToWorld(new Point3D(1097, 1173, 1), Map.TerMur); WeakEntityCollection.Add("sa", telep); telep = new Teleporter { PointDest = new Point3D(1098, 1175, 0), MapDest = Map.TerMur }; telep.MoveToWorld(new Point3D(1098, 1173, 1), Map.TerMur); WeakEntityCollection.Add("sa", telep); telep = new Teleporter { PointDest = new Point3D(996, 1117, -42), 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."); }