Add logic to control reloads of ancillary mods according to parameter setting
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user