From 417e478d271f9005da2ac11fa3a6b2eedb783204 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 4 Jul 2019 18:37:26 +0300 Subject: [PATCH] Add smartbombs to calculation --- gui/builtinGraphs/fitDamageStats/calc.py | 9 +++++++++ gui/builtinGraphs/fitDamageStats/graph.py | 7 +++++-- gui/graphFrame/frame.py | 5 ++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/gui/builtinGraphs/fitDamageStats/calc.py b/gui/builtinGraphs/fitDamageStats/calc.py index f31d398aa..883c6f220 100644 --- a/gui/builtinGraphs/fitDamageStats/calc.py +++ b/gui/builtinGraphs/fitDamageStats/calc.py @@ -114,6 +114,15 @@ def getFighterAbilityMult(fighter, ability, fit, distance, tgtSpeed, tgtSigRadiu return mult +def getSmartbombMult(mod, distance): + modRange = mod.maxRange + if modRange is None: + return 0 + if distance > modRange: + return 0 + return 1 + + # Turret-specific @lru_cache(maxsize=50) def _calcTurretMult(chanceToHit): diff --git a/gui/builtinGraphs/fitDamageStats/graph.py b/gui/builtinGraphs/fitDamageStats/graph.py index 58af602fd..56514e463 100644 --- a/gui/builtinGraphs/fitDamageStats/graph.py +++ b/gui/builtinGraphs/fitDamageStats/graph.py @@ -20,11 +20,10 @@ import eos.config from eos.const import FittingHardpoint -from eos.utils.float import floatUnerr from eos.utils.spoolSupport import SpoolType, SpoolOptions from eos.utils.stats import DmgTypes from gui.builtinGraphs.base import FitGraph, XDef, YDef, Input, VectorDef -from .calc import getTurretMult, getLauncherMult, getDroneMult, getFighterAbilityMult +from .calc import getTurretMult, getLauncherMult, getDroneMult, getFighterAbilityMult, getSmartbombMult from .timeCache import TimeCache @@ -352,6 +351,10 @@ class FitDamageStatsGraph(FitGraph): distance=distance, tgtSpeed=tgtSpeed, tgtSigRadius=tgtSigRadius) + elif mod.item.group.name == 'Smart Bomb': + applicationMap[mod] = getSmartbombMult( + mod=mod, + distance=distance) for drone in fit.drones: if not drone.isDealingDamage(): continue diff --git a/gui/graphFrame/frame.py b/gui/graphFrame/frame.py index 716d934bb..92f58b25d 100644 --- a/gui/graphFrame/frame.py +++ b/gui/graphFrame/frame.py @@ -216,7 +216,10 @@ class GraphFrame(wx.Frame): max_y = max(max_y, max_y_this) self.subplot.plot(xs, ys) - legend.append('{} ({})'.format(fit.name, fit.ship.item.getShortName())) + if target is None: + legend.append('{} ({})'.format(fit.name, fit.ship.item.getShortName())) + else: + legend.append('{} ({}) vs {} ({})'.format(fit.name, fit.ship.item.getShortName(), target.name, target.ship.item.getShortName())) except Exception as ex: pyfalog.warning('Invalid values in "{0}"', fit.name) self.canvas.draw()