[ SearchSub i f; if (location==thedark) return L__M(##Search,1,noun); if (ObjectIsUntouchable(noun)) return; objectloop (i in noun) if (i hasnt concealed && i hasnt scenery) f=1; if (noun has supporter) { if (f==0) return L__M(##Search,2,noun); return L__M(##Search,3,noun); } if (noun hasnt container) return L__M(##Search,4,noun); if (noun hasnt transparent && noun hasnt open) return L__M(##Search,5,noun); if (AfterRoutines()==1) rtrue; i=children(noun); if (f==0) return L__M(##Search,6,noun); L__M(##Search,7,noun); ];