lima-1.0b5/
lima-1.0b5/driver/
lima-1.0b5/driver/ChangeLog.old/
lima-1.0b5/driver/Win32/
lima-1.0b5/driver/compat/
lima-1.0b5/driver/include/
lima-1.0b5/driver/testsuite/
lima-1.0b5/driver/testsuite/clone/
lima-1.0b5/driver/testsuite/command/
lima-1.0b5/driver/testsuite/data/
lima-1.0b5/driver/testsuite/etc/
lima-1.0b5/driver/testsuite/include/
lima-1.0b5/driver/testsuite/inherit/
lima-1.0b5/driver/testsuite/inherit/master/
lima-1.0b5/driver/testsuite/log/
lima-1.0b5/driver/testsuite/single/
lima-1.0b5/driver/testsuite/single/tests/compiler/
lima-1.0b5/driver/testsuite/single/tests/efuns/
lima-1.0b5/driver/testsuite/single/tests/operators/
lima-1.0b5/driver/testsuite/u/
lima-1.0b5/driver/tmp/
lima-1.0b5/etc/
lima-1.0b5/lib/WWW/help/
lima-1.0b5/lib/cmds/
lima-1.0b5/lib/cmds/create/
lima-1.0b5/lib/cmds/player/attic/
lima-1.0b5/lib/contrib/bboard/
lima-1.0b5/lib/contrib/boards/
lima-1.0b5/lib/contrib/marriage/
lima-1.0b5/lib/contrib/roommaker/
lima-1.0b5/lib/contrib/transient_effect/
lima-1.0b5/lib/daemons/channel/
lima-1.0b5/lib/daemons/imud/
lima-1.0b5/lib/data/
lima-1.0b5/lib/data/config/
lima-1.0b5/lib/data/links/
lima-1.0b5/lib/data/news/
lima-1.0b5/lib/data/players/
lima-1.0b5/lib/data/secure/
lima-1.0b5/lib/domains/
lima-1.0b5/lib/domains/std/2.4.5/maze1/
lima-1.0b5/lib/domains/std/2.4.5/npc/
lima-1.0b5/lib/domains/std/2.4.5/post_dir/
lima-1.0b5/lib/domains/std/2.4.5/sub/
lima-1.0b5/lib/domains/std/camera/
lima-1.0b5/lib/domains/std/config/
lima-1.0b5/lib/domains/std/cult/
lima-1.0b5/lib/domains/std/effects/
lima-1.0b5/lib/domains/std/misc/
lima-1.0b5/lib/domains/std/monsters/
lima-1.0b5/lib/domains/std/recorder/
lima-1.0b5/lib/domains/std/rooms/
lima-1.0b5/lib/domains/std/rooms/beach/
lima-1.0b5/lib/domains/std/rooms/labyrinth/
lima-1.0b5/lib/domains/std/school/
lima-1.0b5/lib/domains/std/school/O/
lima-1.0b5/lib/domains/std/spells/
lima-1.0b5/lib/domains/std/spells/stock-mage/
lima-1.0b5/lib/domains/std/spells/stock-priest/
lima-1.0b5/lib/help/
lima-1.0b5/lib/help/admin/
lima-1.0b5/lib/help/hints/General_Questions/
lima-1.0b5/lib/help/hints/Pirate_Quest/
lima-1.0b5/lib/help/player/
lima-1.0b5/lib/help/player/bin/
lima-1.0b5/lib/help/player/quests/
lima-1.0b5/lib/help/wizard/
lima-1.0b5/lib/help/wizard/coding/guilds/
lima-1.0b5/lib/help/wizard/coding/rooms/
lima-1.0b5/lib/help/wizard/lib/daemons/
lima-1.0b5/lib/help/wizard/lib/lfun/
lima-1.0b5/lib/help/wizard/lib/std/
lima-1.0b5/lib/help/wizard/mudos_doc/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/interactive/
lima-1.0b5/lib/help/wizard/mudos_doc/applies/parsing/
lima-1.0b5/lib/help/wizard/mudos_doc/concepts/
lima-1.0b5/lib/help/wizard/mudos_doc/driver/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/arrays/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/buffers/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/compile/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/filesystem/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/floats/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/functions/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/general/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/mappings/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/mixed/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/numbers/
lima-1.0b5/lib/help/wizard/mudos_doc/efuns/parsing/
lima-1.0b5/lib/help/wizard/mudos_doc/lpc/constructs/
lima-1.0b5/lib/help/wizard/mudos_doc/lpc/types/
lima-1.0b5/lib/include/driver/
lima-1.0b5/lib/log/
lima-1.0b5/lib/obj/admtool/
lima-1.0b5/lib/obj/admtool/internal/
lima-1.0b5/lib/obj/admtool/mudinfo/
lima-1.0b5/lib/obj/admtool/secure/
lima-1.0b5/lib/obj/secure/
lima-1.0b5/lib/obj/secure/cmd/
lima-1.0b5/lib/obj/secure/mailers/
lima-1.0b5/lib/obj/secure/shell/
lima-1.0b5/lib/obj/secure/shell/classes/
lima-1.0b5/lib/obj/tasktool/
lima-1.0b5/lib/obj/tasktool/internal/
lima-1.0b5/lib/open/
lima-1.0b5/lib/secure/
lima-1.0b5/lib/secure/cgi/
lima-1.0b5/lib/secure/modules/
lima-1.0b5/lib/secure/simul_efun/
lima-1.0b5/lib/std/adversary/
lima-1.0b5/lib/std/adversary/advancement/
lima-1.0b5/lib/std/adversary/armor/
lima-1.0b5/lib/std/adversary/blows/
lima-1.0b5/lib/std/adversary/death/
lima-1.0b5/lib/std/adversary/formula/
lima-1.0b5/lib/std/adversary/health/
lima-1.0b5/lib/std/adversary/pulse/
lima-1.0b5/lib/std/adversary/wield/
lima-1.0b5/lib/std/classes/event_info/
lima-1.0b5/lib/std/container/
lima-1.0b5/lib/std/living/
lima-1.0b5/lib/std/modules/contrib/
lima-1.0b5/lib/std/patterns/
lima-1.0b5/lib/std/race/
lima-1.0b5/lib/std/race/restricted/
lima-1.0b5/lib/std/room/
lima-1.0b5/lib/tmp/
lima-1.0b5/lib/trans/
lima-1.0b5/lib/trans/admincmds/
lima-1.0b5/lib/trans/obj/
lima-1.0b5/lib/wiz/
/* Do not remove the headers from this file! see /USAGE for more info. */

