예제 #1
0
        public override void OnDoubleClick(Mobile from)
        {
            PlayerMobile pm = from as PlayerMobile;

            if (pm != null)
            {
                if (pm.Map != this.Map || !pm.InRange(GetWorldLocation(), 2))
                {
                    pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045);                       // I can't reach that.
                }
                else if (pm.Backpack.FindItemByType <GoldenCompass>() != null)
                {
                    pm.SendLocalizedMessage(501885);                       // You already own one of those!
                }
                else
                {
                    GoldenCompass compass = new GoldenCompass();

                    if (pm.PlaceInBackpack(compass))
                    {
                        pm.SendLocalizedMessage(1072223);                           // An item has been placed in your backpack.
                        compass.SendTimeRemainingMessage(pm);
                    }
                    else
                    {
                        compass.Delete();
                    }
                }
            }
        }
예제 #2
0
        public override void OnDoubleClick(Mobile from)
        {
            if (IsChildOf(from.Backpack))
            {
                if (from.Region != null && from.Region.IsPartOf <MazeOfDeathRegion>())
                {
                    from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1113585); // The compass' arrows flicker. You must be near the right location.
                }
                else
                {
                    from.SendLocalizedMessage(1155663); // Nothing happens.
                }
            }
            else if (RootParent == null && !Movable && !IsLockedDown && !IsSecure)
            {
                if (from.InRange(GetWorldLocation(), 3))
                {
                    if (from.Backpack != null && m_Span == 0)
                    {
                        if (from.Backpack.FindItemByType(typeof(GoldenCompass)) == null)
                        {
                            GoldenCompass gc = new GoldenCompass();

                            if (from.PlaceInBackpack(gc))
                            {
                                gc.StartTimer();
                                from.Backpack.DropItem(gc);
                                from.SendLocalizedMessage(1072223); // An item has been placed in your backpack.
                                gc.SendTimeRemainingMessage(from);
                            }
                            else
                            {
                                gc.Delete();
                            }
                        }
                        else
                        {
                            from.SendLocalizedMessage(501885); // You already own one of those!
                        }
                    }
                }
                else
                {
                    from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
                }
            }
        }
예제 #3
0
 public override void OnDoubleClick(Mobile from)
 {
     if (IsChildOf(from.Backpack) && from.Region != null && from.Region.IsPartOf(typeof(MazeOfDeathRegion)))
     {
         from.CloseGump(typeof(CompassDirectionGump));
         from.SendGump(new CompassDirectionGump(from));
     }
     else if (RootParent == null && from.InRange(GetWorldLocation(), 3) && !Movable && !IsLockedDown && !IsSecure)
     {
         if (from.Backpack != null && m_Span == 0 && from.Backpack.FindItemByType(typeof(GoldenCompass)) == null)
         {
             GoldenCompass c = new GoldenCompass();
             c.StartTimer();
             from.Backpack.DropItem(c);
             from.SendLocalizedMessage(1113584); // Please return what you borrow!
         }
     }
 }
예제 #4
0
 public override void OnDoubleClick(Mobile from)
 {
     if (IsChildOf(from.Backpack) && from.Region != null && from.Region.IsPartOf(typeof(MazeOfDeathRegion)))
     {
         from.CloseGump(typeof(CompassDirectionGump));
         from.SendGump(new CompassDirectionGump(from));
     }
     else if (RootParent == null && from.InRange(GetWorldLocation(), 3) && !Movable && !IsLockedDown && !IsSecure)
     {
         if (from.Backpack != null && m_Span == 0 && from.Backpack.FindItemByType(typeof(GoldenCompass)) == null)
         {
             GoldenCompass c = new GoldenCompass();
             c.StartTimer();
             from.Backpack.DropItem(c);
             from.SendLocalizedMessage(1113584); // Please return what you borrow!
         }
     }
 }
예제 #5
0
        public override void OnDoubleClick( Mobile from )
        {
            PlayerMobile pm = from as PlayerMobile;

            if ( pm != null )
            {
                if ( pm.Map != this.Map || !pm.InRange( GetWorldLocation(), 2 ) )
                    pm.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
                else if ( pm.Backpack.FindItemByType<GoldenCompass>() != null )
                    pm.SendLocalizedMessage( 501885 ); // You already own one of those!
                else
                {
                    GoldenCompass compass = new GoldenCompass();

                    if ( pm.PlaceInBackpack( compass ) )
                    {
                        pm.SendLocalizedMessage( 1072223 ); // An item has been placed in your backpack.
                        compass.SendTimeRemainingMessage( pm );
                    }
                    else
                        compass.Delete();
                }
            }
        }
예제 #6
0
        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.");
        }
예제 #7
0
파일: Generate.cs 프로젝트: g4idrijs/ServUO
        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.");
        }
예제 #8
0
        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.");
        }