Add smartbombs to calculation

This commit is contained in:
DarkPhoenix
2019-07-04 18:37:26 +03:00
parent 78d2dff0d8
commit 417e478d27
3 changed files with 18 additions and 3 deletions

View File

@@ -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):

View File

@@ -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

View File

@@ -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()