boolean bcascTelescope() {
	if (get_property("bcasc_telescope") != "true") return true;
	if (checkStage("lair0")) return true;
	record lair { 
		string loc;
		string a;
		string thing;
		string section;
		boolean autoadventure;
	};
	lair [string] telescope;
	lair level;
	string telescopetext;
	telescope["catch a glimpse of a flaming katana"] 			= new lair("Ninja Snowmen", "a ", "frigid ninja stars", "trapper", true);
	telescope["catch a glimpse of a translucent wing"] 			= new lair("Sleazy Back Alley", "a ", "spider web", "", true);
	telescope["see a fancy-looking tophat"] 				= new lair("Guano Junction", "a ", "sonar-in-a-biscuit", "bats1", true);
	telescope["see a flash of albumen"] 					= new lair("Black Forest", "", "black pepper", "macguffinprelim", false);
	telescope["see a giant white ear"] 					= new lair("Hidden City", "a ", "pygmy blowgun", "macguffinhiddencity", false);
	telescope["see a huge face made of Meat"] 				= new lair("Orc Chasm", "a ", "meat vortex", "chasm", true);
	telescope["see a large cowboy hat"] 					= new lair("Giant's Castle", "a ", "chaos butterfly", "castle", true);
	telescope["see a periscope"] 						= new lair("Fantasy Airship", "a ", "photoprotoneutron torpedo", "airship", true);
	telescope["see a slimy eyestalk"] 					= new lair("Haunted Bathroom", "", "fancy bath salts", "manorbedroom", true);
	telescope["see a strange shadow"] 					= new lair("Haunted Library", "an ", "inkwell", "manorbilliards", true);
	telescope["see moonlight reflecting off of what appears to be ice"] 	= new lair("The Market", "an", "hair spray", "buyfromthemarket", false);
	telescope["see part of a tall wooden frame"] 				= new lair("Harem", "a ", "disease", "knobking", true);
	telescope["see some amber waves of grain"]				= new lair("Desert (Ultrahydrated)", "a ", "bronzed locus", "macguffinpyramid", true);
	telescope["see some long coattails"] 					= new lair("Outskirts of the Knob", "a ", "Knob Goblin firecracker", "", true);
	telescope["see some pipes with steam shooting out of them"] 		= new lair("Middle Chamber", "", "powdered organs", "macguffinfinal", false);
	telescope["see some sort of bronze figure holding a spatula"]		= new lair("Haunted Kitchen", "", "leftovers of indeterminate origin", "pantry", true);
	telescope["see the neck of a huge bass guitar"] 			= new lair("South of the Border", "a ", "mariachi G-string", "dinghy", true);
	telescope["see what appears to be the North Pole"] 			= new lair("", "an ", "NG", "chasm", false);
	telescope["see what looks like a writing desk"] 			= new lair("Giant's Castle", "a ", "plot hole", "castle", true);
	telescope["see the tip of a baseball bat"] 				= new lair("Guano Junction", "a ", "baseball", "bats1", true);
	telescope["see what seems to be a giant cuticle"] 			= new lair("Haunted Pantry", "a ", "razor-sharp can lid", "", true);
	telescope["see a pair of horns"] 					= new lair("Moxie Vacation", "", "barbed-wire fence", "dinghy", false);
	telescope["see a formidable stinger"] 					= new lair("Mysticality Vacation", "a ", "tropical orchid", "dinghy", false);
	telescope["see a wooden beam"] 						= new lair("Muscle Vacation", "a ", "stick of dynamite", "dinghy", false);
	telescope["an armchair"] 						= new lair("Hidden City", "", "pygmy pygment", "macguffinhiddencity", false);
	telescope["a cowardly-looking man"] 					= new lair("Pandamonium Slums", "a ", "wussiness potion", "Pandamonium Slums", false);
	telescope["a banana peel"] 						= new lair("Next to that Barrel with Something Burning in it", "", "gremlin juice", "", false);
	telescope["a coiled viper"] 						= new lair("Black Forest", "an ", "adder bladder", "macguffinprelim", true);
	telescope["a rose"] 							= new lair("Giant's Castle", "", "Angry Farmer candy", "castle", true);
	telescope["a glum teenager"] 						= new lair("Giant's Castle", "a ", "thin black candle", "castle", true);
	telescope["a hedgehog"] 						= new lair("Fantasy Airship", "", "super-spiky hair gel", "airship", true);
	telescope["a raven"] 							= new lair("Black Forest", "", "Black No. 2", "macguffinprelim", true);
	telescope["a smiling man smoking a pipe"] 				= new lair("Giant's Castle", "", "Mick's IcyVapoHotness Rub", "castle", true);
	
	if (my_path() == "Bees Hate You") {
		if (i_a("packet of orchid seeds") > 0 && i_a("tropical orchid") == 0) use(1, $item[packet of orchid seeds]) ;
		if (i_a("honeypot") == 0 && i_a("handful of honey") >= 3) create(1, $item[honeypot]);
	} else {
		if (get_property("telescopeUpgrades") >= 1) {
			if (get_property("lastTelescopeReset") != get_property("knownAscensions")) cli_execute("telescope");
	
			for i from get_property("telescopeUpgrades").to_int() downto 1 {
				telescopetext = get_property("telescope"+i);
				
				level = telescope[telescopetext];
				
				if ((get_property("bcasc_stage_"+level.section) == my_ascensions() || level.section == "") && (level.loc != "")) {
					if (i_a(level.thing) == 0) {
						if (level.autoadventure) {
							bumAdv(to_location(level.loc), "", "items", "1 "+level.thing, "Getting "+level.a+level.thing+" for the NS tower because we have finished the stage '"+level.section+" in this script.");
						} else {
							print("BCC: Please get "+level.thing+" for telescope part "+i+" from "+level.section+" yourself", "purple");
							return false;
						}
					} else {
						print("BCC: You have at least one "+level.thing+" for telescope part "+i, "purple");
					}
				} else {
					print("BCC: You haven't completed the stage '"+level.section+"' for the "+level.thing+" for telescope part "+i, "purple");
				}
			}
		}
	}
	return true;
}