Example #1
0
 def _getValue(self):
     value = self.settingsCore.getSetting(self._name.getValue())
     settingType = self._getInitParams()
     if value.__class__.__name__ == settingType:
         self._value.setValue(value)
     else:
         errorVScript(self, 'Incorrect type of the game setting value, {} expected '.format(value.__class__.__name__))
 def _getClassName(self):
     className = ''
     if self._vehicle.hasValue() and self._vehicle.getValue() is not None:
         className = vehicles.getVehicleClass(self._vehicle.getValue().typeDescriptor.type.compactDescr)
     if className is None:
         errorVScript(self, 'Unknown vehicle className')
     self._className.setValue(className)
     return
Example #3
0
 def _isVisible(self):
     hintId = self._id.getValue()
     hint = HintManager.hintManager().getHint(hintId)
     if hint is not None:
         visible = hint.isActive()
         self._visible.setValue(visible)
     else:
         errorVScript(self, 'Unknown hint id')
     return
 def _execState(self):
     if helpers.isPlayerAvatar():
         deviceIdx = self._device.getValue()
         if deviceIdx >= len(vehicles.VEHICLE_DEVICE_TYPE_NAMES):
             errorVScript(self, 'unknown device identifier.')
             return
         state = getPartState(vehicles.VEHICLE_DEVICE_TYPE_NAMES[deviceIdx])
         self._state.setValue(state)
     else:
         errorVScript(self, 'BigWorld.player is not player avatar.')
Example #5
0
 def _execute(self):
     topHint = self._getBattleTopHint()
     if topHint is not None:
         penetration = self._penetration.getValue()
         value = self._SHOT_RESULT_TO_PIERCING_CHANCE_HINT[penetration]
         topHint.as_setPenetrationS(value, self._isColorBlind.getValue())
     else:
         errorVScript(self, "Can't get the Boot Camp hint")
     self._out.call()
     return
Example #6
0
 def __execute(self):
     if not IS_EDITOR:
         hintId = self._id.getValue()
         hint = HintManager.hintManager().getHint(hintId)
         if hint is not None:
             self._processHint(hint)
         else:
             errorVScript(self, 'Unknown hint id')
     self._out.call()
     return
 def _execState(self):
     if helpers.isPlayerAvatar():
         tankmanIdx = self._tankman.getValue()
         if tankmanIdx >= len(vehicles.VEHICLE_TANKMAN_TYPE_NAMES):
             errorVScript(self, 'unknown tankman identifier.')
             return
         state = getPartState(
             vehicles.VEHICLE_TANKMAN_TYPE_NAMES[tankmanIdx])
         self._state.setValue(state)
     else:
         errorVScript(self, 'BigWorld.player is not player avatar.')
 def onPlayerVehicleTankmanEvent(self, tankmanName, isHit):
     tankmanName = getPartName(tankmanName)
     if tankmanName in vehicles.VEHICLE_TANKMAN_TYPE_NAMES:
         tankman = vehicles.VEHICLE_TANKMAN_TYPE_NAMES.index(tankmanName)
         if isHit:
             self._index = 0
         else:
             self._index = 1
         self._callOutput(tankman)
     else:
         errorVScript(self, 'OnVehiclePlayerDeviceCrit unknown tankmanName')
         return
 def onPlayerVehicleDeviceEvent(self, deviceName, isCritical, isHit):
     deviceName = getPartName(deviceName)
     if deviceName in vehicles.VEHICLE_DEVICE_TYPE_NAMES:
         device = vehicles.VEHICLE_DEVICE_TYPE_NAMES.index(deviceName)
         if isHit:
             self._index = 0 if isCritical else 1
         else:
             self._index = 3 if isCritical else 2
         self._callOutput(device)
     else:
         errorVScript(self, 'OnVehiclePlayerDeviceCrit unknown deviceName')
         return
 def onStartScript(self):
     sessionProvider = dependency.instance(IBattleSessionProvider)
     ctrl = sessionProvider.shared.messages
     if ctrl is not None:
         ctrl.onShowVehicleErrorByKey += self.__onShowVehicleErrorByKey
         ctrl.onShowVehicleMessageByKey += self.__onShowVehicleMessageByKey
         ctrl.onShowVehicleMessageByCode += self.__onShowVehicleMessageByCode
         ctrl.onShowPlayerMessageByKey += self.__onShowPlayerMessageByKey
         ctrl.onShowPlayerMessageByCode += self.__onShowPlayerMessageByCode
     else:
         errorVScript(self, "Can't access the BattleMessagesController")
     return
