Phelon
Well-Known Member
- Joined
- Jan 15, 2010
- Messages
- 2,591
- Reaction score
- 140
Title pretty much says it all. BGBuddys targeting is pretty terrible. Is there a way to over ride it?
Example Code:
Example Code:
Code:
public static WoWUnit TestEnsureTargetPVP()
{
WoWUnit Player = null;
WoWUnit Vehicle = null;
var obj = BotPoi.Current.AsObject;
// Check botpoi first and make sure our target is set to POI's object.
if (BotPoi.Current.Type == PoiType.Kill)
{
//Target Demo's first
Vehicle = EnemyDemolisher();
if (Vehicle != null)
{
Logger.Write(Color.Orange, "Vehicle Spotted! Switching to " + ((WoWUnit)Vehicle).SafeName() + "!");
BotPoi.Current = new BotPoi(Vehicle, PoiType.Kill);
Vehicle.Target();
return Vehicle;
}
// Flag Check
if (ObjectManager.Me.IsHorde) { Player = EnemyHordeFlagCarrier(); }
if (ObjectManager.Me.IsAlliance) { Player = EnemyAllianceFlagCarrier(); }
if (Player != null)
{
Logger.Write(Color.Orange, "Flag Carrier Spotted! Switching to " + ((WoWUnit)Player).SafeName() + "!");
BotPoi.Current = new BotPoi(Player, PoiType.Kill);
Player.Target();
return Player;
}
// If Healer
Player = EnemyHealer();
if (Player != null)
{
Logger.Write(Color.Orange, "Healer Spotted!. Switching to " + ((WoWUnit)Player).SafeName() + "!");
BotPoi.Current = new BotPoi(Player, PoiType.Kill);
Player.Target();
return Player;
}
// Low Health Target
Player = EnemyLowestHealth();
if (Player != null)
{
Logger.Write(Color.Orange, "Low Health Spotted!. Switching to " + ((WoWUnit)Player).SafeName() + "!");
BotPoi.Current = new BotPoi(Player, PoiType.Kill);
Player.Target();
return Player;
}
}
return Player;
}
#region GetTarget
private static WoWUnit EnemyDemolisher()
{
return (from Unit in ObjectManager.GetObjectsOfType<WoWUnit>(false)
where Unit.IsAlive
where Unit.Distance < 55
where !Unit.IsFriendly
where !Unit.IsPet
where Unit.Name.Contains("Demolisher")
where Unit.InLineOfSpellSight
select Unit).FirstOrDefault();
}
private static WoWPlayer EnemyAllianceFlagCarrier()
{
return (from Unit in ObjectManager.GetObjectsOfType<WoWUnit>(false)
where Unit.IsAlive
where Unit.Distance < 55
where !Unit.IsFriendly
where !Unit.IsPet
where Unit.HasAura("Alliance Flag")
where Unit.InLineOfSpellSight
select Unit).FirstOrDefault();
}
private static WoWPlayer EnemyHordeFlagCarrier()
{
return (from Unit in ObjectManager.GetObjectsOfType<WoWUnit>(false)
where Unit.IsAlive
where Unit.Distance < 55
where !Unit.IsFriendly
where !Unit.IsPet
where Unit.HasAura("Horde Flag")
where Unit.InLineOfSpellSight
select Unit).FirstOrDefault();
}
private static WoWPlayer EnemyLowestHealth()
{
return (from Unit in ObjectManager.GetObjectsOfType<WoWUnit>(false)
where Unit.IsAlive
where Unit.Distance < 55
where !Unit.IsFriendly
where !Unit.IsPet
where Unit.InLineOfSpellSight
where Unit.HealthPercent < 35
select Unit).FirstOrDefault();
}
#endregion
}
Last edited: