From the NannyMUD documentation

LAST CHANGE

2002-12-04

NAME

        wizmod - NannyMUD's general and extensible wiztool.

INHERITS

        /std/tools/basic_shell  See doc on this for more information.

LOCATION

        /std/tools/wizmod       The wizmod itself.
        /std/tools/modules/*    The standard modules.

DESCRIPTION

        GENERAL
        The wizmod is a general wiztool which can be easily
        extended. It is the official wiztool and it's the only one
        that is supported. It replaces all former wiztools.

        LOGGING IN AND OUT
        The wizmod is autoloading, and will thus appear when you
        logon. It will at that time read and perform commands from an
        alias named .login. Likewise will an alias .logout be used
        when you log out.

        BASIC FEATURES
        The wizmod provides commands, aliases and nicknames. You can
        give it whatever aliases you want, and whatever short
        description.

        VARIABLES
        There are a set of internal variables available that will
        influence the exact behaviour of the wizmod The following
        variables are available:

        short        Whatever you want the wizmod to look like.
        alias        Add aliases for your wizmod.
        filewatch    If set the wizmod will show you new material from
                     from your error file in log when it grows. Use an
                     integer.
        invisible    "yes" or "no".
        verbose      "yes" or "no".
        keeppath     "yes" or "no". If you want to automatically change
                     path to the one you had when you logged out. 
        dangerclass  "yes" or "no". Set this if ou want to use the system
	             with 'danger classes' instead of 'danger levels'.
		     See below for a description.
		     
        dangerlevel  Integer, see below:

        The dangerlevel is used when the wizmod want to destruct an
        object to see if it really should. the object is rated, and a
        check is done. If the object has a rating higher than the
        dangerlevel, it will be destructed. Below is a list, but read
        /include/dangerlevel.h instead, as that is the authorative
        source.
        Dangerlevel     Don't destruct
          5             You.
         10             Interactive players.
         15             Linkdead players.
         20             The wizmod.
         25             Wizard castles.
         30             Board readers and other tools.
         35             Doors.
         40             Souls.
         42             Guildmarks.
         44             Clubmarks.
         45             Other autoloaders.
         50             Rooms from the room area.
         55             Invisible objects.
         60             Objects not created by you.
         65             Worn/wielded.
         70             Objects with the property "no".
         75             Living objects.
        100             Everything not covered above.

        To set your dangerlevel to X, do:
        modstatus dangerlevel X

	The danger classes are similar to the danger levels, but allow
	for a more fine-grained control. Using this, you can pick what
	classes of objects you want to protect from accidental
	destruction. You can, for example, protect autoloaders and
	invisible objects, while not protecting rooms from the room
	area. That would not be possible to do using dangerlevels.

	To activate this, you do 'modstatus dangerclass yes'. The
	setup of the classes is done using the module 'dangers'; see
	the docs on that for details.

        COMMANDS
        The wizmod itself provides a small set of commands dealing
        with the wizmod only. Commands can be made to by-pass the
        wizmod by pre-pending them with a backslash, '\'.

        The commands are:
        mlink [module]   - Link a module, or show a list of available
                           modules. 
        munlink  - Unlink a module.
        mrelink  - Re-link a module.
        mcmd [module]    - Show what commands are in what module.
        mstatus          - Show some info about the modules.

        MODULES - GENERAL
        The wizmod can easily be extended. This is done by creating
        separate modules which can then be linked to the wizmod.
        Several such modules are provided by the system. A basic set
        of them are linked by default, providing a minimalistic
        environment for the wizards of NannyMUD.

        CONFLICTING COMMANDS
        If module 'A' and 'B' both provides the command 'COM', they
        can be accessed by 'A.COM' and 'B.COM' respectively. This
        naturally demands that modules have unique names.

        ARGUMENT PARSING
        The wizmod delivers player input 'as-is' to the functions; no
        pre-processing is done. This is due to the general use of
        flags to the commands; to guess what are flags and what is not
        is too cumbersome and not guaranteed to succeed.

        BUILDING MODULES
        It is fairly straightforward to create new modules. See the
        example in /std/tools/modules/example_module.c for details.

        IMPORTANT DIFFERENCE BETWEEN MODULE CLONES AND NON-CLONES
        Module clones are the only modules that are not using the
        master object when executing commands. This means that if you
        do refresh on a NON-CLONE Module the changes will take effect
        at once.

SEE ALSO

        dangers in std/module/dangers

COMMAND



NAME

        mlink - Link a module, or show a list of available modules.

SYNTAX

        mlink [module]

DESCRIPTION

        Without an argument, show what modules there are that can be linked.
        With an argument, link that module.

COMMAND



NAME

        munlink - Unlink a module.

SYNTAX

        munlink 

DESCRIPTION

        Unlink the specified module from the wizmod.

COMMAND



NAME

        mrelink - Re-link a module.

SYNTAX

        mrelink [-a] 

DESCRIPTION

        This command allows you to re-link a module, for example when
        you have updated it. The flag '-a' causes all currently linked
        modules to be re-linked.

COMMAND



NAME

        mcmd - List what commands are provided by what module.

SYNTAX

        mcmd [module]

SYNTAX

        mcmd -a 

DESCRIPTION

        With an argument, shows the commands resident in the specified
        module. Without an arguemnt, shows all commands in all linked
        modules.

        If you give the flag -a all commands are listed in alpabetical
        order and it also show in what module(s) the command appear.

COMMAND



NAME

        mstatus - Show some info about the modules.

SYNTAX

        mstatus

DESCRIPTION

        This command makes the wizmod system go through it's internal
        lists and compute some statistics. The result is then
        presented in the form:

        Module: Name (Filename) use-clone/number-of-clones

NOTE

        This is basically a maintainance command of little use to non-admin.

COMMAND



NAME

        modstatus - Show the wizmod's user variables.

SYNTAX

        modstatus

SYNTAX

        modstatus [ variable  ]

DESCRIPTION

        This is exactly the same as 'shellstatus' for mortals, but since the
        wizmod isn't named shell, this alias has been installed.

COMMAND



NAME

        wizmodstatus - An alias for modstatus

SYNTAX

        wizmodstatus

SYNTAX

        wizmodstatus [ variable  ]

DESCRIPTION