Example #11
0
 def _execute(self):
     if helpers.isPlayerAvatar():
         avatar = BigWorld.player()
         vehicles = avatar.vehicles
         team = self._team.getValue() if self._team.hasValue() else None
         if team is not None:
             vehicles = (v for v in vehicles if v.publicInfo.team == team)
         if self._excludePlayer.hasValue() and self._excludePlayer.getValue():
             vehicles = (v for v in vehicles if v.id != avatar.vehicle.id)
         if self._excludeDestroyed.hasValue() and self._excludeDestroyed.getValue():
             vehicles = (v for v in vehicles if v.isAlive())
         self._vehicles.setValue(map(weakref.proxy, vehicles))
     else:
         errorVScript(self, 'BigWorld.player is not player avatar.')
     return
 def _execHasTankman(self):
     if helpers.isPlayerAvatar():
         tankmanIdx = self._tankman.getValue()
         if tankmanIdx >= len(vehicles.VEHICLE_TANKMAN_TYPE_NAMES):
             errorVScript(self, 'unknown tankman identifier.')
             return
         tankmanName = [
             pn + 'Health' for pn in getPartNames(
                 vehicles.VEHICLE_TANKMAN_TYPE_NAMES[tankmanIdx])
         ]
         isHas = any(
             (te.name in tankmanName
              for te in BigWorld.player().vehicleTypeDescriptor.type.tankmen
              ))
         self._hasTankman.setValue(isHas)
     else:
         errorVScript(self, 'BigWorld.player is not player avatar.')
 def _execHasDevice(self):
     if helpers.isPlayerAvatar():
         deviceIdx = self._device.getValue()
         if deviceIdx >= len(vehicles.VEHICLE_DEVICE_TYPE_NAMES):
             errorVScript(self, 'unknown device identifier.')
             return
         deviceNames = [
             pn + 'Health' for pn in getPartNames(
                 vehicles.VEHICLE_DEVICE_TYPE_NAMES[deviceIdx])
         ]
         isHas = any(
             (te.name in deviceNames
              for te in BigWorld.player().vehicleTypeDescriptor.type.devices
              ))
         self._hasDevice.setValue(isHas)
     else:
         errorVScript(self, 'BigWorld.player is not player avatar.')
Example #14
0
 def __init__(self, *args, **kwargs):
     super(GetUDOByNameBase, self).__init__(*args, **kwargs)
     self._nameType, self._type = self._getInitParams()
     if self._nameType == 'single name':
         self._name = self._makeDataInputSlot('name', SLOT_TYPE.STR)
     elif self._nameType == 'multiple names':
         self._names = self._makeDataInputSlot('names',
                                               arrayOf(SLOT_TYPE.STR))
     elif self._nameType == 'any names':
         pass
     else:
         errorVScript(self, 'Unsupported name reference')
     self._UDOs = self._makeDataOutputSlot(self._type + 's',
                                           arrayOf(self._type),
                                           self._getAll)
     self._firstUDO = self._makeDataOutputSlot('first' + self._type,
                                               self._type, self._getFirst)
Example #15
0
 def _execute(self, play):
     if helpers.isPlayerAvatar():
         avatar = BigWorld.player()
         arenaType = avatar.arena.arenaType
         if arenaType.wwmusicSetup is not None:
             musicId = self._musicId.getValue()
             soundEventName = arenaType.wwmusicSetup.get(musicId, None)
             if soundEventName:
                 self.__combatMusic = SoundGroups.g_instance.getSound2D(
                     soundEventName)
                 if self.__combatMusic is not None:
                     if play:
                         if not self.__combatMusic.isPlaying and not BattleReplay.g_replayCtrl.isTimeWarpInProgress:
                             self.__combatMusic.play()
                     elif self.__combatMusic.isPlaying:
                         self.__combatMusic.stop()
                     return
             elif musicId in arenaType.wwmusicSetup:
                 return
     errorVScript(self, "Can't play combat music")
     return
Example #16
0
 def _execute(self):
     self._writeLog('_execute {}'.format(self._params.getValue()))
     errString = self._processParams()
     if errString:
         return errorVScript(self, errString)
     else:
         if constants.IS_CELLAPP:
             from items.vehicles import g_cache
             import InfluenceZone
             eqExtra = g_cache.commonConfig['extrasDict'].get(self.eqName)
             if eqExtra:
                 eqExtra._readConfig(None, None)
         self._out.call()
         return
Example #17
0
 def onStartScript(self):
     if hasattr(BigWorld.player(), 'arena'):
         BigWorld.player(
         ).arena.onVehicleHealthChanged += self.__onDamageReceived
     else:
         errorVScript(self, 'can not subscribe on event')
Example #18
0
 def _camera(self):
     if self.hangarSpace is None or self.hangarSpace.space is None:
         errorVScript(self, "Can't access the hangar space")
         return
     else:
         return self.hangarSpace.space.camera
Example #19
0
 def onStartScript(self):
     if hasattr(BigWorld.player(), 'arena'):
         BigWorld.player().arena.onVehicleKilled += self.__onVehicleKilled
     else:
         errorVScript(self, 'can not subscribe on event')
 def _avatar(self):
     if helpers.isPlayerAvatar():
         return BigWorld.player()
     errorVScript(self, 'BigWorld.player is not player avatar.')
 def onFinishScript(self):
     manager = TriggersManager.g_manager
     if manager:
         manager.delListener(self)
     else:
         errorVScript(self, 'TriggersManager.g_manager is None')
 def onStartScript(self):
     manager = TriggersManager.g_manager
     if manager:
         manager.addListener(self)
     else:
         errorVScript(self, 'TriggersManager.g_manager is None')