Esempio n. 1
0
 public static void Initialize()
 {
     Region.AddRegion(new MalasDungeon("Doom"));
     Region.AddRegion(new MalasDungeon("Doom Gauntlet"));
     Region.AddRegion(new MalasDungeon("Fan Dancer Dojo"));
     Region.AddRegion(new MalasDungeon("Yomotsu Mines"));
 }
        public static void Initialize()
        {
            /* The first parameter is a boolean value:
             *  - False: this uses 'stupid OSI' house placement checking: part of the house may be placed here provided that the center is not in the region
             *  -  True: this uses 'smart RunUO' house placement checking: no part of the house may be in the region
             */

            Region.AddRegion(new NoHousingRegion(false, "", "Britain Graveyard", Map.Felucca));
            Region.AddRegion(new NoHousingRegion(false, "", "Wrong Entrance", Map.Felucca));
            Region.AddRegion(new NoHousingRegion(false, "", "Covetous Entrance", Map.Felucca));
            Region.AddRegion(new NoHousingRegion(false, "", "Despise Entrance", Map.Felucca));
            Region.AddRegion(new NoHousingRegion(false, "", "Despise Passage", Map.Felucca));
            Region.AddRegion(new NoHousingRegion(false, "", "Jhelom Islands", Map.Felucca));

            Region.AddRegion(new NoHousingRegion(false, "", "Britain Graveyard", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(false, "", "Wrong Entrance", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(false, "", "Covetous Entrance", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(false, "", "Despise Entrance", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(false, "", "Despise Passage", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(false, "", "Jhelom Islands", Map.Trammel));
            Region.AddRegion(new NoHousingRegion(true, "", "Haven Island", Map.Trammel));

            Region.AddRegion(new NoHousingRegion(false, "", "Crystal Cave Entrance", Map.Malas));
            Region.AddRegion(new NoHousingRegion(true, "", "Protected Island", Map.Malas));

            Region.AddRegion(new NoHousingRegion(true, "", "Serado the Awakaned", Map.Tokuno));
        }
Esempio n. 3
0
        public void UpdateRegion()
        {
            if (Coords != null && Coords.Count != 0)
            {
                if (m_Region == null)
                {
                    m_Region = new CustomRegion(this, this.Map);
                    //Region.AddRegion( m_Region );	//Maybe not needed cause setting map will call this?
                }

                Region.RemoveRegion(m_Region);

                m_Region.Coords = Coords;

                m_Region.Disabled = !(GetFlag(RegionFlag.IsGuarded));

                m_Region.Music = Music;
                m_Region.Name  = m_RegionName;

                m_Region.Priority = (int)m_Priority;

                m_Region.Map = this.Map;

                Region.AddRegion(m_Region);
            }

            return;
        }
Esempio n. 4
0
 public void RefreshRegions()
 {
     if (m_MobFactionRegion != null)
     {
         Region.RemoveRegion(m_MobFactionRegion);
         Region.AddRegion(m_MobFactionRegion);
     }
 }
Esempio n. 5
0
 public static void Initialize()
 {
     Region.AddRegion(new IlshenarDungeon("Rock Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Spider Cave"));
     Region.AddRegion(new IlshenarDungeon("Spectre Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Blood Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Wisp Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Ankh Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Exodus Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Sorcerer's Dungeon"));
     Region.AddRegion(new IlshenarDungeon("Ancient Lair"));
 }
Esempio n. 6
0
        public static void Initialize()
        {
            Region.AddRegion(new TeiravonRegion("Easy Forest", false, false));
            Region.AddRegion(new TeiravonRegion("Medium Forest", false, false));
            Region.AddRegion(new TeiravonRegion("Hard Forest", false, false));
            Region.AddRegion(new TeiravonRegion("Easy Plains", false, false));
            Region.AddRegion(new TeiravonRegion("Medium Plains", false, false));
            Region.AddRegion(new TeiravonRegion("Hard Plains", false, false));
            Region.AddRegion(new TeiravonRegion("Swamp", false, false));
            Region.AddRegion(new TeiravonRegion("Medium Desert", false, false));
            Region.AddRegion(new TeiravonRegion("Hard Desert", false, false));
            Region.AddRegion(new TeiravonRegion("Easy Underdark", false, false));
            Region.AddRegion(new TeiravonRegion("Medium Underdark", false, false));
            Region.AddRegion(new TeiravonRegion("Hard Underdark", false, false));
            Region.AddRegion(new TeiravonRegion("Gorge", false, false));
            Region.AddRegion(new TeiravonRegion("No Encounter Area", false, false));

            // Rómen
            Region.AddRegion(new TeiravonRegion("Edana", true, false));
            Region.AddRegion(new TeiravonRegion("Edana Territory", false, false));
            Region.AddRegion(new TeiravonRegion("Northwest Mercadia", false, false));
            Region.AddRegion(new TeiravonRegion("Northeast Mercadia", false, false));
            Region.AddRegion(new TeiravonRegion("Fortress Entrigan", true, false));

            Region.AddRegion(new TeiravonRegion("Tilverton", true, false));
            Region.AddRegion(new TeiravonRegion("Tilverton Territory", false, false));
            Region.AddRegion(new TeiravonRegion("Devonshire", false, false));
            Region.AddRegion(new TeiravonRegion("Devonshire Territory", false, false));

            Region.AddRegion(new TeiravonRegion("Karagard", false, true));
            Region.AddRegion(new TeiravonRegion("Burzkal", true, false));
            Region.AddRegion(new TeiravonRegion("Azarad", true, false));

            //Region.AddRegion(new TeiravonRegion("Blackwatch", true, true));

            // Márandor
            Region.AddRegion(new TeiravonRegion("Arandor", true, false));
            Region.AddRegion(new TeiravonRegion("Tihrindo", true, false));
            Region.AddRegion(new TeiravonRegion("Luvalaire", false, false));
            Region.AddRegion(new TeiravonRegion("Almiture", false, false));
            //			Region.AddRegion( new TeiravonRegion( "Ilmende", false, false ) );

            // Underdark
            Region.AddRegion(new TeiravonRegion("Shadowrealm", true, true));
            Region.AddRegion(new TeiravonRegion("Underdark", false, true));

            //Vinyalonde
            Region.AddRegion(new TeiravonRegion("Vinyalonde", false, false));

            //MtThunder
            Region.AddRegion(new TeiravonRegion("MtThunder", false, true));
            Region.AddRegion(new TeiravonRegion("UDEntrance", false, true));
        }
Esempio n. 7
0
 public static new void Initialize()
 {
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Mistas")));
     Region.AddRegion(new IlshenarCity("Gargoyle City"));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Montor")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Alexandretta's Bowl")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Lenmir Anfinmotas")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Reg Volon")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Bet-Lem Reg")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Lake Shire")));
     Region.AddRegion(GuardedRegion.Disable(new IlshenarCity("Ancient Citadel")));
 }
        //private GauntletSpawner m_Spawner;

        public GauntletRegion(GauntletSpawner spawner, Map map) : base("", spawner.TypeName, map)
        {
            //m_Spawner = spawner;

            Priority    = Region.TownPriority + 1;
            LoadFromXml = false;

            Coords = new ArrayList();
            Coords.Add(spawner.RegionBounds);

            GoLocation = spawner.Location;

            Region.AddRegion(this);
        }
