def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def __updateState(self): maintenanceEnabledInRent = True customizationEnabledInRent = False if g_currentVehicle.isPresent(): customizationEnabledInRent = not g_currentVehicle.isDisabledInRent() if g_currentVehicle.isPremiumIGR(): vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) battlesCount = 0 if vehDoss is None else vehDoss.getTotalStats().getBattlesCount() if battlesCount == 0: customizationEnabledInRent = maintenanceEnabledInRent = not g_currentVehicle.isDisabledInPremIGR() and not g_currentVehicle.isDisabledInRent() isVehicleDisabled = False if self.prbDispatcher is not None: permission = self.prbDispatcher.getGUIPermissions() if permission is not None: isVehicleDisabled = not permission.canChangeVehicle() crewEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() carouselEnabled = not isVehicleDisabled maintenanceEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and maintenanceEnabledInRent customizationEnabled = g_currentVehicle.isInHangar() and not isVehicleDisabled and not g_currentVehicle.isBroken() and customizationEnabledInRent self.as_setCrewEnabledS(crewEnabled) self.as_setCarouselEnabledS(carouselEnabled) customizationTooltip = TOOLTIPS.HANGAR_TUNING if g_currentVehicle.isPresent() and g_currentVehicle.item.isOnlyForEventBattles: customizationEnabled = False customizationTooltip = TOOLTIPS.HANGAR_TUNING_DISABLEDFOREVENTVEHICLE self.as_setupAmmunitionPanelS(maintenanceEnabled, customizationEnabled, customizationTooltip) self.as_setControlsVisibleS(g_currentVehicle.isPresent()) return
def _validate(self): if g_currentPreviewVehicle.isPresent(): return ValidationResult( False, PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT) if not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT) if g_currentVehicle.isInBattle(): return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE) if not g_currentVehicle.isCrewFull(): return ValidationResult(False, PREBATTLE_RESTRICTION.CREW_NOT_FULL) if g_currentVehicle.isBroken(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_BROKEN) if g_currentVehicle.isDisabledInRoaming(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_ROAMING) if g_currentVehicle.isDisabledInPremIGR(): return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY) if g_currentVehicle.isDisabledInRent(): if g_currentVehicle.isPremiumIGR(): return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER) return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER) if g_currentVehicle.isRotationGroupLocked(): return ValidationResult( False, PREBATTLE_RESTRICTION.VEHICLE_ROTATION_GROUP_LOCKED) return super(CurrentVehicleActionsValidator, self)._validate()
def __updateVehIGRStatus(self): vehicleIgrTimeLeft = '' igrType = game_control.g_instance.igr.getRoomType() if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR() and igrType == IGR_TYPE.PREMIUM: igrActionIcon = makeHtmlString('html_templates:igr/iconSmall', 'premium', {}) localization = '#menu:vehicleIgr/%s' rentInfo = g_currentVehicle.item.rentInfo vehicleIgrTimeLeft = getTimeLeftStr(localization, rentInfo.getTimeLeft(), timeStyle=text_styles.stats, ctx={'igrIcon': igrActionIcon}) self.as_setVehicleIGRS(vehicleIgrTimeLeft)
def __updateVehIGRStatus(self): vehicleIgrTimeLeft = '' igrType = game_control.g_instance.igr.getRoomType() if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR() and igrType == IGR_TYPE.PREMIUM: igrActionIcon = makeHtmlString('html_templates:igr/iconSmall', 'premium', {}) localization = '#menu:vehicleIgr/%s' timeLeft = g_currentVehicle.item.rentLeftTime vehicleIgrTimeLeft = getRentLeftTimeStr(localization, timeLeft, timeStyle=TEXT_MANAGER_STYLES.STATS_TEXT, ctx={'igrIcon': igrActionIcon}) self.as_setVehicleIGRS(vehicleIgrTimeLeft)
def __updateVehIGRStatus(self): vehicleIgrTimeLeft = None igrType = self.igrCtrl.getRoomType() if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR() and igrType == IGR_TYPE.PREMIUM: igrActionIcon = makeHtmlString('html_templates:igr/iconSmall', 'premium', {}) localization = '#menu:vehicleIgr/%s' rentInfo = g_currentVehicle.item.rentInfo vehicleIgrTimeLeft = getTimeLeftStr(localization, rentInfo.getTimeLeft(), timeStyle=text_styles.stats, ctx={'igrIcon': igrActionIcon}) self.as_actionIGRDaysLeftS(vehicleIgrTimeLeft is not None, text_styles.main(vehicleIgrTimeLeft)) return
def igr_onRoomChange(self, roomType, xpFactor): """ IGR listener for room state. Resets current player's state when he is in premium IGR, joined some prebattle and this room is no more premium. Args: roomType: new IGR room type xpFactor: xp boost factor """ if roomType != IGR_TYPE.PREMIUM: if g_currentVehicle.isPremiumIGR( ) and g_currentVehicle.isInPrebattle(): self.__entity.resetPlayerState()
def __updateVehIGRStatus(self): vehicleIgrTimeLeft = '' igrType = game_control.g_instance.igr.getRoomType() if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR( ) and igrType == IGR_TYPE.PREMIUM: igrActionIcon = makeHtmlString('html_templates:igr/iconSmall', 'premium', {}) localization = '#menu:vehicleIgr/%s' rentInfo = g_currentVehicle.item.rentInfo vehicleIgrTimeLeft = getTimeLeftStr(localization, rentInfo.getTimeLeft(), timeStyle=text_styles.stats, ctx={'igrIcon': igrActionIcon}) self.as_setVehicleIGRS(vehicleIgrTimeLeft)
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) falloutCtrl = getFalloutCtrl() if canDo: if falloutCtrl.isEnabled(): if falloutCtrl.getBattleType( ) == FALLOUT_BATTLE_TYPE.UNDEFINED: canDo = False restriction = PREBATTLE_RESTRICTION.FALLOUT_NOT_SELECTED elif not g_currentVehicle.isGroupReady(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_GROUP_IS_NOT_READY elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) falloutCtrl = getFalloutCtrl() if canDo: if falloutCtrl.isEnabled(): if falloutCtrl.getBattleType() == FALLOUT_BATTLE_TYPE.UNDEFINED: canDo = False restriction = PREBATTLE_RESTRICTION.FALLOUT_NOT_SELECTED elif not g_currentVehicle.isGroupReady(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_GROUP_IS_NOT_READY elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if g_currentPreviewVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly( ) and not game_control.getFalloutCtrl().isSelected(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def __updateState(self): enabledInRent = True if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR(): vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) battlesCount = 0 if vehDoss is None else vehDoss.getTotalStats().getBattlesCount() if battlesCount == 0: enabledInRent = not g_currentVehicle.isDisabledInPremIGR() and not g_currentVehicle.isDisabledInRent() isVehicleDisabled = False if self.prbDispatcher is not None: permission = self.prbDispatcher.getGUIPermissions() if permission is not None: isVehicleDisabled = not permission.canChangeVehicle() crewEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and enabledInRent carouselEnabled = not isVehicleDisabled maintenanceEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and enabledInRent customizationEnabled = g_currentVehicle.isInHangar() and not isVehicleDisabled and not g_currentVehicle.isBroken() and enabledInRent self.as_setCrewEnabledS(crewEnabled) self.as_setCarouselEnabledS(carouselEnabled) self.as_setupAmmunitionPanelS(maintenanceEnabled, customizationEnabled) self.as_setControlsVisibleS(g_currentVehicle.isPresent())
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if g_currentPreviewVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly() and not game_control.getFalloutCtrl().isSelected(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def igr_onRoomChange(self, roomType, _): if roomType != IGR_TYPE.PREMIUM: if g_currentVehicle.isPremiumIGR( ) and g_currentVehicle.isInPrebattle(): self.__collection.reset()
def igr_onRoomChange(self, roomType, _): if roomType != IGR_TYPE.PREMIUM: if g_currentVehicle.isPremiumIGR() and g_currentVehicle.isInPrebattle(): self.__collection.reset()
def igr_onRoomChange(self, roomType, xpFactor): if roomType != IGR_TYPE.PREMIUM: if g_currentVehicle.isPremiumIGR( ) and g_currentVehicle.isInPrebattle(): self.__entity.resetPlayerState()