Esempio n. 1
0
        /// <summary>
        /// load all keeps from the DB
        /// </summary>
        /// <returns></returns>
        public virtual bool Load()
        {
            // first check the regions we manage
            foreach (Region r in WorldMgr.Regions.Values)
            {
                if (r.IsFrontier)
                {
                    m_frontierRegionsList.Add(r.ID);
                }
            }

            // default to NF if no frontier regions found
            if (m_frontierRegionsList.Count == 0)
            {
                m_frontierRegionsList.Add(DEFAULT_FRONTIERS_REGION);
            }

            ClothingMgr.LoadTemplates();

            //Dinberg - moved this here, battlegrounds must be loaded before keepcomponents are.
            LoadBattlegroundCaps();

            if (!ServerProperties.Properties.LOAD_KEEPS)
            {
                return(true);
            }

            lock (m_keepList.SyncRoot)
            {
                m_keepList.Clear();

                var keeps = GameServer.Database.SelectAllObjects <DBKeep>();
                foreach (DBKeep datakeep in keeps)
                {
                    Region keepRegion = WorldMgr.GetRegion(datakeep.Region);
                    if (keepRegion == null)
                    {
                        continue;
                    }

                    AbstractGameKeep keep;
                    if ((datakeep.KeepID >> 8) != 0 || ((datakeep.KeepID & 0xFF) > 150))
                    {
                        keep = keepRegion.CreateGameKeepTower();
                    }
                    else
                    {
                        keep = keepRegion.CreateGameKeep();
                    }

                    keep.Load(datakeep);
                    RegisterKeep(datakeep.KeepID, keep);
                }

                // This adds owner keeps to towers / portal keeps
                foreach (AbstractGameKeep keep in m_keepList.Values)
                {
                    GameKeepTower tower = keep as GameKeepTower;
                    if (tower != null)
                    {
                        int      index     = tower.KeepID & 0xFF;
                        GameKeep ownerKeep = GetKeepByID(index) as GameKeep;
                        if (ownerKeep != null)
                        {
                            ownerKeep.AddTower(tower);
                        }
                        tower.Keep        = ownerKeep;
                        tower.OwnerKeepID = index;

                        if (tower.OwnerKeepID < 10)
                        {
                            log.WarnFormat("Tower.OwnerKeepID < 10 for KeepID {0}. Doors on this tower will not be targetable! ({0} & 0xFF < 10). Choose a different KeepID to correct this issue.", tower.KeepID);
                        }
                    }
                }
                if (ServerProperties.Properties.USE_NEW_KEEPS == 2)
                {
                    log.ErrorFormat("ServerProperty USE_NEW_KEEPS is actually set to 2 but it is no longer used. Loading as if he were 0 but please set to 0 or 1 !");
                }

                // var keepcomponents = default(IList<DBKeepComponent>); Why was this done this way rather than being strictly typed?
                IList <DBKeepComponent> keepcomponents = null;

                if (ServerProperties.Properties.USE_NEW_KEEPS == 0 || ServerProperties.Properties.USE_NEW_KEEPS == 2)
                {
                    keepcomponents = DOLDB <DBKeepComponent> .SelectObjects(DB.Column(nameof(DBKeepComponent.Skin)).IsLessThan(20));
                }
                else if (ServerProperties.Properties.USE_NEW_KEEPS == 1)
                {
                    keepcomponents = DOLDB <DBKeepComponent> .SelectObjects(DB.Column(nameof(DBKeepComponent.Skin)).IsGreatherThan(20));
                }

                if (keepcomponents != null)
                {
                    keepcomponents
                    .GroupBy(x => x.KeepID)
                    .AsParallel()
                    .ForAll(components =>
                    {
                        foreach (DBKeepComponent component in components)
                        {
                            AbstractGameKeep keep = GetKeepByID(component.KeepID);
                            if (keep == null)
                            {
                                //missingKeeps = true;
                                continue;
                            }

                            GameKeepComponent gamecomponent = keep.CurrentRegion.CreateGameKeepComponent();
                            gamecomponent.LoadFromDatabase(component, keep);
                            keep.KeepComponents.Add(gamecomponent);
                        }
                    });
                }

                /*if (missingKeeps && log.IsWarnEnabled)
                 * {
                 *      log.WarnFormat("Some keeps not found while loading components, possibly old/new keeptypes.");
                 * }*/

                if (m_keepList.Count != 0)
                {
                    foreach (AbstractGameKeep keep in m_keepList.Values)
                    {
                        if (keep.KeepComponents.Count != 0)
                        {
                            keep.KeepComponents.Sort();
                        }
                    }
                }
                LoadHookPoints();

                log.Info("Loaded " + m_keepList.Count + " keeps successfully");
            }

            if (ServerProperties.Properties.USE_KEEP_BALANCING)
            {
                UpdateBaseLevels();
            }

            if (ServerProperties.Properties.USE_LIVE_KEEP_BONUSES)
            {
                KeepBonusMgr.UpdateCounts();
            }

            return(true);
        }
