The method to solve this turns out to be (once again courtesy of MJR) the following modifications to your game: modify inspectVerb doDefault (actor, prep, iobj) = { if (objwords(1) = ['A']) { global.allMessage := 'You can\'t use "all" with this verb.'; return []; } pass doDefault; } ; parseError: function (str, num) { // if there's an allMessage waiting, use it instead of the default if (global.allMessage <> nil) { local r; r := global.allMessage; global.allMessage := nil; return r; } else return nil; }