private static void Postfix(Pawn_GuestTracker __instance, Faction newHost, GuestStatus guestStatus) { if (guestStatus == GuestStatus.Prisoner) { __instance.interactionMode = DefDatabase <PrisonerInteractionModeDef> .GetNamed(PrisonLaborPrefs.DefaultInteractionMode); } }
private static void Postfix(Pawn_GuestTracker __instance, Faction newHost, bool prisoner) { if (prisoner == true) { __instance.interactionMode = DefDatabase<PrisonerInteractionModeDef>.GetNamed(PrisonLaborPrefs.DefaultInteractionMode); } }
private static void Postfix(Pawn_GuestTracker __instance, Faction newHost, GuestStatus guestStatus) { if (guestStatus != GuestStatus.Prisoner) { Pawn pawn = Traverse.Create(__instance).Field("pawn").GetValue <Pawn>(); CleanPrisonersStatus.CleanHediffs(pawn); } }
private static void Prefix(Pawn_GuestTracker __instance, Faction newHost, GuestStatus guestStatus = GuestStatus.Guest) { if (!Registry.IsActive) { return; } Registry.FactionUpdate(Traverse.Create(__instance).Field <Pawn>("pawn").Value, newHost, guestStatus == GuestStatus.Guest); }
static void Prefix(Pawn_GuestTracker __instance, Faction newHost, bool prisoner) { if (prisoner == true && newHost != null && (newHost != __instance.HostFaction || !__instance.IsPrisoner)) { var pawnProperty = typeof(Pawn_GuestTracker).GetField("pawn", BindingFlags.Instance | BindingFlags.NonPublic); BadPeopleUtility.NotifyPawnGetCaptured(pawnProperty.GetValue(__instance) as Pawn); } }
private static void Prefix(Pawn_GuestTracker __instance, Faction newHost, bool prisoner = false) { if (!Registry.IsActive) { return; } Registry.FactionUpdate(Traverse.Create(__instance).Field("pawn").GetValue <Pawn>(), newHost, !prisoner); }
// RimWorld.Pawn_GuestTracker public static void Vamps_DontWantGuestFood(Pawn_GuestTracker __instance, ref bool __result) { Pawn pawn = (Pawn)AccessTools.Field(typeof(Pawn_GuestTracker), "pawn").GetValue(__instance); if (pawn != null && pawn.IsVampire()) { __result = false; } }
// RimWorld.Pawn_GuestTracker public static void Vamp_WardensDontFeedVamps(Pawn_GuestTracker __instance, ref bool __result) { Pawn pawn = (Pawn)AccessTools.Field(typeof(Pawn_GuestTracker), "pawn").GetValue(__instance); if (pawn.IsVampire()) { __result = false; } }
public static void get_IsPrisoner_PostFix(Pawn_GuestTracker __instance, ref bool __result) { Pawn pawn = (Pawn)AccessTools.Field(typeof(Pawn_GuestTracker), "pawn").GetValue(__instance); if (pawn is Zombie && pawn.Faction == Faction.OfPlayer) { __result = true; } }
public static void Prefix(Pawn_GuestTracker __instance, ref bool prisoner) { // Added var pawn = Traverse.Create(__instance).Field("pawn").GetValue <Pawn>(); if (pawn != null && pawn.IsGuest()) { prisoner = false; } }
private static void Prefix(Pawn_GuestTracker __instance, Faction newHost, bool prisoner = false) { if (!Registry.IsActive) { return; } Registry.FactionUpdate(Traverse.Create(__instance).Field <Pawn>("pawn").Value, newHost, !prisoner); //Registry.FactionUpdate(Access.Field_RimWorld_Pawn_GuestTracker_Pawn_Get(__instance), newHost, !prisoner); }
static bool Prefix(Pawn_GuestTracker __instance, Faction newHost, bool prisoner = false) { if (prisoner == false) { var pawn = typeof(Pawn_GuestTracker).GetField("pawn", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance) as Pawn; if (oldNames.ContainsKey(pawn)) { pawn.Name = oldNames[pawn]; } } return(true); }
static bool Prefix(Pawn_GuestTracker __instance, Faction newHost, GuestStatus guestStatus) { if (guestStatus == GuestStatus.Slave || guestStatus == GuestStatus.Guest) { var pawn = typeof(Pawn_GuestTracker).GetField("pawn", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance) as Pawn; if (oldNames.ContainsKey(pawn)) { pawn.Name = oldNames[pawn]; } } return(true); }
private static void Postfix(Pawn_GuestTracker __instance, Faction newHost, GuestStatus guestStatus) { if (guestStatus == GuestStatus.Prisoner && newHost == Faction.OfPlayer) { __instance.interactionMode = DefDatabase <PrisonerInteractionModeDef> .GetNamed(PrisonLaborPrefs.DefaultInteractionMode); if (__instance.interactionMode == PL_DefOf.PrisonLabor_workAndConvertOption || __instance.interactionMode == PrisonerInteractionModeDefOf.Convert) { __instance.ideoForConversion = Faction.OfPlayer.ideos.PrimaryIdeo; } } }
public static void CapturedBy_PreFix(Pawn_GuestTracker __instance, Faction by, Pawn byPawn) { Pawn pawn = Traverse.Create(__instance).Field("pawn").GetValue <Pawn>(); Tenant tenantComp = pawn.GetTenantComponent(); if (tenantComp != null && tenantComp.IsTenant) { if (tenantComp.MoleActivated) { Events.TenantMoleCaptured(pawn); } else { Events.TenantCaptured(pawn, byPawn); } } }