From c90dab16ba187c52ac82fad4cbd7a4e54e15d1a8 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Thu, 28 Oct 2010 16:16:59 +0200 Subject: [PATCH] Implement "Set as damage pattern" for ammo --- gui/builtinContextMenus/__init__.py | 3 ++- gui/builtinContextMenus/damagePattern.py | 1 - gui/marketBrowser.py | 2 +- service/fit.py | 19 +++++++++++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/gui/builtinContextMenus/__init__.py b/gui/builtinContextMenus/__init__.py index 30df7603b..f1396d4cd 100644 --- a/gui/builtinContextMenus/__init__.py +++ b/gui/builtinContextMenus/__init__.py @@ -1 +1,2 @@ -__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "droneSplit"] +__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "droneSplit", + "ammoPattern"] diff --git a/gui/builtinContextMenus/damagePattern.py b/gui/builtinContextMenus/damagePattern.py index 2d5742f27..5eb144757 100644 --- a/gui/builtinContextMenus/damagePattern.py +++ b/gui/builtinContextMenus/damagePattern.py @@ -9,7 +9,6 @@ class DamagePattern(ContextMenu): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() - def display(self, context, selection): return context in ("resistancesViewFull",) and self.mainFrame.getActiveFit() is not None diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index 543bd5104..5a3eba276 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -311,7 +311,7 @@ class ItemView(d.Display): if sel == -1: return - menu = ContextMenu.getMenu(self.active[sel], "item" if self.searching is False else "itemSearch") + menu = ContextMenu.getMenu((self.active[sel],), "item" if self.searching is False else "itemSearch") self.PopupMenu(menu) def itemSort(self, item): diff --git a/service/fit.py b/service/fit.py index fc9cbf4a0..8589466da 100644 --- a/service/fit.py +++ b/service/fit.py @@ -338,6 +338,25 @@ class Fit(object): fit.clear() fit.calculateModifiedAttributes() + def setAsPattern(self, fitID, ammo): + if fitID is None: + return + + try: + sDP = DamagePattern.getInstance() + dp = sDP.getDamagePattern("Ammo") + except: + dp = eos.types.DamagePattern() + dp.name = "Ammo" + + fit = eos.db.getFit(fitID) + for attr in ("em", "thermal", "kinetic", "explosive"): + setattr(dp, "%sAmount" % attr, ammo.getAttribute("%sDamage" % attr)) + + fit.damagePattern = dp + fit.clear() + fit.calculateModifiedAttributes() + def exportFit(self, fitID): fit = eos.db.getFit(fitID) return fit.exportEft()