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))