Some things you may now know that you might not have known before:
- PennMUSH distinguishes player connections (descriptors) from player objects in the database.
- PennMUSH has two parsers: expression and command. The command parser calls the expression parser when evaluating commands and arguments, but the expression parser does not call the command parser.
- Functions and commands are not interchangeable
- Square brackets tell the expression parser to parse their contents with mandatory function checking, and are only necessary when the expression parser wouldn't check for functions on its own anyway.
- PennMUSH has four queues that are merged into a single ordered list of commands to be run
- $commands cant get their unsubstituted arguments in %0-%9. If they need raw arguments, they must parse them out of %c.