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; }
public void Regulate(double timeStep) { var comparison = MobElement.CompareTo(arena.Element); var powerDiff = comparison * VIKING_ARENA_POWER_CHANGE; }
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"; } }