Exemple #1
0
 public static void Postfix(MentalBreakWorker __instance, ref bool __result, Pawn pawn)
 {
     if (__result == true && pawn.GetComp <CompMeeseeksMemory>() != null && !__instance.def.defName.StartsWith("CM_Meeseeks_Box_MentalBreak_Meeseeks"))
     {
         __result = false;
     }
 }
 private static void CheckDefRestrictions([NotNull] Pawn pawn, [NotNull] MentalBreakWorker __instance,
                                          ref bool __result)
 {
     if (__result)
     {
         __result = __instance.def.IsValidFor(pawn);
     }
 }
 private static void Postfix(MentalBreakWorker __instance, ref float __result, Pawn pawn)
 {
     if (PsyUtils.TryGetPsyTrait(pawn, out PsyTraitDef traitDef))
     {
         if (__result > 0f && traitDef.allowedMentalBreaks.Count > 0 && !traitDef.allowedMentalBreaks.Contains(__instance.def))
         {
             __result = 0f;
         }
     }
     else if (__instance.def.mentalState == PsyDefOf.PN_Compulsion)
     {
         __result = 0f;
     }
 }