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);
 }