예제 #1
0
 public static bool CanReceiveRandomInteraction(Pawn p)
 {
     if (!InteractionUtility.CanReceiveInteraction(p))
     {
         return(false);
     }
     if (p.RaceProps.Humanlike && !p.Downed && !p.InAggroMentalState)
     {
         return(true);
     }
     return(false);
 }
예제 #2
0
 public bool CanInteractNowWith(Pawn recipient, InteractionDef interactionDef = null)
 {
     if (!recipient.Spawned)
     {
         return(false);
     }
     if (!InteractionUtility.IsGoodPositionForInteraction(pawn, recipient))
     {
         return(false);
     }
     if (!InteractionUtility.CanInitiateInteraction(pawn, interactionDef) || !InteractionUtility.CanReceiveInteraction(recipient, interactionDef))
     {
         return(false);
     }
     return(true);
 }
예제 #3
0
 public bool CanInteractNowWith(Pawn recipient)
 {
     if (!recipient.Spawned)
     {
         return(false);
     }
     if (!InteractionUtility.IsGoodPositionForInteraction(this.pawn, recipient))
     {
         return(false);
     }
     if (InteractionUtility.CanInitiateInteraction(this.pawn) && InteractionUtility.CanReceiveInteraction(recipient))
     {
         return(true);
     }
     return(false);
 }
 public static bool CanVisit(Pawn pawn, Pawn sick, JoyCategory maxPatientJoy)
 {
     return(sick.IsColonist && !sick.Dead && pawn != sick && sick.InBed() && sick.Awake() && !sick.IsForbidden(pawn) && sick.needs.joy != null && (int)sick.needs.joy.CurCategory <= (int)maxPatientJoy && InteractionUtility.CanReceiveInteraction(sick) && !sick.needs.food.Starving && sick.needs.rest.CurLevel > 0.33000001311302185 && pawn.CanReserveAndReach(sick, PathEndMode.InteractionCell, Danger.None, 1, -1, null, false) && !SickPawnVisitUtility.AboutToRecover(sick));
 }
 public bool CanInteractNowWith(Pawn recipient)
 {
     return(recipient.Spawned && InteractionUtility.IsGoodPositionForInteraction(this.pawn, recipient) && InteractionUtility.CanInitiateInteraction(this.pawn) && InteractionUtility.CanReceiveInteraction(recipient));
 }
예제 #6
0
 public static bool CanReceiveRandomInteraction(Pawn p)
 {
     return(InteractionUtility.CanReceiveInteraction(p) && p.RaceProps.Humanlike && !p.Downed && !p.InAggroMentalState);
 }