public override TargetResult Target(Minion _me, PositionVO _target) { if(false)// (_target.PlayerType == _me.PlayerType) { return TargetResult.SamePlayer; } else { Minion tMinion = MinionManager.Instance.GetMinionByPosition(_target); if (tMinion == null) { return TargetResult.InvalidTarget; } else { if(false) //(_me.MinionSlotPosition == MinionSlotPosition.Backward) { return TargetResult.OutOfRange; } else { if (false)//(_target.MinionSlotPosition == MinionSlotPosition.Foreward) { if(IsGuardOrNoOtherGuardInFrontline(_target)) { return TargetResult.ValidTarget; } else { return TargetResult.TargetGuarded; } } else { if(_me.ContainBuff(BuffName.Rooted) || _me.ContainBuff(BuffName.Slowed)) { return TargetResult.OutOfRange; } else { //if (NoOtherGuardInFrontline(_target)) if (NoOtherMinionInFrontline(_target)) { return TargetResult.CloseRangeTargetBack; } else { return TargetResult.TargetGuarded; } } } } } } }