static void Prefix(Pawn recruiter, Pawn recruitee)
 {
     if (recruitee != null && recruitee.IsPrisonerOfColony && recruiter != null && recruiter.Faction == Faction.OfPlayer)
     {
         CleanPrisonersStatus.Clean(recruitee);
         Log.Message($"[PrisonLabor] Removed prisoners effects from {recruitee.LabelShort}");
     }
 }
        public override void DoCell(Rect rect, Pawn pawn, PawnTable table)
        {
            var need = pawn.needs.TryGetNeed <Need_Treatment>();

            if (need != null && need.ResocializationReady)
            {
                if (Widgets.ButtonText(rect, "PrisonLabor_RecruitButtonLabel".Translate()))
                {
                    CleanPrisonersStatus.Clean(pawn);
                    pawn.guest.SetGuestStatus(null);
                    pawn.SetFaction(Faction.OfPlayer);
                }
            }
        }
Esempio n. 3
0
 public void ConvertPrisoner(Pawn pawn)
 {
     CleanPrisonersStatus.Clean(pawn);
     pawn.guest.SetGuestStatus(null);
     pawn.SetFaction(Faction.OfPlayer);
 }