def __init__(self, ctx=None): data = ResearchItemsData() if USE_XML_DUMPING and IS_DEVELOPMENT: dumper = dumpers.ResearchItemsXMLDumper() else: dumper = dumpers.ResearchItemsObjDumper() data.setDumper(dumper) super(Research, self).__init__(data) self._statsListener = StatsListener() self._invListener = InventoryListener() self._resolveLoadCtx(ctx=ctx)
def __init__(self, ctx = None): data = ResearchItemsData() if USE_XML_DUMPING and IS_DEVELOPMENT: dumper = dumpers.ResearchItemsXMLDumper() else: dumper = dumpers.ResearchItemsObjDumper() data.setDumper(dumper) super(Research, self).__init__(data) self._statsListener = StatsListener() self._invListener = InventoryListener() self._resolveLoadCtx(ctx=ctx)
def __init__(self, ctx=None): if USE_XML_DUMPING and IS_DEVELOPMENT: dumper = dumpers.ResearchItemsXMLDumper() else: dumper = dumpers.ResearchItemsObjDumper() super(Research, self).__init__(ResearchItemsData(dumper)) self._resolveLoadCtx(ctx=ctx)
def __init__(self, ctx=None, skipConfirm=False): super(Research, self).__init__( ResearchItemsData(dumpers.ResearchItemsObjDumper())) self._resolveLoadCtx(ctx=ctx) self._exitEvent = ctx.get(BackButtonContextKeys.EXIT, None) self._skipConfirm = skipConfirm return
def new_rpm_as_updateCurrentVehicleS(self, name, type, vDescription, earnedXP, isElite, isPremIGR): if isElite or not g_currentVehicle.isPresent(): old_rpm_as_updateCurrentVehicleS(self, name, type, vDescription, earnedXP, isElite, isPremIGR) return if wotxp.config.get('debug', False): LOG_NOTE(g_currentVehicle.item.n) vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) avgXp = vehDoss.getRandomStats().getAvgXP() if not avgXp: avgXp = 0 dumper = dumpers.ResearchItemsObjDumper() research = ResearchItemsData(dumper) research.setRootCD(g_currentVehicle.item.intCD) research.load() requiredTopXp = 0 requiredElitXp = 0 for node in research._getNodesToInvalidate(): if wotxp.config.get('debug', False): LOG_NOTE(node) if node['state'] & NODE_STATE.UNLOCKED > 0: continue if node['state'] & NODE_STATE.VEHICLE_CAN_BE_CHANGED > 0 and node['displayInfo']['level'] < 0: continue requiredElitXp += node['unlockProps'].xpCost if node['state'] < NODE_STATE.VEHICLE_CAN_BE_CHANGED: requiredTopXp += node['unlockProps'].xpCost xp = g_itemsCache.items.stats.vehiclesXPs.get(g_currentVehicle.item.intCD, 0) freeXP = g_itemsCache.items.stats.actualFreeXP descriptionPostfix = '' extraXp = 0 values = {} if requiredTopXp > 0: if requiredTopXp > xp: requiredTopXp -= xp else: xp -= requiredTopXp extraXp += xp requiredTopXp = 0 if wotxp.config.get("useFreeXpForModuleResearch", True): if requiredTopXp > freeXP: requiredTopXp -= freeXP else: extraXp += freeXP - requiredTopXp requiredTopXp = 0 requiredElitXp = max(requiredElitXp - xp, 0) if wotxp.config.get("useFreeXpForVehicleResearch", False): requiredElitXp = max(requiredElitXp - freeXP, 0) descriptionPostfix = wotxp.config.get("stockVehicle", "[{{topBattleCount}}|{{requiredTopXp}}]") \ if requiredTopXp > 0 else wotxp.config.get("stockVehicleResearchCompleted", " [+{{extraXp}}]") else: if requiredElitXp > xp: requiredElitXp -= xp else: extraXp += xp - requiredElitXp requiredElitXp = 0 if wotxp.config.get("useFreeXpForVehicleResearch", False): if requiredElitXp > freeXP: requiredElitXp -= freeXP else: extraXp += freeXP - requiredElitXp requiredElitXp = 0 descriptionPostfix = wotxp.config.get("topVehicle", "[{{elitBattleCount}}|{{requiredElitXp}}]") \ if requiredElitXp > 0 else wotxp.config.get("topVehicleResearchCompleted", " [+{{extraXp}}]") values['requiredTopXp'] = wotxp.numWithPostfix(requiredTopXp) values['requiredElitXp'] = wotxp.numWithPostfix(requiredElitXp) values['topBattleCount'] = wotxp.numWithPostfix(math.ceil(requiredTopXp/avgXp)) if avgXp > 0 else 'X' values['elitBattleCount'] = wotxp.numWithPostfix(math.ceil(requiredElitXp/avgXp)) if avgXp > 0 else 'X' values['extraXp'] = wotxp.numWithPostfix(extraXp) for key in values.keys(): descriptionPostfix = descriptionPostfix.replace('{{%s}}' % key, values[key]) old_rpm_as_updateCurrentVehicleS(self, name, type, vDescription + descriptionPostfix, earnedXP, isElite, isPremIGR)
def new_rpm_as_updateCurrentVehicleS(self, name, type, vDescription, earnedXP, isElite, isPremIGR): if isElite or not g_currentVehicle.isPresent(): old_rpm_as_updateCurrentVehicleS(self, name, type, vDescription, earnedXP, isElite, isPremIGR) return if wotxp.config.get('debug', False): LOG_NOTE(g_currentVehicle.item.n) vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) avgXp = vehDoss.getRandomStats().getAvgXP() if not avgXp: avgXp = 0 dumper = dumpers.ResearchItemsObjDumper() research = ResearchItemsData(dumper) research.setRootCD(g_currentVehicle.item.intCD) research.load() requiredTopXp = 0 requiredElitXp = 0 for node in research._getNodesToInvalidate(): if wotxp.config.get('debug', False): LOG_NOTE(node) if node['state'] & NODE_STATE.UNLOCKED > 0: continue if node['state'] & NODE_STATE.VEHICLE_CAN_BE_CHANGED > 0 and node[ 'displayInfo']['level'] < 0: continue requiredElitXp += node['unlockProps'].xpCost if node['state'] < NODE_STATE.VEHICLE_CAN_BE_CHANGED: requiredTopXp += node['unlockProps'].xpCost xp = g_itemsCache.items.stats.vehiclesXPs.get(g_currentVehicle.item.intCD, 0) freeXP = g_itemsCache.items.stats.actualFreeXP descriptionPostfix = '' extraXp = 0 values = {} if requiredTopXp > 0: if requiredTopXp > xp: requiredTopXp -= xp else: xp -= requiredTopXp extraXp += xp requiredTopXp = 0 if wotxp.config.get("useFreeXpForModuleResearch", True): if requiredTopXp > freeXP: requiredTopXp -= freeXP else: extraXp += freeXP - requiredTopXp requiredTopXp = 0 requiredElitXp = max(requiredElitXp - xp, 0) if wotxp.config.get("useFreeXpForVehicleResearch", False): requiredElitXp = max(requiredElitXp - freeXP, 0) descriptionPostfix = wotxp.config.get("stockVehicle", "[{{topBattleCount}}|{{requiredTopXp}}]") \ if requiredTopXp > 0 else wotxp.config.get("stockVehicleResearchCompleted", " [+{{extraXp}}]") else: if requiredElitXp > xp: requiredElitXp -= xp else: extraXp += xp - requiredElitXp requiredElitXp = 0 if wotxp.config.get("useFreeXpForVehicleResearch", False): if requiredElitXp > freeXP: requiredElitXp -= freeXP else: extraXp += freeXP - requiredElitXp requiredElitXp = 0 descriptionPostfix = wotxp.config.get("topVehicle", "[{{elitBattleCount}}|{{requiredElitXp}}]") \ if requiredElitXp > 0 else wotxp.config.get("topVehicleResearchCompleted", " [+{{extraXp}}]") values['requiredTopXp'] = wotxp.numWithPostfix(requiredTopXp) values['requiredElitXp'] = wotxp.numWithPostfix(requiredElitXp) values['topBattleCount'] = wotxp.numWithPostfix( math.ceil(requiredTopXp / avgXp)) if avgXp > 0 else 'X' values['elitBattleCount'] = wotxp.numWithPostfix( math.ceil(requiredElitXp / avgXp)) if avgXp > 0 else 'X' values['extraXp'] = wotxp.numWithPostfix(extraXp) for key in values.keys(): descriptionPostfix = descriptionPostfix.replace( '{{%s}}' % key, values[key]) old_rpm_as_updateCurrentVehicleS(self, name, type, vDescription + descriptionPostfix, earnedXP, isElite, isPremIGR)
def __init__(self, ctx = None, skipConfirm = False): super(Research, self).__init__(ResearchItemsData(dumpers.ResearchItemsObjDumper())) self._resolveLoadCtx(ctx=ctx) self._skipConfirm = skipConfirm