public static bool HasDoorLock(this Thing thing, out DoorLockComp doorLockComp) { if (!(thing is Building_Door door) || !door.HasDoorLock(out doorLockComp, false)) { doorLockComp = null; return(false); } return(true); }
public static bool CanLockpick(this Pawn pawn, Building_Door door, out DoorLockComp lockComp) { if (!door.HasDoorLock(out lockComp) || !pawn.HostileTo(door)) { return(false); } // if (pawn.GetStatValue(StatDefOf.LockPickSkill) > lockComp.MaxSecurity) // return true; return(false); }
public static void TryLockpick(this Pawn pawn, DoorLockComp lockComp) { }
private static void LockedDoor(ref bool result, Pawn pawn, DoorLockComp doorLockComp) { if (!pawn.HostileTo(doorLockComp.Door) && pawn.HasKeyHolderComp(out var keyHolder) && keyHolder.CanInteract(doorLockComp)) { result = true; }