Add logic to control reloads of ancillary mods according to parameter setting

This commit is contained in:
DarkPhoenix
2019-08-19 09:17:51 +03:00
parent 2d43a6ade5
commit d9a4b0a359
3 changed files with 13 additions and 4 deletions

View File

@@ -537,9 +537,9 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
adjustedRRAmount[rrTime] = rrAmount * spoolMultiplier
return adjustedRRAmount
def getRemoteReps(self, spoolOptions=None, ignoreState=False):
def getRemoteReps(self, spoolOptions=None, ignoreState=False, reloadOverride=None):
rrDuringCycle = RRTypes(0, 0, 0, 0)
cycleParams = self.getCycleParameters()
cycleParams = self.getCycleParameters(reloadOverride=reloadOverride)
if cycleParams is None:
return rrDuringCycle
repAmountParams = self.getRepAmountParameters(spoolOptions=spoolOptions, ignoreState=ignoreState)

View File

@@ -149,7 +149,12 @@ class TimeCache(FitDataCache):
for mod in src.item.activeModulesIter():
if not mod.isRemoteRepping():
continue
cycleParams = mod.getCycleParameters(reloadOverride=True)
isAncShield = 'shipModuleAncillaryRemoteShieldBooster' in mod.item.effects
isAncArmor = 'shipModuleAncillaryRemoteArmorRepairer' in mod.item.effects
if isAncShield or isAncArmor:
cycleParams = mod.getCycleParameters(reloadOverride=ancReload)
else:
cycleParams = mod.getCycleParameters(reloadOverride=True)
if cycleParams is None:
continue
currentTime = 0

View File

@@ -47,7 +47,11 @@ class YRpsMixin:
for mod in src.item.activeModulesIter():
if not mod.isRemoteRepping():
continue
rpsMap[mod] = mod.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False))
isAncShield = 'shipModuleAncillaryRemoteShieldBooster' in mod.item.effects
isAncArmor = 'shipModuleAncillaryRemoteArmorRepairer' in mod.item.effects
rpsMap[mod] = mod.getRemoteReps(
spoolOptions=SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False),
reloadOverride=ancReload if (isAncShield or isAncArmor) else None)
for drone in src.item.activeDronesIter():
if not drone.isRemoteRepping():
continue