Esempio n. 9
0
 public static void Initialize()
 {
     Region.AddRegion(new TrammelDungeon("Covetous"));
     Region.AddRegion(new TrammelDungeon("Deceit"));
     Region.AddRegion(new TrammelDungeon("Despise"));
     Region.AddRegion(new TrammelDungeon("Destard"));
     Region.AddRegion(new TrammelDungeon("Hythloth"));
     Region.AddRegion(new TrammelDungeon("Shame"));
     Region.AddRegion(new TrammelDungeon("Wrong"));
     Region.AddRegion(new TrammelDungeon("Terathan Keep"));
     Region.AddRegion(new TrammelDungeon("Fire"));
     Region.AddRegion(new TrammelDungeon("Ice"));
     Region.AddRegion(new TrammelDungeon("Orc Cave"));
     Region.AddRegion(new TrammelDungeon("Misc Dungeons"));
 }
Esempio n. 10
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Region = new HouseRegion(this);

            switch (version)
            {
            case 0:
            {
                m_KeyValue          = reader.ReadUInt();
                m_Visits            = reader.ReadInt();
                m_Price             = reader.ReadInt();
                m_BuiltOn           = reader.ReadDateTime();
                m_LastTraded        = reader.ReadDateTime();
                m_Public            = reader.ReadBool();
                m_Region.GoLocation = reader.ReadPoint3D();
                if (version < 8)
                {
                    m_Price = DefaultPrice;
                }

                m_Owner = reader.ReadMobile();

                UpdateRegionArea();

                Region.AddRegion(m_Region);

                m_Sign  = reader.ReadItem() as HouseSign;
                m_Trash = reader.ReadItem() as TrashBarrel;

                m_Doors  = reader.ReadItemList();
                m_Addons = reader.ReadItemList();

                if ((Map == null || Map == Map.Internal) && Location == Point3D.Zero)
                {
                    Delete();
                }
                break;
            }
            }
        }
