Beispiel #1
0
        public static void Generate(Map map)
        {
            DungeonHitchingPost post = new DungeonHitchingPost();
            post.MoveToWorld(new Point3D(6428, 2677, 0), map);

            MetalDoor door = new MetalDoor(DoorFacing.WestCCW);
            door.MoveToWorld(new Point3D(6409, 2695, 0), map);

            door = new MetalDoor(DoorFacing.EastCW);
            door.MoveToWorld(new Point3D(6410, 2695, 0), map);

            door = new MetalDoor(DoorFacing.WestCW);
            door.MoveToWorld(new Point3D(6409, 2664, 0), map);

            door = new MetalDoor(DoorFacing.EastCCW);
            door.MoveToWorld(new Point3D(6410, 2664, 0), map);

            door = new MetalDoor(DoorFacing.SouthCW);
            door.MoveToWorld(new Point3D(6394, 2680, 0), map);

            door = new MetalDoor(DoorFacing.NorthCCW);
            door.MoveToWorld(new Point3D(6394, 2679, 0), map);

            door = new MetalDoor(DoorFacing.NorthCW);
            door.MoveToWorld(new Point3D(6425, 2679, 0), map);

            door = new MetalDoor(DoorFacing.SouthCCW);
            door.MoveToWorld(new Point3D(6425, 2680, 0), map);

            // Tram ones already exist on create world teleporter section
            if (map == Map.Felucca)
            {
                Teleporter tele = new Teleporter(new Point3D(1517, 1417, 9), map);
                tele.MoveToWorld(new Point3D(6440, 2677, 20), map);

                tele = new Teleporter(new Point3D(1517, 1418, 9), map);
                tele.MoveToWorld(new Point3D(6440, 2678, 20), map);

                tele = new Teleporter(new Point3D(1517, 1419, 9), map);
                tele.MoveToWorld(new Point3D(6440, 2679, 20), map);

                tele = new Teleporter(new Point3D(1517, 1420, 9), map);
                tele.MoveToWorld(new Point3D(6440, 2680, 20), map);

                tele = new Teleporter(new Point3D(1517, 1420, 9), map);
                tele.MoveToWorld(new Point3D(6440, 2681, 20), map);

                tele = new Teleporter(new Point3D(6440, 2677, 20), map);
                tele.MoveToWorld(new Point3D(1517, 1417, 9), map);

                tele = new Teleporter(new Point3D(6440, 2678, 20), map);
                tele.MoveToWorld(new Point3D(1517, 1418, 9), map);

                tele = new Teleporter(new Point3D(6440, 2679, 20), map);
                tele.MoveToWorld(new Point3D(1517, 1419, 9), map);

                tele = new Teleporter(new Point3D(6440, 2680, 20), map);
                tele.MoveToWorld(new Point3D(1517, 1420, 12), map);
            }
        }
Beispiel #2
0
		public static BaseDoor CreateDoorSet( int xDoor, int yDoor, bool doorEastToWest, int hue )
		{
			BaseDoor hiDoor = new MetalDoor( doorEastToWest ? DoorFacing.NorthCCW : DoorFacing.WestCW );
			BaseDoor loDoor = new MetalDoor( doorEastToWest ? DoorFacing.SouthCW : DoorFacing.EastCCW );

			hiDoor.MoveToWorld( new Point3D( xDoor, yDoor, -1 ), Map.Malas );
			loDoor.MoveToWorld( new Point3D( xDoor + (doorEastToWest ? 0 : 1), yDoor + (doorEastToWest ? 1 : 0), -1 ), Map.Malas );

			hiDoor.Link = loDoor;
			loDoor.Link = hiDoor;

			hiDoor.Hue = hue;
			loDoor.Hue = hue;

			return hiDoor;
		}
		// 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;
		}