public RVSSetup_Rules_Spells(RVS d) : base(0, 0)
		{
            Handeling = d;

			Closable = true;
			Dragable = true;
			Resizable = false;

            AddBackground(219, 238, 172, 254, 9300);
            AddLabel(255, 244, 70, @"Spell Use Rules");

            AddCheck(225, 265, 210, 211, Handeling.Spells, 1);
            AddLabel(255, 262, 54, @"Allow Magic");
            AddButton(225, 290, 1209, 1210, 2, GumpButtonType.Reply, 0);
            AddLabel(255, 288, 54, @"1st Circle");
            AddButton(225, 315, 1209, 1210, 3, GumpButtonType.Reply, 0);
            AddLabel(255, 312, 54, @"2nd Circle");
            AddButton(225, 340, 1209, 1210, 4, GumpButtonType.Reply, 0);
            AddLabel(255, 338, 54, @"3rd Circle");
            AddButton(225, 365, 1209, 1210, 5, GumpButtonType.Reply, 0);
            AddLabel(255, 362, 54, @"4th Circle");
            AddButton(225, 390, 1209, 1210, 6, GumpButtonType.Reply, 0);
            AddLabel(255, 388, 54, @"5th Circle");
            AddButton(225, 415, 1209, 1210, 7, GumpButtonType.Reply, 0);
            AddLabel(255, 412, 54, @"6th Circle");
            AddButton(225, 440, 1209, 1210, 8, GumpButtonType.Reply, 0);
            AddLabel(255, 438, 54, @"7th Circle");
            AddButton(225, 465, 1209, 1210, 9, GumpButtonType.Reply, 0);
            AddLabel(255, 462, 54, @"8th Circle");
		}
        public RVSSetup_Rules_Combat(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 179, 9300);
            AddLabel(245, 244, 70, @"Combat Ability Rules");

            AddCheck(225, 265, 210, 211, Handeling.CombatAbilities, 1);
            AddLabel(255, 265, 54, @"Combat Abilities");
            AddCheck(225, 290, 210, 211, Handeling.Stun, 2);
            AddLabel(255, 290, 54, @"Stun");
            AddCheck(225, 315, 210, 211, Handeling.Disarm, 3);
            AddLabel(255, 315, 54, @"Disarm");
            AddCheck(225, 340, 210, 211, Handeling.ConcussionBlow, 4);
            AddLabel(255, 340, 54, @"Concussion Blow");
            AddCheck(225, 365, 210, 211, Handeling.CrushingBlow, 5);
            AddLabel(255, 365, 54, @"Crushing Blow");
            AddCheck(225, 390, 210, 211, Handeling.ParalyzingBlow, 6);
            AddLabel(255, 390, 54, @"Paralyzing Blow");
        }
		public RVSSetup_Pending(RVS d) : base(0, 0)
		{
            Handeling = d;

			Closable = false;
			Dragable = true;
			Resizable = false;

            int bh = (PlayerCount() * 38);
			AddBackground( 212, 177, 251, bh, 9250 );
			AddBackground( 219, 185, 235, (bh - 15), 9350 );

            int y = 190;
            IEnumerator key = Handeling.Teams.Keys.GetEnumerator();
            for (int i = 0; i < Handeling.Teams.Count; ++i)
            {
                key.MoveNext();
                RVS_Team d_team = (RVS_Team)Handeling.Teams[(int)key.Current];

                for (int i2 = 0; i2 < d_team.Players.Count; ++i2)
                {
                    object o = (object)d_team.Players[i2];
                    if (o is PlayerMobile)
                    {
                        PlayerMobile pm = (PlayerMobile)o;
                        AddLabel(250, y, 0, String.Format("{0}", pm.Name));
                        AddImage(225, y, ImageID((bool)d_team.Accepted[pm]));
                        y += 30;
                    }
                }
            }
		}
        public RVSSetup_Rules_Skills(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 254, 9300);
            AddLabel(255, 244, 70, @"Skill Use Rules");

            AddCheck(225, 265, 210, 211, Handeling.Anatomy, 1);
            AddLabel(255, 265, 54, @"Anatomy");
            AddCheck(225, 290, 210, 211, Handeling.DetectHidden, 2);
            AddLabel(255, 290, 54, @"Detect Hidden");
            AddCheck(225, 315, 210, 211, Handeling.EvaluatingIntelligence, 3);
            AddLabel(255, 315, 54, @"Evaluating Intelligence");
            AddCheck(225, 340, 210, 211, Handeling.Hiding, 4);
            AddLabel(255, 340, 54, @"Hiding");
            AddCheck(225, 365, 210, 211, Handeling.Poisoning, 5);
            AddLabel(255, 365, 54, @"Poisoning");
            AddCheck(225, 390, 210, 211, Handeling.Snooping, 6);
            AddLabel(255, 390, 54, @"Snooping");
            AddCheck(225, 415, 210, 211, Handeling.Stealing, 7);
            AddLabel(255, 415, 54, @"Stealing");
            AddCheck(225, 440, 210, 211, Handeling.SpiritSpeak, 8);
            AddLabel(255, 440, 54, @"Spirit Speak");
            AddCheck(225, 465, 210, 211, Handeling.Stealth, 9);
            AddLabel(255, 465, 54, @"Stealth");
        }
        public RVSSetup_Rules_Items(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            //AddBackground(219, 238, 172, 154, 9300);
            AddBackground(219, 238, 172, 178, 9300);
            AddLabel(255, 244, 70, @"Item Use Rules");

            AddCheck(225, 265, 210, 211, Handeling.Potions, 1);
            AddLabel(255, 265, 54, @"Potions");
            AddCheck(225, 290, 210, 211, Handeling.Bandages, 2);
            AddLabel(255, 290, 54, @"Bandages");
            AddCheck(225, 315, 210, 211, Handeling.TrappedContainers, 3);
            AddLabel(255, 315, 54, @"Trapped Containers");
            AddCheck(225, 340, 210, 211, Handeling.Bolas, 4);
            AddLabel(255, 340, 54, @"Bolas");
            AddCheck(225, 365, 210, 211, Handeling.Mounts, 5);
            AddLabel(255, 365, 54, @"Mounts");
            AddCheck(225, 390, 210, 211, Handeling.Wands, 6);
            AddLabel(255, 390, 54, @"Wands");
        }
		public RVSSetup_Rules(RVS d) : base(0, 0)
		{
            Handeling = d;

			Closable = true;
			Dragable = true;
			Resizable = false;

            AddBackground(219, 238, 172, 313, 9300);
            AddLabel(283, 244, 70, @"Rules");

            //AddButton(225, 265, 1209, 1210, 1, GumpButtonType.Reply, 0);
            //AddLabel(245, 262, 54, @"Spells");
            //AddButton(225, 285, 1209, 1210, 2, GumpButtonType.Reply, 0);
            //AddLabel(245, 282, 54, @"Combat Abilities");
            //AddButton(225, 305, 1209, 1210, 3, GumpButtonType.Reply, 0);
            //AddLabel(245, 302, 54, @"Skills");
            //AddButton(225, 325, 1209, 1210, 4, GumpButtonType.Reply, 0);
            //AddLabel(245, 322, 54, @"Weapons");
            //AddButton(225, 345, 1209, 1210, 5, GumpButtonType.Reply, 0);
            //AddLabel(245, 342, 54, @"Armor");
            //AddButton(225, 365, 1209, 1210, 6, GumpButtonType.Reply, 0);
            //AddLabel(245, 362, 54, @"Items");
            AddButton(225, 385, 1209, 1210, 7, GumpButtonType.Reply, 0);
            AddLabel(245, 382, 54, @"Monster Types");
            
            AddLabel(225, 425, 54, @"Monsters Overwhelm At:");
            AddTextEntry(245, 442, 1109, 20, 1359, 13, Handeling.MonstersOverwhelm.ToString() );
            AddButton(285, 442, 238, 240, 14, GumpButtonType.Reply, 0);
            
            AddCheck(225, 462, 210, 211, Handeling.AllowTrees, 7);
            AddLabel(245, 459, 54, @"Allow Trees");
            AddTextEntry(245, 479, 1109, 20, 1359, 8, Handeling.NumberOfTrees.ToString() );
            AddButton(285, 479, 238, 240, 9, GumpButtonType.Reply, 0);
            
            AddCheck(225, 499, 210, 211, Handeling.AllowTraps, 10);
            AddLabel(245, 496, 54, @"Allow Traps");
            AddTextEntry(245, 516, 1109, 20, 1359, 11, Handeling.NumberOfTraps.ToString() );
            AddButton(285, 516, 238, 240, 12, GumpButtonType.Reply, 0);
            //AddButton(225, 385, 1209, 1210, 7, GumpButtonType.Reply, 0);
            //AddLabel(245, 382, 54, @"Samurai Spells");
            //AddButton(225, 405, 1209, 1210, 8, GumpButtonType.Reply, 0);
            //AddLabel(245, 402, 54, @"Chivalry");
            //AddButton(225, 425, 1209, 1210, 9, GumpButtonType.Reply, 0);
            //AddLabel(245, 422, 54, @"Necromancy");
            //AddButton(225, 445, 1209, 1210, 10, GumpButtonType.Reply, 0);
            //AddLabel(245, 442, 54, @"Ninja Spells");
		}
        public RVSSetup_Rules_Armor(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 129, 9300);
            AddLabel(263, 244, 70, @"Armor Rules");

            AddCheck(225, 265, 210, 211, Handeling.Armor, 1);
            AddLabel(255, 265, 54, @"Armor Allowed");
            AddCheck(225, 290, 210, 211, Handeling.MagicalArmor, 2);
            AddLabel(255, 290, 54, @"Magic Armor");
            AddCheck(225, 315, 210, 211, Handeling.Shields, 3);
            AddLabel(255, 315, 54, @"Shields");
            AddCheck(225, 340, 210, 211, Handeling.Colored, 4);
            AddLabel(255, 340, 54, @"Colored Armor");
        }
        public RVSSetup_Rules_Weapons(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 129, 9300);
            AddLabel(263, 244, 70, @"Weapon Rules");

            AddCheck(225, 265, 210, 211, Handeling.Weapons, 1);
            AddLabel(255, 265, 54, @"Weapons Allowed");
            AddCheck(225, 290, 210, 211, Handeling.Magical, 2);
            AddLabel(255, 290, 54, @"Magic Weapons");
            AddCheck(225, 315, 210, 211, Handeling.Poisoned, 3);
            AddLabel(255, 315, 54, @"Poisoned Weapons");
            AddCheck(225, 340, 210, 211, Handeling.RunicWeapons, 4);
            AddLabel(255, 340, 54, @"Runic Weapons");
        }
		public RVSSetup_ParticipantSetup(RVS d, int id) : base(0, 0)
		{
            Handeling = d;
            TeamID = id;
            D_Team = (RVS_Team)Handeling.Teams[TeamID];

			Closable = true;
			Dragable = true;
			Resizable = false;

            int bh = 121 + (D_Team.Size * 20);
            AddBackground(115, 85, 215, bh, 9300);
            AddLabel(164, 91, 70, @"Participant Setup");
            AddLabel(123, 113, 113, String.Format(@"Team Size: {0}", D_Team.Size.ToString()));

            AddButton(145, 138, 1209, 1210, 1, GumpButtonType.Reply, 0);
            AddLabel(166, 135, 144, @"Increase Size");
            AddButton(145, 158, 1209, 1210, 2, GumpButtonType.Reply, 0);
            AddLabel(166, 155, 144, @"Decrease Size");

            AddLabel(177, 180, 70, @"Team Players");
            int y = 204, bi = 3;
            for (int i = 0; i < D_Team.Size; ++i)
            {
                if (Handeling.Teams[TeamID].Players[i] == "@null")
                    AddLabel(144, (y - 3), 254, String.Format(@"{0}: Empty", (i +1).ToString()));
                else
                {
                    PlayerMobile pm = (PlayerMobile)D_Team.Players[i];
                    AddLabel(144, (y - 3), 254, String.Format(@"{0}: {1}", (i + 1).ToString(), pm.Name));
                }
                AddButton(123, y, 1209, 1210, bi, GumpButtonType.Reply, 0);

                y += 20;
                bi += 1;
            }
		}
		public RVSSetup_Main(RVS d) : base(0, 0)
		{
            Handling = d;

			Closable = true;
			Dragable = true;
			Resizable = false;

            int bh = 165 + (Handling.Teams.Count * 20);
            AddBackground(281, 144, 279, bh, 9300);
            AddLabel(381, 151, 70, @"RVS Setup");
            AddLabel(315, 172, 40, @"Rules");
            AddLabel(315, 192, 70, @"Start RVS");
            //AddLabel(315, 212, 53, @"Set Buy In");
            //AddLabel(315, 232, 104, @"Add A Team");
            //AddLabel(315, 252, 142, @"Remove A Team");
            AddLabel(376, 278, 104, @"Participants");
            AddButton(290, 175, 1209, 1210, 2, GumpButtonType.Reply, 0); // Rules
            AddButton(290, 195, 1209, 1210, 1, GumpButtonType.Reply, 0); // Start RVS
            //AddButton(290, 215, 1209, 1210, 5, GumpButtonType.Reply, 0); // Set Buy In
            //AddButton(290, 235, 1209, 1210, 3, GumpButtonType.Reply, 0); // Add A Team
            //AddButton(290, 255, 1209, 1210, 4, GumpButtonType.Reply, 0); // Remove A Team

            int y = 298;
            int id = 6;
            IEnumerator key = Handling.Teams.Keys.GetEnumerator();
            for (int i = 0; i < Handling.Teams.Count; ++i)
            {
                key.MoveNext();
                RVS_Team team = (RVS_Team)Handling.Teams[(int)key.Current];
                AddLabel(315, (y - 3), 104, String.Format(@"Team {0}: {1} out of {2} players", team.TeamID.ToString(), TeamPlayers(team).ToString(), team.Size.ToString()));
                AddButton(290, y, 1209, 1210, id, GumpButtonType.Reply, 0); // View A Team

                y += 20;
                id += 1;
            }
		}
        public RVSSetup_SetBuyIn(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            AddBackground(135, 134, 240, 114, 9300);
            AddLabel(201, 142, 70, @"Set RVS Buy In");
            AddBackground(140, 165, 230, 26, 9350);

            if (Handeling.BuyIn > 0)
            {
                Mode = "remove";
                AddButton(145, 220, 1209, 1210, 1, GumpButtonType.Reply, 0); // Set/Remove Buy In
                AddLabel(165, 217, 40, @"Remove Buy In");
            }
            else
            {
                Mode = "set";
                AddButton(145, 220, 1209, 1210, 1, GumpButtonType.Reply, 0); // Set/Remove Buy In
                AddLabel(165, 217, 40, @"Set Buy In");
            }

            AddTextEntry(142, 169, 224, 19, 52, 3, Handeling.BuyIn.ToString());
        }
        public RVSSetup_SetBuyIn(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            AddBackground(135, 134, 240, 114, 9300);
            AddLabel(201, 142, 70, @"Set RVS Buy In");
            AddBackground(140, 165, 230, 26, 9350);

            if (Handeling.BuyIn > 0)
            {
                Mode = "remove";
                AddButton(145, 220, 1209, 1210, 1, GumpButtonType.Reply, 0); // Set/Remove Buy In
                AddLabel(165, 217, 40, @"Remove Buy In");
            }
            else
            {
                Mode = "set";
                AddButton(145, 220, 1209, 1210, 1, GumpButtonType.Reply, 0); // Set/Remove Buy In
                AddLabel(165, 217, 40, @"Set Buy In");
            }

            AddTextEntry(142, 169, 224, 19, 52, 3, Handeling.BuyIn.ToString());
        }
        public RVSSetup_Rules_Monsters(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            //AddBackground(219, 238, 172, 154, 9300);
            AddBackground(219, 238, 172, 178, 9300);
            AddLabel(255, 244, 70, @"Monster Type Rules");

            AddRadio(225, 265, 210, 211, Handeling.RvS, 1);
            AddLabel(255, 265, 54, @"Rabbits Vs Sheep");
            AddRadio(225, 290, 210, 211, Handeling.Orcs, 2);
            AddLabel(255, 290, 54, @"Orcs");
            AddRadio(225, 315, 210, 211, Handeling.Lizardmen, 3);
            AddLabel(255, 315, 54, @"Lizardmen");
            AddRadio(225, 340, 210, 211, Handeling.Ratmen, 4);
            AddLabel(255, 340, 54, @"Ratmen");
            AddRadio(225, 365, 210, 211, Handeling.Undead, 5);
            AddLabel(255, 365, 54, @"Undead");
        }
        public RVSSetup_AddParticipant(RVS d, int team, int i)
            : base(0, 0)
        {
            Handeling = d;
            TeamID = team;
            Index = i;
            D_Team = (RVS_Team)Handeling.Teams[TeamID];

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(187, 187, 260, 216, 9300);
            AddLabel(239, 193, 40, @"Incoming RVS Challenge");

            AddHtml(192, 217, 248, 85, @"You have been challenged to a duel by another player, you can choose to either accept or decline this challenge. If you choose to accept the challenge  you will be added to the duel, if you choose to decline the challenge you will not be added to the duel. To accept some duel's you must pay a lump sum, this is known as dueling for cash, the gold is given to the winning team of the duel.", (bool)true, (bool)true);
            AddLabel(200, 310, 33, String.Format(@"Challenger: {0}", Handeling.Caller.Name));
            AddLabel(200, 330, 54, String.Format(@"Buy In: {0}gp", Handeling.BuyIn.ToString()));

            AddButton(200, 360, 1209, 1210, 1, GumpButtonType.Reply, 0);
            AddLabel(225, 357, 42, @"I will accept the duel");
            AddButton(200, 380, 1209, 1210, 2, GumpButtonType.Reply, 0);
            AddLabel(225, 377, 67, @"I will decline the duel");
        }
		public virtual void SpawnEnemies( RVS Handeling, String RegionName, int amount)
		{
			int numberOfEnemies = amount;
			int kindOfEnemy = 0;
			int randomEnemy = 0;
			Mobile Enemy = null;
			//Mobile Enemy = new Sheep();
			
			int randomValueX = 0;
			int randomValueY = 0;
			int negative = 0;
			
			Point3D spawn;
			Map spawnmap;
			
			if ( RegionName == "Sheep" )
			{
				spawn = SheepSpawnPoint;
				spawnmap = SheepSpawnMap;
				kindOfEnemy = 0;
			}
			else if ( RegionName == "Rabbit" )
			{
				spawn = RabbitSpawnPoint;
				spawnmap = RabbitSpawnMap;
				kindOfEnemy = 1;
			}
			else
			{
				spawn = SheepSpawnPoint;
				spawnmap = SheepSpawnMap;
				kindOfEnemy = 0;
			}
			
			for ( int i = 0; i < numberOfEnemies; i++ )
			{
				//kindOfEnemy = Utility.Random( 5 );
				
				randomValueX = Utility.Random( 11 );
				negative = Utility.Random( 2 );
				if ( negative > 0 )
					randomValueX *= -1;
					
				negative = Utility.Random( 2 );
				randomValueY = Utility.Random( 11 );
				if ( negative > 0 )
					randomValueY *= -1;
				
				if ( Handeling.RvS )
				{ 
					switch ( kindOfEnemy )
					{
						case 0:
							{
								Enemy = new Sheep();
								break;
							}
						case 1:
							{
								Enemy = new Rabbit();
								break;
							}
					}
				}
				else if ( Handeling.Orcs )
				{ 
					kindOfEnemy = 0;
					randomEnemy = Utility.Random( 100 );
					if ( randomEnemy <= 20 )
						kindOfEnemy++;
					if ( randomEnemy <= 10 )
						kindOfEnemy++;
					if ( randomEnemy <= 5 )
						kindOfEnemy++;
					
					switch ( kindOfEnemy )
					{
						case 0:
							{
								Enemy = new Orc();
								break;
							}
						case 1:
							{
								Enemy = new OrcishLord();
								break;
							}
						case 2:
							{
								Enemy = new Ettin();
								break;
							}
						case 3:
							{
								Enemy = new OrcishMage();
								break;
							}
					}
				}
				else if ( Handeling.Lizardmen )
				{ 
					kindOfEnemy = 0;
					randomEnemy = Utility.Random( 100 );
					if ( randomEnemy <= 20 )
						kindOfEnemy++;
					if ( randomEnemy <= 10 )
						kindOfEnemy++;
					if ( randomEnemy <= 5 )
						kindOfEnemy++;
					switch ( kindOfEnemy )
					{
						case 0:
							{
								Enemy = new Snake();
								break;
							}
						case 1:
							{
								Enemy = new GiantSerpent();
								break;
							}
						case 2:
							{
								Enemy = new Lizardman();
								break;
							}
						case 3:
							{
								Enemy = new Drake();
								break;
							}
					}
				}
				else if ( Handeling.Ratmen )
				{ 
					kindOfEnemy = 0;
					randomEnemy = Utility.Random( 100 );
					if ( randomEnemy <= 20 )
						kindOfEnemy++;
					if ( randomEnemy <= 15 )
						kindOfEnemy++;
					if ( randomEnemy <= 10 )
						kindOfEnemy++;
					if ( randomEnemy <= 5 )
						kindOfEnemy++;
					switch ( kindOfEnemy )
					{
						case 0:
							{
								Enemy = new Sewerrat();
								break;
							}
						case 1:
							{
								Enemy = new GiantRat();
								break;
							}
						case 2:
							{
								Enemy = new Ratman();
								break;
							}
						case 3:
							{
								Enemy = new RatmanMage();
								break;
							}	
						case 4:
							{
								Enemy = new RatmanArcher();
								break;
							}
					}
				}
				else if ( Handeling.Undead )
				{ 
					kindOfEnemy = 0;
					randomEnemy = Utility.Random( 100 );
					if ( randomEnemy <= 50 )
						kindOfEnemy++;
					if ( randomEnemy <= 40 )
						kindOfEnemy++;
					if ( randomEnemy <= 30 )
						kindOfEnemy++;
					if ( randomEnemy <= 20 )
						kindOfEnemy++;
					if ( randomEnemy <= 10 )
						kindOfEnemy++;
					if ( randomEnemy <= 5 )
						kindOfEnemy++;
						
					switch ( kindOfEnemy )
					{
						case 0:
							{
								Enemy = new Skeleton();
								break;
							}
						case 1:
							{
								Enemy = new Zombie();
								break;
							}
						case 2:
							{
								Enemy = new RestlessSoul();
								break;
							}
						case 3:
							{
								Enemy = new SkeletalMage();
								break;
							}
						case 4:
							{
								Enemy = new SkeletalKnight();
								break;
							}
						case 5:
							{
								Enemy = new Mummy();
								break;
							}
						case 6:
							{
								Enemy = new Lich();
								break;
							}
					}
				}
				
				Enemy.Map = spawnmap;
				Enemy.Location = new Point3D((spawn.X + randomValueX), (spawn.Y + randomValueY), (spawn.Z));
				
				Enemies.Add(Enemy);
			}
		}
		public virtual void SpawnTraps( RVS Handeling, Point3D spawn, Map s_map )
		{
			if ( Handeling.AllowTraps == false )
				return;
		
			int numberOfTraps = Handeling.NumberOfTraps;
			int kindOfTrap = 0;
			Item trap = null;
			
			int randomValueX = 0;
			int randomValueY = 0;
			int negative = 0;
			
			for ( int i = 0; i < numberOfTraps; i++ )
			{
				kindOfTrap = Utility.Random( 5 );
				
				randomValueX = Utility.Random( 20 );
				negative = Utility.Random( 2 );
				if ( negative > 0 )
					randomValueX *= -1;
					
				negative = Utility.Random( 2 );
				randomValueY = Utility.Random( 20 );
				if ( negative > 0 )
					randomValueY *= -1;
				
				switch ( kindOfTrap )
				{
					case 0:
						{
							trap = new FireColumnTrap();
							break;
						}
					case 1:
						{
							trap = new GasTrap();
							break;
						}
					case 2:
						{
							trap = new GiantSpikeTrap();
							break;
						}
					case 3:
						{
							trap = new SawTrap();
							break;
						}
					case 4:
						{
							trap = new SpikeTrap();
							break;
						}
				}
				trap.Movable = false;
				trap.Location = new Point3D((spawn.X + randomValueX), (spawn.Y + randomValueY), (spawn.Z));
				trap.Map = s_map;
				Traps.Add(trap);
			}
		}
		public virtual void SpawnTrees( RVS Handeling, Point3D spawn, Map s_map )
		{
			if ( Handeling.AllowTrees == false )
				return;
		
			int numberOfTrees = Handeling.NumberOfTrees;
			int kindOfTree = 0;
			Item tree = null;
			
			int randomValueX = 0;
			int randomValueY = 0;
			int negative = 0;
			
			for ( int i = 0; i < numberOfTrees; i++ )
			{
				kindOfTree = Utility.Random( 4 );
				
				randomValueX = Utility.Random( 20 );
				negative = Utility.Random( 2 );
				if ( negative > 0 )
					randomValueX *= -1;
					
				negative = Utility.Random( 2 );
				randomValueY = Utility.Random( 20 );
				if ( negative > 0 )
					randomValueY *= -1;
				
				switch ( kindOfTree )
				{
					case 0:
						{
							tree = new RVSTree1();
							break;
						}
					case 1:
						{
							tree = new RVSTree2();
							break;
						}
					case 2:
						{
							tree = new RVSTree3();
							break;
						}
					case 3:
						{
							tree = new RVSTree4();
							break;
						}
				}
				
				tree.Location = new Point3D((spawn.X + randomValueX), (spawn.Y + randomValueY), (spawn.Z));
				tree.Map = s_map;
				Trees.Add(tree);
			}
		}
        public void StartRVS(RVS d)
        {
            Handeling = d;

            if (Handeling.Caller.NetState == null)
            {
                Handeling.EndSelf();
                return;
            }

            HasStarted = true;
            InUse = true;
            Handeling.InProgress = true;
            Handeling.Controller = this;

            if (PlayerLocations == null)
                PlayerLocations = new Dictionary<Serial, Point3D>();
            if (PlayerMaps == null)
                PlayerMaps = new Dictionary<Serial, Map>();
            if (PlayerItems == null)
                PlayerItems = new Dictionary<Serial, ArrayList>();
            if (ItemLocations == null)
                ItemLocations = new Dictionary<Serial, Point3D>();
            if (InsuredItems == null)
                InsuredItems = new ArrayList();
            if (FrozenItems == null)
                FrozenItems = new ArrayList();
            if (Trees == null)
                Trees = new ArrayList();
            if (Traps == null)
            	Traps = new ArrayList();
            if (Enemies == null)
            	Enemies = new ArrayList();
            if (Fountains == null)
            	Fountains = new ArrayList();
           	if (EVsAndBSs == null)
            	EVsAndBSs = new ArrayList();
                
            SpawnTrees(Handeling, SheepSpawnPoint, SheepSpawnMap);
            SpawnTraps(Handeling, SheepSpawnPoint, SheepSpawnMap);
            SpawnFountainsSheep( Handeling, "Sheep", SheepSpawnPoint, SheepSpawnMap );
            
            SpawnTrees(Handeling, RabbitSpawnPoint, RabbitSpawnMap);
            SpawnTraps(Handeling, RabbitSpawnPoint, RabbitSpawnMap);
            SpawnFountainsRabbits( Handeling, "Rabbit", RabbitSpawnPoint, RabbitSpawnMap );
            
            SpawnEnemies( Handeling, "Sheep", 1);
            SheepPoints++;
            SpawnEnemies( Handeling, "Rabbit", 1);
            RabbitPoints++;

            IEnumerator key = Handeling.Teams.Keys.GetEnumerator();
            for (int i = 0; i < Handeling.Teams.Count; ++i)
            {
                key.MoveNext();
                RVS_Team d_team = (RVS_Team)Handeling.Teams[(int)key.Current];

                for (int i2 = 0; i2 < d_team.Players.Count; ++i2)
                {
                    object o = (object)d_team.Players[i2];

                    if (o is PlayerMobile)
                    {
                        PlayerMobile pm = (PlayerMobile)o;
                        StorePlayer(pm);
                        SpawnPlayer(pm, (int)key.Current);
                        PlayerNoto(pm);
                        PetNoto(pm);
                        pm.Blessed = true;
                        pm.Frozen = true;
                        pm.Spell = null;
                        ResurrectPlayer(pm);
                        ResurrectPets(pm);
                    }
                }
            }

            Timer.DelayCall(TimeSpan.FromSeconds(3.0), new TimerCallback(UnInvul));
            EndTimer = new RVS_EndTimer(Handeling);
        }
        public RVSSetup_Rules_Spells_8th(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 229, 9300);
            AddLabel(255, 244, 70, @"8th Circle Rules");

            AddCheck(225, 265, 210, 211, Handeling.EarthQuake, 1);
            AddLabel(255, 265, 54, @"Earthquake");
            AddCheck(225, 290, 210, 211, Handeling.EnergyVotex, 2);
            AddLabel(255, 290, 54, @"Energy Vortex");
            AddCheck(225, 315, 210, 211, Handeling.Resurrection, 3);
            AddLabel(255, 315, 54, @"Resurrection");
            AddCheck(225, 340, 210, 211, Handeling.SummonAirElemental, 4);
            AddLabel(255, 340, 54, @"Summon Air");
            AddCheck(225, 365, 210, 211, Handeling.SummonDaemon, 5);
            AddLabel(255, 365, 54, @"Summon Daemon");
            AddCheck(225, 390, 210, 211, Handeling.SummonEarthElemental, 6);
            AddLabel(255, 390, 54, @"Summon Earth");
            AddCheck(225, 415, 210, 211, Handeling.SummonFireElemental, 7);
            AddLabel(255, 415, 54, @"Summon Fire");
            AddCheck(225, 440, 210, 211, Handeling.SummonWaterElemental, 8);
            AddLabel(255, 440, 54, @"Summon Water");
        }
 public RVS_Add_Timer(PlayerMobile caller, PlayerMobile reciever, RVS d, int team): base (TimeSpan.FromSeconds(25))
 {
     Sent = caller;
     Recieved = reciever;
     Handeling = d;
     TeamID = team;
     this.Start();
 }
