[ SwitchoffSub; if (ObjectIsUntouchable(noun)) return; if (noun hasnt switchable) return L__M(##SwitchOff,1,noun); if (noun hasnt on) return L__M(##SwitchOff,2,noun); give noun ~on; if (AfterRoutines()==1) rtrue; if (keep_silent==1) rtrue; L__M(##SwitchOff,3,noun); ];