[ Locale descin text1 text2 o k p j f2 flag; objectloop (o in descin) give o ~workflag; k=0; objectloop (o in descin) if (o hasnt concealed && NotSupportingThePlayer(o)) { #IFNDEF MANUAL_PRONOUNS; PronounNotice(o); #ENDIF; if (o hasnt scenery) { give o workflag; k++; p=initial; f2=0; if ((o has door || o has container) && o has open && o provides when_open) { p = when_open; f2 = 1; jump Prop_Chosen; } if ((o has door || o has container) && o hasnt open && o provides when_closed) { p = when_closed; f2 = 1; jump Prop_Chosen; } if (o has switchable && o has on && o provides when_on) { p = when_on; f2 = 1; jump Prop_Chosen; } if (o has switchable && o hasnt on && o provides when_off) { p = when_off; f2 = 1; } .Prop_Chosen; if (o hasnt moved || o.describe~=NULL || f2==1) { if (o.describe~=NULL && RunRoutines(o,describe)~=0) { flag=1; give o ~workflag; k--; } else { j=o.p; if (j~=0) { new_line; PrintOrRun(o,p); flag=1; give o ~workflag; k--; if (o has supporter && child(o)~=0) SayWhatsOn(o); } } } } else if (o has supporter && child(o)~=0) SayWhatsOn(o); } if (k==0) return 0; if (text1~=0) { new_line; if (flag==1) text1=text2; print (string) text1, " "; WriteListFrom(child(descin), ENGLISH_BIT + WORKFLAG_BIT + RECURSE_BIT + PARTINV_BIT + TERSE_BIT + CONCEAL_BIT); return k; } if (flag==1) L__M(##Look,5,descin); else L__M(##Look,6,descin); ];