Esempio n. 11
0
        public void UpdateRegion()
        {
            if (Enabled)
            {
                if (Coords != null && Coords.Count != 0)
                {
                    if (m_Region == null)
                    {
                        //Pix: This change was needed so that classes derived from
                        // RegionControl could have a different CustomRegion (i.e. a different
                        // class derived from CustomRegion)
                        //m_Region = new CustomRegion( this, this.Map );
                        m_Region = CreateRegion(this, this.Map);
                    }

                    Region.RemoveRegion(m_Region);

                    m_Region.Coords = Coords;

                    m_Region.InnBounds = InnBounds;

                    m_Region.IsGuarded = (GetFlag(RegionFlag.IsGuarded));

                    m_Region.Name = m_RegionName;

                    m_Region.Priority = (int)m_Priority;

                    m_Region.Map = m_TargetMap;

                    m_Region.MinZ = m_MinZ;

                    m_Region.MaxZ = m_MaxZ;

                    m_Region.GoLocation = m_GoLocation;

                    m_Region.Music = m_Music;

                    Region.AddRegion(m_Region);
                }
            }

            return;
        }
Esempio n. 12
0
        public MobFactionRegionStone() : base(0x161D)
        {
            Visible = false;
            Movable = false;
            Name    = "MobFaction Region Controller";

            MobFactionRegionName = "MobFaction Game Region";

            MobFactionPriority = 0x90;                         // high priority

            if (m_MobFactionRegion == null)
            {
                if (m_MobFactionMap == null)
                {
                    m_MobFactionMap = this.Map;
                }
                m_MobFactionRegion = new MobFactionRegion(MobFactionRegionName, m_MobFactionMap);
                Region.AddRegion(m_MobFactionRegion);
            }
        }
Esempio n. 13
0
        /// <summary>
        /// This function deals with adding connections between our regions
        /// we randomly placed, and the maze paths we generated around them.
        /// This works first by looking at all regions we have. Then it picks one
        /// finds all connections for that region, then randomly picks a connection
        /// to carve open. It then adds the region we just carved into into the region
        /// we are in. It then removes that region from the list. We then repeat that
        /// until we have only 1 region left.
        /// </summary>
        private void ConnectPathsAndRegions()
        {
            List <Region> allRegions = new List <Region>();

            allRegions.AddRange(Regions);

            while (allRegions.Count > 1)
            {
                Region currentRegion = allRegions.First();
                IList <KeyValuePair <ETileDirection, Tile> > possibleconnections = GetPossibleConnections(currentRegion);

                if (possibleconnections.Count == 0)
                {
                    Debug.Log("Region has no connection points");
                    allRegions.Remove(currentRegion);
                    continue;
                }

                for (int i = 0; i <= AdditionalConnectionAttempts && possibleconnections.Count > 0; i++)
                {
                    if (i > 0 && UnityEngine.Random.Range(0, 100) > AddAnotherConnectionPercentage)
                    {
                        continue;
                    }

                    int randomConnection = UnityEngine.Random.Range(0, possibleconnections.Count);
                    KeyValuePair <ETileDirection, Tile> connection = possibleconnections.ElementAt(randomConnection);
                    possibleconnections.RemoveAt(randomConnection);

                    Tile nextRegion = CarveTile(connection.Value, connection.Key);
                    GetTileToDirection(connection.Value, connection.Key).Type = ETileType.DOOR;

                    if (i == 0)
                    {
                        Region otherRegion = nextRegion.ParentRegion;
                        currentRegion.AddRegion(otherRegion);
                        allRegions.Remove(otherRegion);
                    }
                }
            }
        }
