public void CleanUp()
        {
            CanBeDamaged = false; // no reskilling plz
            m_Gate = new ConfirmationMoongate(m_OutLoc, m_OutMap);

            m_Gate.GumpWidth = 420;
            m_Gate.GumpHeight = 280;
            m_Gate.TitleNumber = 1062108;
            m_Gate.TitleColor = 0x7800;
            m_Gate.MessageColor = 0x7F00;
            m_Gate.MessageString = "If you leave the Arena now, you wont be able to return and loot. When the arena is purged, all items remaing on player corpses will be returned to the owners backpack.";

            m_Gate.Dispellable = false;
            m_Gate.Movable = false;
            m_Gate.Hue = 1168;
            m_Gate.Name = "Exit Gate";
            m_Gate.MoveToWorld(m_GateLoc, this.Map);


            m_CleanupTimeoutTime = DateTime.Now + TimeSpan.FromMinutes(1.0);
            m_Timer = new ArenaCleanUpTimer(TimeSpan.FromMinutes(1.0), this);
            m_Timer.Start();
        }
Esempio n. 2
0
		public static void GenGauntlet_OnCommand( CommandEventArgs e )
		{
			/* Begin healer room */
			CreatePricedHealer( 5000, 387, 400 );
			CreateTeleporter( 390, 407, 394, 405 );

			BaseDoor healerDoor = CreateDoorSet( 393, 404, true, 0x44E );

			healerDoor.Locked = true;
			healerDoor.KeyValue = Key.RandomValue();

			if ( healerDoor.Link != null )
			{
				healerDoor.Link.Locked = true;
				healerDoor.Link.KeyValue = Key.RandomValue();
			}
			/* End healer room */

			/* Begin supply room */
			CreateMorphItem( 433, 371, 0x29F, 0x116, 3, 0x44E );
			CreateMorphItem( 433, 372, 0x29F, 0x115, 3, 0x44E );

			CreateVarietyDealer( 492, 369 );

			for ( int x = 434; x <= 478; ++x )
			{
				for ( int y = 371; y <= 372; ++y )
				{
					Static item = new Static( 0x524 );

					item.Hue = 1;
					item.MoveToWorld( new Point3D( x, y, -1 ), Map.Malas );
				}
			}
			/* End supply room */

			/* Begin gauntlet cycle */
			CreateTeleporter( 471, 428, 474, 428 );
			CreateTeleporter( 462, 494, 462, 498 );
			CreateTeleporter( 403, 502, 399, 506 );
			CreateTeleporter( 357, 476, 356, 480 );
			CreateTeleporter( 361, 433, 357, 434 );

			GauntletSpawner sp1 = CreateSpawner( "DarknightCreeper",		491, 456,	473, 432,	417, 426,	true,	473, 412, 39, 60 );
			GauntletSpawner sp2 = CreateSpawner( "FleshRenderer",			482, 520,	468, 496,	426, 422,	false,	448, 496, 56, 48 );
			GauntletSpawner sp3 = CreateSpawner( "Impaler",					406, 538,	408, 504,	432, 430,	false,	376, 504, 64, 48 );
			GauntletSpawner sp4 = CreateSpawner( "ShadowKnight",			335, 512,	360, 478,	424, 439,	false,	300, 478, 72, 64 );
			GauntletSpawner sp5 = CreateSpawner( "AbysmalHorror",			326, 433,	360, 429,	416, 435,	true,	300, 408, 60, 56 );
			GauntletSpawner sp6 = CreateSpawner( "DemonKnight",				423, 430,	0,   0,		423, 430,	true,	392, 392, 72, 96 );

			sp1.Sequence = sp2;
			sp2.Sequence = sp3;
			sp3.Sequence = sp4;
			sp4.Sequence = sp5;
			sp5.Sequence = sp6;
			sp6.Sequence = sp1;

			sp1.State = GauntletSpawnerState.InProgress;
			/* End gauntlet cycle */

			/* Begin exit gate */
			ConfirmationMoongate gate = new ConfirmationMoongate();

			gate.Dispellable = false;

			gate.Target = new Point3D( 2350, 1270, -85 );
			gate.TargetMap = Map.Malas;

			gate.GumpWidth = 420;
			gate.GumpHeight = 280;

			gate.MessageColor = 0x7F00;
			gate.MessageNumber = 1062109; // You are about to exit Dungeon Doom.  Do you wish to continue?

			gate.TitleColor = 0x7800;
			gate.TitleNumber = 1062108; // Please verify...

			gate.Hue = 0x44E;

			gate.MoveToWorld( new Point3D( 433, 326, 4 ), Map.Malas );
			/* End exit gate */
		}
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            m_StartLoc1 = reader.ReadPoint3D();
            m_StartLoc2 = reader.ReadPoint3D();
            m_OutLoc = reader.ReadPoint3D();
            m_GateLoc = reader.ReadPoint3D();
            m_OutMap = reader.ReadMap();
            m_InUse = reader.ReadBool();
            m_Gate = (ConfirmationMoongate)reader.ReadItem();
            m_LAC = (LadderAreaControl)reader.ReadItem();

            TimeSpan span = reader.ReadTimeSpan();
            m_CleanupTimeoutTime = DateTime.Now + span;
            if (span > TimeSpan.Zero)
            {
                m_Timer = new ArenaCleanUpTimer(span, this);
                m_Timer.Start();
            }
        }