NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

unpacker.py (1209B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\items\unpacker.py
      2 from dogma.const import attributeShieldCharge, attributeCharge
      3 
      4 def UnpackItems(packData, charID, shipID):
      5     ship = None
      6     shipData = None
      7     shipValuesByAttributeID = None
      8     char = None
      9     charData = None
     10     for dogmaItem, itemData in packData:
     11         if dogmaItem.itemID == shipID:
     12             ship = dogmaItem
     13             shipData = itemData
     14             shipValuesByAttributeID = dict(itemData.attributeValues)
     15         elif dogmaItem.itemID == charID:
     16             char = dogmaItem
     17             charData = itemData
     18         else:
     19             dogmaItem.UnpackPropagationData(itemData, charID, shipID)
     20 
     21     char.UnpackPropagationData(charData, charID, shipID)
     22     ship.UnpackPropagationData(shipData, charID, shipID)
     23     _RebaseChargeAttributes(ship, shipValuesByAttributeID)
     24 
     25 
     26 def _RebaseChargeAttributes(ship, shipValuesByAttributeID):
     27     if ship is not None:
     28         for attributeID in (attributeShieldCharge, attributeCharge):
     29             if attributeID in shipValuesByAttributeID:
     30                 ship.attributes[attributeID].SetBaseValue(shipValuesByAttributeID.get(attributeID, 0.0))