From d9a4b0a35956544892a4cbdae36335b1f04e8144 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 19 Aug 2019 09:17:51 +0300 Subject: [PATCH] Add logic to control reloads of ancillary mods according to parameter setting --- eos/saveddata/module.py | 4 ++-- graphs/data/fitRemoteReps/cache.py | 7 ++++++- graphs/data/fitRemoteReps/getter.py | 6 +++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py index 7e42bb9f5..32584133c 100644 --- a/eos/saveddata/module.py +++ b/eos/saveddata/module.py @@ -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) diff --git a/graphs/data/fitRemoteReps/cache.py b/graphs/data/fitRemoteReps/cache.py index 3c0bb3009..3cecab36c 100644 --- a/graphs/data/fitRemoteReps/cache.py +++ b/graphs/data/fitRemoteReps/cache.py @@ -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 diff --git a/graphs/data/fitRemoteReps/getter.py b/graphs/data/fitRemoteReps/getter.py index 83dbce419..823a5bbe5 100644 --- a/graphs/data/fitRemoteReps/getter.py +++ b/graphs/data/fitRemoteReps/getter.py @@ -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