Merge branch 'master' into charImplants
# Conflicts: # gui/characterEditor.py
This commit is contained in:
@@ -42,7 +42,7 @@ class AmmoIcon(ViewColumn):
|
||||
if stuff.charge is None:
|
||||
return -1
|
||||
else:
|
||||
iconFile = stuff.charge.icon.iconFile if stuff.item.icon else ""
|
||||
iconFile = stuff.charge.icon.iconFile if stuff.charge.icon else ""
|
||||
if iconFile:
|
||||
return self.fittingView.imageList.GetImageIndex(iconFile, "icons")
|
||||
else:
|
||||
|
||||
@@ -85,7 +85,7 @@ class Miscellanea(ViewColumn):
|
||||
if n > 0:
|
||||
info.append("{0}{1}".format(n, slot[0].upper()))
|
||||
return "+ "+", ".join(info), "Slot Modifiers"
|
||||
elif itemGroup == "Energy Destabilizer":
|
||||
elif itemGroup == "Energy Neutralizer":
|
||||
neutAmount = stuff.getModifiedItemAttr("energyDestabilizationAmount")
|
||||
cycleTime = stuff.cycleTime
|
||||
if not neutAmount or not cycleTime:
|
||||
@@ -94,7 +94,7 @@ class Miscellanea(ViewColumn):
|
||||
text = "{0}/s".format(formatAmount(capPerSec, 3, 0, 3))
|
||||
tooltip = "Energy neutralization per second"
|
||||
return text, tooltip
|
||||
elif itemGroup == "Energy Vampire":
|
||||
elif itemGroup == "Energy Nosferatu":
|
||||
neutAmount = stuff.getModifiedItemAttr("powerTransferAmount")
|
||||
cycleTime = stuff.cycleTime
|
||||
if not neutAmount or not cycleTime:
|
||||
@@ -139,7 +139,7 @@ class Miscellanea(ViewColumn):
|
||||
text = "{0}%".format(formatAmount(sigRadBonus, 3, 0, 3, forceSign=True))
|
||||
tooltip = "Signature radius increase"
|
||||
return text, tooltip
|
||||
elif itemGroup == "Remote Sensor Damper":
|
||||
elif itemGroup == "Sensor Dampener":
|
||||
lockRangeBonus = stuff.getModifiedItemAttr("maxTargetRangeBonus")
|
||||
scanResBonus = stuff.getModifiedItemAttr("scanResolutionBonus")
|
||||
if lockRangeBonus is None or scanResBonus is None:
|
||||
@@ -158,29 +158,54 @@ class Miscellanea(ViewColumn):
|
||||
ttEntries.append("scan resolution")
|
||||
tooltip = "{0} dampening".format(formatList(ttEntries)).capitalize()
|
||||
return text, tooltip
|
||||
elif itemGroup == "Tracking Disruptor":
|
||||
elif itemGroup == "Weapon Disruptor":
|
||||
# Weapon disruption now covers both tracking and guidance (missile) disruptors
|
||||
# First get the attributes for tracking disruptors
|
||||
optimalRangeBonus = stuff.getModifiedItemAttr("maxRangeBonus")
|
||||
falloffRangeBonus = stuff.getModifiedItemAttr("falloffBonus")
|
||||
trackingSpeedBonus = stuff.getModifiedItemAttr("trackingSpeedBonus")
|
||||
if optimalRangeBonus is None or falloffRangeBonus is None or trackingSpeedBonus is None:
|
||||
return "", None
|
||||
display = 0
|
||||
for bonus in (optimalRangeBonus, falloffRangeBonus, trackingSpeedBonus):
|
||||
if abs(bonus) > abs(display):
|
||||
display = bonus
|
||||
if not display:
|
||||
|
||||
trackingDisruptorAttributes = {
|
||||
"optimal range": optimalRangeBonus,
|
||||
"falloff range": falloffRangeBonus,
|
||||
"tracking speed": trackingSpeedBonus}
|
||||
|
||||
isTrackingDisruptor = any(map(lambda x: x is not None and x != 0, trackingDisruptorAttributes.values()))
|
||||
|
||||
# Then get the attributes for guidance disruptors
|
||||
explosionVelocityBonus = stuff.getModifiedItemAttr("aoeVelocityBonus")
|
||||
explosionRadiusBonus = stuff.getModifiedItemAttr("aoeCloudSizeBonus")
|
||||
|
||||
flightTimeBonus = stuff.getModifiedItemAttr("explosionDelayBonus")
|
||||
missileVelocityBonus = stuff.getModifiedItemAttr("missileVelocityBonus")
|
||||
|
||||
guidanceDisruptorAttributes = {
|
||||
"explosion velocity": explosionVelocityBonus,
|
||||
"explosion radius": explosionRadiusBonus,
|
||||
"flight time": flightTimeBonus,
|
||||
"missile velocity": missileVelocityBonus}
|
||||
|
||||
isGuidanceDisruptor = any(map(lambda x: x is not None and x != 0, guidanceDisruptorAttributes.values()))
|
||||
|
||||
if isTrackingDisruptor:
|
||||
attributes = trackingDisruptorAttributes
|
||||
elif isGuidanceDisruptor:
|
||||
attributes = guidanceDisruptorAttributes
|
||||
else:
|
||||
return "", None
|
||||
|
||||
display = max(attributes.values(), key=lambda x: abs(x))
|
||||
|
||||
text = "{0}%".format(formatAmount(display, 3, 0, 3, forceSign=True))
|
||||
|
||||
ttEntries = []
|
||||
if display == optimalRangeBonus:
|
||||
ttEntries.append("optimal range")
|
||||
if display == falloffRangeBonus:
|
||||
ttEntries.append("falloff range")
|
||||
if display == trackingSpeedBonus:
|
||||
ttEntries.append("tracking speed")
|
||||
for attributeName, attributeValue in attributes.items():
|
||||
if attributeValue == display:
|
||||
ttEntries.append(attributeName)
|
||||
|
||||
tooltip = "{0} disruption".format(formatList(ttEntries)).capitalize()
|
||||
return text, tooltip
|
||||
elif itemGroup in ("ECM", "ECM Burst", "Remote ECM Burst"):
|
||||
elif itemGroup in ("ECM", "Burst Jammer", "Remote ECM Burst"):
|
||||
grav = stuff.getModifiedItemAttr("scanGravimetricStrengthBonus")
|
||||
ladar = stuff.getModifiedItemAttr("scanLadarStrengthBonus")
|
||||
radar = stuff.getModifiedItemAttr("scanRadarStrengthBonus")
|
||||
@@ -401,7 +426,7 @@ class Miscellanea(ViewColumn):
|
||||
ttEntries.append("shield")
|
||||
tooltip = "{0} repaired per second".format(formatList(ttEntries)).capitalize()
|
||||
return text, tooltip
|
||||
elif itemGroup == "Cap Drain Drone":
|
||||
elif itemGroup == "Energy Neutralizer Drone":
|
||||
neutAmount = stuff.getModifiedItemAttr("energyDestabilizationAmount")
|
||||
cycleTime = stuff.getModifiedItemAttr("duration")
|
||||
if not neutAmount or not cycleTime:
|
||||
@@ -462,7 +487,7 @@ class Miscellanea(ViewColumn):
|
||||
if chargeGroup in ("Rocket", "Advanced Rocket", "Light Missile", "Advanced Light Missile", "FoF Light Missile",
|
||||
"Heavy Assault Missile", "Advanced Heavy Assault Missile", "Heavy Missile", "Advanced Heavy Missile", "FoF Heavy Missile",
|
||||
"Torpedo", "Advanced Torpedo", "Cruise Missile", "Advanced Cruise Missile", "FoF Cruise Missile",
|
||||
"Citadel Torpedo", "Citadel Cruise"):
|
||||
"Capital Torpedo", "Capital Cruise"):
|
||||
cloudSize = stuff.getModifiedChargeAttr("aoeCloudSize")
|
||||
aoeVelocity = stuff.getModifiedChargeAttr("aoeVelocity")
|
||||
if not cloudSize or not aoeVelocity:
|
||||
|
||||
Reference in New Issue
Block a user