예제 #1
0
파일: PVPArena.cs 프로젝트: tflynt91/TrueUO
        public PVPArena(ArenaDefinition definition)
        {
            Definition = definition;

            PendingDuels = new Dictionary <ArenaDuel, DateTime>();
            BookedDuels  = new List <ArenaDuel>();
            Blockers     = new List <Item>();

            TeamRankings     = new List <ArenaStats>();
            SurvivalRankings = new List <ArenaStats>();
        }
예제 #2
0
        private ArenaDefinition GetDefinition(string name)
        {
            ArenaDefinition def = ArenaDefinition.Definitions.FirstOrDefault(d => d.Name == name);

            if (def == null)
            {
                return(ArenaDefinition.Definitions[0]);
            }

            return(def);
        }
예제 #3
0
        public void RemoveBlockedArena(ArenaDefinition def)
        {
            if (BlockedArenas == null)
            {
                return;
            }

            BlockedArenas.Remove(def.Name);

            if (Arenas == null || Arenas.Count == 0)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), () => Instance.OnTick());
            }

            PVPArena arena = new PVPArena(def);

            Instance.Register(arena);
            Utility.WriteConsoleColor(ConsoleColor.Green, "Removing blocked EA PVP Arena: {0}", arena.Definition.Name);
            arena.ConfigureArena();
        }
예제 #4
0
        private static bool CanInitialize(ArenaDefinition def)
        {
            bool all = true;

            if (Arenas != null)
            {
                for (var index = 0; index < Arenas.Count; index++)
                {
                    var arena = Arenas[index];

                    if (arena.Definition == def)
                    {
                        all = false;
                        break;
                    }
                }
            }

            return(!Instance.IsBlocked(def) && (Arenas == null || all));
        }
예제 #5
0
        private ArenaDefinition GetDefinition(string name)
        {
            ArenaDefinition def = null;

            for (var index = 0; index < ArenaDefinition.Definitions.Length; index++)
            {
                var d = ArenaDefinition.Definitions[index];

                if (d.Name == name)
                {
                    def = d;
                    break;
                }
            }

            if (def == null)
            {
                return(ArenaDefinition.Definitions[0]);
            }

            return(def);
        }
예제 #6
0
 private static bool CanInitialize(ArenaDefinition def)
 {
     return(!Instance.IsBlocked(def) && (Arenas == null || !Arenas.Any(arena => arena.Definition == def)));
 }
예제 #7
0
 public bool IsBlocked(ArenaDefinition def)
 {
     return(BlockedArenas != null && BlockedArenas.Contains(def.Name));
 }
