def makeVehiclePostProgressionUnlockMsg(vehicle): msgKey = R.strings.system_messages.vehiclePostProgression.vehiclesUnlockPostProgression return makeSuccess(backport.text(msgKey.single.body(), vehicle=vehicle.userName), msgType=SM_TYPE.InformationHeader, msgPriority=NotificationPriorityLevel.HIGH, msgData={'header': backport.text(msgKey.title()) }) if vehicle.postProgressionAvailability( unlockOnly=True) else makeSuccess()
def makeSetSlotCategoryMsg(vehicle, slot): msgKey = R.strings.system_messages.vehiclePostProgression.setSlotCategory return makeSuccess(backport.text(msgKey.body(), vehicle=vehicle.userName, category=_getSlotCategoryName(slot)), msgType=SM_TYPE.InformationHeader, msgData={'header': backport.text(msgKey.title())}, msgPriority=NotificationPriorityLevel.HIGH ) if slot is not None else makeSuccess()
def makeChangeSlotCategoryMsg(vehicle, slot, price): msgKey = R.strings.system_messages.vehiclePostProgression.changeSlotCategory if slot is not None: userMsg = backport.text(msgKey.body(), vehicle=vehicle.userName, category=_getSlotCategoryName(slot)) spentString = makeSpentString(price) return makeSuccess(' '.join((userMsg, spentString)), msgType=SM_TYPE.ChangeSlotCategory) else: return makeSuccess()
def _successHandler(self, code, ctx=None): restoreInfo = '' sellForGold = self.vehicle.getSellPrice(preferred=True).getCurrency(byWeight=True) == Currency.GOLD if self.vehicle.isPremium and not self.vehicle.isUnique and not self.vehicle.isUnrecoverable and self.__lobbyContext.getServerSettings().isVehicleRestoreEnabled() and not sellForGold: timeKey, formattedTime = getTimeLeftInfo(self.itemsCache.items.shop.vehiclesRestoreConfig.restoreDuration) restoreInfo = backport.text(R.strings.system_messages.vehicle.restoreDuration.dyn(timeKey, R.invalid)(), time=formattedTime) additionalMsgs = [] if self.__compensationRequired: additionalMsgs.append(makeCrewSkinCompensationMessage(self.__compensationAmount)) if self.__hasPairModification: additionalMsgs.append(makeAllPairsDiscardMsg(self.vehicle.userName)) g_tankActiveCamouflage[self.vehicle.intCD] = SeasonType.UNDEFINED msgCtx = {'vehName': self.vehicle.userName} if self.usedDemountKitsCount: msgCtx['countDK'] = self.usedDemountKitsCount if self.isDismantlingForMoney: msgCtx['gainMoney'] = formatPrice(self.gainMoney) msgCtx['spendMoney'] = formatPrice(self.spendMoney) else: msgCtx['money'] = formatPrice(self.gainMoney) if not self.isRemovedAfterRent: msgCtx['restoreInfo'] = restoreInfo sysMsgR = R.strings.system_messages.dyn('vehicle_remove' if self.isRemovedAfterRent else 'vehicle_sell', R.invalid) if sysMsgR: sysMsgR = sysMsgR.dyn('success_dismantling' if self.isDismantlingForMoney else 'success', R.invalid) if sysMsgR and self.usedDemountKitsCount: sysMsgR = sysMsgR.dyn('with_demount_kit', R.invalid) if self.isRemovedAfterRent: smType = SM_TYPE.Remove elif sellForGold: smType = SM_TYPE.SellingForGold else: smType = SM_TYPE.Selling return makeSuccess(userMsg=backport.text(sysMsgR(), **msgCtx), msgType=smType, auxData=additionalMsgs)
def _successHandler(self, code, ctx=None): messageType = MESSENGER.SERVICECHANNELMESSAGES_SYSMSG_CUSTOMIZATIONS_SELL if ctx is not None and 'count' in ctx: self.count = ctx['count'] if self.count > 0: SystemMessages.pushI18nMessage(messageType, type=SM_TYPE.Selling, **self._getMsgCtx()) return makeSuccess(auxData=ctx)
def _successHandler(self, code, ctx=None): additionalMessages = [] if ctx.get('shells', []): totalPrice = MONEY_UNDEFINED for shellCompDescr, price, count in ctx.get('shells', []): price = Money.makeFromMoneyTuple(price) shell = self.itemsCache.items.getItemByCD(shellCompDescr) additionalMessages.append( makeI18nSuccess('shell_buy/success', name=shell.userName, count=count, money=formatPrice(price), type=self._getSysMsgType(price))) totalPrice += price additionalMessages.append( makeI18nSuccess('layout_apply/success_money_spent', money=formatPrice(totalPrice), type=self._getSysMsgType(totalPrice))) if ctx.get('eqs', []): for eqCompDescr, price, count in ctx.get('eqs', []): price = Money.makeFromMoneyTuple(price) equipment = self.itemsCache.items.getItemByCD(eqCompDescr) additionalMessages.append( makeI18nSuccess('artefact_buy/success', kind=equipment.userType, name=equipment.userName, count=count, money=formatPrice(price), type=self._getSysMsgType(price))) return makeSuccess(auxData=additionalMessages)
def makePurchaseStepsMsg(vehicle, stepIDs, price): ctx = {'vehicle': vehicle.userName} featureUnlockMsgs = [] levels = [] for stepID in stepIDs: step = vehicle.postProgression.getStep(stepID) if step.action.actionType != ACTION_TYPES.PAIR_MODIFICATION: levels.append(step.getLevel()) if step.action.actionType == ACTION_TYPES.FEATURE: unlockMsg = makeUnlockFeatureMessage(step.action.getTechName(), vehicle.userName) if unlockMsg is not None: featureUnlockMsgs.append(unlockMsg) levels.sort() if len(levels) > 1: msgKey = R.strings.system_messages.vehiclePostProgression.researchSteps.body separator = backport.text( R.strings.system_messages.vehiclePostProgression.researchSteps. levels.separator()) ctx['levels'] = separator.join((str(level) for level in levels)) else: msgKey = R.strings.system_messages.vehiclePostProgression.researchStep.body ctx['level'] = str(levels[0]) if levels else '' userMsg = backport.text(msgKey(), **ctx) spentString = makeSpentString(price, ignoreCurrencies=(ExtendedCurrency.XP, )) return makeSuccess(' '.join( (userMsg, spentString)), SM_TYPE.ResearchVehiclePostProgressionSteps, featureUnlockMsgs)
def _successHandler(self, code, ctx=None): html = makeHtmlString(path='html_templates:lobby/processors/system_messages', key='recruit', ctx={'fullName': self.recruitInfo.getFullUserName(), 'rank': Tankman.getRankUserName(self.nationID, self.recruitInfo.getRankID()), 'role': getSkillsConfig().getSkill(self.role).userString, 'vehicleName': self.vehicleName, 'roleLevel': self.recruitInfo.getRoleLevel()}) return makeSuccess(html, msgType=SM_TYPE.Information, auxData=ctx)
def _successHandler(self, code, ctx=None): additionalMessages = [] removedItems = [] for eqKd in ctx.get('incompatibleEqs', []): item = self.itemsCache.items.getItemByCD(eqKd) removedItems.append(item.userName) if removedItems: additionalMessages.append( makeI18nSuccess(self._formMessage('incompatibleEqs'), items="', '".join(removedItems), type=SM_TYPE.Information)) additionalMessages.append( makeI18nSuccess(sysMsgKey=self._formMessage('success'), type=SM_TYPE.Information, auxData=additionalMessages, **self._getMsgCtx())) equipSideEffects = ctx.get('equipSideEffects', []) if EquipSideEffect.AMMO_AUTO_LOADED in equipSideEffects: additionalMessages.append( makeI18nSuccess(sysMsgKey='charge/success', type=SM_TYPE.Information, auxData=additionalMessages)) elif EquipSideEffect.AMMO_AUTO_LOAD_FAILED in equipSideEffects: additionalMessages.append( makeI18nSuccess(sysMsgKey='charge/inventory_error', vehicle=self.vehicle.userName, type=SM_TYPE.Warning, auxData=additionalMessages)) return makeSuccess(auxData=additionalMessages)
def _successHandler(self, code, ctx=None): playSound(Sounds.MODIFICATION_MOUNT) vehicle = self._getVehicle() messages = [] if self.__discardMod is not None: messages.append(makeDiscardPairsMsg(vehicle, [self.__discardMod])) messages.append(makeBuyPairMsg(self._getVehicle(), self.__stepID, self.__modID)) return makeSuccess(auxData=messages)
def _request(self, callback): vehDescr = self.vehicle.descriptor vehDescr.installTurret(self.item.intCD, self.gunCD) self.vehicle.turret = VehicleTurret(vehDescr.turret.compactDescr, descriptor=vehDescr.turret) if self.gunCD: self.vehicle.descriptor.installComponent(self.gunCD) self.vehicle.gun = VehicleGun(self.gunCD, descriptor=self.vehicle.descriptor.gun) callback(makeSuccess())
def _request(self, callback): itemTypeID = self.item.itemTypeID moduleName = self.OTHER_PREVIEW_MODULES[itemTypeID] self.vehicle.descriptor.installComponent(self.item.intCD) itemDescr = getattr(self.vehicle.descriptor, moduleName) module = self.itemsFactory.createGuiItem(itemTypeID, itemDescr.compactDescr, descriptor=itemDescr) setattr(self.vehicle, moduleName, module) callback(makeSuccess())
def _request(self, callback): vehDescr = self.vehicle.descriptor vehDescr.installTurret(self.item.intCD, self.gunCD) self.vehicle.turret = VehicleTurret(vehDescr.turret['compactDescr'], descriptor=vehDescr.turret) if self.gunCD: self.vehicle.descriptor.installComponent(self.gunCD) self.vehicle.gun = VehicleGun(self.gunCD, descriptor=self.vehicle.descriptor.gun) callback(makeSuccess())
def makeUnlockFeatureMessage(featureName, vehicleUserName): msgKey = R.strings.system_messages.vehiclePostProgression.unlockFeature.dyn( featureName) return makeSuccess( backport.text(msgKey.body(), vehicle=vehicleUserName), msgType=SM_TYPE.InformationHeader, msgData={'header': backport.text(msgKey.title())}, msgPriority=NotificationPriorityLevel.HIGH) if msgKey else None
def _request(self, callback): itemTypeID = self.item.itemTypeID moduleName = self.OTHER_PREVIEW_MODULES[itemTypeID] cls = ItemsRequester.ITEM_TYPES_MAPPING[itemTypeID] self.vehicle.descriptor.installComponent(self.item.intCD) itemDescr = getattr(self.vehicle.descriptor, moduleName) setattr(self.vehicle, moduleName, cls(itemDescr['compactDescr'], descriptor=itemDescr)) callback(makeSuccess())
def _successHandler(self, code, ctx=None): currency = self.item.buyPrices.itemPrice.price.getCurrency( byWeight=True) messageType = MESSENGER.SERVICECHANNELMESSAGES_SYSMSG_CUSTOMIZATIONS_BUY sysMsgType = CURRENCY_TO_SM_TYPE.get(currency, SM_TYPE.PurchaseForGold) SystemMessages.pushI18nMessage(messageType, type=sysMsgType, **self._getMsgCtx()) return makeSuccess(auxData=ctx)
def makeAllPairsDiscardMsg(vehicleName): msgBody = R.strings.system_messages.vehiclePostProgression.discardAllPairsModification.body( ) msgTitle = R.strings.system_messages.vehiclePostProgression.discardPairModification.title( ) return makeSuccess(backport.text(msgBody, vehicle=vehicleName), msgType=SM_TYPE.InformationHeader, msgData={'header': backport.text(msgTitle)}, msgPriority=NotificationPriorityLevel.MEDIUM)
def makeBuyPairMsg(vehicle, stepID, modID): msgKey = R.strings.system_messages.vehiclePostProgression.buyPairModification mod = vehicle.postProgression.getStep(stepID).action.getModificationByID( modID) userMsg = backport.text(msgKey.body(), vehicle=vehicle.userName, modification=backport.text(mod.getLocNameRes()())) spentString = makeSpentString(mod.getPrice()) return makeSuccess(' '.join((userMsg, spentString)), SM_TYPE.BuyPostProgressionModForCredits)
def _successHandler(self, code, ctx=None): year, collectionStr = getCollectionByIntID(self.__collectionID) collection = backport.text(R.strings.ny.settings.dyn(collectionStr)()) if collectionStr == ToySettings.MEGA_TOYS: msgId = R.strings.ny.systemMessage.infoMegaCollection() else: msgId = R.strings.ny.systemMessage.infoCollection() year = backport.text(R.strings.ny.systemMessage.dyn(year)()) msg = backport.text(msgId, collection=collection, year=year) return makeSuccess(userMsg=msg, auxData=ctx)
def _successHandler(self, code, ctx=None): additionalMessages = [] if ctx: additionalMessages = [ ItemBuyProcessorMessage( self.itemsCache.items.getItemByCD(cd), count, Money.makeFromMoneyTuple(price)).makeSuccessMsg() for cd, price, count in ctx.get('eqs', []) ] return makeSuccess(auxData=additionalMessages)
def makeSuccessMsg(self): defaultKey = R.strings.system_messages.dyn(self._formMessage()).success if self.__useDemountKit: msgKey = R.strings.system_messages.dyn( self._formMessage()).demount_kit_success else: msgKey = R.strings.system_messages.dyn( self._formMessage()).money_success return makeSuccess( backport.text((msgKey() if msgKey else defaultKey), **self._getMsgCtx()), self._getSuccessMsgType())
def _successHandler(self, code, ctx=None): additionalMessages = [] removedItems = [] for eqKd in ctx.get('incompatibleEqs', []): item = self.itemsCache.items.getItemByCD(eqKd) removedItems.append(item.name) if removedItems: additionalMessages.append(makeI18nSuccess(self._formMessage('incompatibleEqs'), items="', '".join(removedItems), type=SM_TYPE.Information)) additionalMessages.append(makeI18nSuccess(sysMsgKey=self._formMessage('success'), type=SM_TYPE.Information, auxData=additionalMessages, **self._getMsgCtx())) return makeSuccess(auxData=additionalMessages)
def _successHandler(self, code, ctx = None): additionalMessages = [] removedItems = [] for eqKd in ctx.get('incompatibleEqs', []): item = g_itemsCache.items.getItemByCD(eqKd) removedItems.append(item.name) if removedItems: additionalMessages.append(makeI18nSuccess(self._formMessage('incompatibleEqs'), items="', '".join(removedItems), type=SM_TYPE.Information)) additionalMessages.append(makeI18nSuccess(self._formMessage('success'), type=SM_TYPE.Information, auxData=additionalMessages, **self._getMsgCtx())) return makeSuccess(auxData=additionalMessages)
def _successHandler(self, code, ctx=None): item = self.item if self.install else None self.vehicle.optDevices.installed[self.slotIdx] = item useDemountKit = self.requestCtx.get('useDemountKit', False) isAfterConversion = self.requestCtx.get('isAfterConversion', False) if not self.install and not self.item.isRemovable and isAfterConversion and self.financeOperation: return makeSuccess() elif not self.install and not self.item.isRemovable and self.financeOperation: return OptDeviceRemoveProcessorMessage(self.item, removalPrice=self.removalPrice.price, useDemountKit=useDemountKit).makeSuccessMsg() else: return ItemDestroyProcessorMessage(self.item).makeSuccessMsg() if not self.install and not self.financeOperation else super(OptDeviceInstaller, self)._successHandler(code, ctx)
def _successHandler(self, code, ctx=None): additionalMessages = [] totalPrice = ZERO_MONEY if ctx: for cd, price, count in ctx.get('shells', []): money = Money.makeFromMoneyTuple(price) additionalMessages.append(ItemBuyProcessorMessage(self.itemsCache.items.getItemByCD(cd), count, money).makeSuccessMsg()) totalPrice += money if totalPrice: additionalMessages.append(ShellsApplyProcessorMessage(self.__vehicle, totalPrice).makeSuccessMsg()) return makeSuccess(auxData=additionalMessages)
def _successHandler(self, code, ctx=None): currency = self.item.buyPrices.itemPrice.price.getCurrency(byWeight=True) sysMsgType = CURRENCY_TO_SM_TYPE.get(currency, SM_TYPE.PurchaseForGold) msgCtx = self._getMsgCtx() if self.count == 1: msg = backport.text(R.strings.messenger.serviceChannelMessages.sysMsg.customization.buyOne(), **msgCtx) else: msgCtx = {'items': backport.text(R.strings.messenger.serviceChannelMessages.sysMsg.customization.item(), **msgCtx) + '.', 'money': msgCtx['money']} msg = backport.text(R.strings.messenger.serviceChannelMessages.sysMsg.customization.buyMany(), **msgCtx) SystemMessages.pushMessage(msg, type=sysMsgType) return makeSuccess(auxData=ctx)
def _successHandler(self, code, ctx=None): toyName = backport.text(self.__toy.getName()) collection = backport.text( R.strings.ny.settings.dyn(self.__toy.getCollectionName())()) year = backport.text( R.strings.ny.systemMessage.dyn(self.__toy.COLLECTION_NAME)()) if not self.__toy.isMega(): msgId = R.strings.ny.systemMessage.infoToy() else: msgId = R.strings.ny.systemMessage.infoMegaToy() msg = backport.text(msgId, toyName=toyName, collection=collection, year=year) return makeSuccess(userMsg=msg, auxData=ctx)
def _successHandler(self, code, ctx=None): itemsCache = dependency.instance(IItemsCache) return makeSuccess( msgType=SM_TYPE.BattlePassReward, userMsg='', auxData={ 'header': backport.text(R.strings.messenger.serviceChannelMessages. battlePassReward.header.buyBP()), 'description': backport.text(R.strings.messenger.serviceChannelMessages. battlePassReward.buyWithoutRewards.text()), 'additionalText': self.__makeGoldString( itemsCache.items.shop.getBattlePassCost().get( Currency.GOLD, 0)) })
def _successHandler(self, code, ctx = None): additionalMessages = [] if len(ctx.get('shells', [])): totalPrice = [0, 0] for shellCompDescr, price, count in ctx.get('shells', []): shell = g_itemsCache.items.getItemByCD(shellCompDescr) additionalMessages.append(makeI18nSuccess('shell_buy/success', name=shell.userName, count=count, money=formatPrice(price), type=self.__getSysMsgType(price))) totalPrice[0] += price[0] totalPrice[1] += price[1] additionalMessages.append(makeI18nSuccess('layout_apply/success_money_spent', money=formatPrice(totalPrice), type=self.__getSysMsgType(totalPrice))) if len(ctx.get('eqs', [])): for eqCompDescr, price, count in ctx.get('eqs', []): equipment = g_itemsCache.items.getItemByCD(eqCompDescr) additionalMessages.append(makeI18nSuccess('artefact_buy/success', kind=equipment.userType, name=equipment.userName, count=count, money=formatPrice(price), type=self.__getSysMsgType(price))) return makeSuccess(auxData=additionalMessages)
def _successHandler(self, code, ctx = None): additionalMessages = [] if len(ctx.get('shells', [])): totalPrice = [0, 0] for shellCompDescr, price, count in ctx.get('shells', []): shell = g_itemsCache.items.getItemByCD(shellCompDescr) additionalMessages.append(makeI18nSuccess('shell_buy/success', name=shell.userName, count=count, money=formatPrice(price), type=getPurchaseSysMessageType(price))) totalPrice[0] += price[0] totalPrice[1] += price[1] additionalMessages.append(makeI18nSuccess('layout_apply/success_money_spent', money=formatPrice(totalPrice), type=getPurchaseSysMessageType(totalPrice))) if len(ctx.get('eqs', [])): for eqCompDescr, price, count in ctx.get('eqs', []): equipment = g_itemsCache.items.getItemByCD(eqCompDescr) additionalMessages.append(makeI18nSuccess('artefact_buy/success', kind=equipment.userType, name=equipment.userName, count=count, money=formatPrice(price), type=getPurchaseSysMessageType(price))) return makeSuccess(auxData=additionalMessages)
def makeDiscardPairsMsg(vehicle, modifications): ctx = {'vehicle': vehicle.userName} msgKey = R.strings.system_messages.vehiclePostProgression.discardPairModification modificationNames = [ backport.text(mod.getLocNameRes()()) for mod in modifications ] if len(modificationNames) > 1: msgBody = R.strings.system_messages.vehiclePostProgression.discardPairsModification.body( ) separator = backport.text( R.strings.system_messages.vehiclePostProgression. discardPairsModification.modifications.separator()) ctx['modifications'] = separator.join(modificationNames) else: msgBody = msgKey.body() ctx['modification'] = modificationNames[0] if modificationNames else '' return makeSuccess(backport.text(msgBody, **ctx), msgType=SM_TYPE.InformationHeader, msgData={'header': backport.text(msgKey.title())}, msgPriority=NotificationPriorityLevel.HIGH)
def _successHandler(self, code, ctx=None): chapterName = backport.text( R.strings.battle_pass.chapter.dyn( self.__battlePassController.getRewardType( self.__chapterID).value).fullName.num(self.__chapterID)()) return makeSuccess( msgType=SM_TYPE.BattlePassBuy, userMsg='', auxData={ 'header': backport.text(R.strings.messenger.serviceChannelMessages. battlePassReward.header.buyBP()), 'description': backport.text(R.strings.messenger.serviceChannelMessages. battlePassReward.buyWithoutRewards.text(), chapter=text_styles.credits(chapterName)), 'additionalText': self.__makeGoldString( self.__battlePassController.getBattlePassCost( self.__chapterID).get(Currency.GOLD, 0)) })
def _successHandler(self, code, ctx=None): return makeSuccess()
def _successHandler(self, code, ctx = None): return makeSuccess(auxData=ctx)