public static void TargetSmart() { if (TargetManager.IsActive) { if (TargetManager.Active.IsOffensive) { TargetManager.Target((object)TargetManager.lastOffensive); } else if (TargetManager.Active.IsDefensive) { TargetManager.Target((object)TargetManager.lastDefensive); } else { TargetManager.Target(TargetManager.lastTarget); } } else { if (!Options.Current.QueueTargets) { return; } TargetManager.Queue(TargetManager.smartSentinel); } }
public static void Target(object targeted) { if (targeted == null) { return; } if (TargetManager.IsActive) { BaseTargetHandler active = TargetManager.Active; if (active is ServerTargetHandler && !TargetManager.TargetIsInRange(targeted) || !active.Target(targeted)) { return; } if (active is ServerTargetHandler) { TargetManager.queuedTarget = (object)null; } Mobile mobile = targeted as Mobile; if (mobile != null && mobile.Player) { return; } TargetManager.lastTarget = targeted; if (mobile == null) { return; } if (active is AcquireTargetHandler && (mobile.IsFriend || mobile.IsInParty)) { TargetManager.lastDefensive = mobile; } else if (active.IsOffensive) { TargetManager.lastOffensive = mobile; } else { if (!active.IsDefensive) { return; } TargetManager.lastDefensive = mobile; } } else { if (!Options.Current.QueueTargets) { return; } TargetManager.Queue(targeted); } }
public static void QueueSmart() { TargetManager.Queue(TargetManager.smartSentinel); }