예제 #1
0
        public static void CheckBlab_Callback()
        {
            List <Mobile> regPlayers1 = null;
            List <Mobile> regPlayers2 = null;
            List <Mobile> regPlayers3 = null;

            if (m_Region1 != null)
            {
                regPlayers1 = m_Region1.GetPlayers();
            }

            if (m_Region2 != null)
            {
                regPlayers2 = m_Region2.GetPlayers();
            }

            if (TokunoDocksRegion.Instance != null)
            {
                regPlayers2 = TokunoDocksRegion.Instance.GetPlayers();
            }
            //TODO: Quest Check
            if (regPlayers1 != null)
            {
                for (int i = 0; i < regPlayers1.Count; i++)
                {
                    Mobile player = regPlayers1[i];

                    if (player != null && player.Alive && player is PlayerMobile && QuestHelper.GetQuest((PlayerMobile)player, typeof(ProfessionalBountyQuest)) != null)
                    {
                        IPooledEnumerable eable = player.GetMobilesInRange(4);
                        foreach (Mobile mob in eable)
                        {
                            if (mob is BaseVendor || mob is MondainQuester || mob is GalleonPilot)
                            {
                                TryPirateBlab(player, mob);
                                break;
                            }
                        }
                        eable.Free();
                    }
                }
            }

            if (regPlayers2 != null)
            {
                for (int i = 0; i < regPlayers2.Count; i++)
                {
                    Mobile player = regPlayers2[i];

                    if (player != null && player.Alive && player is PlayerMobile && QuestHelper.GetQuest((PlayerMobile)player, typeof(ProfessionalBountyQuest)) != null)
                    {
                        IPooledEnumerable eable = player.GetMobilesInRange(4);
                        foreach (Mobile mob in eable)
                        {
                            if (mob is BaseVendor || mob is MondainQuester)
                            {
                                TryPirateBlab(player, mob);
                                break;
                            }
                        }
                        eable.Free();
                    }
                }
            }

            if (regPlayers3 != null)
            {
                for (int i = 0; i < regPlayers3.Count; i++)
                {
                    Mobile player = regPlayers3[i];

                    if (player != null && player.Alive && player is PlayerMobile && QuestHelper.GetQuest((PlayerMobile)player, typeof(ProfessionalBountyQuest)) != null)
                    {
                        IPooledEnumerable eable = player.GetMobilesInRange(4);
                        foreach (Mobile mob in eable)
                        {
                            if (mob is BaseVendor || mob is MondainQuester)
                            {
                                TryPirateBlab(player, mob);
                                break;
                            }
                        }
                        eable.Free();
                    }
                }
            }
        }