protected override bool CheckValidityInternal(Entities.Entity Performer, List <Entities.Entity> Selection, TurnInfo TI)
        {
            Effects.Orders.OrderWithUses TheOrder = (Effects.Orders.OrderWithUses)(((Entities.Effect_Entity)Performer).GetEffect());
            Entities.Unit TheTarget = (Entities.Unit)Selection[0];

            Modules.Target.TargettingData TD = new Modules.Target.TargettingData();
            TD.AttackType.Long = true;
            if (TheTarget.GetCurrentRange() == Range.Long)
            {
                TD.TargetType.Long = true;
            }
            else if (TheTarget.GetCurrentRange() == Range.Short)
            {
                TD.TargetType.Short = true;
            }
            int cost = 0;

            TheTarget.CheckTargetStatus(null, TD, ref cost);
            return(TheOrder.GetNumUses(mActionIndex) > 0 && TD.Result());
        }