Merged changes from pyfa-org/master into branch

Merged changes to see if we can clear up the merge conflict warning
This commit is contained in:
Ebag333
2016-06-15 18:24:40 -07:00
parent b4694dcf03
commit 03d1d8f5a4
5 changed files with 79 additions and 43 deletions

View File

@@ -64,4 +64,4 @@ pyfa is licensed under the GNU GPL v3.0, see LICENSE
* Email: sable.blitzmann@gmail.com
## CCP Copyright Notice
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to Osmium to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, Osmium. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to pyfa to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, pyfa. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.

View File

@@ -629,7 +629,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
@property
def rawCycleTime(self):
speed = self.getModifiedItemAttr("speed") or self.getModifiedItemAttr("duration")
speed = self.getModifiedItemAttr("speed") or self.getModifiedItemAttr("duration")
return speed
@property

View File

@@ -210,42 +210,44 @@ class Miscellanea(ViewColumn):
ladar = stuff.getModifiedItemAttr("scanLadarStrengthBonus")
radar = stuff.getModifiedItemAttr("scanRadarStrengthBonus")
magnet = stuff.getModifiedItemAttr("scanMagnetometricStrengthBonus")
if grav is None or ladar is None or radar is None or magnet is None:
displayMax = max(grav, ladar, radar, magnet)
displayMin = min(grav, ladar, radar, magnet)
if grav is None or ladar is None or radar is None or magnet is None or displayMax is None:
return "", None
display = max(grav, ladar, radar, magnet)
if not display:
return "", None
text = "{0}".format(formatAmount(display, 3, 0, 3))
ttEntries = []
if display == grav:
ttEntries.append("gravimetric")
if display == ladar:
ttEntries.append("ladar")
if display == magnet:
ttEntries.append("magnetometric")
if display == radar:
ttEntries.append("radar")
plu = "" if len(ttEntries) == 1 else "s"
tooltip = "{0} strength{1}".format(formatList(ttEntries), plu).capitalize()
if displayMax == displayMin or displayMin is None:
text = "{0}".format(
formatAmount(displayMax, 3, 0, 3),
)
else:
text = "{0} | {1}".format(
formatAmount(displayMax, 3, 0, 3),
formatAmount(displayMin, 3, 0, 3),
)
tooltip = "ECM Jammer Strength:\n{0} Gravimetric | {1} Ladar | {2} Magnetometric | {3} Radar".format(
formatAmount(grav, 3, 0, 3),
formatAmount(ladar, 3, 0, 3),
formatAmount(radar, 3, 0, 3),
formatAmount(magnet, 3, 0, 3),
)
return text, tooltip
elif itemGroup in ("Remote Sensor Booster", "Sensor Booster", "Signal Amplifier"):
scanResBonus = stuff.getModifiedItemAttr("scanResolutionBonus")
lockRangeBonus = stuff.getModifiedItemAttr("maxTargetRangeBonus")
if scanResBonus is None or lockRangeBonus is None:
gravBonus = stuff.getModifiedItemAttr("scanGravimetricStrengthPercent")
if scanResBonus is None or lockRangeBonus is None or gravBonus is None:
return "", None
display = 0
for bonus in (scanResBonus, lockRangeBonus):
if abs(bonus) > abs(display):
display = bonus
if not display:
return "", None
text = "{0}%".format(formatAmount(display, 3, 0, 3, forceSign=True))
ttEntries = []
if display == lockRangeBonus:
ttEntries.append("lock range")
if display == scanResBonus:
ttEntries.append("scan resolution")
tooltip = "{0} bonus".format(formatList(ttEntries)).capitalize()
text = "{0}% | {1}% | {2}%".format(
formatAmount(scanResBonus, 3, 0, 3),
formatAmount(lockRangeBonus, 3, 0, 3),
formatAmount(gravBonus, 3, 0, 3),
)
tooltip = "Applied bonuses:\n{0}% scan resolution | {1}% lock range | {2}% sensor strength".format(
formatAmount(scanResBonus, 3, 0, 3),
formatAmount(lockRangeBonus, 3, 0, 3),
formatAmount(gravBonus, 3, 0, 3),
)
return text, tooltip
elif itemGroup in ("Projected ECCM", "ECCM", "Sensor Backup Array"):
grav = stuff.getModifiedItemAttr("scanGravimetricStrengthPercent")
@@ -483,6 +485,25 @@ class Miscellanea(ViewColumn):
duration = cycles * cycleTime / 1000
text = "{0} / {1}s".format(formatAmount(ehp, 3, 0, 9), formatAmount(duration, 3, 0, 3))
return text, tooltip
elif itemGroup == "Armor Resistance Shift Hardener":
itemArmorResistanceShiftHardenerEM = (1-stuff.getModifiedItemAttr("armorEmDamageResonance"))*100
itemArmorResistanceShiftHardenerTherm = (1-stuff.getModifiedItemAttr("armorThermalDamageResonance")) * 100
itemArmorResistanceShiftHardenerKin = (1-stuff.getModifiedItemAttr("armorKineticDamageResonance")) * 100
itemArmorResistanceShiftHardenerExp = (1-stuff.getModifiedItemAttr("armorExplosiveDamageResonance")) * 100
text = "{0}% | {1}% | {2}% | {3}%".format(
formatAmount(itemArmorResistanceShiftHardenerEM, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerTherm, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerKin, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerExp, 3, 0, 3),
)
tooltip = "Resistances Shifted to Damage Profile:\n{0}% EM | {1}% Therm | {2}% Kin | {3}% Exp".format(
formatAmount(itemArmorResistanceShiftHardenerEM, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerTherm, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerKin, 3, 0, 3),
formatAmount(itemArmorResistanceShiftHardenerExp, 3, 0, 3),
)
return text, tooltip
elif stuff.charge is not None:
chargeGroup = stuff.charge.group.name

