// #endregion

        protected override void AdvanceLevel()
        {
            // if the champ has just completed....
            if (IsFinalLevel)
            {
                // make exit gate (old code)
                if (SpawnType == ChampLevelData.SpawnTypes.AI_Escape)
                {
                    Item aiExit       = new AIEscapeExit();
                    Item prettyshiney = new PrettyShiney();
                    prettyshiney.Movable = false;
                    prettyshiney.MoveToWorld(new Point3D(5753, 324, 21), Map);
                    aiExit.MoveToWorld(new Point3D(5753, 324, 21), Map);

                    new DeletionTimera(aiExit, prettyshiney, TimeSpan.FromSeconds(CoreAI.SpiritPortalAvailablity)).Start();
                }
                else if (SpawnType == ChampLevelData.SpawnTypes.AI_Guard)
                {
                    Item CaveTele     = new AICaveEntrance();
                    Item prettyshiney = new PrettyShiney();
                    prettyshiney.Movable = false;
                    prettyshiney.MoveToWorld(new Point3D(311, 786, 0), Map);
                    CaveTele.MoveToWorld(new Point3D(311, 786, 0), Map);

                    new DeletionTimerb(CaveTele, prettyshiney, TimeSpan.FromSeconds(CoreAI.CavePortalAvailability)).Start();
                }
            }

            //wipe the spawn on level up
            WipeMonsters();

            // call base
            base.AdvanceLevel();
        }
		// #endregion

		protected override void AdvanceLevel()
		{
			// if the champ has just completed....
			if( IsFinalLevel )			
			{
				// make exit gate (old code)
				if( SpawnType == ChampLevelData.SpawnTypes.AI_Escape )
				{					
					Item aiExit = new AIEscapeExit();
					Item prettyshiney = new PrettyShiney();
					prettyshiney.Movable = false;
					prettyshiney.MoveToWorld( new Point3D(5753, 324, 21), Map );
					aiExit.MoveToWorld( new Point3D(5753, 324, 21), Map );

					new DeletionTimera( aiExit, prettyshiney, TimeSpan.FromSeconds( CoreAI.SpiritPortalAvailablity ) ).Start();
				}
				else if( SpawnType == ChampLevelData.SpawnTypes.AI_Guard )
				{
					Item CaveTele = new AICaveEntrance();
					Item prettyshiney = new PrettyShiney();
					prettyshiney.Movable = false;
					prettyshiney.MoveToWorld( new Point3D(311, 786, 0), Map );
					CaveTele.MoveToWorld( new Point3D(311, 786, 0), Map );
				
					new DeletionTimerb( CaveTele, prettyshiney, TimeSpan.FromSeconds( CoreAI.CavePortalAvailability ) ).Start();				
				}
			}
			
			//wipe the spawn on level up
			WipeMonsters();

			// call base 
			base.AdvanceLevel();
		}