Example #1
0
File: city.py Project: Teifion/Rob3
	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
Example #2
0
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