예제 #1
0
        public override void OrderForceTarget(LocalTargetInfo target)
        {
            Map     map    = CasterPawn.Map;
            IntVec3 intVec = RCellFinder.BestOrderedGotoDestNear_NewTemp(target.Cell, CasterPawn, AcceptableDestination);
            Job     job    = JobMaker.MakeJob(JobDefOf.CastJump, intVec);

            job.verbToUse = this;
            if (CasterPawn.jobs.TryTakeOrderedJob(job))
            {
                MoteMaker.MakeStaticMote(intVec, map, ThingDefOf.Mote_FeedbackGoto);
            }
            bool AcceptableDestination(IntVec3 c)
            {
                if (ValidJumpTarget(map, c))
                {
                    return(CanHitTargetFrom(caster.Position, c));
                }
                return(false);
            }
        }