Skip to content

PennMUSH Compatibility

SharpMUSH targets PennMUSH 1.8.8 softcode compatibility. Where it differs, the difference is one of three things, and this profile keeps them apart:

A choice. Deliberate, and not going to change. Listed with what PennMUSH does, what SharpMUSH does instead, why, and how to write code that works on both.
Unresolved. The difference is known and the decision has not been made. Do not write code that depends on either behaviour.
A defect. Tracked by an issue. It will change.

Every entry here can be checked from inside the game; the examples are lines you can type. Where an example needs a second player, God or a server setting, the entry names the case in the parity harness (tools/parity/scenarios/) that runs it on PennMUSH and SharpMUSH side by side.

COMPATIBILITY CONFIG settings that change how your code evaluates
COMPATIBILITY PARSER evaluation, dispatch and error handling
COMPATIBILITY COMMANDS command tables, configuration and handlers
COMPATIBILITY ARGUMENTS functions that take a different number of arguments
COMPATIBILITY IDENTITY dbrefs, objids, time precision and number precision
COMPATIBILITY OUTPUT rendering a string for something outside the game
COMPATIBILITY ECONOMY money, pennies and costs
COMPATIBILITY NAMES functions and commands that exist here and not there
COMPATIBILITY MAIL @mail forwarding, filters and folders
COMPATIBILITY UNRESOLVED known differences with no decision yet
COMPATIBILITY DEFECTS known differences that are bugs, with their issue
COMPATIBILITY MATCHED differences that used to exist and no longer do