Skip to content

Commit 5edcede

Browse files
committed
make add omega icon to hulls + make omega attr persistent
1 parent 30dcce3 commit 5edcede

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
@@ -649,6 +649,27 @@ def _hardcodeAttribs(typeID, attrMap):
649649
else:
650650
attr.value = value
651651

652+
def processCloneGradeRestrictions():
653+
print('processing clone grade restrictions')
654+
alpha_caps = {}
655+
for clone in eos.db.gamedata_session.query(eos.gamedata.AlphaClone).all():
656+
for skill in clone.skills:
657+
alpha_caps[skill.typeID] = skill.level
658+
for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():
659+
if not item.reqskills:
660+
continue
661+
try:
662+
reqskills = json.loads(item.reqskills)
663+
except (ValueError, TypeError):
664+
continue
665+
for skill_type_id, required_level in reqskills.items():
666+
max_alpha_level = alpha_caps.get(int(skill_type_id))
667+
if max_alpha_level is None or required_level > max_alpha_level:
668+
_hardcodeAttribs(item.ID, {"cloneGradeRestriction": 1})
669+
break
670+
671+
processCloneGradeRestrictions()
672+
652673
def _hardcodeEffects(typeID, effectMap, clearEffects=True):
653674
item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()
654675
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)