This commit is contained in:
p.tychinin
2024-05-10 14:09:12 +03:00
parent fe0957365d
commit c24c8a69ab
3 changed files with 23 additions and 6 deletions

View File

Binary file not shown.

View File

@@ -3,6 +3,7 @@ using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
@@ -14,6 +15,7 @@ namespace ResearchWhatever.Patches
[HarmonyPatch(typeof(StudyManager), "StudyAnomaly")]
static class StudyManager_StudyAnomaly_ResearchWhateverPatch
{
private static readonly PropertyInfo LStudyCompleted = AccessTools.Property(typeof(ITab_StudyNotes), "StudyCompleted");
internal static void Prefix(Thing studiedThing, Pawn studier, float knowledgeAmount, KnowledgeCategoryDef knowledgeCategory)
{
if (!ModsConfig.AnomalyActive)
@@ -47,11 +49,23 @@ namespace ResearchWhatever.Patches
CompHoldingPlatformTarget compHoldingPlatformTarget = studiedThing.TryGetComp<CompHoldingPlatformTarget>();
bool b = false;
if (compStudiable != null && compStudiable.Completed)
{
compStudiable.studyEnabled = false;
b = true;
}
if (compStudiable != null)
if (compStudiable.Completed)
{
compStudiable.studyEnabled = false;
b = true;
}
else
{
if (studiedThing.GetInspectTabs().FirstOrDefault(
x => x is ITab_StudyNotes
|| x.GetType().IsSubclassOf(typeof(ITab_StudyNotes))) is ITab_StudyNotes tab
&& (bool)LStudyCompleted.GetValue(tab))
{
compStudiable.studyEnabled = false;
b = true;
}
}
//
if (compHoldingPlatformTarget != null)
{

View File

@@ -1,4 +1,7 @@
1.1.3
1.1.4
- studiable objects now also auto-toggle off;
1.1.3
- mod now automatically picks CHEAPEST anomaly research;
- if anomly is fully studied and nothing left to research, study will be automatically toggled off;
- cheapest project now takes into account already made progress;