Esempio n. 2
0
		/// <summary>
		/// load all keeps from the DB
		/// </summary>
		/// <returns></returns>
		public static bool Load()
		{
			ClothingMgr.LoadTemplates();

            //Dinberg - moved this here, battlegrounds must be loaded before keepcomponents are.
            LoadBattlegroundCaps();

			if (!ServerProperties.Properties.LOAD_KEEPS)
				return true;

			lock (m_keeps.SyncRoot)
			{
				m_keeps.Clear();

				var keeps = GameServer.Database.SelectAllObjects<DBKeep>();
				foreach (DBKeep datakeep in keeps)
				{
					if (WorldMgr.GetRegion(datakeep.Region) == null)
						continue;

                    //Dinberg - checking whether the keep is old or new.
                    //The only way to do this is to examine the database entries for hookpoints and thus determine
                    //in this manner whether the keep is old, new or 'both'. A keep will be 'both' if it is found to
                    //have components of both sets, which is possible.

                    bool isOld = false;
                    bool isNew = false;

                    //I don't want to touch the loading order of hookpoints, as i think they may depend on the
                    //assumption keeps and towers are linked before population. So we will settle for a second
                    //query. It's on server start, so it wont impact running performance.

                    var currentKeepComponents = GameServer.Database.SelectObjects<DBKeepComponent>("`KeepID` = '" + datakeep.KeepID + "'");
				
                    //Pass through, and depending on the outcome of the components, determine the 'age' of the keep.
                    foreach (DBKeepComponent dum in currentKeepComponents)
                    {
                        if (dum.Skin >= 0 && dum.Skin <= 20) //these are the min/max ids for old keeps.
                            isOld = true;
                        if (dum.Skin > 20) //any skinID greater than this are ids for new keeps.
                            isNew = true;
                    }

                    //Now, consult server properties to decide our plan!

                    //Quote: ServerProperties.cs
                    //"use_new_keeps", "Keeps to load. 0 for Old Keeps, 1 for new keeps, 2 for both.", 2

                    if (ServerProperties.Properties.USE_NEW_KEEPS == 0 && isNew)
                        continue;

                    if (ServerProperties.Properties.USE_NEW_KEEPS == 1 && isOld)
                        continue;

                    //If we've got this far, we are permitted to load as per normal!

					AbstractGameKeep keep;
					if ((datakeep.KeepID >> 8) != 0)
					{
						keep = new GameKeepTower();
					}
					else
					{
						keep = new GameKeep();
					}

					keep.Load(datakeep);
					m_keeps.Add(datakeep.KeepID, keep);
				}

				// This adds owner keeps to towers / portal keeps
				foreach (AbstractGameKeep keep in m_keeps.Values)
				{
					GameKeepTower tower = keep as GameKeepTower;
					if (tower != null)
					{
						int index = tower.KeepID & 0xFF;
						GameKeep ownerKeep = getKeepByID(index) as GameKeep;
						if (ownerKeep != null)
						{
							ownerKeep.AddTower(tower);
						}
						tower.Keep = ownerKeep;
					}
				}

				bool missingKeeps = false;

				var keepcomponents = GameServer.Database.SelectAllObjects<DBKeepComponent>();
				foreach (DBKeepComponent component in keepcomponents)
				{
					// if use old keeps don't try to load new components
					if (ServerProperties.Properties.USE_NEW_KEEPS == 0 && IsNewKeepComponent(component.Skin))
						continue;
					
					// if use new keeps don't try and load old components
					if (ServerProperties.Properties.USE_NEW_KEEPS == 1 && !IsNewKeepComponent(component.Skin))
						continue;

					AbstractGameKeep keep = getKeepByID(component.KeepID);
					if (keep == null)
					{
						missingKeeps = true;
						continue;
					}
					GameKeepComponent gamecomponent = new GameKeepComponent();
					gamecomponent.LoadFromDatabase(component, keep);
					keep.KeepComponents.Add(gamecomponent);
				}

				if (missingKeeps && Logger.IsWarnEnabled)
				{
					Logger.WarnFormat("Some keeps not found while loading components, possibly old/new keeptype; see server properties");
				}

				if (m_keeps.Count != 0)
				{
					foreach (AbstractGameKeep keep in m_keeps.Values)
					{
						if (keep.KeepComponents.Count != 0)
							keep.KeepComponents.Sort();
					}
				}
				LoadHookPoints();

				Logger.Info("Loaded " + m_keeps.Count + " keeps successfully");
			}

			if (ServerProperties.Properties.USE_KEEP_BALANCING)
				UpdateBaseLevels();

			if (ServerProperties.Properties.USE_LIVE_KEEP_BONUSES)
				KeepBonusMgr.UpdateCounts();

			return true;
		}
