def addDefMessage(message): mColor = g_settings.getColorScheme('battle/message').getHexStr('unknown') pColor = g_settings.getColorScheme('battle/player').getHexStr('unknown') return g_settings.battle.messageFormat % {'playerColor': pColor, 'playerName': unicode(g_battleContext.getFullPlayerName(accID=message.originator), 'utf-8', errors='ignore'), 'messageColor': mColor, 'messageText': message.data}
def getFullPlayerName(self, chatAction): pName = None try: pName = chatAction.originatorNickName.encode('utf-8') except UnicodeError: LOG_ERROR('Can not encode nick name', chatAction) return g_battleContext.getFullPlayerName(accID=chatAction.originator, pName=pName)
def format(self, message, system=False): playerColor, msgColor = self.getColors(message, message.originator) return self.__mformat % (playerColor, unicode( g_battleContext.getFullPlayerName( accID=message.originator), 'utf-8', errors='ignore'), msgColor, message.data)
def getFullPlayerName(self, chatAction): pName = None try: pName = chatAction.originatorNickName.encode('utf-8') except UnicodeError: LOG_ERROR('Can not encode nick name', chatAction) return g_battleContext.getFullPlayerName(accID=chatAction.originator, pName=pName)
def getFullPlayerName(self, chatAction): fullName = g_battleContext.getFullPlayerName(accID=chatAction.originator) if not len(fullName): channel = self.channelsStorage.getChannel(self._teamChannel) if channel and channel.hasMember(chatAction.originator): fullName = self.__i18n_ally else: fullName = self.__i18n_enemy return fullName
def addDefMessage(message): mColor = g_settings.getColorScheme("battle/message").getHexStr("unknown") pColor = g_settings.getColorScheme("battle/player").getHexStr("unknown") return g_settings.battle.messageFormat % { "playerColor": pColor, "playerName": unicode(g_battleContext.getFullPlayerName(accID=message.originator), "utf-8", errors="ignore"), "messageColor": mColor, "messageText": message.data, }
def getFullPlayerName(self, chatAction): fullName = g_battleContext.getFullPlayerName( accID=chatAction.originator) if not len(fullName): channel = self.channelsStorage.getChannel(self._teamChannel) if channel and channel.hasMember(chatAction.originator): fullName = self.__i18n_ally else: fullName = self.__i18n_enemy return fullName
def addDefMessage(message): mColor = g_settings.getColorScheme('battle/message').getHexStr('unknown') pColor = g_settings.getColorScheme('battle/player').getHexStr('unknown') return g_settings.battle.messageFormat % { 'playerColor': pColor, 'playerName': unicode(g_battleContext.getFullPlayerName(accID=message.originator), 'utf-8', errors='ignore'), 'messageColor': mColor, 'messageText': message.data }
def format(self, message, system = False): playerColor, msgColor = self.getColors(message, message.originator) return self.__mformat % (playerColor, unicode(g_battleContext.getFullPlayerName(accID=message.originator), 'utf-8', errors='ignore'), msgColor, message.data)
def _makeTargetedCommandMessage(self, command): target = g_battleContext.getFullPlayerName(vID=self.getFirstTargetID()) text = command.msgText if self.isReceiver(): target = g_settings.battle.targetFormat % {'target': target} return i18n.makeString(text, target)
def getFullPlayerName(self, chatAction): return g_battleContext.getFullPlayerName(accID=chatAction.originator)
def __updatePlayers(self, *args): if self.__needArenaTypeUpdate: arena = getattr(BigWorld.player(), 'arena', None) if arena: descExtra = getPrebattleFullDescription(arena.extraData or {}) if not descExtra: arenaSubType = getArenaSubTypeName(BigWorld.player().arenaTypeID) if arenaSubType == 'assault': team = getattr(BigWorld.player(), 'team', None) if team: arenaSubType += '1' if isBaseExists(BigWorld.player().arenaTypeID, team) else '2' self.as_setBattleTypeFrameNameS(arenaSubType) self.__needArenaTypeUpdate = False stat = {1: [], 2: []} squads = {1: {}, 2: {}} player = BigWorld.player() if player is None: return elif self.__arena is None: return else: vehicles = self.__arena.vehicles userGetter = self.usersStorage.getUser for vId, vData in vehicles.items(): team = vData['team'] if 'name' in vData: name = g_battleContext.getFullPlayerName(vData, showVehShortName=False) else: name = i18n.makeString('#ingame_gui:players_panel/unknown_name') if vData['vehicleType'] is not None: vShortName = vData['vehicleType'].type.shortUserString vName = vData['vehicleType'].type.userString vIcon = self.CONTOUR_ICONS_MASK % {'unicName': vData['vehicleType'].type.name.replace(':', '-')} vType = set(VEHICLE_CLASS_TAGS.intersection(vData['vehicleType'].type.tags)).pop() else: vName = vShortName = i18n.makeString('#ingame_gui:players_panel/unknown_vehicle') vIcon = self.CONTOUR_ICONS_MASK % {'unicName': 'unknown'} vType = 100 if vData['isAlive']: isAlive = vData['isAvatarReady'] vehActions = VehicleActions.getBitMask(vData.get('events', {})) if vData['prebattleID']: if vData['prebattleID'] not in squads[team].keys(): squads[team][vData['prebattleID']] = 1 else: squads[team][vData['prebattleID']] += 1 user = userGetter(vData['accountDBID']) isMuted = user and user.getRoster() & USERS_ROSTER_VOICE_MUTED != 0 else: isMuted = False stat[team].append([name, vIcon, vShortName, not isAlive, vId, vData['prebattleID'], vType, vName, not vData['isAlive'], vData['name'], vData['accountDBID'], isMuted, vehActions, self.app.voiceChatManager.isPlayerSpeaking(vData['accountDBID']), vData['isTeamKiller'], vData['vehicleType'].level, vData['igrType'], vData['clanAbbrev']]) squadsSorted = dict() squadsSorted[1] = sorted(squads[1].iteritems(), cmp=lambda x, y: cmp(x[0], y[0])) squadsSorted[2] = sorted(squads[2].iteritems(), cmp=lambda x, y: cmp(x[0], y[0])) squadsFiltered = dict() squadsFiltered[1] = [ id for id, num in squadsSorted[1] if 1 < num < 4 and self.__arena.guiType == constants.ARENA_GUI_TYPE.RANDOM ] squadsFiltered[2] = [ id for id, num in squadsSorted[2] if 1 < num < 4 and self.__arena.guiType == constants.ARENA_GUI_TYPE.RANDOM ] playerVehicleID = -1 if hasattr(player, 'playerVehicleID'): playerVehicleID = player.playerVehicleID playerSquadID = -1 for team in (1, 2): data = sorted(stat[team], cmp=_playerComparator) for item in data: if playerVehicleID == item[4]: playerSquadID = squadsFiltered[team].index(item[5]) + 1 if item[5] in squadsFiltered[team] else 0 break result = {'playerID': playerVehicleID, 'squadID': playerSquadID, 'team1': list(), 'team2': list()} for team in (1, 2): thisTeam = 'team2' thisTeamMembers = list() data = sorted(stat[team], cmp=_playerComparator) for item in data: item[5] = squadsFiltered[team].index(item[5]) + 1 if item[5] in squadsFiltered[team] else 0 if item[9] == player.name and result['playerID'] == -1 or item[4] == playerVehicleID: result['playerID'] = item[4] thisTeam = 'team1' self.setTeams(team) if not self.__winTextInit: self.__winTextInit = True teamHasBase = 1 if isBaseExists(BigWorld.player().arenaTypeID, team) else 2 winText = getBattleSubTypeWinText(BigWorld.player().arenaTypeID, teamHasBase) self.as_setWinTextS(winText) thisTeamMembers.append({'id': item[10], 'muted': item[11], 'playerID': item[4], 'label': item[0], 'icon': item[1], 'vehicle': item[2], 'enabled': not item[3], 'squad': item[5], 'vehAction': item[12], 'speak': item[13], 'isTeamKiller': item[14], 'isIGR': item[16] != constants.IGR_TYPE.NONE, 'clanAbbrev': item[17]}) result[thisTeam] = thisTeamMembers self.as_setTeamValuesS(result) return
def getFullPlayerName(self, chatAction): return g_battleContext.getFullPlayerName(accID=chatAction.originator)