예제 #1
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
예제 #2
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
예제 #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
예제 #4
0
 def initControlMode(self, mode, available):
     super(FlagsAndPersonalEntriesPlugin,
           self).initControlMode(mode, available)
     playerVehID = self._getPlayerVehicleID()
     if g_ctfManager.getVehicleCarriedFlagID(playerVehID) is not None:
         self.__updateVehicleFlagState(playerVehID, True)
     return
예제 #5
0
 def start(self):
     visitor = g_sessionProvider.arenaVisitor
     self.__playerVehicleID = avatar_getter.getPlayerVehicleID()
     self.__playerTeam = avatar_getter.getPlayerTeam()
     self.__isTeamPlayer = not visitor.isSoloTeam(self.__playerTeam)
     self.__addCaptureMarkers(visitor, g_ctfManager.getVehicleCarriedFlagID(self.__playerVehicleID) is not None)
     super(AbsorptionMarkersPlugin, self).start()
     return
예제 #6
0
 def _notifyVehicleRemoved(self, vehicleID):
     flagID = g_ctfManager.getVehicleCarriedFlagID(vehicleID)
     if flagID is not None:
         self.__setFlagVisible(flagID, True)
         self.__updateVehicleFlagState(vehicleID, False)
         if flagID in self.__flagEntries:
             flagPos = g_ctfManager.getFlagMinimapPos(flagID)
             self.__updateMarkerFlagPosition(flagID, flagPos)
     return
예제 #7
0
 def _setMarkerInitialState(self, marker, accountDBID=0):
     super(RespawnableVehicleMarkerPlugin,
           self)._setMarkerInitialState(marker, accountDBID=accountDBID)
     flagBearer = g_ctfManager.getVehicleCarriedFlagID(
         marker.getVehicleID()) is not None
     if marker.setFlagBearer(flagBearer):
         self._invokeMarker(marker.getMarkerID(), 'updateFlagBearerState',
                            flagBearer)
     return
예제 #8
0
 def _notifyVehicleRemoved(self, vehicleID):
     flagID = g_ctfManager.getVehicleCarriedFlagID(vehicleID)
     if flagID is not None:
         self.__setFlagVisible(flagID, True)
         self.__updateVehicleFlagState(vehicleID, False)
         if flagID in self.__flagEntries:
             flagPos = g_ctfManager.getFlagMinimapPos(flagID)
             self.__updateMarkerFlagPosition(flagID, flagPos)
     return
예제 #9
0
 def start(self):
     super(AbsorptionFlagsPlugin, self).start()
     self.__playerVehicleID = self._arenaDP.getPlayerVehicleID()
     self.__playerTeam = self._arenaDP.getNumberOfTeam()
     self.__isTeamPlayer = not self._arenaVisitor.isSoloTeam(self.__playerTeam)
     g_ctfManager.onFlagCapturedByVehicle += self.__onFlagCapturedByVehicle
     g_ctfManager.onFlagDroppedToGround += self.__onFlagDroppedToGround
     g_ctfManager.onFlagAbsorbed += self.__onFlagAbsorbed
     g_ctfManager.onFlagRemoved += self.__onFlagRemoved
     self.__addAbsorptionFlags(g_ctfManager.getVehicleCarriedFlagID(self.__playerVehicleID) is not None)
     return
예제 #10
0
 def start(self):
     super(AbsorptionFlagsPlugin, self).start()
     self.__playerVehicleID = self._arenaDP.getPlayerVehicleID()
     self.__playerTeam = self._arenaDP.getNumberOfTeam()
     self.__isTeamPlayer = not self._arenaVisitor.isSoloTeam(self.__playerTeam)
     g_ctfManager.onFlagCapturedByVehicle += self.__onFlagCapturedByVehicle
     g_ctfManager.onFlagDroppedToGround += self.__onFlagDroppedToGround
     g_ctfManager.onFlagAbsorbed += self.__onFlagAbsorbed
     g_ctfManager.onFlagRemoved += self.__onFlagRemoved
     self.__addAbsorptionFlags(g_ctfManager.getVehicleCarriedFlagID(self.__playerVehicleID) is not None)
     return
예제 #11
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
예제 #12
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 start(self, ui):
     self.__ui = weakref.proxy(ui)
     player = BigWorld.player()
     self.__playerVehicleID = player.playerVehicleID
     self.__playerTeam = player.team
     self.__soundNotifications = weakref.proxy(getSoundNotifications())
     arena = player.arena
     arenaType = arena.arenaType
     self.__isTeamPlayer = self.__playerTeam in arenaType.squadTeamNumbers if isFalloutMultiTeam() else True
     g_ctfManager.onFlagCapturedByVehicle += self.__onFlagCapturedByVehicle
     g_ctfManager.onFlagAbsorbed += self.__onFlagAbsorbed
     g_ctfManager.onFlagDroppedToGround += self.__onFlagDroppedToGround
     g_ctfManager.onFlagRemoved += self.__onFlagRemoved
     if g_ctfManager.getVehicleCarriedFlagID(self.__playerVehicleID) is not None:
         self.__ui.showFlagCaptured()
     return
 def start(self, ui):
     self.__ui = weakref.proxy(ui)
     player = BigWorld.player()
     self.__playerVehicleID = player.playerVehicleID
     self.__playerTeam = player.team
     self.__soundNotifications = weakref.proxy(getSoundNotifications())
     arena = player.arena
     arenaType = arena.arenaType
     self.__isTeamPlayer = self.__playerTeam in arenaType.squadTeamNumbers if isFalloutMultiTeam(
     ) else True
     g_ctfManager.onFlagCapturedByVehicle += self.__onFlagCapturedByVehicle
     g_ctfManager.onFlagAbsorbed += self.__onFlagAbsorbed
     g_ctfManager.onFlagDroppedToGround += self.__onFlagDroppedToGround
     g_ctfManager.onFlagRemoved += self.__onFlagRemoved
     if g_ctfManager.getVehicleCarriedFlagID(
             self.__playerVehicleID) is not None:
         self.__ui.showFlagCaptured()
     return
예제 #15
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
예제 #16
0
 def _notifyVehicleAdded(self, vehicleID):
     flagID = g_ctfManager.getVehicleCarriedFlagID(vehicleID)
     if flagID is not None:
         self.__updateVehicleFlagState(vehicleID, True)
         self.__setFlagVisible(flagID, False)
     return
예제 #17
0
 def _notifyVehicleAdded(self, vehicleID):
     flagID = g_ctfManager.getVehicleCarriedFlagID(vehicleID)
     if flagID is not None:
         self.__updateVehicleFlagState(vehicleID, True)
         self.__setFlagVisible(flagID, False)
     return
예제 #18
0
 def __setPlayerFlagBearerIfNeed(self):
     playerVehicleID = self.__arenaDP.getPlayerVehicleID()
     if self.__ui is not None and g_ctfManager.getVehicleCarriedFlagID(playerVehicleID) is not None:
         self.__ui.showFlagCaptured()
     return
예제 #19
0
 def initControlMode(self, mode, available):
     super(FlagsAndPersonalEntriesPlugin, self).initControlMode(mode, available)
     playerVehID = self._getPlayerVehicleID()
     if g_ctfManager.getVehicleCarriedFlagID(playerVehID) is not None:
         self.__updateVehicleFlagState(playerVehID, True)
     return
예제 #20
0
 def __setPlayerFlagBearerIfNeed(self):
     playerVehicleID = self.__arenaDP.getPlayerVehicleID()
     if self.__ui is not None and g_ctfManager.getVehicleCarriedFlagID(playerVehicleID) is not None:
         self.__ui.showFlagCaptured()
     return