public CharacterFeatures GetEnemy(CharacterFeatures fighter) { CharacterFeatures enemy; if (fighter is Pretre) { enemy = Fighters.FirstOrDefault(x => x.IsUndead); if (enemy != null) { return(enemy); } } do { var otherFighters = Fighters .Where(x => x.Id != fighter.Id && !x.IsDead() && x.CurrentLife > 0 && !x.IsHide).ToList(); //AfficherListeEnnemi(otherFighters); if (otherFighters.Count == 0) { otherFighters = Fighters .Where(x => x.Id != fighter.Id && !x.IsDead() && x.CurrentLife > 0 && x.IsHide).ToList(); } var randomEnemy = Random.Next(otherFighters.Count(f => f.Id != fighter.Id && !f.IsDead())); enemy = otherFighters[randomEnemy]; } while (enemy.Id == fighter.Id); return(enemy); }
public static Fighter GetOrCreateFighter(string fullName) { if (fullName.Equals("Unknown") || fullName.Equals("Uknown")) { return(null); } var index = fullName.LastIndexOf(' '); if (index < 0) { return(null); } var firstname = fullName.Substring(0, index); var lastname = fullName.Substring(index + 1); var fighter = Fighters .FirstOrDefault(f => f.LastName.Equals(lastname) && (f.FirstName.Contains(firstname) || firstname.Contains(f.FirstName))); if (fighter == null) { fighter = new Fighter(NextFighterId++, firstname, lastname, null); Fighters.Add(fighter); } return(fighter); }
protected IFighter GetFighter(double fighterId) { lock (CheckLock) { //Logger.Default.Log($"Looking for id [{fighterId}]"); //foreach (var monster in Account.Character.Map.Monsters) // Logger.Default.Log($"[Monster]{monster.GroupName} has id {monster.Id} and level [{monster.GroupLevel}]"); //foreach (var fighter in Fighters) // Logger.Default.Log($"[Fighter]Fighter on {fighter.CellId} has id {fighter.Id}"); //foreach (var companion in Companions) // Logger.Default.Log($"[Companion]{companion.Name} has id {companion.Id}"); if (Monsters.Find(x => x.Id == fighterId) != null) { return(Monsters.FirstOrDefault(m => m.Id == fighterId)); } //else if (Companions.Find(x => x.Id == fighterId) != null) // return Companions.FirstOrDefault(c => c.Id == fighterId); else { return(Fighters.FirstOrDefault(f => f.Id == fighterId)); } } }
protected IFighter GetFighter(double fighterId) { return(Monsters.Find(x => x.Id == fighterId) != null ? Monsters.FirstOrDefault(m => m.Id == fighterId) : (Companions.Find(x => x.Id == fighterId) != null ? Companions.FirstOrDefault(c => c.Id == fighterId) : Fighters.FirstOrDefault(f => f.Id == fighterId))); }
public FighterEntry GetFighterInCell(short cell) { if (PlayedFighter?.CellId == cell) { return(PlayedFighter); } return(Fighters.FirstOrDefault(f => f.Alive && f.CellId == cell)); }
protected bool IsCellWalkable(int cellId) { lock (CheckLock) { var mapData = (API.Gamedata.D2p.Map)Account.Character.Map.Data; if (!Account.Character.Map.Data.IsWalkable(cellId)) { return(false); } var selectedFighter = Fighters.FirstOrDefault(f => f.CellId == cellId || mapData.Cells[cellId].NonWalkableDuringFight); return(selectedFighter == null); } }
public Fighter GetFighterTarget(string character) { return(Fighters.FirstOrDefault(x => x.Name.ToLower() != character.ToLower())); }