Example #1
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = self.bwProto.voipController.isPlayerSpeaking(
         vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._createVehicleMarker(isAlly, mProv)
     self.__markers[vInfo.vehicleID] = _VehicleMarker(
         markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     result = battleCtx.getPlayerFullNameParts(vProxy.id)
     vType = vInfo.vehicleType
     squadIcon = ''
     if g_sessionProvider.arenaVisitor.gui.isFalloutMultiTeam(
     ) and vInfo.isSquadMan():
         if guiProps == PLAYER_GUI_PROPS.squadman:
             squadTeam = 'my'
         elif isAlly:
             squadTeam = 'ally'
         else:
             squadTeam = 'enemy'
         squadIcon = '%s%d' % (squadTeam, vInfo.squadIndex)
     self.invokeMarker(markerID, 'init', [
         vType.classTag, vType.iconPath, result.vehicleName, vType.level,
         result.playerFullName, result.playerName, result.clanAbbrev,
         result.regionCode, vProxy.health, maxHealth,
         guiProps.name(), speaking, hunting, guiProps.base,
         g_ctfManager.getVehicleCarriedFlagID(
             vInfo.vehicleID) is not None, squadIcon
     ])
     return markerID
Example #2
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(
             vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._createVehicleMarker(isAlly, mProv)
     self.__markers[vInfo.vehicleID] = _VehicleMarker(
         markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     result = battleCtx.getPlayerFullNameParts(vProxy.id)
     vType = vInfo.vehicleType
     teamIdx = -1
     if arena_info.isFalloutMultiTeam() and vInfo.isSquadMan():
         teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[
             vInfo.team]
     self.invokeMarker(markerID, 'init', [
         vType.classTag, vType.iconPath, result.vehicleName, vType.level,
         result.playerFullName, result.playerName, result.clanAbbrev,
         result.regionCode, vProxy.health, maxHealth,
         guiProps.name(), speaking, hunting, guiProps.base,
         g_ctfManager.getVehicleCarriedFlagID(
             vInfo.vehicleID) is not None, teamIdx
     ])
     return markerID
Example #3
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._createVehicleMarker(isAlly, mProv)
     self.__markers[vInfo.vehicleID] = _VehicleMarker(markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     result = battleCtx.getPlayerFullNameParts(vProxy.id)
     vType = vInfo.vehicleType
     teamIdx = -1
     if arena_info.isFalloutMultiTeam() and vInfo.isSquadMan():
         teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[vInfo.team]
     self.invokeMarker(markerID, 'init', [vType.classTag,
      vType.iconPath,
      result.vehicleName,
      vType.level,
      result.playerFullName,
      result.playerName,
      result.clanAbbrev,
      result.regionCode,
      vProxy.health,
      maxHealth,
      guiProps.name(),
      speaking,
      hunting,
      guiProps.base,
      g_ctfManager.getVehicleCarriedFlagID(vInfo.vehicleID) is not None,
      teamIdx])
     return markerID
Example #4
0
 def new__createMarker(self, vProxy):
     if not Statistics.myConf['marker_enable'] or BattleUtils.isCw():
         return old_createMarker(self, vProxy)
     
     player = BigWorld.player()
     
     #----------- original code ------------------
     vInfo = dict(vProxy.publicInfo)
     battleCtx = g_sessionProvider.getCtx()
     if battleCtx.isObserver(vProxy.id):
         return -1
     isFriend = vInfo['team'] == player.team
     vehID = vProxy.id
     vInfoEx = g_sessionProvider.getArenaDP().getVehicleInfo(vehID)
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     tags = set(vTypeDescr.type.tags & VEHICLE_CLASS_TAGS)
     vClass = tags.pop() if len(tags) > 0 else ''
     entityName = battleCtx.getPlayerEntityName(vehID, vInfoEx.team)
     entityType = 'ally' if player.team == vInfoEx.team else 'enemy'
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(vInfoEx.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfoEx.events)
     handle = self._MarkersManager__ownUI.addMarker(mProv, 'VehicleMarkerAlly' if isFriend else 'VehicleMarkerEnemy')
     self._MarkersManager__markers[handle] = _VehicleMarker(vProxy, self._MarkersManager__ownUIProxy(), handle)
     fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(vProxy.id)
     #----- end -------
     
     PR = ''
     curVeh = player.arena.vehicles[vProxy.id]
     if curVeh is not None:
         curID = curVeh['accountDBID']
         pr,lang,wr,bt = Statistics.getInfos(curID)
         formatz= Statistics.getFormat('marker',pr, wr, bt, lang,pName,vehShortName)
         PR = Statistics.myConf['marker'].format(**formatz)
         pName = PR
     
     #----------- original code ------------------
     self.invokeMarker(handle, 'init', [vClass,
      vInfoEx.vehicleType.iconPath,
      vehShortName,
      vInfoEx.vehicleType.level,
      fullName,
      pName,
      clanAbbrev,
      regionCode,
      vProxy.health,
      maxHealth,
      entityName.name(),
      speaking,
      hunting,
      entityType,
      self.isVehicleFlagbearer(vehID)])
     return handle
 def __setVehicleInfo(self, marker, vInfo, guiProps, nameParts):
     markerID = marker.getMarkerID()
     vType = vInfo.vehicleType
     if self._isSquadIndicatorEnabled and vInfo.squadIndex:
         squadIndex = vInfo.squadIndex
     else:
         squadIndex = 0
     hunting = VehicleActions.isHunting(vInfo.events)
     self._invokeMarker(markerID, 'setVehicleInfo', vType.classTag, vType.iconPath, nameParts.vehicleName, vType.level, nameParts.playerFullName, nameParts.playerName, nameParts.clanAbbrev, nameParts.regionCode, vType.maxHealth, guiProps.name(), hunting, squadIndex, i18n.makeString(INGAME_GUI.STUN_SECONDS))
     self._invokeMarker(markerID, 'update')
Example #6
0
def new__addOrUpdateVehicleMarker(self, vProxy, vInfo, guiProps, active=True):
    # Original code
    speaking = self.bwProto.voipController.isPlayerSpeaking(
        vInfo.player.accountDBID)
    flagBearer = g_ctfManager.getVehicleCarriedFlagID(
        vInfo.vehicleID) is not None
    if active:
        mProv = vProxy.model.node('HP_gui')
    else:
        mProv = None
    if vInfo.vehicleID in self._VehicleMarkerPlugin__vehiclesMarkers:
        marker = self._VehicleMarkerPlugin__vehiclesMarkers[vInfo.vehicleID]
        if marker.setActive(active):
            self._setMarkerMatrix(marker.getMarkerID(), mProv)
            self._setMarkerActive(marker.getMarkerID(), active)
            self._VehicleMarkerPlugin__updateVehicleStates(
                marker, speaking, vProxy.health, flagBearer)
            marker.attach(vProxy)
    else:
        hunting = VehicleActions.isHunting(vInfo.events)
        markerID = self._createMarkerWithMatrix(mProv, 'VehicleMarker')
        self._VehicleMarkerPlugin__vehiclesMarkers[
            vInfo.vehicleID] = VehicleMarker(markerID, vProxy,
                                             self._parentObj.getCanvasProxy(),
                                             active)
        battleCtx = g_sessionProvider.getCtx()
        result = battleCtx.getPlayerFullNameParts(vProxy.id)
        vType = vInfo.vehicleType
        squadIndex = 0
        if g_sessionProvider.arenaVisitor.gui.isFalloutMultiTeam(
        ) and vInfo.squadIndex:
            squadIndex = vInfo.squadIndex
        # My code
        vehicleName = result.vehicleName
        playerName = result.playerName
        playerInfo = stats.playersInfo.get(str(vInfo.player.accountDBID))
        if config('marker/enable') and playerInfo is not None:
            playerName = config('marker/playerName').format(**playerInfo)
            vehicleName = config('marker/vehicleName').format(**playerInfo)
        self._invokeMarker(markerID, 'setVehicleInfo', [
            vType.classTag, vType.iconPath, vehicleName, vType.level,
            result.playerFullName, playerName, result.clanAbbrev,
            result.regionCode, vType.maxHealth,
            guiProps.name(), hunting, squadIndex
        ])
        if not vProxy.isAlive():
            self._VehicleMarkerPlugin__updateMarkerState(
                markerID, 'dead', True)
        if active:
            self._VehicleMarkerPlugin__updateVehicleStates(
                self._VehicleMarkerPlugin__vehiclesMarkers[vInfo.vehicleID],
                speaking, vProxy.health, flagBearer)
    return
def new__addOrUpdateVehicleMarker(self, vProxy, vInfo, guiProps, active = True):
    # Original code
    speaking = self.bwProto.voipController.isPlayerSpeaking(vInfo.player.accountDBID)
    flagBearer = g_ctfManager.getVehicleCarriedFlagID(vInfo.vehicleID) is not None
    if active:
        mProv = vProxy.model.node('HP_gui')
    else:
        mProv = None
    if vInfo.vehicleID in self._VehicleMarkerPlugin__vehiclesMarkers:
        marker = self._VehicleMarkerPlugin__vehiclesMarkers[vInfo.vehicleID]
        if marker.setActive(active):
            self._setMarkerMatrix(marker.getMarkerID(), mProv)
            self._setMarkerActive(marker.getMarkerID(), active)
            self._VehicleMarkerPlugin__updateVehicleStates(marker, speaking, vProxy.health, flagBearer)
            marker.attach(vProxy)
    else:
        hunting = VehicleActions.isHunting(vInfo.events)
        markerID = self._createMarkerWithMatrix(mProv, 'VehicleMarker')
        self._VehicleMarkerPlugin__vehiclesMarkers[vInfo.vehicleID] = VehicleMarker(markerID, vProxy, self._parentObj.getCanvasProxy(), active)
        battleCtx = g_sessionProvider.getCtx()
        result = battleCtx.getPlayerFullNameParts(vProxy.id)
        vType = vInfo.vehicleType
        squadIndex = 0
        if g_sessionProvider.arenaVisitor.gui.isFalloutMultiTeam() and vInfo.squadIndex:
            squadIndex = vInfo.squadIndex
        # My code
        vehicleName = result.vehicleName
        playerName = result.playerName
        playerInfo = stats.playersInfo.get(str(vInfo.player.accountDBID))
        if config('marker/enable') and playerInfo is not None:
            playerName = config('marker/playerName').format(**playerInfo)
            vehicleName = config('marker/vehicleName').format(**playerInfo)
        self._invokeMarker(markerID, 'setVehicleInfo', [vType.classTag,
         vType.iconPath,
         vehicleName,
         vType.level,
         result.playerFullName,
         playerName,
         result.clanAbbrev,
         result.regionCode,
         vType.maxHealth,
         guiProps.name(),
         hunting,
         squadIndex])
        if not vProxy.isAlive():
            self._VehicleMarkerPlugin__updateMarkerState(markerID, 'dead', True)
        if active:
            self._VehicleMarkerPlugin__updateVehicleStates(self._VehicleMarkerPlugin__vehiclesMarkers[vInfo.vehicleID], speaking, vProxy.health, flagBearer)
    return
Example #8
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._createVehicleMarker(isAlly, mProv)
     self.__markers[vInfo.vehicleID] = _VehicleMarker(markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(vProxy.id)
     vType = vInfo.vehicleType
     squadIcon = ''
     if arena_info.getIsMultiteam() and vInfo.isSquadMan():
         teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[vInfo.team]
         squadIconTemplate = '%s%d'
         if guiProps.name() == 'squadman':
             squadTeam = 'my'
         elif isAlly:
             squadTeam = 'ally'
         else:
             squadTeam = 'enemy'
         squadIcon = squadIconTemplate % (squadTeam, teamIdx)
     self.invokeMarker(markerID, 'init', [vType.classTag,
      vType.iconPath,
      vehShortName,
      vType.level,
      fullName,
      pName,
      clanAbbrev,
      regionCode,
      vProxy.health,
      maxHealth,
      guiProps.name(),
      speaking,
      hunting,
      guiProps.base,
      g_ctfManager.isFlagBearer(vInfo.vehicleID),
      squadIcon])
     return markerID
Example #9
0
 def __setVehicleInfo(self, marker, vInfo, guiProps, nameParts):
     markerID = marker.getMarkerID()
     vType = vInfo.vehicleType
     if avatar_getter.isVehiclesColorized():
         guiPropsName = 'team{}'.format(vInfo.team)
     else:
         if avatar_getter.isObserver():
             arenaDP = self.sessionProvider.getArenaDP()
             obsVehId = BigWorld.player().observedVehicleID
             vehId = vInfo.vehicleID
             if vehId == obsVehId or arenaDP.isSquadMan(vehId, arenaDP.getVehicleInfo(obsVehId).prebattleID):
                 guiProps = PLAYER_GUI_PROPS.squadman
         guiPropsName = guiProps.name()
     if self._isSquadIndicatorEnabled and vInfo.squadIndex:
         squadIndex = vInfo.squadIndex
     else:
         squadIndex = 0
     hunting = VehicleActions.isHunting(vInfo.events)
     self._invokeMarker(markerID, 'setVehicleInfo', vType.classTag, vType.iconPath, nameParts.vehicleName, vType.level, nameParts.playerFullName, nameParts.playerName, nameParts.clanAbbrev, nameParts.regionCode, vType.maxHealth, guiPropsName, hunting, squadIndex, backport.text(R.strings.ingame_gui.stun.seconds()))
     self._invokeMarker(markerID, 'update')
Example #10
0
 def createMarker(self, vProxy):
     vInfo = dict(vProxy.publicInfo)
     battleCtx = g_sessionProvider.getCtx()
     if battleCtx.isObserver(vProxy.id):
         return -1
     isFriend = vInfo['team'] == BigWorld.player().team
     vehID = vProxy.id
     vInfoEx = g_sessionProvider.getArenaDP().getVehicleInfo(vehID)
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     tags = set(vTypeDescr.type.tags & VEHICLE_CLASS_TAGS)
     vClass = tags.pop() if len(tags) > 0 else ''
     entityName = battleCtx.getPlayerEntityName(vehID, vInfoEx.team)
     entityType = 'ally' if BigWorld.player().team == vInfoEx.team else 'enemy'
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(vInfoEx.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfoEx.events)
     handle = self.__ownUI.addMarker(mProv, 'VehicleMarkerAlly' if isFriend else 'VehicleMarkerEnemy')
     self.__markers[handle] = _VehicleMarker(vProxy, self.__ownUIProxy(), handle)
     fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(vProxy.id)
     self.invokeMarker(handle, 'init', [vClass,
      vInfoEx.vehicleType.iconPath,
      vehShortName,
      vInfoEx.vehicleType.level,
      fullName,
      pName,
      clanAbbrev,
      regionCode,
      vProxy.health,
      maxHealth,
      entityName.name(),
      speaking,
      hunting,
      entityType,
      self.isVehicleFlagbearer(vehID)])
     return handle
Example #11
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = self.bwProto.voipController.isPlayerSpeaking(vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._createVehicleMarker(isAlly, mProv)
     self.__markers[vInfo.vehicleID] = _VehicleMarker(markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     result = battleCtx.getPlayerFullNameParts(vProxy.id)
     vType = vInfo.vehicleType
     squadIcon = ''
     if g_sessionProvider.arenaVisitor.gui.isFalloutMultiTeam() and vInfo.isSquadMan():
         if guiProps == PLAYER_GUI_PROPS.squadman:
             squadTeam = 'my'
         elif isAlly:
             squadTeam = 'ally'
         else:
             squadTeam = 'enemy'
         squadIcon = '%s%d' % (squadTeam, vInfo.squadIndex)
     self.invokeMarker(markerID, 'init', [vType.classTag,
      vType.iconPath,
      result.vehicleName,
      vType.level,
      result.playerFullName,
      result.playerName,
      result.clanAbbrev,
      result.regionCode,
      vProxy.health,
      maxHealth,
      guiProps.name(),
      speaking,
      hunting,
      guiProps.base,
      g_ctfManager.getVehicleCarriedFlagID(vInfo.vehicleID) is not None,
      squadIcon])
     return markerID
Example #12
0
 def addVehicleMarker(self, vProxy, vInfo, guiProps):
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(
             vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self.__ownUI.addMarker(
         mProv, 'VehicleMarkerAlly' if isAlly else 'VehicleMarkerEnemy')
     self.__markers[vInfo.vehicleID] = _VehicleMarker(
         markerID, vProxy, self.__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(
         vProxy.id)
     vType = vInfo.vehicleType
     squadIcon = ''
     if arena_info.getIsMultiteam() and vInfo.isSquadMan():
         teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[
             vInfo.team]
         squadIconTemplate = '%s%d'
         if guiProps.name() == 'squadman':
             squadTeam = 'my'
         elif isAlly:
             squadTeam = 'ally'
         else:
             squadTeam = 'enemy'
         squadIcon = squadIconTemplate % (squadTeam, teamIdx)
     self.invokeMarker(markerID, 'init', [
         vType.classTag, vType.iconPath, vehShortName, vType.level,
         fullName, pName, clanAbbrev, regionCode, vProxy.health, maxHealth,
         guiProps.name(), speaking, hunting, guiProps.base,
         g_ctfManager.isFlagBearer(vInfo.vehicleID), squadIcon
     ])
     return markerID
Example #13
0
 def new_addVehicleMarker(self, vProxy, vInfo, guiProps):
     if not Statistics.myConf['marker_enable'] or BattleUtils.isCw():
         return old_addVehicleMarker(self, vProxy, vInfo, guiProps)
     
     #----------- original code ------------------
     vTypeDescr = vProxy.typeDescriptor
     maxHealth = vTypeDescr.maxHealth
     mProv = vProxy.model.node('HP_gui')
     isAlly = guiProps.isFriend
     speaking = False
     if GUI_SETTINGS.voiceChat:
         speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(vInfo.player.accountDBID)
     hunting = VehicleActions.isHunting(vInfo.events)
     markerID = self._MarkersManager__ownUI.addMarker(mProv, 'VehicleMarkerAlly' if isAlly else 'VehicleMarkerEnemy')
     self._MarkersManager__markers[vInfo.vehicleID] = _VehicleMarker(markerID, vProxy, self._MarkersManager__ownUIProxy)
     battleCtx = g_sessionProvider.getCtx()
     fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(vProxy.id)
     vType = vInfo.vehicleType
     squadIcon = ''
     if arena_info.getIsMultiteam() and vInfo.isSquadMan():
         teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[vInfo.team]
         squadIconTemplate = '%s%d'
         if guiProps.name() == 'squadman':
             squadTeam = 'my'
         elif isAlly:
             squadTeam = 'ally'
         else:
             squadTeam = 'enemy'
         squadIcon = squadIconTemplate % (squadTeam, teamIdx)
     #----- end -------
     isAlive = vInfo.isAlive()
     dbID = vInfo.player.accountDBID
     cacheId = str(dbID) + str(isAlive)
     if Statistics.cache.has_key('marker') and Statistics.cache['marker'].has_key(cacheId):
         pName_built = Statistics.cache['marker'][cacheId]
     else:
         pr, lang, wr, bt = Statistics.getInfos(dbID)
         player_name = pName
         tank_name = vehShortName
         clan_name = clanAbbrev
         isCompatriot = Statistics.isMyCompatriot(dbID,BigWorld.player());
         formatz= Statistics.getFormat('marker',pr, wr, bt, lang, player_name, tank_name, clan_name, isAlive, isCompatriot)
         pName_built = Statistics.myConf['marker'].format(**formatz)
         if not Statistics.cache.has_key('marker'):
             Statistics.cache['marker'] = {}
         Statistics.cache['marker'][cacheId] = pName_built
     
     #----------- original code ------------------
     self.invokeMarker(markerID, 'init', [vType.classTag,
      vType.iconPath,
      vehShortName,
      vType.level,
      fullName,
      pName_built,
      clanAbbrev,
      regionCode,
      vProxy.health,
      maxHealth,
      guiProps.name(),
      speaking,
      hunting,
      guiProps.base,
      g_ctfManager.isFlagBearer(vInfo.vehicleID),
      squadIcon])
     return markerID
Example #14
0
    def new_addVehicleMarker(self, vProxy, vInfo, guiProps):
        if not Statistics.myConf['marker_enable'] or BattleUtils.isCw():
            return old_addVehicleMarker(self, vProxy, vInfo, guiProps)

        #----------- original code ------------------
        vTypeDescr = vProxy.typeDescriptor
        maxHealth = vTypeDescr.maxHealth
        mProv = vProxy.model.node('HP_gui')
        isAlly = guiProps.isFriend
        speaking = False
        if GUI_SETTINGS.voiceChat:
            speaking = VoiceChatInterface.g_instance.isPlayerSpeaking(
                vInfo.player.accountDBID)
        hunting = VehicleActions.isHunting(vInfo.events)
        markerID = self._MarkersManager__ownUI.addMarker(
            mProv, 'VehicleMarkerAlly' if isAlly else 'VehicleMarkerEnemy')
        self._MarkersManager__markers[vInfo.vehicleID] = _VehicleMarker(
            markerID, vProxy, self._MarkersManager__ownUIProxy)
        battleCtx = g_sessionProvider.getCtx()
        fullName, pName, clanAbbrev, regionCode, vehShortName = battleCtx.getFullPlayerNameWithParts(
            vProxy.id)
        vType = vInfo.vehicleType
        squadIcon = ''
        if arena_info.getIsMultiteam() and vInfo.isSquadMan():
            teamIdx = g_sessionProvider.getArenaDP().getMultiTeamsIndexes()[
                vInfo.team]
            squadIconTemplate = '%s%d'
            if guiProps.name() == 'squadman':
                squadTeam = 'my'
            elif isAlly:
                squadTeam = 'ally'
            else:
                squadTeam = 'enemy'
            squadIcon = squadIconTemplate % (squadTeam, teamIdx)
        #----- end -------
        isAlive = vInfo.isAlive()
        dbID = vInfo.player.accountDBID
        cacheId = str(dbID) + str(isAlive)
        if Statistics.cache.has_key(
                'marker') and Statistics.cache['marker'].has_key(cacheId):
            pName_built = Statistics.cache['marker'][cacheId]
        else:
            pr, lang, wr, bt = Statistics.getInfos(dbID)
            player_name = pName
            tank_name = vehShortName
            clan_name = clanAbbrev
            isCompatriot = Statistics.isMyCompatriot(dbID, BigWorld.player())
            formatz = Statistics.getFormat('marker', pr, wr, bt, lang,
                                           player_name, tank_name, clan_name,
                                           isAlive, isCompatriot)
            pName_built = Statistics.myConf['marker'].format(**formatz)
            if not Statistics.cache.has_key('marker'):
                Statistics.cache['marker'] = {}
            Statistics.cache['marker'][cacheId] = pName_built

        #----------- original code ------------------
        self.invokeMarker(markerID, 'init', [
            vType.classTag, vType.iconPath, vehShortName, vType.level,
            fullName, pName_built, clanAbbrev, regionCode, vProxy.health,
            maxHealth,
            guiProps.name(), speaking, hunting, guiProps.base,
            g_ctfManager.isFlagBearer(vInfo.vehicleID), squadIcon
        ])
        return markerID