#ifndef __MUDLIB_H__
#define __MUDLIB_H__
#pragma no_warnings

#include <daemons.h>
#include <dirs.h>
#include <size.h>
#include <setbit.h>
#include <msgtypes.h>
#include <classes.h>
#include <lpscript.h>

/*
** BODY		main player object (body)
** USER_OB	user's connection object
** USER_OB_BAK	user's connection object (backup version)
**
** SIMUL_OB	the simul efun object
**
** BASE_ROOM	the room rooms are built from...
** INDOOR_ROOM	standard room (indoors)
** OUTDOOR_ROOM	an outdoor room/environment
** NON_ROOM	base class for things like furniture
** WATER_ROOM	rooms full of water (e.g. a lake)
** GRID_SERVER	virtual server inheritable for grid-type rooms
**
** VOID_ROOM	where to put broken stuff
** WIZ_ROOM	a room for wizards
**
** BASE_OBJ	base class for objects
** OBJ		generic objects
** FURNITURE
** MOUNT	
** WEAPON	weapons
** ARMOR	armor
** CONTAINER	obs that can hold things in/on/under/behind/etc.
** DOOR		doors to places
** SECRET_DOOR        secret doors.
** LIVING	can hold things and perform actions (no fighting)
** PAPER      paper .. WFW
** STOCK_MASTER  stock guildmaster for stock muds :)
** RACE		a race-modified body
** COINS	a bunch of coins
** SPELL	base class for spells
**
** M_GLOB	glob style regexp functions
** M_GRAMMAR	grammatical manipulation functions
** M_CMDIO	i/o functions for cmds
** M_PARSING	input parsing functions
** M_REGEX	regular expression functions
** M_INPUT	interface to the input system
** M_COMPLETE	name completion
** M_RECONNECT	functions for performing socket reconnects
** M_ANSI	functions for using the %^ ansi protocol
** M_ANSI       function for using the status line (Infocom style header)
** M_SAVE	functions to abstract saveing and restoring objects
**
** M_BODY_STATS	statistics (characteristics) for a body (player/NPC)
** M_SMARTMOVE	living's movement with directions and enter/exit msgs
**
** M_WEARABLE	things that can be worn
** M_SWITCHABLE
** M_LIGHTABLE
** M_ITEMS	provides virtual/fake items for an object
** M_GETTABLE	objects that can be picked up
** M_THROWABLE  objects that can be thrown
** M_OPENABLE	objects that can be opened/closed
** M_LOCKABLE	openables that can be locked
** M_READABLE	something that can be read
** M_DAMAGE_SOURCE
** M_DAMAGE_SINK
** M_WIELDABLE	something that can be wielded (a weapon)
** M_MESSAGES	message generation
** M_ACTIONS
** M_TRIGGERS
** M_WRITING_SURFACE
** M_VENDOR
** M_DIGGER	items that can dig.
** M_DIGGABLE   items that you can dig in.
** M_BLOCKEXITS
** M_BLOCKABLE
** M_AGGRESSIVE
** M_KNOCKABLE
** M_VALUABLE	items that are valuable (have value)
** M_MOUNTABLE
** M_ENTERABLE
** M_FLOW_ROOM
** M_GUILD_MASTER	act as a "guild master"
** M_SIBLING          objects that exist in two rooms;
**
** M_LIB_LOCKABLE	arbitrates "locked" state of multiple instances
** M_LIB_OPENABLE	arbitrates "opened" state of multiple instances
**
** ED_SESSION	provides an 'ed' session for the user
** ADDTO_OB	object to add ines to a file
** WIZ_SHELL	a wizard's shell object
** TELNET_OB	a telnet tool
** ADMTOOL	administration tool's input menu object
** DATAEDIT	save file data editor
**
** ALIASMENU
** ANNO_MENU
** CORPSE
** HELPSYS	help system
** HINT_MENU
** IFTP_OB	command object to transfer files between muds via I3
** NEWSREADER	a basic newsreader
** NNTP_OB
** PLAYER_MENU
** PLYR_SHELL
** SIMPLE_OB	an object with simple responses to verbs
** TEMP_WORKROOM
** WATER	some water
**
** VERB_OB	basic functionality for parser-based verbs
** MENUS   	generic menuing facility
**
** CMD          base inheritable for commands
** DAEMON	for daemons
** MAILBOX	mailbox to hold message references
** MAILER	generic "mailer" functionality
** SOCKET	object to manage a socket
**
** SHELL
** M_ALIAS 	module for storing and expanding aliases
** M_GETOPT	functions for command processing
** M_HISTORY 	module for handling command history
** M_PROMPT
** M_SCROLLBACK
** M_SHELLFUNCS	??
** M_SHELLVARS	??
**
** ACCOUNTANT
** SWORD
** BOOK
** LADDER
** STAIRS
** TORCH
** VEHICLE
** HOLE
*/