View File

@@ -84,9 +84,9 @@ class ItemStatsDialog(wx.Dialog):
self.SetMinSize((300, 200))
if "wxGTK" in wx.PlatformInfo: # GTK has huge tab widgets, give it a bit more room
self.SetSize((530, 300))
self.SetSize((580, 500))
else:
self.SetSize((500, 300))
self.SetSize((550, 500))
#self.SetMaxSize((500, -1))
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
self.container = ItemStatsContainer(self, victim, item, itmContext)
@@ -341,9 +341,14 @@ class ItemParams (wx.Panel):
def PopulateList(self):
self.paramList.InsertColumn(0,"Attribute")
self.paramList.InsertColumn(1,"Value")
self.paramList.SetColumnWidth(1,150)
self.paramList.setResizeColumn(1)
self.paramList.InsertColumn(1,"Current Value")
if self.stuff is not None:
self.paramList.InsertColumn(2,"Base Value")
self.paramList.SetColumnWidth(0,110)
self.paramList.SetColumnWidth(1,90)
if self.stuff is not None:
self.paramList.SetColumnWidth(2,90)
self.paramList.setResizeColumn(0)
self.imageList = wx.ImageList(16, 16)
self.paramList.SetImageList(self.imageList,wx.IMAGE_LIST_SMALL)
@@ -354,9 +359,11 @@ class ItemParams (wx.Panel):
idCount = 0
for name in names:
info = self.attrInfo.get(name)
att = self.attrValues[name]
valDefault = getattr(info, "value", None)
valueDefault = valDefault if valDefault is not None else att
val = getattr(att, "value", None)
value = val if val is not None else att
@@ -395,8 +402,16 @@ class ItemParams (wx.Panel):
else:
valueUnit = formatAmount(value, 3, 0, 0)
if self.toggleView != 1:
valueUnitDefault = str(valueDefault)
elif info and info.unit:
valueUnitDefault = self.TranslateValueUnit(valueDefault, info.unit.displayName, info.unit.name)
else:
valueUnitDefault = formatAmount(valueDefault, 3, 0, 0)
self.paramList.SetStringItem(index, 1, valueUnit)
if self.stuff is not None:
self.paramList.SetStringItem(index, 2, valueUnitDefault)

View File

@@ -74,8 +74,6 @@ class MainMenuBar(wx.MenuBar):
fileMenu.Append(self.exportSkillsNeededId, "Export &Skills Needed", "Export skills needed for this fitting")
fileMenu.Append(self.importCharacterId, "Import C&haracter File", "Import characters into pyfa from file")
fileMenu.AppendSeparator()
fileMenu.Append(self.importDatabaseDefaultsId, "Import D&atabase Defaults", "Imports missing database defaults")
fileMenu.AppendSeparator()
fileMenu.Append(wx.ID_EXIT)
# Edit menu
@@ -139,11 +137,11 @@ class MainMenuBar(wx.MenuBar):
self.Enable(self.exportToEveId, False)
if not gui.mainFrame.disableOverrideEditor:
windowMenu.AppendSeparator()
attrItem = wx.MenuItem(windowMenu, self.attrEditorId, "Attribute Overrides\tCTRL+B")
attrItem.SetBitmap(BitmapLoader.getBitmap("fit_rename_small", "gui"))
windowMenu.AppendItem(attrItem)
editMenu.AppendSeparator()
editMenu.Append(self.toggleOverridesId, "Turn Overrides On")
windowMenu.Append(self.toggleOverridesId, "Turn Overrides On")
# Help menu
helpMenu = wx.Menu()
@@ -151,6 +149,8 @@ class MainMenuBar(wx.MenuBar):
helpMenu.Append(self.wikiId, "Wiki", "Go to wiki on GitHub")
helpMenu.Append(self.forumId, "Forums", "Go to EVE Online Forum thread")
helpMenu.AppendSeparator()
helpMenu.Append(self.importDatabaseDefaultsId, "Import D&atabase Defaults", "Imports missing database defaults")
helpMenu.AppendSeparator()
helpMenu.Append(wx.ID_ABOUT)
if config.debug: