public static Toil GotoGuest(Pawn pawn, Pawn talkee, bool mayBeSleeping = false) { var toil = Toils_Interpersonal.GotoInteractablePosition(TargetIndex.A); toil.AddFailCondition(() => !GuestUtility.ViableGuestTarget(talkee, mayBeSleeping)); return(toil); }
public static Toil GotoGuest(Pawn pawn, Pawn talkee, bool mayBeSleeping = false) { var toil = new Toil { initAction = () => pawn.pather.StartPath(talkee, PathEndMode.Touch), defaultCompleteMode = ToilCompleteMode.PatherArrival }; toil.AddFailCondition(() => !GuestUtility.ViableGuestTarget(talkee, mayBeSleeping)); return(toil); }
protected virtual bool FailCondition() { return(!GuestUtility.ViableGuestTarget(Talkee) || (!pawn.HasReserved(Talkee) && !pawn.CanReserve(Talkee))); }