#define BODY               "/std/body"
#define USER_OB            "/secure/user"
#define USER_OB_BAK        "/secure/user_bak"

#define SIMUL_OB           "/secure/simul_efun"

#define BASE_ROOM          "/std/base_room"
#define INDOOR_ROOM        "/std/indoor_room"
#define OUTDOOR_ROOM       "/std/outdoor_room"
#define NON_ROOM           "/std/non_room"
#define WATER_ROOM         "/std/water_room"
#define GRID_SERVER        "/std/grid_server"

//### temporary
#define ROOM               INDOOR_ROOM

#define VOID_ROOM          "/domains/std/Void"
#define WIZ_ROOM           "/domains/std/Wizroom"

#define ADVERSARY          "/std/adversary"
#define AGGRESSIVE_MONSTER "/std/aggressive_monster"
#define AMMUNITION         "/std/ammunition"
#define ARMOR              "/std/armor"
#define BASE_OBJ           "/std/base_obj"
#define CHEST              "/std/chest"
#define COMBAT_SPELL       "/std/combat_spell"
#define CONTAINER          "/std/container"
#define CORPSE             "/std/corpse"
#define EXIT_OBJ           "/std/complex_exit_obj"
#define COMPLEX_EXIT_OBJ   "/std/complex_exit_obj"
#define DOOR               "/std/door"
#define SECRET_DOOR        "/std/secret_door"
#define FLAME              "/std/flame"
#define HIDDEN_DOOR        "/std/hidden_door"
#define HIDDEN_EXIT        "/std/hidden_exit"
#define FLUID              "/std/fluid"
#define FOOD               "/std/food"
#define FURNITURE          "/std/furniture"
#define GUILD_GUARD        "/std/guild_guard"
#define KEY                "/std/key"
#define LIGHT_OBJECT       "/std/light_object"
#define LIVING             "/std/living"
#define	MENUS              "/std/menu"
#define MOVING_ROOM        "/std/moving_room"
#define MOVING_MONSTER     "/std/moving_monster"
#define FOLLOWING_MONSTER  "/std/following_monster"
#define WANDERING_MONSTER  "/std/wandering_monster"
#define MOUNT              "/std/mount"
#define OBJ                "/std/object"
#define PAPER              "/std/paper"
#define PARAM_OBJ          "/std/param_obj"
#define RACE               "/std/race"
#define RANGED_WEAPON      "/std/ranged_weapon"
#define SIGN               "/std/sign"
#define SPELL              "/std/spell"
#define STOCK_MASTER       "/std/stock_master"
#define VERB_OB            "/std/verb_ob"
#define NVERB_OB           "/std/nverb_ob"
#define WEAPON             "/std/weapon"

