static void Postfix(ref bool __result, IntVec3 c, IntVec3 root, Pawn pawn) { if (!__result) { return; } // if (pawn.Faction == Faction.OfPlayer && (pawn.Position.Roofed(pawn.Map) || root.Roofed(pawn.Map)) && !c.Roofed(pawn.Map) && !JoyUtility.EnjoyableOutsideNow(pawn.Map)) { __result = false; return; } // if (!pawn.RaceProps.Humanlike) { return; } // RoomRoleDef def = c.GetRoom(pawn.Map)?.Role; if (def == RoomRoleDefOf.Bedroom && !pawn.GetRoom().Owners.Contains(pawn) || def == RoomRoleDefOf.Hospital || def == RoomRoleDefOf.PrisonCell || def == RoomRoleDefOf.PrisonBarracks) { __result = false; return; } }
static void Postfix(ref bool __result, IntVec3 c, IntVec3 root, Pawn pawn) { if (!__result) { return; } // //if (pawn.ShouldHideFromWeather() // && (pawn.Position.Roofed(pawn.Map) || root.Roofed(pawn.Map)) // && !c.Roofed(pawn.Map)) //{ // __result = false; // return; //} // if (!Settings.polite_wander || pawn.Faction.HostileTo(Faction.OfPlayer) /* || !pawn.RaceProps.Humanlike*/) { return; } // RoomRoleDef def = c.GetRoom(pawn.Map)?.Role; if (def == RoomRoleDefOf.Bedroom && !pawn.GetRoom().Owners.Contains(pawn) || def == RoomRoleDefOf.Hospital || def == RoomRoleDefOf.PrisonCell || def == RoomRoleDefOf.PrisonBarracks) { __result = false; return; } }
public bool IsImportantRoom(Room room) { if (room.Role == RoomRoleDefOf.None) { return(false); } if (_customRoomLabelManager.IsRoomCustomised(room)) { return(true); } if (_emptyRooomRole != null) { return(room.Role != _emptyRooomRole); } if (room.Role.defName == "Room") { _emptyRooomRole = room.Role; return(false); } return(true); }
public override void ResolveReferences() { kitchen = DefDatabase <RoomRoleDef> .GetNamed("Kitchen"); guestroom = DefDatabase <RoomRoleDef> .GetNamed("GuestRoom"); room = DefDatabase <RoomRoleDef> .GetNamed("Room"); base.ResolveReferences(); }
public bool IsImportantRoom(Room room) { if (room.Role == RoomRoleDefOf.None) { return(false); } if (_emptyRooomRole != null) { return(room.Role != _emptyRooomRole); } if (room.Role.defName == "Room") { _emptyRooomRole = room.Role; return(false); } return(true); }
static void Postfix(ref bool __result, IntVec3 c, IntVec3 root, Pawn pawn) { if (!__result) { return; } if (!Settings.polite_wander || pawn.Faction.HostileTo(Faction.OfPlayer)) { return; } // RoomRoleDef def = c.GetRoom(pawn.Map)?.Role; if (def == RoomRoleDefOf.Bedroom && !pawn.GetRoom().Owners.Contains(pawn) || def == RoomRoleDefOf.Hospital || def == RoomRoleDefOf.PrisonCell || def == RoomRoleDefOf.PrisonBarracks) { __result = false; return; } }