public BMbombplacer(BomberManGame game, PlayerMobile owner) : base(7194)
		{
			Name = "Bombermans bomb";
			Movable = false;
			m_DetonationDamage = 200; // =kill
			m_DetonationRange = 2;
			m_PlacementDelay = TimeSpan.FromSeconds(4);
			m_LastBombPlacement = DateTime.MinValue;
			m_DetonationDelay = 2;
			m_Game = game;
			Weight = 12;
			m_MaxNumberOfBombs = 1;
			m_CurrentNumberOfBombs = 0;
			m_PlayerStats = new BMPlayerScore(owner);
		}
		public BMStoneGump(PlayerMobile from, BomberManGame game)
			: base(100, 100)
		{
			if (from == null || from.AccessLevel < AccessLevel.GameMaster ||game == null)
				return;

			m_Game = game;
			int y = 25;

			AddBackground(0, 0, 300, 270, 2600);
			AddLabel(45, y, 34, "Bomber Man Game");
			y += 30;
			AddLabel(45, y, 902, "Players signed in: " + m_Game.Participants.Count + "/" + m_Game.StartLocations.Count);
			y += 20;
			AddLabel(45, y, 902, "OpenJoin: "+m_Game.OpenJoin);

			y += 30;
			if (m_Game.OpenJoin)
				AddLabel(45, y, 902, "Close sign up");
			else
				AddLabel(45, y, 902, "Open sign up");
			AddButton(200, y, 2152, 2154, 4, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Start game");
			AddButton(200, y, 2152, 2154, 1, GumpButtonType.Reply, 0);
			y += 30;
			AddLabel(45, y, 902, "End game");
			AddButton(200, y, 2152, 2154, 2, GumpButtonType.Reply, 0);

			if (m_Game.LastGameResults != null && m_Game.LastGameResults.Count > 0)
			{
				y += 30;
				AddLabel(45, y, 902, "Last Game Results");
				AddButton(200, y, 2152, 2154, 5, GumpButtonType.Reply, 0);
			}

			y += 30;
			AddLabel(45, y, 902, "Map Configuration");
			AddButton(200, y, 2152, 2154, 3, GumpButtonType.Reply, 0);
		}
			public BMGameTimer( BomberManGame game) : base( StartDelay, TimerInterval )
			{
				m_Game = game;
				Priority = TimerPriority.TwoFiftyMS;
				StartTime = DateTime.Now;
			}
		public BMBasegimmick(BomberManGame game) : base(14138)
		{
			Movable = false;
			m_game = game;
			Timer.DelayCall(TimeSpan.FromSeconds(10), new TimerCallback(SelfDestructionCallback));
		}
		public BMrangebonus(BomberManGame game) : base(game)
		{

			Name = "range bonus";
			Hue = 1365; //blue
		}
		public BMfullhits(BomberManGame game) : base(game)
		{
			Name = "full hits";
			Hue = 1161; // yellow
		}
		public BMbombbonus(BomberManGame game) : base(game)
		{
			Name = "extra bomb";
			Hue = 1367; // green
		}
		public BMdamagebonus(BomberManGame game) : base(game)
		{
			Name = "damage bonus";
			Hue = 38; // red

		}
		public BMMapSetupGump(PlayerMobile from, BomberManGame game) : base(100, 100)
		{
			m_Game = game;

			if (from == null || from.Deleted || from.AccessLevel < AccessLevel.GameMaster)
				return;

			AddBackground(0, 0, 300, 530, 2600);
			int y = 25;

			AddLabel(45, y, 34, "Bomber Man Map Configuration");
			y += 30;

			AddLabel(45, y, 8, "Walls");
			y += 30;
			AddLabel(45, y, 902, "Save a  wall");
			AddButton(250, y, 2152, 2154, 1, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Save all walls in arena");
			AddButton(250, y, 2152, 2154, 6, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Remove saved wall");
			AddButton(250, y, 2152, 2154, 2, GumpButtonType.Reply, 0);
			y += 40;
			AddLabel(45, y, 902, "Show all walls");
			AddButton(250, y, 2152, 2154, 3, GumpButtonType.Reply, 0);
			y += 30;
			AddLabel(45, y, 902, "Remove all shown walls");
			AddButton(250, y, 2152, 2154, 4, GumpButtonType.Reply, 0);
			y += 40;
			AddLabel(45, y, 902, "Wipe all saved walls (!)");
			AddButton(250, y, 2152, 2154, 5, GumpButtonType.Reply, 0);

			y += 40;
			AddLabel(45, y, 8, "Start Locations");

			y += 30;
			AddLabel(45, y, 902, "Add start location");
			AddButton(250, y, 2152, 2154, 8, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Remove start location");
			AddButton(250, y, 2152, 2154, 9, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Show start locations");
			AddButton(250, y, 2152, 2154, 10, GumpButtonType.Reply, 0);

			y += 30;
			AddLabel(45, y, 902, "Wipe start locations (!)");
			AddButton(250, y, 2152, 2154, 11, GumpButtonType.Reply, 0);
		}
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);
			int version = reader.ReadInt();
			m_Game = reader.ReadItem() as BomberManGame;
		}