From d5034c9e0d26c5d13af0199d830f9c9a9831c255 Mon Sep 17 00:00:00 2001 From: MaruMaruOO Date: Thu, 27 Sep 2018 02:50:28 -0400 Subject: [PATCH 1/3] Add HIC points to EFS export. --- service/efsPort.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/service/efsPort.py b/service/efsPort.py index d1dd394d9..ff4149692 100755 --- a/service/efsPort.py +++ b/service/efsPort.py @@ -153,6 +153,13 @@ class EfsPort(): elif mod.item.group.name == "Warp Scrambler": stats["type"] = "Warp Scrambler" EfsPort.attrDirectMap(["activationBlockedStrenght", "warpScrambleStrength"], stats, mod) + elif mod.item.group.name == "Warp Disrupt Field Generator": + maxRangeDefault = mod.getModifiedItemAttr("warpScrambleRange") + stats["type"] = "Warp Scrambler" + EfsPort.attrDirectMap(["activationBlockedStrenght", "warpScrambleStrength"], stats, mod) + if maxRangeDefault >= 30000: + # We want this to be 0 for disruption scripts as we have no other way to tell scrams from points. + stats["activationBlockedStrenght"] = 0 elif mod.item.group.name == "Target Painter": stats["type"] = "Target Painter" EfsPort.attrDirectMap(["signatureRadiusBonus"], stats, mod) From edfbf71958df2c0aae3d4e136f0dce8a77d767da Mon Sep 17 00:00:00 2001 From: MaruMaruOO Date: Thu, 27 Sep 2018 03:06:00 -0400 Subject: [PATCH 2/3] EFS export version bump --- service/efsPort.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/efsPort.py b/service/efsPort.py index ff4149692..ed26fefa9 100755 --- a/service/efsPort.py +++ b/service/efsPort.py @@ -31,7 +31,7 @@ class RigSize(Enum): class EfsPort(): wepTestSet = {} - version = 0.01 + version = 0.02 @staticmethod def attrDirectMap(values, target, source): From 3e249ec15517b381128ba50334e9639c3b8a189d Mon Sep 17 00:00:00 2001 From: MaruMaruOO Date: Fri, 28 Sep 2018 23:36:18 -0400 Subject: [PATCH 3/3] Minor lint and EFS export maxRange bug fix. --- service/efsPort.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/service/efsPort.py b/service/efsPort.py index ed26fefa9..ef224e850 100755 --- a/service/efsPort.py +++ b/service/efsPort.py @@ -91,12 +91,10 @@ class EfsPort(): oldPropState = propWithBloom.state propWithBloom.state = State.ONLINE sFit.recalc(fit) - fit = eos.db.getFit(fitID) sp = fit.maxSpeed sig = fit.ship.getModifiedItemAttr("signatureRadius") propWithBloom.state = oldPropState sFit.recalc(fit) - fit = eos.db.getFit(fitID) return {"usingMWD": True, "unpropedSpeed": sp, "unpropedSig": sig} return { "usingMWD": False, @@ -323,10 +321,13 @@ class EfsPort(): explosionRadius = 0 explosionVelocity = 0 aoeFieldRange = 0 + if stats.charge: + name = stats.item.name + ", " + stats.charge.name + else: + name = stats.item.name if stats.hardpoint == Hardpoint.TURRET: tracking = stats.getModifiedItemAttr("trackingSpeed") typeing = "Turret" - name = stats.item.name + ", " + stats.charge.name # Bombs share most attributes with missiles despite not needing the hardpoint elif stats.hardpoint == Hardpoint.MISSILE or "Bomb Launcher" in stats.item.name: maxVelocity = stats.getModifiedChargeAttr("maxVelocity") @@ -335,15 +336,18 @@ class EfsPort(): explosionRadius = stats.getModifiedChargeAttr("aoeCloudSize") explosionVelocity = stats.getModifiedChargeAttr("aoeVelocity") typeing = "Missile" - name = stats.item.name + ", " + stats.charge.name elif stats.hardpoint == Hardpoint.NONE: aoeFieldRange = stats.getModifiedItemAttr("empFieldRange") # This also covers non-bomb weapons with dps values and no hardpoints, most notably targeted doomsdays. typeing = "SmartBomb" - name = stats.item.name + # Targeted DDs are the only non drone/fighter weapon without an explict max range + if stats.item.group.name == 'Super Weapon' and stats.maxRange == None: + maxRange = 300000 + else: + maxRange = stats.maxRange statDict = { "dps": stats.dps * n, "capUse": stats.capUse * n, "falloff": stats.falloff, - "type": typeing, "name": name, "optimal": stats.maxRange, + "type": typeing, "name": name, "optimal": maxRange, "numCharges": stats.numCharges, "numShots": stats.numShots, "reloadTime": stats.reloadTime, "cycleTime": stats.cycleTime, "volley": stats.volley * n, "tracking": tracking, "maxVelocity": maxVelocity, "explosionDelay": explosionDelay, "damageReductionFactor": damageReductionFactor,