Esempio n. 3
0
		public void OnCommand(GameClient client, string[] args)
		{
			if (args.Length == 1)
			{
				DisplaySyntax(client);
				return;
			}

			AbstractGameKeep myKeep = (AbstractGameKeep)client.Player.TempProperties.getProperty<object>(TEMP_KEEP_LAST, null);
			if (myKeep == null) myKeep = GameServer.KeepManager.GetKeepCloseToSpot(client.Player.CurrentRegionID, client.Player, 10000);
			
			switch (args[1])
			{
				#region FastCreate
				case "fastcreate":
					{
						#region DisplayTemplates
						if (args.Length < 5)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.FastCreate.TypeOfKeep"));
							int i = 1;
							foreach (string str in Enum.GetNames(typeof(eKeepTypes)))
							{
								DisplayMessage(client, "#" + i + ": " + str);
								i++;
							}
							return;
						}
						#endregion DisplayTemplates

						int keepType = 0;
						int keepID = 0;
						string keepName = "New Keep";

						try
						{
							keepType = Convert.ToInt32(args[2]);
							keepID = Convert.ToInt32(args[3]);
							keepName = String.Join(" ", args, 4, args.Length - 4);
						}
						catch
						{
							DisplayMessage(client, "Invalid parameter for Keep Type, Keep ID, or Keep Name");
							return;
						}

						if ((keepID >> 8) != 0 || GameServer.KeepManager.Keeps[keepID] != null)
						{
							DisplayMessage(client, "KeepID must be unused and less than 256.");
							return;
						}

						string createInfo = client.Player.Name + ";" + string.Format("/keep fastcreate {0} {1} {2}", keepType, keepID, keepName);

						GameKeep keep = new GameKeep();
						keep.DBKeep = new DBKeep(createInfo);
						keep.Name = keepName;
						keep.KeepID = keepID;
						keep.Level = (byte)ServerProperties.Properties.STARTING_KEEP_LEVEL;
						keep.BaseLevel = 50;
						keep.Realm = client.Player.Realm;
						keep.Region = client.Player.CurrentRegionID;
						keep.X = client.Player.X;
						keep.Y = client.Player.Y;
						keep.Z = client.Player.Z;
						keep.Heading = client.Player.Heading;

						if ((int)keepType < 8)
						{
							keep.KeepType = (AbstractGameKeep.eKeepType)keepType;
						}
						else
						{
							keep.KeepType = 0;
						}

						log.Debug("Keep creation: starting");

						// TODO: Add keep component to list in keep class

						// SQL to grab current keep components from a DB that works.  Replace keepID with the one you want to edit here.
						// Values below taken from Storm with working old style keeps
						// select concat(ID, ', ', skin, ', ', x, ', ', y, ', ', heading, ', ', height, ', ', health) as keepcomponent from keepcomponent where keepid = ### order by id;


						GameKeepComponent keepComp = null;
						
						switch ((eKeepTypes)keepType)
						{
								#region DunCrauchonBledmeerFasteCaerBenowyc
							case eKeepTypes.DunCrauchonBledmeerFasteCaerBenowyc:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 2, 251, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 1, 4, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 8, 250, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 8, 7, 251, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 2, 8, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 1, 249, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 8, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 249, 1, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 9, 2, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 13, 248, 4, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 2, 249, 7, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 8, 5, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 8, 7, 8, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 8, 250, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 2, 6, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 1, 253, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 9, 3, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 0, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 10, 4, 7, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 14, 2, 9, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunCrauchonBledmeerFasteCaerBenowyc
								#region DunCrimthainnNottmoorFasteCaerBerkstead
							case eKeepTypes.DunCrimthainnNottmoorFasteCaerBerkstead:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 4, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 251, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 8, 7, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 8, 250, 250, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 7, 250, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 7, 7, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 1, 7, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 1, 6, 1, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 1, 5, 4, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 0, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 9, 249, 3, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 7, 7, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 0, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 3, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 10, 251, 6, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 253, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 5, 250, 7, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 20, 250, 4, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 13, 249, 6, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunCrimthainnNottmoorFasteCaerBerkstead
								#region DunBolgHlidskialfFasteCaerErasleigh
							case eKeepTypes.DunBolgHlidskialfFasteCaerErasleigh:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 253, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 4, 246, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 3, 3, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 248, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 248, 3, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 7, 249, 0, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 248, 6, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 248, 9, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 1, 250, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 248, 250, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 255, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 13, 2, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 3, 6, 8, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 7, 6, 5, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 7, 3, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 2, 4, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 2, 5, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 2, 6, 2, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 10, 250, 8, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 4, 249, 13, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 2, 5, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 2, 252, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 20, 249, 6, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunBolgHlidskialfFasteCaerErasleigh
								#region DunnGedGlenlockFasteCaerBoldiam
							case eKeepTypes.DunnGedGlenlockFasteCaerBoldiam:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 3, 250, 246, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 2, 5, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 9, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 6, 254, 247, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 251, 243, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 0, 255, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 4, 8, 246, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 248, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 248, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 2, 249, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 4, 250, 9, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 1, 253, 7, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 0, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 1, 3, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 4, 7, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 1, 8, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 1, 7, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 1, 6, 3, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 1, 5, 6, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 10, 250, 4, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 1, 249, 249, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 13, 248, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 20, 249, 2, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunnGedGlenlockFasteCaerBoldiam
								#region DundaBehnnBlendrakeFasteCaerSursbrooke
							case eKeepTypes.DundaBehnnBlendrakeFasteCaerSursbrooke:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 4, 11, 247, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 5, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 0, 252, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 2, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 249, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 4, 245, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 247, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 247, 0, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 12, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 12, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 4, 14, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 248, 7, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 251, 5, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 7, 254, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 2, 10, 5, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 1, 1, 5, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 7, 4, 5, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 9, 8, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 12, 1, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 247, 3, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 13, 7, 6, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 10, 10, 252, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 17, 6, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DundaBehnnBlendrakeFasteCaerSursbrooke
								#region DunScathaigFensalirFasteCaerRenaris
							case eKeepTypes.DunScathaigFensalirFasteCaerRenaris:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 4, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 247, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 7, 246, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 249, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 8, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 8, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 7, 7, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 7, 250, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 13, 8, 3, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 8, 6, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 249, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 249, 8, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 4, 10, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 4, 250, 12, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 9, 6, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 253, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 0, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 9, 3, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 10, 3, 8, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 18, 252, 6, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunScathaigFensalirFasteCaerRenaris
								#region DunAilinneArvakrFasteCaerHurbury
							case eKeepTypes.DunAilinneArvakrFasteCaerHurbury:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 6, 4, 247, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 6, 253, 247, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 8, 243, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 248, 249, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 3, 250, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 3, 7, 246, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 4, 246, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 248, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 7, 249, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 248, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 7, 6, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 9, 247, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 9, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 7, 8, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 9, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 7, 8, 3, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 1, 8, 6, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 2, 249, 8, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 7, 253, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 13, 3, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 3, 7, 9, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 9, 248, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(23, 3, 250, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(24, 9, 0, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(25, 10, 251, 6, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(26, 14, 249, 4, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion DunAilinneArvakrFasteCaerHurbury
								#region FortBrolorn
							case eKeepTypes.FortBrolorn:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 3, 5, 255, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 3, 251, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 3, 250, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 3, 6, 3, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 8, 2, 10, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 253, 9, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 252, 254, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 3, 7, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 255, 254, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 6, 251, 6, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 6, 5, 6, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 2, 6, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 250, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 2, 254, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 8, 254, 10, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 19, 1, 11, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion FortBrolorn
								#region BG1_4
							case eKeepTypes.BG1_4:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 4, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 7, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 8, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 7, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 8, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 1, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 10, 2, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 6, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 3, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 0, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG1_4
								#region ClaimBG5_9
							case eKeepTypes.ClaimBG5_9:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 5, 5, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 5, 251, 249, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 7, 251, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 250, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 6, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 7, 5, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 6, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 5, 5, 3, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 4, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 1, 252, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 2, 2, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 9, 1, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 254, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 5, 251, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 250, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 19, 255, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion ClaimBG5_9
								#region BG5_9
							case eKeepTypes.BG5_9:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 4, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 7, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 8, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 7, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 8, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 1, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 10, 2, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 6, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 3, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 0, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG5_9
								#region CaerClaret
							case eKeepTypes.CaerClaret:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 252, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 4, 4, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 4, 250, 252, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 252, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 252, 2, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 5, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 5, 0, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 4, 253, 6, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 0, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 4, 7, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 3, 4, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CaerClaret
								#region BG10_14
							case eKeepTypes.BG10_14:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 4, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 7, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 8, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 7, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 8, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 1, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 10, 2, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 5, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 6, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 3, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 0, 3, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG10_14
								#region CKBG15_19
							case eKeepTypes.CKBG15_19:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 4, 247, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 4, 007, 247, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 4, 250, 010, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 010, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 0, 254, 251, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 2, 004, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 1, 251, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 1, 253, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 2, 006, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 000, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 003, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 1, 007, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 250, 006, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 2, 250, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 2, 007, 004, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 0, 004, 006, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 007, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 9, 007, 001, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 250, 003, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 250, 000, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG15_19
								#region BG15_19
							case eKeepTypes.BG15_19:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG15_19
								#region CKBG20_24
							case eKeepTypes.CKBG20_24:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 253, 251, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 3, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 250, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 6, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 246, 251, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 4, 9, 248, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 248, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 10, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 10, 002, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 248, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 248, 004, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 9, 10, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 10, 5, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 248, 7, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 4, 249, 11, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 4, 12, 8, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 255, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 9, 5, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 8, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 252, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 9, 2, 9, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 10, 253, 005, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG20_24
								#region BG20_24
							case eKeepTypes.BG20_24:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG20_24
								#region CKBG25_29
							case eKeepTypes.CKBG25_29:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 003, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 9, 000, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 246, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 011, 003, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 4, 247, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 4, 007, 246, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 4, 247, 009, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 4, 013, 006, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 1, 249, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 248, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 1, 247, 002, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 2, 008, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 2, 009, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 2, 010, 000, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 2, 009, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 2, 253, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 1, 006, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 1, 250, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 10, 006, 253, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG25_29
								#region BG25_29
							case eKeepTypes.BG25_29:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG25_29
								#region CKBG30_34
							case eKeepTypes.CKBG30_34:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 255, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 005, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 252, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 249, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 008, 247, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 4, 245, 250, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 247, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 247, 003, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 247, 000, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 009, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 009, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 1, 008, 001, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 1, 007, 004, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 2, 248, 006, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 3, 249, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 3, 006, 007, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 7, 252, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 7, 005, 007, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 255, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 002, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 10, 250, 004, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG30_34
								#region BG30_34
							case eKeepTypes.BG30_34:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG30_34
								#region CKBG35_39
							case eKeepTypes.CKBG35_39:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 246, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 008, 250, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 249, 252, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 249, 255, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 008, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 003, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 7, 250, 002, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 7, 007, 000, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 9, 249, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 10, 253, 253, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 008, 006, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 249, 008, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 4, 010, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 4, 250, 012, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 9, 253, 010, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 006, 010, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 7, 003, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 7, 000, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG35_39
								#region BG35_39
							case eKeepTypes.BG35_39:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG35_39
								#region TBG35_39
							case eKeepTypes.TBG35_39:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 11, 253, 004, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion TBG35_39
								#region TestCKBG40_44
							case eKeepTypes.TestCKBG40_44:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 004, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 001, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 251, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 248, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 7, 254, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 4, 244, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 5, 010, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 246, 250, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 246, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 011, 248, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 011, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 9, 011, 001, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 7, 247, 000, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 7, 010, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 4, 013, 004, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 6, 009, 007, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 6, 249, 007, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 3, 006, 008, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 3, 252, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 255, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 9, 005, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 7, 002, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 4, 248, 007, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(23, 2, 247, 003, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(24, 10, 254, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion TestCKBG40_44
								#region TestBG40_44
							case eKeepTypes.TestBG40_44:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion TestBG40_44
								#region TestTBG40_44
							case eKeepTypes.TestTBG40_44:
								{
									keep.KeepComponents.Add(keepComp);
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 11, 253, 004, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keepComp = new GameKeepComponent();
									break;
								}
								#endregion TestTBG40_44
								#region CKBG40_44
							case eKeepTypes.CKBG40_44:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 004, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 9, 001, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 9, 251, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 9, 248, 246, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 7, 254, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 4, 244, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 5, 010, 247, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 9, 246, 250, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 9, 246, 253, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 011, 248, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 011, 254, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 9, 011, 001, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 7, 247, 000, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 7, 010, 251, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 4, 013, 004, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 6, 009, 007, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 6, 249, 007, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(17, 3, 006, 008, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(18, 3, 252, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(19, 9, 255, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(20, 9, 005, 009, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(21, 7, 002, 008, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(22, 4, 248, 007, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(23, 2, 247, 003, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(24, 10, 254, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion CKBG40_44
								#region BG40_44
							case eKeepTypes.BG40_44:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 0, 254, 249, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(1, 1, 251, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(2, 2, 004, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(3, 4, 007, 245, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(4, 4, 247, 248, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(5, 9, 249, 251, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(6, 9, 008, 249, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(7, 7, 007, 252, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(8, 7, 250, 254, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(9, 9, 008, 255, 3, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(10, 9, 249, 001, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(11, 4, 010, 002, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(12, 4, 250, 005, 1, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(13, 9, 006, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(14, 9, 253, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(15, 9, 003, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(16, 9, 000, 003, 2, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion BG40_44
								#region TBG40_44
							case eKeepTypes.TBG40_44:
								{
									keepComp = new GameKeepComponent();
									keepComp.LoadFromDatabase(new DBKeepComponent(0, 11, 253, 004, 0, 0, 3200, keep.KeepID, createInfo), keep);
									keep.KeepComponents.Add(keepComp);
									break;
								}
								#endregion TBG40_44
								#region Default
							default:
								DisplayMessage(client, "Wrong type of keep");
								return;
								#endregion Default
						}

						log.Debug("Keep creation: used keep type " + ((eKeepTypes)keepType));

						client.Player.TempProperties.setProperty(TEMP_KEEP_LAST, keep);
						foreach (GameKeepComponent comp in keep.KeepComponents)
						{
							if (comp.InternalID != null)
								DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.FastCreate.CompCreated", comp.InternalID, comp.Keep.KeepID));

							comp.Health = comp.MaxHealth;
						}
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.FastCreate.KeepCreated"));

						log.Debug("Keep creation: check of components complete");

						foreach (GameClient c in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
						{
							c.Out.SendKeepInfo(keep);
							foreach (GameKeepComponent keepComponent in keep.KeepComponents)
							{
								c.Out.SendKeepComponentInfo(keepComponent);
							}
						}

						log.Debug("Keep creation: complete, saving");

						keep.SaveIntoDatabase();
						break;
					}
					#endregion FastCreate
				#region TowerCreate
				case "towercreate":
					{
						if (args.Length < 5)
						{
							DisplaySyntax(client);
							return;
						}

						int keepid = -1;
						if (!int.TryParse(args[2], out keepid))
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.InvalidKeepID"));
							return;
						}

						if (GameServer.KeepManager.GetKeepByID(keepid) != null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.KeepIDExists", keepid));
							return;
						}

						// Most //
						// Since the KeepManager consider a KeepID higher than 255 as a Tower KeepID
						// We must check that the client is not trying to create a tower with a lower KeepID
						if ((keepid >> 8) == 0)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.WrongKeepID", keepid));
							return;
						}

						byte baseLevel = 50;
						if (!byte.TryParse(args[3], out baseLevel))
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.InvalidBaseLev"));
							return;
						}

						string keepName = String.Join(" ", args, 4, args.Length - 4);

						string createInfo = client.Player.Name + ";" + string.Format("/keep towercreate {0} {1} {2}", keepid, baseLevel, keepName);

						DBKeep keep = new DBKeep(createInfo);
						keep.Name = keepName;
						keep.KeepID = keepid;
						keep.Level = 0;
						keep.Region = client.Player.CurrentRegionID;
						keep.X = client.Player.X;
						keep.Y = client.Player.Y;
						keep.Z = client.Player.Z;
						keep.Heading = client.Player.Heading;
						keep.BaseLevel = baseLevel;
						GameServer.Database.AddObject(keep);

						DBKeepComponent towerComponent = new DBKeepComponent(0, (int)GameKeepComponent.eComponentSkin.Tower, 0, 0, 0, 0, 3200, keep.KeepID, client.Player.Name + ";/keep towercreate");
						GameServer.Database.AddObject(towerComponent);

						GameKeepTower k = new GameKeepTower();
						k.Load(keep);
						new GameKeepComponent().LoadFromDatabase(towerComponent);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.CreatedSaved"));
						//send the creation packets
						foreach (GameClient c in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
						{
							c.Out.SendKeepInfo(k);
							c.Out.SendKeepComponentUpdate(k, false);

							foreach (GameKeepComponent keepComponent in k.KeepComponents)
							{
								c.Out.SendKeepComponentInfo(keepComponent);
								c.Out.SendKeepComponentDetailUpdate(keepComponent);
							}
						}
						break;
					}
					#endregion TowerCreate
				#region Create
				case "create":
					{
						if (args.Length < 6)
						{
							DisplaySyntax(client);
							return;
						}

						int keepid = 0;
						try
						{
							keepid = Convert.ToInt32(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}

						if (GameServer.KeepManager.GetKeepByID(keepid) != null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.KeepIDExists", keepid));
							return;
						}

						// Most //
						// Since the KeepManager consider a KeepID lower than 256 as a keep KeepID
						// We must check that the client is not trying to create a keep with a higher KeepID
						if ((keepid >> 8) != 0)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.TowerCreate.WrongKeepID", keepid));
							return;
						}

						byte baselevel = 0;
						try
						{
							baselevel = Convert.ToByte(args[3]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}

						int radius = 0;
						try
						{
							radius = Convert.ToInt32(args[4]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}

						string keepName = String.Join(" ", args, 5, args.Length - 5);

						string createInfo = client.Player.Name + ";" + string.Format("/keep create {0} {1} {2} {3}", keepid, baselevel, radius, keepName);

						DBKeep keep = new DBKeep(createInfo);
						keep.Name = keepName;
						keep.KeepID = keepid;
						keep.Level = 0;
						keep.Region = client.Player.CurrentRegionID;
						keep.X = client.Player.X;
						keep.Y = client.Player.Y;
						keep.Z = client.Player.Z;
						keep.Heading = client.Player.Heading;
						keep.BaseLevel = baselevel;
						GameServer.Database.AddObject(keep);

						GameKeep k = new GameKeep();
						k.Load(keep);

						if (radius > 0)
							k.Area.ChangeRadius(radius);

						foreach (IDoor door in client.Player.GetDoorsInRadius(3000))
						{
							(door as GameObject).RemoveFromWorld();
							GameKeepDoor d = new GameKeepDoor();
							d.CurrentRegionID = (ushort)keep.Region;
							d.Name = door.Name;
							d.Heading = (ushort)door.Heading;
							d.X = door.X;
							d.Y = door.Y;
							d.Z = door.Z;
							d.Level = 0;
							d.Model = 0xFFFF;
							d.DoorID = door.DoorID;
							d.State = eDoorState.Closed;

							DoorMgr.RegisterDoor(d);
							d.AddToWorld();

							d.Component = new GameKeepComponent();
							d.Component.Keep = k;
							d.Component.Keep.Doors[d.DoorID] = this;

							d.Health = d.MaxHealth;
							d.StartHealthRegeneration();

							(door as GameObject).Delete();
						}
						client.Player.TempProperties.setProperty(TEMP_KEEP_LAST, k);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.FastCreate.KeepCreated"));

						//send the creation packets
						foreach (GameClient c in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
						{
							c.Out.SendKeepInfo(k);
							foreach (GameKeepComponent keepComponent in k.KeepComponents)
							{
								c.Out.SendKeepComponentInfo(keepComponent);
							}
						}

                        GameServer.KeepManager.RegisterKeep(k.KeepID, k);
						break;
					}
					#endregion Create
				#region Remove
				case "remove":
					{
						KeepArea karea = null;
						foreach (AbstractArea area in client.Player.CurrentAreas)
						{
							if (area is KeepArea)
							{
								karea = area as KeepArea;
								break;
							}
						}

						if (karea == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.YourNotInAKeepArea"));
							return;
						}

						karea.Keep.Remove(karea);

						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.KeepUnloaded"));
						break;
					}
					#endregion Remove
				#region Name
				case "name":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						myKeep.Name = String.Join(" ", args, 2, args.Length - 2);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.YouChangeKeepName", myKeep.Name));
						break;
					}
					#endregion Name
				#region KeepID
				case "keepid":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						int keepid = 0;
						try
						{
							keepid = Convert.ToInt32(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}
						myKeep.KeepID = keepid;
						DisplayMessage(client, "You change the id of the current keep to " + keepid);
						break;
					}
					#endregion KeepID
				#region Level
				case "level":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						byte keepLevel = 0;
						try
						{
							keepLevel = Convert.ToByte(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}
						myKeep.ChangeLevel(keepLevel);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Level.YouChangeKeepLevel", keepLevel));
						break;
					}
					#endregion Level
				#region BaseLevel
				case "baselevel":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						byte keepLevel = 0;
						try
						{
							keepLevel = Convert.ToByte(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}
						myKeep.DBKeep.BaseLevel = keepLevel;
						myKeep.ChangeLevel(myKeep.Level);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.BaseLevel.YouChangeBaseLev", keepLevel));

						break;
					}
					#endregion BaseLevel
				#region Realm
				case "realm":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						eRealm realm = eRealm.None;
						try
						{
							realm = (eRealm)Convert.ToByte(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}
						myKeep.Reset(realm);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Realm.YouChangeKeepRealm", GlobalConstants.RealmToName(realm)));
						break;
					}
					#endregion Realm
				#region Radius
				case "radius":
					{
						if (args.Length < 3)
						{
							DisplaySyntax(client);
							return;
						}
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						int radius = 0;
						try
						{
							radius = Convert.ToInt32(args[2]);
						}
						catch
						{
							DisplaySyntax(client);
							return;
						}
						myKeep.Area.ChangeRadius(radius);
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Radius.YouChangeKeepRadius", radius));
						break;
					}
					#endregion Radius
				#region Save
				case "save":
					{
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}
						myKeep.SaveIntoDatabase();
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Save.KeepSavedInDatabase"));
						break;
					}
					#endregion Save
				#region AddTeleport
				case "addteleporter":
					{
						GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
						if (component != null)
						{
							DBKeepPosition pos = PositionMgr.CreatePosition(typeof(FrontiersPortalStone), 0, client.Player, Guid.NewGuid().ToString(), component);
							PositionMgr.AddPosition(pos);
							PositionMgr.FillPositions();
						}
						else
						{
							FrontiersPortalStone stone = new FrontiersPortalStone();
							stone.CurrentRegion = client.Player.CurrentRegion;
							stone.X = client.Player.X;
							stone.Y = client.Player.Y;
							stone.Z = client.Player.Z;
							stone.Heading = client.Player.Heading;
							stone.SaveIntoDatabase();
							stone.AddToWorld();
						}
						DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.AddTeleport.StoneAdded"));
						break;
					}
					#endregion AddTeleport
				#region AddBanner
				case "addbanner":
					{
						GameKeepBanner.eBannerType bannerType = GameKeepBanner.eBannerType.Realm;
						if (args.Length > 2)
						{
							switch (args[2].ToLower())
							{
									case "realm": bannerType = GameKeepBanner.eBannerType.Realm; break;
									case "guild": bannerType = GameKeepBanner.eBannerType.Guild; break;
									default: return;
							}
						}

						GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
						if (component != null)
						{
							DBKeepPosition pos = PositionMgr.CreatePosition(typeof(GameKeepBanner), 0, client.Player, Guid.NewGuid().ToString(), component);
							pos.TemplateType = (int)bannerType;
							GameServer.Database.SaveObject(pos);
							PositionMgr.AddPosition(pos);
							PositionMgr.FillPositions();
						}
						else
						{
							GameKeepBanner banner = new GameKeepBanner();
							banner.BannerType = bannerType;
							banner.CurrentRegion = client.Player.CurrentRegion;
							banner.X = client.Player.X;
							banner.Y = client.Player.Y;
							banner.Z = client.Player.Z;
							banner.Heading = client.Player.Heading;
							banner.SaveIntoDatabase();

							foreach (AbstractArea area in banner.CurrentAreas)
							{
								if (area is KeepArea)
								{
									AbstractGameKeep keep = (area as KeepArea).Keep;
									banner.Component = new GameKeepComponent();
									banner.Component.Keep = keep;
									banner.Component.Keep.Banners.Add(banner.InternalID, banner);
									break;
								}
							}

							if (banner.Component.Keep.Guild != null)
								banner.ChangeGuild();
							else banner.ChangeRealm();
							banner.AddToWorld();
						}
						DisplayMessage(client, "Banner added!");
						break;
					}
					#endregion Addbanner
				#region Move
				case "move":
					{
						if (client.Account.PrivLevel < 3)
							return;

						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}

						if (args.Length < 3)
						{
							// simple move to player location
							myKeep.X = client.Player.X;
							myKeep.Y = client.Player.Y;
							myKeep.Z = client.Player.Z;
							myKeep.Heading = client.Player.Heading;
						}
						else if (args.Length < 4)
						{
							DisplayMessage(client, "/keep move [direction] [amount]");
							return;
						}
						else
						{
							string direction = args[2];
							int amount = Convert.ToInt32(args[3]);

							switch (direction.ToLower())
							{
								case "x":
									myKeep.X += amount;
									break;

								case "y":
									myKeep.Y += amount;
									break;

								case "z":
									myKeep.Z += amount;
									break;

								case "h":

									if (amount < 0 && myKeep.Heading - Math.Abs(amount) < 0)
									{
										int diff = myKeep.Heading - Math.Abs(amount);
										myKeep.Heading = (ushort)(4095 + diff);
									}
									else
									{
										myKeep.Heading += (ushort)amount;
									}

									if (myKeep.Heading > 4095)
									{
										myKeep.Heading = (ushort)(myKeep.Heading - 4095);
									}

									break;

								default:
									break;
							}
						}

						foreach (GameClient c in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
						{
							c.Out.SendKeepRemove(myKeep);
							c.Out.SendKeepInfo(myKeep);
							foreach (GameKeepComponent keepComponent in myKeep.KeepComponents)
							{
								c.Out.SendKeepComponentInfo(keepComponent);
								c.Out.SendKeepComponentDetailUpdate(keepComponent);
							}
						}

						DisplayMessage(client, "Keep moved.  Don't forget to '/keep save' your changes.");

						break;
					}
				#endregion Move
				#region SkinType
				case "skintype":
					{
						if (myKeep == null)
						{
							DisplayMessage(client, LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Keep.Remove.MustCreateKeepFirst"));
							return;
						}

						try
						{
							byte skinType = Convert.ToByte(args[2]);

							if (skinType < 3)
							{
								myKeep.DBKeep.KeepSkinType = (eKeepSkinType)skinType;
								DisplayMessage(client, "Keep skin type changed to " + myKeep.DBKeep.KeepSkinType + ". Don't forget to '/keep save' your changes.");
							}
							else
							{
								DisplayMessage(client, "/keep skintype [0 = any, 1 = old, 2 = new]");
							}
						}
						catch
						{
							DisplayMessage(client, "/keep skintype [0 = any, 1 = old, 2 = new]");
						}

						break;
					}
				#endregion Move

					#region Default
				default:
					{
						DisplaySyntax(client);
						break;
					}
					#endregion Default
			}
		}
Esempio n. 4
0
        /// <summary>
        /// load all keeps from the DB
        /// </summary>
        /// <returns></returns>
        public virtual bool Load()
        {
            // first check the regions we manage
            foreach (Region r in WorldMgr.Regions.Values)
            {
                if (r.IsFrontier)
                {
                    m_frontierRegionsList.Add(r.ID);
                }
            }

            // default to NF if no frontier regions found
            if (m_frontierRegionsList.Count == 0)
            {
                m_frontierRegionsList.Add(DEFAULT_FRONTIERS_REGION);
            }

            ClothingMgr.LoadTemplates();

            //Dinberg - moved this here, battlegrounds must be loaded before keepcomponents are.
            LoadBattlegroundCaps();

            if (!ServerProperties.Properties.LOAD_KEEPS)
            {
                return(true);
            }

            lock (m_keepList.SyncRoot)
            {
                m_keepList.Clear();

                var keeps = GameServer.Database.SelectAllObjects <DBKeep>();
                foreach (DBKeep datakeep in keeps)
                {
                    Region keepRegion = WorldMgr.GetRegion(datakeep.Region);
                    if (keepRegion == null)
                    {
                        continue;
                    }

                    //Dinberg - checking whether the keep is old or new.
                    //The only way to do this is to examine the database entries for hookpoints and thus determine
                    //in this manner whether the keep is old, new or 'both'. A keep will be 'both' if it is found to
                    //have components of both sets, which is possible.

                    bool hasOldComponents = false;
                    bool hasNewComponents = false;

                    //I don't want to touch the loading order of hookpoints, as i think they may depend on the
                    //assumption keeps and towers are linked before population. So we will settle for a second
                    //query. It's on server start, so it wont impact running performance.

                    var currentKeepComponents = GameServer.Database.SelectObjects <DBKeepComponent>("`KeepID` = '" + datakeep.KeepID + "'");

                    //Pass through, and depending on the outcome of the components, determine the 'age' of the keep.
                    foreach (DBKeepComponent comp in currentKeepComponents)
                    {
                        if (comp.Skin >= 0 && comp.Skin <= 20) //these are the min/max ids for old keeps.
                        {
                            hasOldComponents = true;
                        }
                        if (comp.Skin > 20) //any skinID greater than this are ids for new keeps.
                        {
                            hasNewComponents = true;
                        }
                    }


                    if (datakeep.KeepSkinType != eKeepSkinType.Any)
                    {
                        if (datakeep.KeepSkinType == eKeepSkinType.New && hasNewComponents == false)
                        {
                            continue;
                        }
                        else if (datakeep.KeepSkinType == eKeepSkinType.Old && hasOldComponents == false)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        // Use server properties to determine correct keep to load
                        //"use_new_keeps", "Keeps to load. 0 for Old Keeps, 1 for new keeps, 2 for both.", 2

                        if (ServerProperties.Properties.USE_NEW_KEEPS == 0 && !hasOldComponents)
                        {
                            continue;
                        }

                        if (ServerProperties.Properties.USE_NEW_KEEPS == 1 && !hasNewComponents)
                        {
                            continue;
                        }
                    }

                    //If we've got this far, we are permitted to load as per normal!

                    AbstractGameKeep keep;
                    if ((datakeep.KeepID >> 8) != 0 || ((datakeep.KeepID & 0xFF) > 150))
                    {
                        keep = keepRegion.CreateGameKeepTower();
                    }
                    else
                    {
                        keep = keepRegion.CreateGameKeep();
                    }

                    keep.Load(datakeep);
                    RegisterKeep(datakeep.KeepID, keep);
                }

                // This adds owner keeps to towers / portal keeps
                foreach (AbstractGameKeep keep in m_keepList.Values)
                {
                    GameKeepTower tower = keep as GameKeepTower;
                    if (tower != null)
                    {
                        int      index     = tower.KeepID & 0xFF;
                        GameKeep ownerKeep = GetKeepByID(index) as GameKeep;
                        if (ownerKeep != null)
                        {
                            ownerKeep.AddTower(tower);
                        }
                        tower.Keep        = ownerKeep;
                        tower.OwnerKeepID = index;

                        if (tower.OwnerKeepID < 10)
                        {
                            log.WarnFormat("Tower.OwnerKeepID < 10 for KeepID {0}.  Doors on this tower will not be targetable! ({0} & 0xFF < 10).  Choose a different KeepID to correct this issue.", tower.KeepID);
                        }
                    }
                }

                bool missingKeeps = false;

                var keepcomponents = GameServer.Database.SelectAllObjects <DBKeepComponent>();
                foreach (DBKeepComponent component in keepcomponents)
                {
                    AbstractGameKeep keep = GetKeepByID(component.KeepID);
                    if (keep == null)
                    {
                        missingKeeps = true;
                        continue;
                    }

                    if (keep.DBKeep.KeepSkinType != eKeepSkinType.Any)
                    {
                        if (keep.DBKeep.KeepSkinType == eKeepSkinType.New && IsNewKeepComponent(component.Skin) == false)
                        {
                            continue;
                        }
                        else if (keep.DBKeep.KeepSkinType == eKeepSkinType.Old && IsNewKeepComponent(component.Skin))
                        {
                            continue;
                        }
                    }
                    else
                    {
                        // if use old keeps don't try to load new components
                        if (ServerProperties.Properties.USE_NEW_KEEPS == 0 && IsNewKeepComponent(component.Skin))
                        {
                            continue;
                        }

                        // if use new keeps don't try and load old components
                        if (ServerProperties.Properties.USE_NEW_KEEPS == 1 && !IsNewKeepComponent(component.Skin))
                        {
                            continue;
                        }
                    }

                    GameKeepComponent gamecomponent = keep.CurrentRegion.CreateGameKeepComponent();
                    gamecomponent.LoadFromDatabase(component, keep);
                    keep.KeepComponents.Add(gamecomponent);
                }

                if (missingKeeps && log.IsWarnEnabled)
                {
                    log.WarnFormat("Some keeps not found while loading components, possibly old/new keeptypes.");
                }

                if (m_keepList.Count != 0)
                {
                    foreach (AbstractGameKeep keep in m_keepList.Values)
                    {
                        if (keep.KeepComponents.Count != 0)
                        {
                            keep.KeepComponents.Sort();
                        }
                    }
                }
                LoadHookPoints();

                log.Info("Loaded " + m_keepList.Count + " keeps successfully");
            }

            if (ServerProperties.Properties.USE_KEEP_BALANCING)
            {
                UpdateBaseLevels();
            }

            if (ServerProperties.Properties.USE_LIVE_KEEP_BONUSES)
            {
                KeepBonusMgr.UpdateCounts();
            }

            return(true);
        }