circlemud_squared_0.5.153/cnf/
circlemud_squared_0.5.153/etc/
circlemud_squared_0.5.153/etc/etc/
circlemud_squared_0.5.153/etc/house/
circlemud_squared_0.5.153/etc/misc/
circlemud_squared_0.5.153/etc/plralias/A-E/
circlemud_squared_0.5.153/etc/plralias/F-J/
circlemud_squared_0.5.153/etc/plralias/K-O/
circlemud_squared_0.5.153/etc/plralias/P-T/
circlemud_squared_0.5.153/etc/plralias/U-Z/
circlemud_squared_0.5.153/etc/plralias/ZZZ/
circlemud_squared_0.5.153/etc/plrobjs/
circlemud_squared_0.5.153/etc/plrobjs/A-E/
circlemud_squared_0.5.153/etc/plrobjs/F-J/
circlemud_squared_0.5.153/etc/plrobjs/K-O/
circlemud_squared_0.5.153/etc/plrobjs/P-T/
circlemud_squared_0.5.153/etc/plrobjs/U-Z/
circlemud_squared_0.5.153/etc/plrobjs/ZZZ/
circlemud_squared_0.5.153/etc/text/
circlemud_squared_0.5.153/etc/text/help/
circlemud_squared_0.5.153/src/util/
circlemud_squared_0.5.153/src/util/worldconv/
/* ************************************************************************
*   File: db.h                                          Part of CircleMUD *
*  Usage: header file for database handling                               *
*                                                                         *
*  All rights reserved.  See license.doc for complete information.        *
*                                                                         *
*  Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
*  CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.               *
************************************************************************ */

/*
 * Here we have parts of db.h needed to load the world
 *
 * Same as structs.h ... If you've modified these for your mud, then you
 * should update this to match.
 */

#ifndef __DB_H__
#define __DB_H__


/*
 * Defines
 */

#define DB_BOOT_WLD     0
#define DB_BOOT_MOB     1
#define DB_BOOT_OBJ     2
#define DB_BOOT_ZON     3
#define DB_BOOT_SHP     4
#define DB_BOOT_HLP     5

#define LIB_WORLD       "world/"
#define LIB_TEXT        "text/"
#define LIB_ZONES	"zones/"

#define SLASH           "/"

#define INDEX_FILE      "index"         /* index of world files         */
#define MINDEX_FILE     "index.mini"    /* ... and for mini-mud-mode    */

#define WLD_PREFIX      LIB_WORLD"wld"SLASH     /* room definitions     */
#define MOB_PREFIX      LIB_WORLD"mob"SLASH     /* monster prototypes   */
#define OBJ_PREFIX      LIB_WORLD"obj"SLASH     /* object prototypes    */
#define ZON_PREFIX      LIB_WORLD"zon"SLASH     /* zon defs & command tables */
#define SHP_PREFIX      LIB_WORLD"shp"SLASH     /* shop definitions     */
#define HLP_PREFIX      LIB_TEXT"help"SLASH     /* for HELP <keyword>   */


#define ETC_PLROBJS     "plrobjs/"
#define ETC_ETC         "etc/"
#define ETC_PLRTEXT     "plrtext/"
#define ETC_PLROBJS     "plrobjs/"
#define ETC_PLRALIAS    "plralias/"
#define ETC_HOUSE       "house/"
#define ETC_ZONES	"zones/"

#define SUF_OBJS        "objs"
#define SUF_TEXT        "text"
#define SUF_ALIAS       "alias"
#define SUF_ZONE        "dao"



/*
 * Structures
 *
 * NOTICE:
 *
 *  We've added one value to the structure zone_data.  If you update with
 * your own structures, make sure you include the new element.
 */

struct reset_com {
   char command;   /* current command                      */

   bool if_flag;        /* if TRUE: exe only if preceding exe'd */
   int  arg1;           /*                                      */
   int  arg2;           /* Arguments to the command             */
   int  arg3;           /*                                      */
   int line;            /* line number this command appears on  */
};

struct zone_data {
   char *name;              /* name of this zone                  */
   char *keyword;           /* --NEW-- Keyword for zone --NEW--   */
   int  lifespan;           /* how long between resets (minutes)  */
   int  age;                /* current age of this zone (minutes) */
   room_vnum bot;           /* starting room number for this zone */
   room_vnum top;           /* upper limit for rooms in this zone */

   int  reset_mode;         /* conditions for reset (see below)   */
   zone_vnum number;        /* virtual number of this zone        */
   struct reset_com *cmd;   /* command table for reset            */
};

/*
 * Globals
 */

extern struct room_data *world;
extern room_rnum top_of_world;

extern struct zone_data *zone_table;
extern zone_rnum top_of_zone_table;

extern struct char_data *mob_proto;
extern mob_rnum top_of_mobt;

extern struct obj_data *obj_proto;
extern obj_rnum top_of_objt;

extern struct index_data *mob_index;
extern struct index_data *obj_index;


void boot_world(void);
void mag_assign_spells(void);

#endif /* __STRUCTS_H__ */