/* used by the OBJ object */

/* for mudlib objects */
#define M_ANSI            "/std/modules/m_ansi"
#define M_BODY_STATS      "/std/modules/m_bodystats"
#define M_COMPLETE        "/std/modules/m_complete"
#define M_GLOB            "/std/modules/m_glob"
#define M_GRAMMAR         "/std/modules/m_grammar"
#define M_INPUT           "/secure/modules/m_input"
#define M_ITEMS           "/std/modules/m_items"
#define M_PARSING         "/std/modules/m_parsing"
#define M_RECONNECT       "/std/modules/m_reconnect"
#define M_REGEX           "/std/modules/m_regex"
#define M_SAVE            "/secure/modules/m_save"
#define M_SET             "/secure/modules/m_set"
#define M_SMARTMOVE       "/std/modules/m_smartmove"
#define M_EDIBLE          "/std/modules/m_edible"
#define M_DRINKABLE       "/std/modules/m_drinkable"
#define M_DRINK_CONTAINER	"/std/modules/m_drink_container"
#define M_DRINK_SOURCE    "/std/modules/m_drink_source"
#define M_FLUID_SOURCE    "/std/modules/m_fluid_source"
#define M_FLUID_CONTAINER "/std/modules/m_fluid_container"
#define M_CONVERSATION    "/std/modules/m_conversation"

/* for area objects */
#define M_ACCOUNTANT      "/std/modules/m_accountant"
#define M_ACTIONS         "/std/modules/m_actions"
#define M_BLOCKEXITS      "/std/modules/m_blockexits"
#define M_AGGRESSIVE      "/std/modules/m_aggressive"
#define M_DAMAGE_SINK     "/std/modules/m_damage_sink"
#define M_DAMAGE_SOURCE   "/std/modules/m_damage_source"
#define M_DIGGABLE        "/std/modules/m_diggable"
#define M_DECAY           "/std/modules/m_decay"
#define M_DIGGER          "/std/modules/m_digger"
#define M_FLOW_ROOM       "/std/modules/m_flow_room"
#define M_FOLLOW          "/std/modules/m_follow"
#define M_GETTABLE        "/std/modules/m_gettable"
#define M_GUILD_MASTER    "/std/modules/m_guild_master"
#define M_KNOCKABLE       "/std/modules/m_knockable"
#define M_LIGHT_SOURCE    "/std/modules/m_light_source"
#define M_LIGHTABLE       "/std/modules/m_lightable"
#define M_LOCKABLE        "/std/modules/m_lockable"
#define M_SEARCHABLE      "/std/modules/m_searchable"
#define M_MESSAGES        "/std/modules/m_messages"
#define M_MOUNTABLE       "/std/modules/m_mountable"
#define M_OPENABLE        "/std/modules/m_openable"
#define M_READABLE        "/std/modules/m_readable"
#define M_READY           "/std/modules/m_ready"
#define M_SIBLING         "/std/modules/m_sibling"
#define M_SWITCHABLE      "/std/modules/m_switchable"
#define M_THROWABLE       "/std/modules/m_throwable"
#define M_TRIGGERS        "/std/modules/m_triggers"
#define M_VALUABLE        "/std/modules/m_valuable"
#define M_VENDOR          "/std/modules/m_vendor"
#define M_WANDER          "/std/modules/m_wander"
#define M_WANDER_OLD      "/std/modules/m_wander_old"
#define M_WEARABLE        "/std/modules/m_wearable"
#define M_WIELDABLE       "/std/modules/m_wieldable"
#define M_WRITING_SURFACE "/std/modules/m_writing_surface"
#define M_EXIT            "/std/modules/m_exit"
#define M_COMPLEX_EXIT    "/std/modules/m_complex_exit"

