def getShipInfo(objectData): if ':' in objectData['Category']: shipClass = int(objectData['Category'].split(':')[0]) else: typeStr = objectData['Category'] level = objectData.get('Level') if level: level = int(level) teamStr = 'Player' specifiedTeam = objectData.get('Team') if specifiedTeam: teamStr = specifiedTeam teamId = PiratesGlobals.teamStr2TeamId(teamStr) shipClass = ShipGlobals.WARSHIPL3 newShipClass = None if hasattr(ShipGlobals, typeStr): newShipClass = eval('ShipGlobals.' + typeStr) if newShipClass: shipClass = newShipClass elif (typeStr == 'NavyMerchant' or typeStr == 'Merchant') and teamId and teamId == PiratesGlobals.NAVY_TEAM: shipClass = ShipGlobals.NAVY_VANGUARD elif typeStr == 'Merchant': shipClass = ShipGlobals.MERCHANTL2 elif typeStr == 'Interceptor': if level == 2: shipClass = ShipGlobals.INTERCEPTORL2 elif level == 3: shipClass = ShipGlobals.INTERCEPTORL3 else: shipClass = ShipGlobals.INTERCEPTORL1 elif typeStr == 'InterceptorTutorial': shipClass = ShipGlobals.STUMPY_SHIP elif typeStr == 'TutorialEnemyShip': shipClass = ShipGlobals.SKEL_SHADOW_CROW_FR style = objectData.get('StyleOverride', '%s:Default' % ShipGlobals.Styles.Undefined) logo = objectData.get('LogoOverride', '%s:Default' % ShipGlobals.Logos.Undefined) style = int(style.split(':')[0]) logo = int(logo.split(':')[0]) return (shipClass, style, logo)