Beispiel #21
0
        public static void On_Speech(SpeechEventArgs args)
        {
            Mobile m = (Mobile)args.Mobile;

            if (!Enabled)
                return;
            
            if (args.Speech.ToLower().Contains("i wish to rvs"))
            {
                if (m is PlayerMobile)
                {
                    if (Duel_Config.InADuel((PlayerMobile)m) || Field_Config.InAField((PlayerMobile)m) || InARVS((PlayerMobile)m))
                    {
                        m.SendMessage("You are already in a RVS duel.");
                        return;
                    }

                    if (!RVS_Config.AllowFactionersToRVS)
                    {
                        if ((Faction.Find(m) != null))
                        {
                            m.SendMessage("Factioners cannot RVS duel.");
                            return;
                        }
                    }

                    if (m.Combatant != null || m.Aggressed.Count >= 1)
                    {
                        m.SendMessage("You are in combat an cannot RVS duel.");
                        return;
                    }

                    RVS d = new RVS((PlayerMobile)m);
                    Registry.Add(d);
                    m.CloseGump(typeof(RVSSetup_Main));
                    m.SendGump(new RVSSetup_Main(d));
                }
            }

            if (args.Speech.ToLower().Contains("i yield"))
            {
                if (m is PlayerMobile)
                {
                    if (InARVS((PlayerMobile)m))
                    {
						m.Kill();
                        return;
                    }
                }
            }
        }