#define M_LIB_LOCKABLE		"/domains/std/lockable"
#define M_LIB_OPENABLE		"/domains/std/openable"

#define ED_SESSION        "/trans/obj/ed_session"
#define ADDTO_OB          "/trans/obj/addto_ob"
#define WIZ_SHELL         "/trans/obj/wish"
#define TELNET_OB         "/trans/obj/telnet_ob"
#define ADMTOOL           "/obj/admtool/admtool2"
#define TASKTOOL          "/obj/tasktool/tasktool"
#define DATAEDIT          "/trans/obj/dataedit"

#define ALIASMENU         "/obj/mudlib/aliasmenu"
#define ANNO_MENU         "/obj/mudlib/annotationmenu"
#define HELPSYS           "/obj/mudlib/helpsys"
#define HINT_MENU         "/obj/mudlib/hintmenu"
#define IFTP_OB           "/obj/mudlib/iftp_ob"
#define NEWSREADER        "/obj/mudlib/newsreader"
#define NNTP_OB           "/obj/mudlib/nntp"
#define PLAYER_MENU       "/obj/mudlib/plmenu"
#define PLYR_SHELL        "/obj/mudlib/pshell"
#define SIMPLE_OB         "/obj/mudlib/simple_ob"
#define TEAM_MENU         "/obj/mudlib/team_menu"
#define TEMP_WORKROOM     "/obj/mudlib/TWorkroom"
#define WATER             "/std/water"

#define M_ACCESS          "/secure/modules/m_access"
#define M_FILE            "/secure/modules/m_file"
#define M_DAEMON_DATA     "/secure/modules/m_daemon_data"

#define CMD               "/obj/secure/cmd"
#define MAILBOX           "/obj/secure/mailbox"
#define MAILER_DIR        "/obj/secure/mailers"
#define MAILER            MAILER_DIR "/mailer"
#define SOCKET            "/obj/secure/socket"

#define SHELL             "/obj/secure/shell"
#define M_ALIAS           "/obj/secure/shell/alias"
#define M_HISTORY         "/obj/secure/shell/history"
#define M_SCROLLBACK      "/obj/secure/shell/scrollback"
#define M_SHELLFUNCS      "/obj/secure/shell/shellfuncs"

/* used by 'wish';  M_GETOPT also used in CMD_D */
#define M_GETOPT          "/obj/secure/shell/getopt"
#define M_PROMPT          "/obj/secure/shell/prompt"
#define M_SHELLVARS       "/obj/secure/shell/shellvars"

// These next few are 'high level' inheritables and probably should have
// their own dir.
#define ACCOUNTANT        "/std/accountant"
#define BED               "/std/bed"
#define MONEY             "/std/money"
#define BOOK              "/std/book"
#define COINS             "/std/coins"
#define HOLE              "/std/hole"
#define LADDER            "/std/ladder"
#define LANTERN           "/std/lantern"
#define PORTAL            "/std/portal"
#define STAIRS            "/std/stairs"
#define SWORD             "/std/sword"
#define TORCH             "/std/torch"
#define VEHICLE           "/std/vehicle"
#define INF_SUPPLY        "/std/inf_supply"

#endif /* __MUDLIB_H__ */