Skip to content

Commit 9f04a87

Browse files
committed
make add omega icon to hulls + make omega attr persistent
1 parent f72d5dd commit 9f04a87

2 files changed

Lines changed: 34 additions & 1 deletion

File tree

db_update.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,27 @@ def _hardcodeAttribs(typeID, attrMap):
664664
else:
665665
attr.value = value
666666

667+
def processCloneGradeRestrictions():
668+
print('processing clone grade restrictions')
669+
alpha_caps = {}
670+
for clone in eos.db.gamedata_session.query(eos.gamedata.AlphaClone).all():
671+
for skill in clone.skills:
672+
alpha_caps[skill.typeID] = skill.level
673+
for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():
674+
if not item.reqskills:
675+
continue
676+
try:
677+
reqskills = json.loads(item.reqskills)
678+
except (ValueError, TypeError):
679+
continue
680+
for skill_type_id, required_level in reqskills.items():
681+
max_alpha_level = alpha_caps.get(int(skill_type_id))
682+
if max_alpha_level is None or required_level > max_alpha_level:
683+
_hardcodeAttribs(item.ID, {"cloneGradeRestriction": 1})
684+
break
685+
686+
processCloneGradeRestrictions()
687+
667688
def _hardcodeEffects(typeID, effectMap, clearEffects=True):
668689
item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()
669690
if clearEffects:

gui/builtinShipBrowser/shipItem.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ def __init__(self, parent, shipID=None, shipFittingInfo=("Test", "TestTrait", 2)
9393
self.marketInstance = Market.getInstance()
9494
self.baseItem = self.marketInstance.getItem(self.shipID)
9595

96+
self.omegaBmp = None
97+
if self.baseItem.getAttribute("cloneGradeRestriction", 0) > 0:
98+
self.omegaBmp = BitmapLoader.getBitmap("25874", "icons")
99+
96100
# =====================================================================
97101
# DISABLED - it will be added as an option in PREFERENCES
98102

@@ -211,7 +215,12 @@ def UpdateElementsPos(self, mdc):
211215
self.raceBmpx = self.shipEffx + self.shipEffBk.GetWidth() + self.padding
212216
self.raceBmpy = (rect.height - self.raceBmp.GetHeight()) / 2
213217

214-
self.textStartx = self.raceBmpx + self.raceBmp.GetWidth() + self.padding
218+
self.omegaBmpx = self.raceBmpx + self.raceBmp.GetWidth() + self.padding
219+
omegaWidth = self.omegaBmp.GetWidth() if self.omegaBmp else 0
220+
omegaHeight = self.omegaBmp.GetHeight() if self.omegaBmp else 0
221+
self.omegaBmpy = (rect.height - omegaHeight) / 2
222+
223+
self.textStartx = self.omegaBmpx + omegaWidth + self.padding
215224

216225
self.shipNamey = (rect.height - self.shipBmp.GetHeight()) / 2
217226

@@ -254,6 +263,9 @@ def DrawItem(self, mdc):
254263
mdc.DrawBitmap(self.raceDropShadowBmp, round(self.raceBmpx + 1), round(self.raceBmpy + 1))
255264
mdc.DrawBitmap(self.raceBmp, round(self.raceBmpx), round(self.raceBmpy))
256265

266+
if self.omegaBmp:
267+
mdc.DrawBitmap(self.omegaBmp, round(self.omegaBmpx), round(self.omegaBmpy))
268+
257269
shipName, shipTrait, fittings = self.shipFittingInfo
258270

259271
if fittings < 1:

0 commit comments

Comments
 (0)