Пример #1
0
        public void Fight(Monster monster)
        {
            var comparison = MobElement.CompareTo(monster.MobElement);
            var powerDiff  = comparison * VIKING_ADVANTAGE_WIN;

            //if (comparison > 0)
            //{
            //	powerDiff = VIKING_ADVANTAGE_WIN;
            //}
            //else
            //{
            //	powerDiff = comparison == 0 ? VIKING_NEUTRAL_WIN : VIKING_LOSS;
            //}
            Power += powerDiff;
        }
Пример #2
0
 public void Regulate(double timeStep)
 {
     var comparison = MobElement.CompareTo(arena.Element);
     var powerDiff  = comparison * VIKING_ARENA_POWER_CHANGE;
 }
Пример #3
0
        private void SearchMobs(bool bySearch)
        {
            // recalc exp factor
            float expServerFactor = (float)nudServerExpFactor.Value / 100f;
            int   lvlDifference   = (int)nudOptLvlDiff.Value;

            MobElement searchedElement = MobElement.All;

            Helper.ToEnum <MobElement>(cbxElement.Text, searchedElement);

            MobRace searchedRace = MobRace.All;

            Helper.ToEnum <MobRace>(cbxRace.Text, searchedRace);

            int minLvl = 0, maxLvl = 0;

            int.TryParse(tbxMinLvl.Text.Trim(), out minLvl);
            int.TryParse(tbxMaxLvl.Text.Trim(), out maxLvl);

            // prepare listview
            lvwMobs.BeginUpdate();
            lvwMobs.Items.Clear();

            // get searchkeywords
            List <int>    searchIDs = new List <int>();
            List <string> searchKeywords = new List <string>();

            if (bySearch)
            {
                foreach (string keyword in
                         tbxSearch.Text.Trim().ToLower().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    if (Helper.IsNumber(keyword))
                    {
                        searchIDs.Add(Convert.ToInt32(keyword));
                    }
                    else
                    {
                        searchKeywords.Add(keyword);
                    }
                }
            }

            // search mobs
            foreach (Mob mob in _mobs)
            {
                // calculate
                bool   addMob           = false;
                int    mobLvlDifference = _charInfo.BaseLevel - mob.Level;
                string mobname          = mob.IRoName.ToLower() + " " + mob.KRoName.ToLower();

                // check mob for adding to listview
                if (bySearch)
                {
                    // level
                    if (minLvl > 0 && mob.Level < minLvl)
                    {
                        continue;
                    }
                    if (maxLvl > 0 && mob.Level > maxLvl)
                    {
                        continue;
                    }

                    // race
                    if (searchedElement != MobElement.All && searchedElement != mob.Element)
                    {
                        continue;
                    }
                    // element
                    if (searchedRace != MobRace.All && searchedRace != mob.Race)
                    {
                        continue;
                    }

                    if (searchIDs.Count == 0 && searchKeywords.Count == 0)
                    {
                        addMob = true;
                    }
                    else
                    {
                        // keyword
                        foreach (string searchKeyword in searchKeywords)
                        {
                            if (mobname.Contains(searchKeyword))
                            {
                                addMob = true;
                                break;
                            }
                        }

                        // ids
                        if (!addMob)
                        {
                            foreach (int id in searchIDs)
                            {
                                if (mob.ID == id)
                                {
                                    addMob = true;
                                    break;
                                }
                            }
                        }
                    }
                }
                else
                {
                    // mode
                    if (!chbBosMobs.Checked && ((mob.Mode & MobMode.MD_BOSS) == MobMode.MD_BOSS))
                    {
                        continue;
                    }

                    addMob = (!chbOptimizedLevel.Checked || (mobLvlDifference >= -lvlDifference && mobLvlDifference <= lvlDifference)) &&
                             (mob.Exp > 0 && mob.JobExp > 0);
                }

                // add mob
                if (addMob)
                {
                    AddMob(mob, mobLvlDifference, expServerFactor);
                }
            }

            // finish listview
            lvwMobs.EndUpdate();

            if (lvwMobs.Items.Count > 0)
            {
                lblSearchstatus.Text = string.Format("{0:n0} Mobs found", lvwMobs.Items.Count);
            }
            else
            {
                lblSearchstatus.Text = "Nothing found";
            }
        }