Beispiel #1
0
 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.isFalloutOnly():
             return ValidationResult(
                 False, PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY)
         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)
             else:
                 return ValidationResult(
                     False, PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER)
     return super(CurrentVehicleActionsValidator, self)._validate()
Beispiel #2
0
    def check(self, teamLimits):
        if g_currentVehicle.isFalloutOnly():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY)
        if not g_currentVehicle.isReadyToFight():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_NOT_READY)
        vehicle = g_currentVehicle.item
        shellsList = []
        for shell in vehicle.shells:
            shellsList.extend([shell.intCD, shell.count])

        return isVehicleValid(vehicle.descriptor, shellsList, teamLimits)
Beispiel #3
0
    def check(self, teamLimits):
        if g_currentVehicle.isFalloutOnly():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY)
        if not g_currentVehicle.isReadyToFight():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_NOT_READY)
        vehicle = g_currentVehicle.item
        shellsList = []
        for shell in vehicle.shells:
            shellsList.extend([shell.intCD, shell.count])

        return isVehicleValid(vehicle.descriptor, shellsList, teamLimits)
Beispiel #4
0
    def check(self, teamLimits):
        if not g_currentVehicle.isPresent():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT)
        if g_currentVehicle.isEvent():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_NOT_SUPPORTED)
        if g_currentVehicle.isFalloutOnly(
        ) and not self.falloutCtrl.isSelected():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY)
        if not g_currentVehicle.isReadyToPrebattle():
            return (False, PREBATTLE_RESTRICTION.VEHICLE_NOT_READY)
        vehicle = g_currentVehicle.item
        shellsList = []
        for shell in vehicle.shells:
            shellsList.extend([shell.intCD, shell.count])

        return isVehicleValid(vehicle.descriptor, shellsList, teamLimits)
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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 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)