private static void MinionAAInfoMethod() { if (PossibleMinion != null) { NearMeleeCreeps = ObjectManager.GetEntities <Creep>() .Where( creep => creep.IsAlive && creep.IsMelee && creep.IsValid && creep.Distance2D(PossibleMinion) <= creep.GetAttackRange() && creep.Team == PossibleMinion.GetEnemyTeam()) .ToList(); NearRangedCreeps = ObjectManager.GetEntities <Creep>() .Where( creep => creep.IsAlive && !creep.IsMelee && creep.IsValid && creep.Distance2D(PossibleMinion) <= (creep.AttackRange + creep.HullRadius / 2) && creep.Team == PossibleMinion.GetEnemyTeam()) .ToList(); if (NearMeleeCreeps.Any()) { foreach (Creep creep in NearMeleeCreeps) { if (StartedAttack(creep)) { minionAttackPointList.Add(creep.Handle); var creepAttackPoint = MinionAAData.GetAttackPoint(creep) * 1000; var creepAttackBackswing = MinionAAData.GetAttackBackswing(creep) * 1000; DelayAction.Add(creepAttackPoint, () => { minionAttackPointList.Remove(creep.Handle); minionAttackBackswingList.Add(creep.Handle); }); DelayAction.Add(creepAttackPoint + creepAttackBackswing, () => { minionAttackBackswingList.Remove(creep.Handle); }); } } } if (NearRangedCreeps.Any()) { foreach (Creep creep in NearRangedCreeps) { if (StartedAttack(creep)) { minionAttackPointList.Add(creep.Handle); var creepAttackPoint = MinionAAData.GetAttackPoint(creep) * 1000; var creepAttackBackswing = MinionAAData.GetAttackBackswing(creep) * 1000; DelayAction.Add(creepAttackPoint, () => { minionAttackPointList.Remove(creep.Handle); minionAttackBackswingList.Add(creep.Handle); }); DelayAction.Add(creepAttackPoint + creepAttackBackswing, () => { minionAttackBackswingList.Remove(creep.Handle); }); } } } } }