Esempio n. 14
0
        new public static void Initialize()
        {
            Region.AddRegion(new TrammelTown("Cove"));
            Region.AddRegion(new TrammelTown("Britain"));
            Region.AddRegion(new TrammelTown("Jhelom"));
            Region.AddRegion(new TrammelTown("Minoc"));
            Region.AddRegion(new TrammelTown("Haven"));
            Region.AddRegion(new TrammelTown("Trinsic"));
            Region.AddRegion(new TrammelTown("Vesper"));
            Region.AddRegion(new TrammelTown("Yew"));
            Region.AddRegion(new TrammelTown("Wind"));
            Region.AddRegion(new TrammelTown("Serpent's Hold"));
            Region.AddRegion(new TrammelTown("Skara Brae"));
            Region.AddRegion(new TrammelTown("Nujel'm"));
            Region.AddRegion(new TrammelTown("Moonglow"));
            Region.AddRegion(new TrammelTown("Magincia"));
            Region.AddRegion(new TrammelTown("Delucia"));
            Region.AddRegion(new TrammelTown("Papua"));
            Region.AddRegion(GuardedRegion.Disable(new TrammelTown("Buccaneer's Den")));

            Region.AddRegion(new GuardedRegion("", "Moongates", Map.Trammel, typeof(WarriorGuard)));
        }
 public static void Initialize()
 {
     Region.AddRegion(new DoomLampRoom("Doom Lamp Room"));
 }
Esempio n. 16
0
 public static void Initialize()
 {
     Region.AddRegion(new GreenAcres(Map.Felucca));
     Region.AddRegion(new GreenAcres(Map.Trammel));
 }
Esempio n. 17
0
 public static void Initialize()
 {
     Region.AddRegion(new DuelPit(Map.Felucca));
 }
Esempio n. 18
0
 new public static void Initialize()
 {
     Region.AddRegion(new TokunoTown("Zento"));
     Region.AddRegion(GuardedRegion.Disable(new TokunoTown("Fan Dancer's Dojo")));
     Region.AddRegion(new GuardedRegion("", "Moongates", Map.Tokuno, typeof(WarriorGuard)));
 }
Esempio n. 19
0
 public static void Initialize()
 {
     Region.AddRegion(new GameRegion());
 }
Esempio n. 20
0
 public static void Initialize()
 {
     Region.AddRegion(new Jail(Map.Felucca));
     Region.AddRegion(new Jail(Map.Trammel));
 }
 public static void Initialize()
 {
     Region.AddRegion(new StartPoint("Samurai DE"));
     Region.AddRegion(new StartPoint("Ninja DE"));
     Region.AddRegion(new StartPoint("Mongbat Cave"));
 }
Esempio n. 22
0
 new public static void Initialize()
 {
     Region.AddRegion(new MalasCity("Luna"));
     Region.AddRegion(new MalasCity("Umbra"));
 }
 public static void Initialize()
 {
     Region.AddRegion(new DoomDarkGuardiansRoom("Doom Dark Guardians Room"));
 }
 public static void Initialize()
 {
     Region.AddRegion(new NonDuelPit(Map.Felucca));
     EventSink.Logout += new LogoutEventHandler(EventSink_Logout);
     EventSink.Login  += new LoginEventHandler(EventSink_Login);
 }
Esempio n. 25
0
 public static void Initialize()
 {
     Region.AddRegion(new MalasDungeon("Doom"));
     Region.AddRegion(new MalasDungeon("Doom Gauntlet"));
 }