Beispiel #22
0
        public RVSSetup_Rules_View(RVS d, int team, int id)
            : base(0, 0)
        {
            Handeling = d;
            TeamID    = team;
            Index     = id;

            Closable  = false;
            Dragable  = true;
            Resizable = false;

            int bh = 309 + (20 * Handeling.Teams.Count);

            AddBackground(221, 179, 194, bh, 9300);
            AddLabel(266, 186, 70, @"View RVS Rules");

            AddButton(225, 209, 1209, 1210, 11, GumpButtonType.Reply, 0);
            AddLabel(245, 206, 57, @"I accept these rules");
            AddButton(225, 230, 1209, 1210, 0, GumpButtonType.Reply, 0);
            AddLabel(245, 227, 38, @"I do not accept these rules");

            AddButton(225, 256, 1209, 1210, 1, GumpButtonType.Reply, 0);
            AddLabel(245, 253, 54, @"Monster Types");
            //AddButton(225, 256, 1209, 1210, 1, GumpButtonType.Reply, 0);
            //AddLabel(245, 253, 54, @"Spells");
            //AddCheck(225, 256, 1209, 1210, Handeling.Weapons, 1);
            //AddLabel(245, 253, 54, @"Rabbits Vs Sheep");
            //AddButton(225, 276, 1209, 1210, 2, GumpButtonType.Reply, 0);
            //AddLabel(245, 273, 54, @"Combat Abilities");
            //AddCheck(225, 276, 1209, 1210, Handeling.Weapons, 1);
            //AddLabel(245, 273, 54, @"Orc Massacre");
            //AddButton(225, 296, 1209, 1210, 3, GumpButtonType.Reply, 0);
            //AddLabel(245, 293, 54, @"Skills");
            //AddCheck(225, 296, 1209, 1210, Handeling.Weapons, 1);
            //AddLabel(245, 293, 54, @"Lizardmen Lair");
            //AddButton(225, 316, 1209, 1210, 4, GumpButtonType.Reply, 0);
            //AddLabel(245, 313, 54, @"Weapons");
            //AddCheck(225, 316, 1209, 1210, Handeling.Weapons, 1);
            //AddLabel(245, 313, 54, @"Ratmen Rampage");
            //AddButton(225, 336, 1209, 1210, 5, GumpButtonType.Reply, 0);
            //AddLabel(245, 333, 54, @"Armor");
            //AddCheck(225, 336, 1209, 1210, Handeling.Weapons, 1);
            //AddLabel(245, 333, 54, @"Dark Ritual");
            //AddButton(225, 356, 1209, 1210, 6, GumpButtonType.Reply, 0);
            //AddLabel(245, 353, 54, @"Items");
            //AddLabel(325, 376, 1263, Handeling.AllowTrees.ToString() );
            //AddLabel(245, 373, 54, @"Allow Trees=");
            //AddLabel(245, 393, 54, Handeling.NumberOfTrees.ToString() );
            //AddLabel(325, 410, 1263, Handeling.AllowTraps.ToString() );
            //AddLabel(245, 407, 54, @"Allow Traps=");
            //AddLabel(245, 427, 54, Handeling.NumberOfTraps.ToString() );
            //AddButton(225, 376, 1209, 1210, 7, GumpButtonType.Reply, 0);
            //AddLabel(245, 373, 54, @"Samurai Spells");
            //AddButton(225, 396, 1209, 1210, 8, GumpButtonType.Reply, 0);
            //AddLabel(245, 393, 54, @"Chivalry");
            //AddButton(225, 416, 1209, 1210, 9, GumpButtonType.Reply, 0);
            //AddLabel(245, 413, 54, @"Necromancy");
            //AddButton(225, 436, 1209, 1210, 10, GumpButtonType.Reply, 0);
            //AddLabel(245, 433, 54, @"Ninja Spells");

            AddLabel(256, 463, 70, @"View Participants");
            int         y = 486, bid = 12;
            IEnumerator key = Handeling.Teams.Keys.GetEnumerator();

            for (int i = 0; i < Handeling.Teams.Count; ++i)
            {
                key.MoveNext();
                RVS_Team d_team = (RVS_Team)Handeling.Teams[(int)key.Current];
                AddButton(225, y, 1209, 1210, bid, GumpButtonType.Reply, 0);
                AddLabel(245, (y - 3), 12, String.Format(@"Team {0}: {1} out of {2} players", d_team.TeamID.ToString(), TeamPlayers(d_team).ToString(), d_team.Size.ToString()));

                y   += 20;
                bid += 1;
            }
        }
        public RVSSetup_Rules_Spells_6th(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 229, 9300);
            AddLabel(255, 244, 70, @"6th Circle Rules");

            AddCheck(225, 265, 210, 211, Handeling.Dispel, 1);
            AddLabel(255, 265, 54, @"Dispel");
            AddCheck(225, 290, 210, 211, Handeling.EnergyBolt, 2);
            AddLabel(255, 290, 54, @"Energy Bolt");
            AddCheck(225, 315, 210, 211, Handeling.Explosion, 3);
            AddLabel(255, 315, 54, @"Explosion");
            AddCheck(225, 340, 210, 211, Handeling.Invisibility, 4);
            AddLabel(255, 340, 54, @"Invisibility");
            AddCheck(225, 365, 210, 211, Handeling.Mark, 5);
            AddLabel(255, 365, 54, @"Mark");
            AddCheck(225, 390, 210, 211, Handeling.MassCurse, 6);
            AddLabel(255, 390, 54, @"Mass Curse");
            AddCheck(225, 415, 210, 211, Handeling.ParalyzeField, 7);
            AddLabel(255, 415, 54, @"Paralyze Field");
            AddCheck(225, 440, 210, 211, Handeling.Reveal, 8);
            AddLabel(255, 440, 54, @"Reveal");
        }
        public RVSSetup_Rules_Necromancy(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 304, 9300);
            AddLabel(255, 244, 70, @"Paladin Spell Rules");

            AddCheck(225, 265, 210, 211, Handeling.AllowNecromancy, 1);
            AddLabel(255, 265, 54, @"Allow Necromancy");
            AddCheck(225, 290, 210, 211, Handeling.AnimateDead, 2);
            AddLabel(255, 290, 54, @"Animate Dead");
            AddCheck(225, 315, 210, 211, Handeling.BloodOath, 3);
            AddLabel(255, 315, 54, @"Blood Oath");
            AddCheck(225, 340, 210, 211, Handeling.CorpseSkin, 4);
            AddLabel(255, 340, 54, @"Corpse Skin");
            AddCheck(225, 365, 210, 211, Handeling.CurseWeapon, 5);
            AddLabel(255, 365, 54, @"Curse Weapon");
            AddCheck(225, 390, 210, 211, Handeling.EvilOmen, 6);
            AddLabel(255, 390, 54, @"Evil Omen");
            AddCheck(225, 415, 210, 211, Handeling.Exorcisim, 7);
            AddLabel(255, 415, 54, @"Exorcism");
            AddCheck(225, 440, 210, 211, Handeling.HorrificBeast, 8);
            AddLabel(255, 440, 54, @"Horrific Beast");
            AddCheck(225, 465, 210, 211, Handeling.LichForm, 9);
            AddLabel(255, 465, 54, @"Lich Form");
            AddCheck(225, 490, 210, 211, Handeling.MindRot, 10);
            AddLabel(255, 490, 54, @"Mind Rot");
            AddCheck(225, 515, 210, 211, Handeling.PainSpike, 11);
            AddLabel(255, 515, 54, @"Pain Spike");
            AddCheck(225, 540, 210, 211, Handeling.PoisonStrike, 12);
            AddLabel(255, 540, 54, @"Poison Strike");
            AddCheck(225, 565, 210, 211, Handeling.Strangle, 13);
            AddLabel(255, 565, 54, @"Strangle");
            AddCheck(225, 590, 210, 211, Handeling.SummonFamiliar, 14);
            AddLabel(255, 590, 54, @"Summon Familiar");
            AddCheck(225, 615, 210, 211, Handeling.VampiricEmbrace, 15);
            AddLabel(255, 615, 54, @"Vampiric Embrace");
            AddCheck(225, 640, 210, 211, Handeling.VengefulSpirit, 16);
            AddLabel(255, 640, 54, @"Vengeful Spirit");
            AddCheck(225, 665, 210, 211, Handeling.Wither, 17);
            AddLabel(255, 665, 54, @"Wither");
            AddCheck(225, 690, 210, 211, Handeling.WraithForm, 18);
            AddLabel(255, 690, 54, @"Wraith Form");
        }
        public RVSSetup_Rules_Chivalry(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 304, 9300);
            AddLabel(255, 244, 70, @"Paladin Spell Rules");

            AddCheck(225, 265, 210, 211, Handeling.AllowChivalry, 1);
            AddLabel(255, 265, 54, @"Allow Chivalry");
            AddCheck(225, 290, 210, 211, Handeling.ClenseByFire, 2);
            AddLabel(255, 290, 54, @"Cleanse by Fire");
            AddCheck(225, 315, 210, 211, Handeling.CloseWounds, 3);
            AddLabel(255, 315, 54, @"Close Wounds");
            AddCheck(225, 340, 210, 211, Handeling.ConsecrateWeapon, 4);
            AddLabel(255, 340, 54, @"Consecrate Weapon");
            AddCheck(225, 365, 210, 211, Handeling.DispellEvil, 5);
            AddLabel(255, 365, 54, @"Dispell Evil");
            AddCheck(225, 390, 210, 211, Handeling.DivineFury, 6);
            AddLabel(255, 390, 54, @"Divine Fury");
            AddCheck(225, 415, 210, 211, Handeling.EnemyOfOne, 7);
            AddLabel(255, 415, 54, @"Enemy of One");
            AddCheck(225, 440, 210, 211, Handeling.HolyLight, 8);
            AddLabel(255, 440, 54, @"Holy Light");
            AddCheck(225, 465, 210, 211, Handeling.NobleSacrafice, 9);
            AddLabel(255, 465, 54, @"Noble Sacrafice");
            AddCheck(225, 490, 210, 211, Handeling.RemoveCurse, 10);
            AddLabel(255, 490, 54, @"Remove Curse");
            AddCheck(225, 515, 210, 211, Handeling.SacredJourny, 11);
            AddLabel(255, 515, 54, @"Sacred Journey");
        }
        public RVSSetup_Rules_Samurai(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 204, 9300);
            AddLabel(255, 244, 70, @"Samurai Spell Rules");

            AddCheck(225, 265, 210, 211, Handeling.AllowSamuraiSpells, 1);
            AddLabel(255, 265, 54, @"Allow Samurai Spells");
            AddCheck(225, 290, 210, 211, Handeling.Confidence, 2);
            AddLabel(255, 290, 54, @"Confidence");
            AddCheck(225, 315, 210, 211, Handeling.CounterAttack, 3);
            AddLabel(255, 315, 54, @"Counter Attack");
            AddCheck(225, 340, 210, 211, Handeling.Evasion, 4);
            AddLabel(255, 340, 54, @"Evasion");
            AddCheck(225, 365, 210, 211, Handeling.HonorableExecution, 5);
            AddLabel(255, 365, 54, @"Honorable Execution");
            AddCheck(225, 390, 210, 211, Handeling.LightningStrike, 6);
            AddLabel(255, 390, 54, @"Lightning Strike");
            AddCheck(225, 415, 210, 211, Handeling.MomentumStrike, 7);
            AddLabel(255, 415, 54, @"Momentum Strike");
        }
        public RVSSetup_Rules_Spells_5th(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 229, 9300);
            AddLabel(255, 244, 70, @"5th Circle Rules");

            AddCheck(225, 265, 210, 211, Handeling.BladeSpirits, 1);
            AddLabel(255, 265, 54, @"Blade Spirits");
            AddCheck(225, 290, 210, 211, Handeling.DispelField, 2);
            AddLabel(255, 290, 54, @"Dispel Field");
            AddCheck(225, 315, 210, 211, Handeling.Incognito, 3);
            AddLabel(255, 315, 54, @"Incognito");
            AddCheck(225, 340, 210, 211, Handeling.MagicReflection, 4);
            AddLabel(255, 340, 54, @"Magic Reflection");
            AddCheck(225, 365, 210, 211, Handeling.MagicReflection, 5);
            AddLabel(255, 365, 54, @"Mind Blast");
            AddCheck(225, 390, 210, 211, Handeling.MindBlast, 6);
            AddLabel(255, 390, 54, @"Paralyze");
            AddCheck(225, 415, 210, 211, Handeling.Paralyze, 7);
            AddLabel(255, 415, 54, @"Poison Field");
            AddCheck(225, 440, 210, 211, Handeling.SummonCreature, 8);
            AddLabel(255, 440, 54, @"Summon Creature");
        }
		public virtual void SpawnFountainsSheep( RVS Handeling, String RegionName, Point3D spawn, Map s_map )
		{
			Item HealthFountain = new StoneFountainAddon();
			Item ManaFountain = new BrownStoneFountainAddon();
			HealthFlies2 HealthFlies = new HealthFlies2();
			ManaFlies2 ManaFlies = new ManaFlies2();
			
			HealthFountain.Map = s_map;
			HealthFountain.Location = new Point3D( (spawn.X - 13),(spawn.Y + 13), spawn.Z );
			ManaFountain.Map = s_map;
			ManaFountain.Location = new Point3D( (spawn.X + 12),(spawn.Y - 14), spawn.Z );
			
			HealthFlies.Name = RegionName;
			HealthFlies.rvsc = this;
			HealthFlies.Enabled = true;
			HealthFlies.Map = s_map;
			HealthFlies.Location = new Point3D( (spawn.X - 13),(spawn.Y + 13), (spawn.Z + 15) );
			
			ManaFlies.Name = RegionName;
			ManaFlies.rvsc = this;
			ManaFlies.Enabled = true;
			ManaFlies.Map = s_map;
			ManaFlies.Location  = new Point3D( (spawn.X + 13),(spawn.Y - 13), (spawn.Z + 15) );
			
			Fountains.Add( HealthFountain );
			Fountains.Add( ManaFountain );
			Fountains.Add( HealthFlies );
			Fountains.Add( ManaFlies );
		}
 public RVS_AddTarget(RVS d, int team, int i)
     : base(16, false, TargetFlags.None)
 {
     Handeling = d;
     TeamID = team;
     Index = i;
     D_Team = (RVS_Team)Handeling.Teams[TeamID];
 }
 public RVS_EndTimer(RVS d)
     : base(TimeSpan.FromMinutes(45.0))
 {
     Handeling = d;
     this.Start();
 }
        public RVSSetup_Rules_Ninjitsu(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 254, 9300);
            AddLabel(255, 244, 70, @"Ninja Spell Rules");

            AddCheck(225, 265, 210, 211, Handeling.AllowNinjaSpells, 1);
            AddLabel(255, 265, 54, @"Allow Ninjitsu");
            AddCheck(225, 290, 210, 211, Handeling.AnimalForm, 2);
            AddLabel(255, 290, 54, @"Animal Form");
            AddCheck(225, 315, 210, 211, Handeling.Backstab, 3);
            AddLabel(255, 315, 54, @"Backstab");
            AddCheck(225, 340, 210, 211, Handeling.DeathStrike, 4);
            AddLabel(255, 340, 54, @"Death Strike");
            AddCheck(225, 365, 210, 211, Handeling.FocusAttack, 5);
            AddLabel(255, 365, 54, @"Focus Attack");
            AddCheck(225, 390, 210, 211, Handeling.KiAttack, 6);
            AddLabel(255, 390, 54, @"Ki Attack");
            AddCheck(225, 415, 210, 211, Handeling.MirrorImage, 7);
            AddLabel(255, 415, 54, @"Mirror Image");
            AddCheck(225, 440, 210, 211, Handeling.ShadowJump, 8);
            AddLabel(255, 440, 54, @"Shadow Jump");
            AddCheck(225, 465, 210, 211, Handeling.SurpriseAttack, 9);
            AddLabel(255, 465, 54, @"Surprise Attack");
        }
        public RVSSetup_Rules_Spells_7th(RVS d)
            : base(0, 0)
        {
            Handeling = d;

            Closable = true;
            Dragable = true;
            Resizable = false;

            AddBackground(219, 238, 172, 229, 9300);
            AddLabel(255, 244, 70, @"7th Circle Rules");

            AddCheck(225, 265, 210, 211, Handeling.ChainLightning, 1);
            AddLabel(255, 265, 54, @"Chain Lightning");
            AddCheck(225, 290, 210, 211, Handeling.EnergyField, 2);
            AddLabel(255, 290, 54, @"Energy Field");
            AddCheck(225, 315, 210, 211, Handeling.FlameStrike, 3);
            AddLabel(255, 315, 54, @"Flame Strike");
            AddCheck(225, 340, 210, 211, Handeling.GateTravel, 4);
            AddLabel(255, 340, 54, @"Gate Travel");
            AddCheck(225, 365, 210, 211, Handeling.ManaVampire, 5);
            AddLabel(255, 365, 54, @"Mana Vampire");
            AddCheck(225, 390, 210, 211, Handeling.MassDispel, 6);
            AddLabel(255, 390, 54, @"Mass Dispel");
            AddCheck(225, 415, 210, 211, Handeling.MeteorSwarm, 7);
            AddLabel(255, 415, 54, @"Meteor Swarm");
            AddCheck(225, 440, 210, 211, Handeling.Polymorph, 8);
            AddLabel(255, 440, 54, @"Polymorph");
        }