1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-09 12:53:34 +08:00

ProtectVeinsFromExhaustion: fix #52

This commit is contained in:
2024-11-26 17:09:28 +08:00
parent d7062f3318
commit 99a6708d3f

View File

@@ -974,7 +974,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
return false;
}
var consumeCount = 0U;
var res = 0U;
int veinId;
int times;
switch (__instance.type)
@@ -986,7 +986,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
if (__instance.time <= __instance.period)
{
__instance.time += (int)(power * __instance.speedDamper * __instance.speed * miningSpeed * __instance.veinCount);
consumeCount = 1U;
res = 1U;
}
if (__instance.time < __instance.period)
@@ -1120,15 +1120,18 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
if (__instance.time < __instance.period)
{
__instance.time += (int)(power * __instance.speedDamper * __instance.speed * miningSpeed * workCount + 0.5f);
consumeCount = 1U;
res = 1U;
}
if (__instance.time >= __instance.period && __instance.productCount < 50)
{
__instance.productId = veinPool[veinId].productId;
times = __instance.time / __instance.period;
if (times <= 0) break;
var outputCount = 0;
if (miningRate > 0f && amount > _keepOilAmount)
if (miningRate > 0f)
{
if (amount > _keepOilAmount)
{
var usedCount = 0;
var maxAllowed = amount - _keepOilAmount;
@@ -1161,9 +1164,16 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
{
outputCount = times;
}
if (outputCount > 0)
else
{
break;
}
}
else
{
outputCount = times;
}
__instance.productCount += outputCount;
lock (productRegister)
{
@@ -1173,7 +1183,6 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
__instance.time -= __instance.period * outputCount;
}
}
}
break;
@@ -1181,7 +1190,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
if (__instance.time < __instance.period)
{
__instance.time += (int)(power * __instance.speedDamper * __instance.speed * miningSpeed);
consumeCount = 1U;
res = 1U;
}
if (__instance.time < __instance.period) break;
@@ -1230,7 +1239,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
}
}
__result = consumeCount;
__result = res;
return false;
}
}