예제 #1
0
        public bool SearchFight()
        {
            m_Account.Path.Stop = true;
            int minNumber = (int)m_Account.nudMinMonstersNumber.Value;
            int maxNumber = (int)m_Account.nudMaxMonstersNumber.Value;
            int minLevel  = (int)m_Account.nudMinMonstersLevel.Value;
            int maxLevel  = (int)m_Account.nudMaxMonstersLevel.Value;

            lock (this.clock)
            {
                foreach (MonsterGroup monsters in m_Account.Map.List)
                {
                    if (monsters.monstersCount < minNumber || monsters.monstersCount > maxNumber)
                    {
                        continue;
                    }

                    if (monsters.monstersLevel < minLevel || monsters.monstersLevel > maxLevel)
                    {
                        continue;
                    }
                    if (m_Account.VerifGroup(monsters.NameList()) == false)
                    {
                        continue;
                    }

                    this.followinggroup = monsters;
                    if (m_Account.Map.MoveToCell(monsters.m_cellId))
                    {
                        m_Account.SetStatus(Status.Moving);
                        m_Account.Path.Stop = true;
                        m_Account.Log(new ActionTextInformation(string.Format("Lancement d'un combat contre {0} monstres de niveau {1} ({2})", monsters.monstersCount, monsters.monstersLevel, monsters.monstersName(true))), 1);
                        return(true);
                    }
                }
            }
            return(false);
        }