From d522fff511f59ddf3f2b3a4d4799fab4647dd2d3 Mon Sep 17 00:00:00 2001 From: burnsypet Date: Mon, 30 Oct 2017 21:05:46 +0000 Subject: [PATCH] Add projected warp strength to scrams Changes to effects: Added warp strength projected effects to all kinds of warp disruption modules except for WDFG (this will need some more thinking). Fixed a bug where warp disruptors appeared to reduce the warp strength of the ship they were fitted to Changes to targetingMiscView*.py: Replaced abs() with multiplication by -1 where appropriate --- eos/effects/structurewarpscrambleblockmwdwithnpceffect.py | 3 +++ eos/effects/warpscramble.py | 3 ++- eos/effects/warpscrambleblockmwdwithnpceffect.py | 4 +++- gui/builtinStatsViews/targetingMiscViewFull.py | 4 ++-- gui/builtinStatsViews/targetingMiscViewMinimal.py | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py b/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py index 4103b3f42..283a1451f 100644 --- a/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py +++ b/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py @@ -9,6 +9,9 @@ type = "projected", "active" def handler(fit, module, context): if "projected" not in context: return + + fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength")) + # this is such a dirty hack for mod in fit.modules: if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > State.ONLINE: diff --git a/eos/effects/warpscramble.py b/eos/effects/warpscramble.py index 7aa194099..7424625ae 100644 --- a/eos/effects/warpscramble.py +++ b/eos/effects/warpscramble.py @@ -6,4 +6,5 @@ type = "projected", "active" def handler(fit, module, context): - fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength")) + if "projected" in context: + fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength")) diff --git a/eos/effects/warpscrambleblockmwdwithnpceffect.py b/eos/effects/warpscrambleblockmwdwithnpceffect.py index 1e417b710..d5144a4a2 100644 --- a/eos/effects/warpscrambleblockmwdwithnpceffect.py +++ b/eos/effects/warpscrambleblockmwdwithnpceffect.py @@ -2,7 +2,6 @@ # # Used by: # Modules named like: Warp Scrambler (26 of 26) - from eos.saveddata.module import State runTime = "early" @@ -12,6 +11,9 @@ type = "projected", "active" def handler(fit, module, context): if "projected" not in context: return + + fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength")) + # this is such a dirty hack for mod in fit.modules: if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > State.ONLINE: diff --git a/gui/builtinStatsViews/targetingMiscViewFull.py b/gui/builtinStatsViews/targetingMiscViewFull.py index 7355031b9..0ee84b9dd 100644 --- a/gui/builtinStatsViews/targetingMiscViewFull.py +++ b/gui/builtinStatsViews/targetingMiscViewFull.py @@ -199,7 +199,7 @@ class TargetingMiscViewFull(StatsView): elif labelName == "labelFullWarpSpeed": maxWarpDistance = "Max Warp Distance: %.1f AU" % fit.maxWarpDistance if fit.ship.getModifiedItemAttr("warpScrambleStatus"): - warpScrambleStatus = "Warp Core Strength: %.1f" % abs(fit.ship.getModifiedItemAttr("warpScrambleStatus")) + warpScrambleStatus = "Warp Core Strength: %.1f" % (fit.ship.getModifiedItemAttr("warpScrambleStatus") * -1) else: warpScrambleStatus = "Warp Core Strength: %.1f" % 0 label.SetToolTip(wx.ToolTip("%s\n%s" % (maxWarpDistance, warpScrambleStatus))) @@ -229,7 +229,7 @@ class TargetingMiscViewFull(StatsView): if fit: maxWarpDistance = "Max Warp Distance: %.1f AU" % fit.maxWarpDistance if fit.ship.getModifiedItemAttr("warpScrambleStatus"): - warpScrambleStatus = "Warp Core Strength: %.1f" % abs(fit.ship.getModifiedItemAttr("warpScrambleStatus")) + warpScrambleStatus = "Warp Core Strength: %.1f" % (fit.ship.getModifiedItemAttr("warpScrambleStatus") * -1) else: warpScrambleStatus = "Warp Core Strength: %.1f" % 0 label.SetToolTip(wx.ToolTip("%s\n%s" % (maxWarpDistance, warpScrambleStatus))) diff --git a/gui/builtinStatsViews/targetingMiscViewMinimal.py b/gui/builtinStatsViews/targetingMiscViewMinimal.py index 6d019dd8d..489aacf52 100644 --- a/gui/builtinStatsViews/targetingMiscViewMinimal.py +++ b/gui/builtinStatsViews/targetingMiscViewMinimal.py @@ -194,7 +194,7 @@ class TargetingMiscViewMinimal(StatsView): elif labelName == "labelFullWarpSpeed": maxWarpDistance = "Max Warp Distance: %.1f AU" % fit.maxWarpDistance if fit.ship.getModifiedItemAttr("warpScrambleStatus"): - warpScrambleStatus = "Warp Core Strength: %.1f" % abs(fit.ship.getModifiedItemAttr("warpScrambleStatus")) + warpScrambleStatus = "Warp Core Strength: %.1f" % (fit.ship.getModifiedItemAttr("warpScrambleStatus") * -1) else: warpScrambleStatus = "Warp Core Strength: %.1f" % 0 label.SetToolTip(wx.ToolTip("%s\n%s" % (maxWarpDistance, warpScrambleStatus))) @@ -223,7 +223,7 @@ class TargetingMiscViewMinimal(StatsView): if fit: maxWarpDistance = "Max Warp Distance: %.1f AU" % fit.maxWarpDistance if fit.ship.getModifiedItemAttr("warpScrambleStatus"): - warpScrambleStatus = "Warp Core Strength: %.1f" % abs(fit.ship.getModifiedItemAttr("warpScrambleStatus")) + warpScrambleStatus = "Warp Core Strength: %.1f" % (fit.ship.getModifiedItemAttr("warpScrambleStatus") * -1) else: warpScrambleStatus = "Warp Core Strength: %.1f" % 0 label.SetToolTip(wx.ToolTip("%s\n%s" % (maxWarpDistance, warpScrambleStatus)))