예제 #8
0
        static ArenaDefinition()
        {
            LostLandsTrammel = new ArenaDefinition("Lostland (T)", 1,
                                                   new Point3D(6102, 3721, 25),
                                                   new Point3D(6097, 3730, 20),
                                                   new Point3D(6081, 3713, 26),
                                                   new Point3D(6087, 3713, 26),
                                                   17101,
                                                   17099,
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6072, 3718, 24, 1),
                new Rectangle2D(6072, 3723, 24, 1),
                new Rectangle2D(6075, 3714, 1, 14),
                new Rectangle2D(6083, 3713, 1, 16),
                new Rectangle2D(6091, 3714, 1, 14),
            },
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6071, 3719, 4, 3),
                new Rectangle2D(6092, 3719, 4, 3),
                new Rectangle2D(6077, 3713, 5, 4),
                new Rectangle2D(6084, 3713, 5, 4),
                new Rectangle2D(6076, 3724, 5, 4),
                new Rectangle2D(6084, 3724, 5, 4),
                new Rectangle2D(6073, 3716, 1, 1),
                new Rectangle2D(6073, 3724, 1, 1),
                new Rectangle2D(6091, 3714, 2, 2),
                new Rectangle2D(6091, 3724, 2, 2),
            },
                                                   new Point3D(6100, 3721, 25),
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6070, 3713, 27, 16)
            },
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6059, 3697, 53, 56)
            },
                                                   new Rectangle2D(6099, 3718, 5, 7),
                                                   new Rectangle2D(6097, 3729, 2, 2));

            LostLandsFelucca = new ArenaDefinition("Lostland (F)", 0,
                                                   new Point3D(6102, 3721, 25),
                                                   new Point3D(6097, 3730, 20),
                                                   new Point3D(6081, 3713, 26),
                                                   new Point3D(6087, 3713, 26),
                                                   17101,
                                                   17099,
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6072, 3718, 24, 1),
                new Rectangle2D(6072, 3723, 24, 1),
                new Rectangle2D(6075, 3714, 1, 14),
                new Rectangle2D(6083, 3713, 1, 16),
                new Rectangle2D(6090, 3713, 1, 16),
            },
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6071, 3719, 4, 3),
                new Rectangle2D(6092, 3719, 4, 3),
                new Rectangle2D(6077, 3713, 5, 4),
                new Rectangle2D(6084, 3713, 5, 4),
                new Rectangle2D(6076, 3724, 5, 4),
                new Rectangle2D(6084, 3724, 5, 4),
                new Rectangle2D(6073, 3716, 1, 1),
                new Rectangle2D(6073, 3724, 1, 1),
                new Rectangle2D(6091, 3714, 2, 2),
                new Rectangle2D(6091, 3724, 2, 2),
            },
                                                   new Point3D(6100, 3721, 25),
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6070, 3713, 27, 16)
            },
                                                   new Rectangle2D[]
            {
                new Rectangle2D(6059, 3697, 53, 56)
            },
                                                   new Rectangle2D(6099, 3718, 5, 7),
                                                   new Rectangle2D(6097, 3729, 2, 2));

            HavenTrammel = new ArenaDefinition("New Haven (T)", 1,
                                               new Point3D(3793, 2770, 6),
                                               new Point3D(3790, 2783, 6),
                                               new Point3D(3760, 2769, 12),
                                               new Point3D(3783, 2761, 10),
                                               17102,
                                               17099,
                                               new Rectangle2D[]
            {
                new Rectangle2D(3760, 2766, 25, 1),
                new Rectangle2D(3760, 2772, 25, 1),
                new Rectangle2D(3765, 2761, 1, 16),
                new Rectangle2D(3772, 2761, 1, 16),
                new Rectangle2D(3780, 2761, 1, 16),
            },
                                               new Rectangle2D[]
            {
                new Rectangle2D(3760, 2767, 4, 4),
                new Rectangle2D(3781, 2767, 3, 4),
                new Rectangle2D(3766, 2761, 4, 4),
                new Rectangle2D(3773, 2761, 4, 4),
                new Rectangle2D(3766, 2773, 4, 4),
                new Rectangle2D(3773, 2773, 4, 4),
                new Rectangle2D(3760, 2761, 3, 3),
                new Rectangle2D(3781, 2761, 3, 3),
                new Rectangle2D(3781, 2773, 3, 3),
                new Rectangle2D(3760, 2773, 3, 3),
            },
                                               new Point3D(3792, 2768, 6),
                                               new Rectangle2D[]
            {
                new Rectangle2D(3760, 2761, 25, 16)
            },
                                               new Rectangle2D[]
            {
                new Rectangle2D(3740, 2747, 63, 51)
            },
                                               new Rectangle2D(3791, 2766, 4, 9),
                                               new Rectangle2D(3790, 2781, 2, 5));

            HavenFelucca = new ArenaDefinition("New Haven (F)", 0,
                                               new Point3D(3782, 2766, 5),
                                               new Point3D(3779, 2778, 5),
                                               new Point3D(3749, 2765, 12),
                                               new Point3D(3772, 2757, 10),
                                               17102,
                                               17099,
                                               new Rectangle2D[]
            {
                new Rectangle2D(3749, 2762, 25, 1),
                new Rectangle2D(3749, 2768, 25, 1),
                new Rectangle2D(3754, 2757, 1, 16),
                new Rectangle2D(3761, 2757, 1, 16),
                new Rectangle2D(3769, 2757, 1, 16),
            },
                                               new Rectangle2D[]
            {
                new Rectangle2D(3749, 2763, 4, 4),
                new Rectangle2D(3770, 2763, 3, 4),
                new Rectangle2D(3755, 2757, 4, 4),
                new Rectangle2D(3762, 2757, 4, 4),
                new Rectangle2D(3755, 2769, 4, 4),
                new Rectangle2D(3762, 2769, 4, 4),
                new Rectangle2D(3749, 2757, 3, 3),
                new Rectangle2D(3770, 2757, 3, 3),
                new Rectangle2D(3770, 2769, 3, 3),
                new Rectangle2D(3759, 2769, 3, 3),
            },
                                               new Point3D(3781, 2764, 5),
                                               new Rectangle2D[]
            {
                new Rectangle2D(3749, 2757, 25, 16)
            },
                                               new Rectangle2D[]
            {
                new Rectangle2D(3735, 2747, 68, 51)
            },
                                               new Rectangle2D(3780, 2763, 4, 9),
                                               new Rectangle2D(3779, 2776, 2, 5));

            _Definitions[0] = LostLandsTrammel;
            _Definitions[1] = LostLandsFelucca;
            _Definitions[2] = HavenTrammel;
            _Definitions[3] = HavenFelucca;
        }