diff --git a/1.4/Assemblies/ResearchWhatever.dll b/1.4/Assemblies/ResearchWhatever.dll index 4d54c21..dda916a 100644 Binary files a/1.4/Assemblies/ResearchWhatever.dll and b/1.4/Assemblies/ResearchWhatever.dll differ diff --git a/Source/ResearchWhatever14/Patches/WorkGiver_ResearcherPatch.cs b/Source/ResearchWhatever14/Patches/WorkGiver_ResearcherPatch.cs index 8781939..99c994f 100644 --- a/Source/ResearchWhatever14/Patches/WorkGiver_ResearcherPatch.cs +++ b/Source/ResearchWhatever14/Patches/WorkGiver_ResearcherPatch.cs @@ -43,7 +43,19 @@ namespace ResearchWhatever.Patches return true; } - public static void Prefix(Pawn pawn, Thing t, bool forced) + private static bool CanBePicked(this ResearchProjectDef research, Building_ResearchBench bench) + { + return Find.Storyteller.difficulty.AllowedBy(research.hideWhen) + && !research.IsFinished + && research.PrerequisitesCompleted + && research.TechprintRequirementMet + && research.PlayerMechanitorRequirementMet + && research.StudiedThingsRequirementsMet + && (research.requiredResearchBuilding == null || research.requiredResearchBuilding == bench.def && bench.hasFacilities(research.requiredResearchFacilities)) + && research.GetModExtension()?.ignore != true; + } + + internal static void Prefix(Pawn pawn, Thing t, bool forced) { ResearchProjectDef currentProj = Find.ResearchManager.currentProj; if (currentProj != null) return; @@ -56,12 +68,7 @@ namespace ResearchWhatever.Patches List projects = new List( from x in DefDatabase.AllDefsListForReading - where Find.Storyteller.difficulty.AllowedBy(x.hideWhen) - && !x.IsFinished - && x.TechprintRequirementMet - && x.PrerequisitesCompleted - && (x.requiredResearchBuilding == null || x.requiredResearchBuilding == bench.def && bench.hasFacilities(x.requiredResearchFacilities)) - && x.GetModExtension()?.ignore != true + where x.CanBePicked(bench) select x); if (projects.NullOrEmpty()) diff --git a/change.log b/change.log index b2dbd2a..4408658 100644 --- a/change.log +++ b/change.log @@ -1,4 +1,7 @@ -1.0.5 +1.0.6 +- added checking for new prerequisites; + +1.0.5 - 1.4 aye; 1.0.4