(self, targetProfile=None, reloadOverride=None)
| 240 | return dpsMap |
| 241 | |
| 242 | def getCycleParametersPerEffectOptimizedDps(self, targetProfile=None, reloadOverride=None): |
| 243 | cycleParamsInfinite = self.getCycleParametersPerEffectInfinite() |
| 244 | cycleParamsReload = self.getCycleParametersPerEffect(reloadOverride=reloadOverride) |
| 245 | dpsMapOnlyInfinite = {} |
| 246 | dpsMapAllWithReloads = {} |
| 247 | # Decide if it's better to keep steady dps up and never reload or reload from time to time |
| 248 | for ability in self.abilities: |
| 249 | if ability.effectID in cycleParamsInfinite: |
| 250 | cycleTime = cycleParamsInfinite[ability.effectID].averageTime |
| 251 | dpsMapOnlyInfinite[ability.effectID] = ability.getDps(targetProfile=targetProfile, cycleTimeOverride=cycleTime) |
| 252 | if ability.effectID in cycleParamsReload: |
| 253 | cycleTime = cycleParamsReload[ability.effectID].averageTime |
| 254 | dpsMapAllWithReloads[ability.effectID] = ability.getDps(targetProfile=targetProfile, cycleTimeOverride=cycleTime) |
| 255 | totalOnlyInfinite = sum(i.total for i in dpsMapOnlyInfinite.values()) |
| 256 | totalAllWithReloads = sum(i.total for i in dpsMapAllWithReloads.values()) |
| 257 | return cycleParamsInfinite if totalOnlyInfinite >= totalAllWithReloads else cycleParamsReload |
| 258 | |
| 259 | def getCycleParametersPerEffectInfinite(self): |
| 260 | return { |
no test coverage detected