Esempio n. 26
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (m_Sender == null || m_Reciever == null)
            {
                return;
            }

            switch (info.ButtonID)
            {
            case 0:                     //Cancel
            {
                m_Sender.SendAsciiMessage("You have cancelled your request for a duel.");
                m_Reciever.SendAsciiMessage(m_Sender.Name + " has cancelled the request for a duel.");
                ((PlayerMobile)m_Sender).SentRequest       = false;
                ((PlayerMobile)m_Reciever).RecievedRequest = false;
                break;
            }

            case 1:                     //Dockside
            {
                if (!m_Sender.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (!m_Reciever.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Aggressed.Count != 0 || m_Sender.Aggressors.Count != 0)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are in combat.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Aggressed.Count != 0 || m_Reciever.Aggressors.Count != 0)
                {
                    m_Reciever.SendMessage("You must cancel because you are in combat.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Hits != m_Sender.HitsMax)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are not at full health.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Hits != m_Reciever.HitsMax)
                {
                    m_Reciever.SendMessage("You must cancel because you are not at full health.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (Region.Regions.Count > 0)
                {
                    bool found = false;
                    for (int i = 0; i < Region.Regions.Count; i++)
                    {
                        Region region = Region.Regions[i] as Region;

                        if (region is DockSideArena)
                        {
                            if (region.Players.Count == 0)
                            {
                                Region.RemoveRegion(region);
                            }
                            else
                            {
                                found = true;
                                m_Sender.SendMessage("Dockside is currently in use.");
                                m_Sender.SendGump(new DuelLocationGump(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                                break;
                            }
                        }
                    }

                    if (found)
                    {
                        break;
                    }
                }

                Region.AddRegion(new DockSideArena(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                break;
            }

            case 2:                     //Sandpit
            {
                if (!m_Sender.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (!m_Reciever.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Aggressed.Count != 0 || m_Sender.Aggressors.Count != 0)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are in combat.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Aggressed.Count != 0 || m_Reciever.Aggressors.Count != 0)
                {
                    m_Reciever.SendMessage("You must cancel because you are in combat.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Hits != m_Sender.HitsMax)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are not at full health.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Hits != m_Reciever.HitsMax)
                {
                    m_Reciever.SendMessage("You must cancel because you are not at full health.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (Region.Regions.Count > 0)
                {
                    bool found = false;
                    for (int i = 0; i < Region.Regions.Count; i++)
                    {
                        Region region = Region.Regions[i] as Region;

                        if (region is SandPitArena)
                        {
                            if (region.Players.Count == 0)
                            {
                                Region.RemoveRegion(region);
                            }
                            else
                            {
                                found = true;
                                m_Sender.SendMessage("The Sandpit is currently in use.");
                                m_Sender.SendGump(new DuelLocationGump(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                                break;
                            }
                        }
                    }

                    if (found)
                    {
                        break;
                    }
                }

                Region.AddRegion(new SandPitArena(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                break;
            }

            case 3:                     //Corroded2Arena
            {
                if (!m_Sender.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (!m_Reciever.Alive)
                {
                    m_Sender.SendMessage("You seem to have died since making the offer.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are dead.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Aggressed.Count != 0 || m_Sender.Aggressors.Count != 0)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are in combat.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Aggressed.Count != 0 || m_Reciever.Aggressors.Count != 0)
                {
                    m_Reciever.SendMessage("You must cancel because you are in combat.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are in combat.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Sender.Hits != m_Sender.HitsMax)
                {
                    m_Sender.SendMessage("You must cancel your offer because you are not at full health.");
                    m_Reciever.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (m_Reciever.Hits != m_Reciever.HitsMax)
                {
                    m_Reciever.SendMessage("You must cancel because you are not at full health.");
                    m_Sender.SendMessage("Your opponent has cancelled the duel because they are not at full health.");
                    ((PlayerMobile)m_Reciever).RecievedRequest = false;
                    ((PlayerMobile)m_Sender).SentRequest       = false;
                    break;
                }

                if (Region.Regions.Count > 0)
                {
                    bool found = false;
                    for (int i = 0; i < Region.Regions.Count; i++)
                    {
                        Region region = Region.Regions[i] as Region;

                        if (region is Corroded2Arena)
                        {
                            if (region.Players.Count == 0)
                            {
                                Region.RemoveRegion(region);
                            }
                            else
                            {
                                found = true;
                                m_Sender.SendMessage("The corroded arena is currently in use.");
                                m_Sender.SendGump(new DuelLocationGump(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                                break;
                            }
                        }
                    }

                    if (found)
                    {
                        break;
                    }
                }

                Region.AddRegion(new Corroded2Arena(info.IsSwitched(5), info.IsSwitched(6), info.IsSwitched(7), info.IsSwitched(8), info.IsSwitched(9), info.IsSwitched(10), m_Sender, m_Reciever));
                break;
            }

            case 11:                     //Cancel
            {
                goto case 0;
            }
            }
        }