public override float VoluntaryJoinPriorityFor(Pawn p) { if (IsInvited(p)) { if (!GatheringsUtility.ShouldPawnKeepGathering(p, gatheringDef)) { return(0f); } if (spot.IsForbidden(p)) { return(0f); } if (!lord.ownedPawns.Contains(p) && IsGatheringAboutToEnd()) { return(0f); } return(VoluntarilyJoinableLordJobJoinPriorities.SocialGathering); } return(0f); }