diff --git a/Assemblies/WhatTheHack.dll b/Assemblies/WhatTheHack.dll
index 5ba850e7..ba106d04 100644
Binary files a/Assemblies/WhatTheHack.dll and b/Assemblies/WhatTheHack.dll differ
diff --git a/Defs/ThingDefs/Buildings.xml b/Defs/ThingDefs/Buildings.xml
index 7671ad51..d49add64 100644
--- a/Defs/ThingDefs/Buildings.xml
+++ b/Defs/ThingDefs/Buildings.xml
@@ -399,6 +399,12 @@
5
(138,73,73,0)
+
+ CompPowerTrader
+ false
+ 200
+ true
+
PlaceWorker_NotUnderRoof
diff --git a/Source/WhatTheHack/Buildings/Building_MechanoidBeacon.cs b/Source/WhatTheHack/Buildings/Building_MechanoidBeacon.cs
index 16edb16a..d02a66a9 100644
--- a/Source/WhatTheHack/Buildings/Building_MechanoidBeacon.cs
+++ b/Source/WhatTheHack/Buildings/Building_MechanoidBeacon.cs
@@ -29,6 +29,12 @@ public IEnumerable StartupGizmos()
bool isDisabled = false;
string disabledReason = "";
bool rogueAIAvailable = false;
+
+ if (GetComp().coolDownTicks > 0)
+ {
+ isDisabled = true;
+ disabledReason = "WTH_CompHibernatable_MechanoidBeacon_Cooldown".Translate(((GetComp().coolDownTicks / (float)GenDate.TicksPerDay)).ToStringDecimalIfSmall());
+ }
foreach (ThingWithComps thing in this.Map.listerThings.AllThings.OfType())
{
if (thing.def == WTH_DefOf.WTH_RogueAI)
@@ -51,16 +57,15 @@ public IEnumerable StartupGizmos()
}
}
- if (GetComp().coolDownTicks > 0)
+ if (!rogueAIAvailable)
{
isDisabled = true;
- disabledReason = "WTH_CompHibernatable_MechanoidBeacon_Cooldown".Translate(((GetComp().coolDownTicks / (float)GenDate.TicksPerDay)).ToStringDecimalIfSmall());
-
+ disabledReason = "WTH_Reason_NoRogueAI".Translate();
}
- if (!rogueAIAvailable)
+ if (!GetComp().PowerOn)
{
isDisabled = true;
- disabledReason = "WTH_Reason_NoRogueAI".Translate();
+ disabledReason = "WTH_Reason_NoPower".Translate();
}