def build_requirement_set(self) -> Optional[RequirementSet]: return RequirementSet([ RequirementList.without_misc_resources( [row.current_individual for row in element.rows], self.resource_database) for element in self._elements ])
def read_requirement_list( data: List[Dict], resource_database: ResourceDatabase, ) -> Optional[RequirementList]: individuals = read_array( data, lambda x: read_individual_requirement( x, resource_database=resource_database)) return RequirementList.without_misc_resources(individuals, resource_database)
def _replace(alternative: RequirementList) -> RequirementList: if alternative.get(resource) is not None: return RequirementList.without_misc_resources( database=database, items=[ (individual if individual.resource != database.difficulty_resource else IndividualRequirement(database.difficulty_resource, new_difficulty, False)) for individual in alternative.values() ] ) else: return alternative