diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 4760967..0d977f5 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml b/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml index c0985aa..a0dd17c 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml @@ -322,7 +322,7 @@ 50 - 25 + 12.5 true @@ -337,7 +337,7 @@ 50 - 25 + 12.5 true diff --git a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs index 47bdfb6..7810269 100644 --- a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs +++ b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs @@ -28,7 +28,7 @@ namespace ArachnaeSwarm public class CompMultiFuelSpawner : ThingComp { private int ticksUntilSpawn; - private List fuelComps; // Changed to use the interface + private List fuelComps; public CompProperties_MultiFuelSpawner Props => (CompProperties_MultiFuelSpawner)props; @@ -39,7 +39,6 @@ namespace ArachnaeSwarm { ResetCountdown(); } - // Find all components that implement our interface fuelComps = parent.GetComps().OfType().ToList(); } @@ -54,21 +53,20 @@ namespace ArachnaeSwarm base.CompTick(); if (fuelComps.NullOrEmpty()) return; - - // Check if all fuel sources have fuel + bool allFuelsOk = fuelComps.All(c => c.HasFuel); - + if (allFuelsOk && (parent.GetComp()?.PowerOn ?? true)) { + // CORRECTED LOGIC: Consume fuel every tick + foreach (var comp in fuelComps) + { + comp.Notify_UsedThisTick(); + } + ticksUntilSpawn--; if (ticksUntilSpawn <= 0) { - // Consume fuel from all sources - foreach (var comp in fuelComps) - { - comp.Notify_UsedThisTick(); - } - TryDoSpawn(); ResetCountdown(); } diff --git a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs index 9a59c22..d299841 100644 --- a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs +++ b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs @@ -59,7 +59,12 @@ namespace ArachnaeSwarm // ... and so on } - // We already have Notify_UsedThisTick from the previous step. - // If not, we would add it here. + public new void Notify_UsedThisTick() + { + if (Props.consumeFuelOnlyWhenUsed) + { + ConsumeFuel(Props.fuelConsumptionRate / 60000f); + } + } } } \ No newline at end of file