def startVisual(self): if not not self.isStarted: raise AssertionError avatar = BigWorld.player() self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: BigWorld.wgAddEdgeDetectEntity(self, 0, True) self.appearance.turretMatrix.target = avatar.gunRotator.turretMatrix self.appearance.gunMatrix.target = avatar.gunRotator.gunMatrix self.filter.allowStrafeCompensation = False else: self.marker = g_windowsManager.battleWindow.vMarkersManager.createMarker(self.proxy) self.filter.allowStrafeCompensation = True self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() if not self.isAlive(): self.__onVehicleDeath(True) minimap = g_windowsManager.battleWindow.minimap minimap.notifyVehicleStart(self.id) self.__startWGPhysics() nationId = self is BigWorld.player().getVehicleAttached() and self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation(nations.NAMES[nationId]) return
def startVisual(self): assert not self.isStarted avatar = BigWorld.player() self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: BigWorld.wgAddEdgeDetectEntity(self, 0, True) self.appearance.turretMatrix.target = avatar.gunRotator.turretMatrix self.appearance.gunMatrix.target = avatar.gunRotator.gunMatrix self.filter.allowStrafeCompensation = False else: self.marker = g_windowsManager.battleWindow.vMarkersManager.createMarker(self.proxy) self.filter.allowStrafeCompensation = True self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() if not self.isAlive(): self.__onVehicleDeath(True) minimap = g_windowsManager.battleWindow.minimap minimap.notifyVehicleStart(self.id) self.__startWGPhysics() if self.isPlayer: nationId = self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation(nations.NAMES[nationId]) if avatar.name == self.publicInfo.name: if self.__damageCfg is None and self.__hasWarned == False: self.__hasWarned = True MessengerEntry.g_instance.gui.addClientMessage("<font color=\"#FF0000\">Damage Announcer configuration file missing.</font>")
def startVisual(self): assert not self.isStarted avatar = BigWorld.player() self.appearance.preStart(self.typeDescriptor) self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: if self.isAlive(): BigWorld.wgAddEdgeDetectEntity(self, 0, 1, True) self.appearance.setupGunMatrixTargets(avatar.gunRotator) if hasattr(self.filter, 'allowStrafeCompensation'): self.filter.allowStrafeCompensation = not self.isPlayer self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() g_sessionProvider.getFeedback().startVehicleVisual(self.proxy) if not self.isAlive(): self.__onVehicleDeath(True) if self.isTurretMarkedForDetachment: self.confirmTurretDetachment() self.__startWGPhysics() if self is BigWorld.player().getVehicleAttached(): nationId = self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation( nations.NAMES[nationId])
def startVisual(self): assert not self.isStarted avatar = BigWorld.player() self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: BigWorld.wgAddEdgeDetectEntity(self, 0, True) self.appearance.turretMatrix.target = avatar.gunRotator.turretMatrix self.appearance.gunMatrix.target = avatar.gunRotator.gunMatrix self.filter.allowStrafeCompensation = False else: self.marker = g_windowsManager.battleWindow.vMarkersManager.createMarker(self.proxy) self.filter.allowStrafeCompensation = True self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() if not self.isAlive(): self.__onVehicleDeath(True) minimap = g_windowsManager.battleWindow.minimap minimap.notifyVehicleStart(self.id) self.__startWGPhysics() if self is BigWorld.player().getVehicleAttached(): nationId = self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation(nations.NAMES[nationId]) if avatar.name == self.publicInfo.name: if self.__damageCfg is None and self.__hasWarned == False: self.__hasWarned = True MessengerEntry.g_instance.gui.addClientMessage("<font color=\"#FF0000\">Damage Announcer configuration file missing.</font>")
def ally_silouhette(self): if self.__enableRenderModel: try: BigWorld.wgSetEdgeDetectColors((self.__color, self.__enemyhigh, self.__allyhigh)) player = BigWorld.player() if player is not None: if hasattr(player, 'isOnArena'): curCtrl = getattr(getattr(BigWorld.player(), 'inputHandler', None), 'ctrl', None) if player.isOnArena: for v in BigWorld.entities.values(): if isinstance(v, Vehicle): if v.isAlive() and v.isStarted: if v.publicInfo['team'] is BigWorld.player().team: target = BigWorld.target() if BigWorld.entity(BigWorld.player().playerVehicleID) is not None and BigWorld.entity(v.id) is not None: distance = (BigWorld.entity(BigWorld.player().playerVehicleID).position - BigWorld.entity(v.id).position).length else: distance = 1 if target is not None and target.id == v.id: BigWorld.wgDelEdgeDetectEntity(v) BigWorld.wgAddEdgeDetectEntity(v, 2, False) elif int(v.id) != int(BigWorld.player().playerVehicleID) and distance <= self.__distancevalue or self.__sniperonly == True and not isinstance(curCtrl, SniperControlMode): BigWorld.wgDelEdgeDetectEntity(v) elif int(v.id) == int(BigWorld.player().playerVehicleID): continue else: BigWorld.wgDelEdgeDetectEntity(v) BigWorld.wgAddEdgeDetectEntity(v, 0, False) else: BigWorld.wgDelEdgeDetectEntity(v) except TypeError as err: print ('[ally_silouhette] Error: ', err) return
def drawEdge(self, forceSimpleEdge=False): if not self.model or not self.model.visible: return colorMode = 2 if self.isPlayerTeam else 1 BigWorld.wgAddEdgeDetectEntity( self, self.__activeStateResource.collisionComponent, colorMode, False, 0, False, False)
def startVisual(self): assert not self.isStarted avatar = BigWorld.player() self.appearance.preStart(self.typeDescriptor) self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: if self.isAlive(): BigWorld.wgAddEdgeDetectEntity(self, 0, 1, True) self.appearance.setupGunMatrixTargets(avatar.gunRotator) else: self.marker = g_windowsManager.battleWindow.markersManager.createMarker(self.proxy) if hasattr(self.filter, 'allowStrafeCompensation'): self.filter.allowStrafeCompensation = not self.isPlayer self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() if not self.isAlive(): self.__onVehicleDeath(True) if self.isTurretMarkedForDetachment: self.confirmTurretDetachment() minimap = g_windowsManager.battleWindow.minimap minimap.notifyVehicleStart(self.id) self.__startWGPhysics() if self is BigWorld.player().getVehicleAttached(): nationId = self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation(nations.NAMES[nationId])
def __doHighlightOperation(self, status, args): if status & self.HIGHLIGHT_ON: BigWorld.wgAddEdgeDetectEntity(self.__vehicle, self.__collisions, args[0], args[1], args[2], args[3]) else: BigWorld.wgDelEdgeDetectEntity(self.__vehicle) self.__updateHighlightComponent(status, args)
def startVisual(self): if not not self.isStarted: raise AssertionError avatar = BigWorld.player() self.appearance.preStart(self.typeDescriptor) self.appearance.start(self, self.__prereqs) self.__prereqs = None self.appearance.changeEngineMode(self.engineMode) self.appearance.onVehicleHealthChanged() if self.isPlayer: if self.isAlive(): BigWorld.wgAddEdgeDetectEntity(self, 0, 1, True) self.appearance.setupGunMatrixTargets(avatar.gunRotator) if hasattr(self.filter, 'allowStrafeCompensation'): self.filter.allowStrafeCompensation = not self.isPlayer self.isStarted = True self.set_publicStateModifiers() self.set_damageStickers() g_sessionProvider.getFeedback().startVehicleVisual(self.proxy) if not self.isAlive(): self.__onVehicleDeath(True) if self.isTurretMarkedForDetachment: self.confirmTurretDetachment() self.__startWGPhysics() nationId = self is BigWorld.player().getVehicleAttached() and self.typeDescriptor.type.id[0] SoundGroups.g_instance.soundModes.setCurrentNation(nations.NAMES[nationId]) return
def highlight(self, show): if show: if not self.__edged and self.__enabled: BigWorld.wgAddEdgeDetectEntity(self, 0, 2) self.__edged = True elif self.__edged: BigWorld.wgDelEdgeDetectEntity(self) self.__edged = False
def view_edge(self): if hasattr(self.autoaim_vehicle, 'appearance') and hasattr(self.autoaim_vehicle, 'model') and self.autoaim_vehicle.isAlive(): BigWorld.wgDelEdgeDetectEntity(self.autoaim_vehicle) if BigWorld.wg_collideSegment(BigWorld.player().spaceID, self.autoaim_vehicle.appearance.compoundModel.position, BigWorld.entity(BigWorld.player().playerVehicleID).appearance.compoundModel.position, False) is None: BigWorld.wgSetEdgeDetectColors((Math.Vector4(self._autoaim_def), Math.Vector4(self._enemy), Math.Vector4(self._friend), Math.Vector4(self._autoaim))) BigWorld.wgAddEdgeDetectEntity(self.autoaim_vehicle, 3, 0) self.view_edge_callback = BigWorld.callback(0.5, self.view_edge) return
def highlight(self, show): if show: if not self.__edged and self.__enabled: BigWorld.wgAddEdgeDetectEntity(self, 0, 2, True) self.__edged = True elif self.__edged: BigWorld.wgDelEdgeDetectEntity(self) self.__edged = False
def show(self, isVisible): if self.model is not None: if isVisible: if not self.model.visible: BigWorld.wgAddEdgeDetectEntity(self, 3, 2) elif self.model.visible: BigWorld.wgDelEdgeDetectEntity(self) self.model.visible = isVisible return
def onIsHighlightedAdded(self, _, highlightComponent): BigWorld.wgAddEdgeDetectEntity( highlightComponent.owner, highlightComponent.colorIndex, highlightComponent.drawMode, highlightComponent.playersTank, highlightComponent.includeAuxiliaryEmbodiments, highlightComponent.disableDepthTest) if highlightComponent.onHighlightCallback is not None: highlightComponent.onHighlightCallback() return
def highlight(self, show): if show: if not self.__edged and self.__enabled: BigWorld.wgAddEdgeDetectEntity(self, 0, self.__edgeMode, True) self.__edged = True self.onMouseEnter() elif self.__edged: BigWorld.wgDelEdgeDetectEntity(self) self.__edged = False self.onMouseLeave()
def highlightVehicles(self): self.__clearEdgedVehicles() vehicles = [v for v in BigWorld.player().vehicles if v.isAlive()] selected = self.__intersectChecker(vehicles) for v in selected: if v.isPlayer: edgeType = 0 elif BigWorld.player().team == v.publicInfo['team']: edgeType = 2 else: edgeType = 1 BigWorld.wgAddEdgeDetectEntity(v, edgeType, 0) self.__edgedVehicles.append(v)
def show(self, isVisible): if self.model is not None: if isVisible: if not self.model.visible: BigWorld.wgAddEdgeDetectEntity(self, 3, 2, False) if self.__circleModel is not None: BigWorld.addModel(self.__circleModel) elif self.model.visible: BigWorld.wgDelEdgeDetectEntity(self) if self.__circleModel is not None: BigWorld.delModel(self.__circleModel) self.model.visible = isVisible return
def highlightVehicles(self): self.__clearEdgedVehicles() vehicles = [ v for v in BigWorld.player().vehicles if v.isAlive() ] selected = self.__intersectChecker(vehicles) for v in selected: if v.isPlayer: edgeType = 0 elif BigWorld.player().team == v.publicInfo['team']: edgeType = 2 else: edgeType = 1 BigWorld.wgAddEdgeDetectEntity(v, edgeType, 0) self.__edgedVehicles.append(v)
def view_edge(self): if hasattr(self.autoaim_vehicle, 'appearance') and hasattr( self.autoaim_vehicle, 'model') and self.autoaim_vehicle.isAlive(): BigWorld.wgDelEdgeDetectEntity(self.autoaim_vehicle) if BigWorld.wg_collideSegment( BigWorld.player().spaceID, self.autoaim_vehicle.appearance. modelsDesc['gun']['model'].position, BigWorld.entity( BigWorld.player().playerVehicleID).appearance. modelsDesc['gun']['model'].position, False) is None: BigWorld.wgSetEdgeDetectColors( (Math.Vector4(self._autoaim_def), Math.Vector4(self._enemy), Math.Vector4(self._friend), Math.Vector4(self._autoaim))) BigWorld.wgAddEdgeDetectEntity(self.autoaim_vehicle, 3, 0) self.view_edge_callback = BigWorld.callback(0.5, self.view_edge)
def PlayerAvatar_targetFocus(self, entity): if not isinstance(entity, Vehicle.Vehicle): return if self.inputHandler.aim: self.inputHandler.aim.setTarget(entity) isInTutorial = self.arena is not None and self.arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL if (self._PlayerAvatar__isGuiVisible or isInTutorial) and entity.isAlive(): TriggersManager.g_manager.activateTrigger(TRIGGER_TYPE.AIM_AT_VEHICLE, vehicleId=entity.id) if self.team == entity.publicInfo['team']: BigWorld.wgAddEdgeDetectEntity(entity, 2) else: BigWorld.wgAddEdgeDetectEntity(entity, 1) global gExpertTarget if gExpertTarget is None and self._PlayerAvatar__maySeeOtherVehicleDamagedDevices: #print 'PlayerAvatar_targetFocus monitor {0}'.format(entity.id) #FLUSH_LOG() self.cell.monitorVehicleDamagedDevices(entity.id)
def __highlight3DEntityAndShowTT(self, entity): BigWorld.wgAddEdgeDetectEntity(entity, 0, 0) itemId = entity.selectionId self.as_show3DSceneTooltipS(TOOLTIPS_CONSTANTS.ENVIRONMENT, [itemId])
def __doHighlightOperation(self, status, args): if status != self.HIGHLIGHT_OFF: BigWorld.wgAddEdgeDetectEntity(self.__vehicle, args[0], args[1], args[2]) else: BigWorld.wgDelEdgeDetectEntity(self.__vehicle)
def _addEdgeDetect(self): BigWorld.wgAddEdgeDetectEntity(self, None, 0, False, self.edgeMode, False) return
def drawEdge(self, type, color, player = False): if not self.__edged: BigWorld.wgAddEdgeDetectEntity(self, type, color, player) self.__edged = True
def _addEdgeDetect(self): BigWorld.wgAddEdgeDetectEntity(self, 0, self.edgeMode, False)
def __doHighlightOperation(self, status, args): if status & self.HIGHLIGHT_ON: BigWorld.wgAddEdgeDetectEntity(self.__vehicle, args[0], args[1], args[2]) else: BigWorld.wgDelEdgeDetectEntity(self.__vehicle)
def __highlight3DEntityAndShowTT(self, entity): BigWorld.wgAddEdgeDetectEntity(entity, 0, 2) itemId = entity.selectionId self.as_show3DSceneTooltipS(TOOLTIPS_CONSTANTS.ENVIRONMENT, [itemId])
def drawEdge(self, forceSimpleEdge=False): if not self.model or not self.model.visible: return colorMode = 2 if self.isPlayerTeam else 1 BigWorld.wgAddEdgeDetectEntity(self, colorMode, 0, False, False)
def drawEdge(self, forceSimpleEdge=False): if not self.model or not self.model.visible: return colorMode = HighlightColors.GREEN if self.isPlayerTeam else HighlightColors.RED BigWorld.wgAddEdgeDetectEntity(self, colorMode, 0, False, False)
def addEdge(vehicle): if isinstance(vehicle, Vehicle): if vehicle.isStarted and not vehicle.isPlayer and vehicle.isAlive(): if vehicle.publicInfo['team'] is not BigWorld.player().team: BigWorld.wgSetEdgeDetectColors((Math.Vector4(0.5, 0.5, 0.5, 1), Math.Vector4(1.0, 0.07, 0.027, 1), Math.Vector4(0.488, 0.839, 0.023, 1), Math.Vector4(0.9, 0.8, 0.1, 1))) BigWorld.wgAddEdgeDetectEntity(vehicle, 3, 2, False)