diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index b0e6df459..2becf1e7f 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -101,13 +101,35 @@ class Miscellanea(ViewColumn): return text, tooltip pass - elif itemGroup in ("Energy Weapon", "Hybrid Weapon", "Projectile Weapon", "Precursor Turret", "Combat Drone", "Fighter Drone"): + elif itemGroup in ("Energy Weapon", "Hybrid Weapon", "Projectile Weapon", "Combat Drone", "Fighter Drone"): trackingSpeed = stuff.getModifiedItemAttr("trackingSpeed") if not trackingSpeed: return "", None text = "{0}".format(formatAmount(trackingSpeed, 3, 0, 3)) tooltip = "Tracking speed" return text, tooltip + elif itemGroup == "Precursor Turret": + info = [] + trackingSpeed = stuff.getModifiedItemAttr("trackingSpeed") + if trackingSpeed: + text = "{0}".format(formatAmount(trackingSpeed, 3, 0, 3)) + tooltip = "tracking speed" + info.append((text, tooltip)) + maxBonusDamage = stuff.getModifiedItemAttr("damageMultiplierBonusMax") + bonusDamagePerCycle = stuff.getModifiedItemAttr("damageMultiplierBonusPerCycle") + cycleTime = stuff.getModifiedItemAttr("speed") + if maxBonusDamage and bonusDamagePerCycle and cycleTime: + cyclesToFullDamage = int(maxBonusDamage / bonusDamagePerCycle) + timeToFullDamage = (cycleTime / 1000) * cyclesToFullDamage + if cyclesToFullDamage: + text = "{0}s".format(formatAmount(timeToFullDamage, 3, 0, 3)) + tooltip = "spool-up time" + info.append((text, tooltip)) + if not info: + return "", None + text = ' | '.join(i[0] for i in info) + tooltip = ' and '.join(i[1] for i in info).capitalize() + return text, tooltip elif itemCategory == "Subsystem": slots = ("hi", "med", "low") info = []