def walled(self, cursor, force_requery = False): """Works out if the city is walled""" if not force_requery and self.walls != [None]: return self.walls self.get_buildings(cursor) self.walls = [] building_dict = building_q.get_all_walls(cursor) for building_id, the_building in building_dict.items(): # Complete and is a wall if self.buildings_amount.get(building_id, 0) >= 1: self.walls.append(building_id) continue # "Completed" but not registered as such if self.buildings.get(building_id, 0) >= the_building.build_time: self.walls.append(building_id) continue # What if it's an upgrade? if the_building.upgrades > 0 and self.buildings.get(the_building.upgrades, 0) > 0: self.walls.append(building_id) continue return self.walls
def mass_city_wall_check(cursor, city_dict): """It assumes that each city's buildings are already in place""" building_dict = building_q.get_all_walls(cursor) for city_id, the_city in city_dict.items(): the_city.walls = [] for building_id, the_building in building_dict.items(): # Complete and is a wall if the_city.buildings_amount.get(building_id, 0) >= 1: the_city.walls.append(building_id) continue # "Completed" but not registered as such if the_city.buildings.get(building_id, 0) >= the_building.build_time: the_city.walls.append(building_id) continue # What if it's an upgrade? if the_building.upgrades > 0 and the_city.buildings.get(the_building.upgrades, 0) > 0: the_city.walls.append(building_id) continue return city_dict