First off, there will be several basic modes of operation:
Contents |
In this mode a table of commands, along with their various restrictions and argument list descriptions, determine what's valid input. The command table is a list of command records, which have the format {command_name cmd_proc flags minlevel maxlevel secflags}.
I'm not sure if we should make a argument spec be part of the command definition. While it would allow for an easy implementation of tab completion and the such, I would hope most players would use a mud client to make advanced interfaces unnecessary.
A simple text editor, which we'll call Sink as it implements minimal parts of the DEC-10 editor SOS, is used for entering large bodies of text.
This is a raw mode and will typically be used to pass input through specialized handlers for things like full-screen ANSI interfaces.
This is essentially a variant of the Command Table Mode, but restricted to the OMG's Operators, Implementors, and Creators. When they push into the enable mode, they disappear from the world, and are presented with a command set based on their security flags.