LOP/area/
LOP/boards/
LOP/channels/
LOP/clans/
LOP/color/
LOP/councils/
LOP/deity/
LOP/src/specials/
/*****************************************************************************
 * DikuMUD (C) 1990, 1991 by:                                                *
 *   Sebastian Hammer, Michael Seifert, Hans Henrik Staefeldt, Tom Madsen,   *
 *   and Katja Nyboe.                                                        *
 *---------------------------------------------------------------------------*
 * MERC 2.1 (C) 1992, 1993 by:                                               *
 *   Michael Chastain, Michael Quan, and Mitchell Tse.                       *
 *---------------------------------------------------------------------------*
 * SMAUG 1.4 (C) 1994, 1995, 1996, 1998 by: Derek Snider.                    *
 *   Team: Thoric, Altrag, Blodkai, Narn, Haus, Scryn, Rennard, Swordbearer, *
 *         gorog, Grishnakh, Nivek, Tricops, and Fireblade.                  *
 *---------------------------------------------------------------------------*
 * SMAUG 1.7 FUSS by: Samson and others of the SMAUG community.              *
 *                    Their contributions are greatly appreciated.           *
 *---------------------------------------------------------------------------*
 * LoP (C) 2006 - 2012 by: the LoP team.                                     *
 *---------------------------------------------------------------------------*
 * Win32 port by Nick Gammon                                                 *
 *---------------------------------------------------------------------------*
 *                           Db.c mud header file                            *
 *****************************************************************************/

/* These are skill_lookup return values for common skills and spells. */
extern int gsn_style_evasive;
extern int gsn_style_defensive;
extern int gsn_style_standard;
extern int gsn_style_aggressive;
extern int gsn_style_berserk;

extern int gsn_taste;
extern int gsn_smell;
extern int gsn_detrap;
extern int gsn_trapset;
extern int gsn_backstab;
extern int gsn_circle;
extern int gsn_cook;
extern int gsn_dodge;
extern int gsn_duck;
extern int gsn_block;
extern int gsn_shieldblock;
extern int gsn_counter;
extern int gsn_hide;
extern int gsn_peek;
extern int gsn_pick_lock;
extern int gsn_scan;
extern int gsn_sneak;
extern int gsn_steal;
extern int gsn_gouge;
extern int gsn_track;
extern int gsn_search;
extern int gsn_dig;
extern int gsn_mount;
extern int gsn_bashdoor;
extern int gsn_berserk;

extern int gsn_disarm;
extern int gsn_enhanced_damage;
extern int gsn_kick;
extern int gsn_parry;
extern int gsn_rescue;
extern int gsn_feed;
extern int gsn_chop;
extern int gsn_makefire;
extern int gsn_bloodlet;

extern int gsn_aid;

/* used to do specific lookups */
extern int gsn_first_spell;
extern int gsn_first_skill;
extern int gsn_first_weapon;
extern int gsn_first_tongue;
extern int gsn_top_sn;

/* spells */
extern int gsn_blindness;
extern int gsn_charm_person;
extern int gsn_aqua_breath;
extern int gsn_curse;
extern int gsn_invis;
extern int gsn_poison;
extern int gsn_sleep;

/* newer attack skills */
extern int gsn_punch;
extern int gsn_bash;
extern int gsn_stun;
extern int gsn_bite;
extern int gsn_claw;
extern int gsn_tail;

extern int gsn_poison_weapon;
extern int gsn_scribe;
extern int gsn_brew;
extern int gsn_imbue;
extern int gsn_carve;
extern int gsn_concoct;
extern int gsn_mix;
extern int gsn_climb;

extern int gsn_barehanded;
extern int gsn_pugilism;
extern int gsn_long_blades;
extern int gsn_short_blades;
extern int gsn_flexible_arms;
extern int gsn_talonous_arms;
extern int gsn_bludgeons;
extern int gsn_missile_weapons;

extern int gsn_grip;
extern int gsn_slice;

extern int gsn_tumble;

/* Language gsns. -- Altrag */
extern int gsn_common;

/* This is to tell if act uses uppercasestring or not --Shaddai */
extern bool DONT_UPPER;
extern bool MOBtrigger;
extern GROUP_DATA *first_group, *last_group;
extern int weath_unit;
extern int rand_factor;
extern int climate_factor;
extern int neigh_factor;
extern int max_vector;
extern CHAR_DATA *first_char, *last_char;
extern OBJ_DATA *first_object, *last_object;
extern OBJ_DATA *first_corpse, *last_corpse;
extern AREA_DATA *first_area, *last_area;
extern AREA_DATA *first_build, *last_build;
extern AREA_DATA *first_asort, *last_asort;
extern AREA_DATA *first_bsort, *last_bsort;
extern AREA_DATA *first_area_name, *last_area_name;
extern SHOP_DATA *first_shop, *last_shop;
extern REPAIR_DATA *first_repair, *last_repair;
extern time_t last_restore_all_time;
extern FILE *fpArea;
extern char strArea[MIL];
extern int numobjsloaded;
extern int nummobsloaded;
extern int physicalobjects;
extern int num_corpses;
extern SYSTEM_DATA sysdata;
extern EXTRACT_CHAR_DATA  *extracted_char_queue;
extern int top_reset;
extern int top_area;
extern int top_affect;
extern int top_ed;
extern int top_exit;
extern int cur_qchars;
extern bool fBootDb;
extern bool unfoldload;
extern bool unfoldbadload;
extern MOB_INDEX_DATA *mob_index_hash[MKH];
extern OBJ_INDEX_DATA *obj_index_hash[MKH];
extern ROOM_INDEX_DATA *room_index_hash[MKH];
CHAR_DATA *create_mobile( MOB_INDEX_DATA *pMobIndex );
OBJ_DATA *create_object( OBJ_INDEX_DATA *pObjIndex, int level );
MOB_INDEX_DATA *get_mob_index( int vnum );
MOB_INDEX_DATA *make_mobile( int vnum, int cvnum, char *name );
OBJ_INDEX_DATA *make_object( int vnum, int cvnum, char *name );
OBJ_INDEX_DATA *get_obj_index( int vnum );
OBJ_INDEX_DATA *new_object( int vnum );
ROOM_INDEX_DATA *get_room_index( int vnum );
ROOM_INDEX_DATA *get_new_room_index( int avnum, int vnum );
ROOM_INDEX_DATA *new_room( int vnum );
ROOM_INDEX_DATA *make_room( int vnum, AREA_DATA *area );
EXIT_DATA *make_exit( ROOM_INDEX_DATA *pRoomIndex, ROOM_INDEX_DATA *to_room, short door );
const char *format( const char *fmt, ... ) __attribute__ ( ( format( printf, 1, 2 ) ) );
char *get_extra_descr( const char *name, EXTRA_DESCR_DATA *ed );
char *str_dup( char const *str );
char *fread_flagstring( FILE *fp );
char *fread_string( FILE *fp );
char *fread_line( FILE *fp );
char *fread_word( FILE *fp );
char *show_tilde( const char *str );
char *capitalize( const char *str );
char *strlower( const char *str );
char *strupper( const char *str );
char *aoran( const char *str );
char fread_letter( FILE *fp );
void load_objects( AREA_DATA *tarea, FILE *fp );
void add_letter( char *string, char letter );
void fread_to_eol( FILE *fp );
void clear_char( CHAR_DATA *ch );
void free_char( CHAR_DATA *ch );
void shutdown_mud( const char *reason );
void boot_db( bool fCopyOver );
void add_char( CHAR_DATA *ch );
void fix_exits( void );
void randomize_exits( ROOM_INDEX_DATA *room, short maxdir );
void load_area_file( AREA_DATA *tarea, char *filename );
void load_buildlist( void );
void sort_area_by_name( AREA_DATA *pArea );
void sort_area( AREA_DATA *pArea, bool proto );
void tail_chain( void );
void init_area_weather( void );
void load_weatherdata( void );
void save_weatherdata( void );
void area_update( void );
void init_mm( void );
void smash_tilde( char *str );
void hide_tilde( char *str );
void append_file( CHAR_DATA *ch, const char *file, const char *str );
void append_to_file( const char *file, const char *str );
void bug( const char *str, ... ) __attribute__ ( ( format( printf, 1, 2 ) ) );
void boot_log( const char *str, ... ) __attribute__ ( ( format( printf, 1, 2 ) ) );
void show_file( CHAR_DATA *ch, const char *filename );
void make_wizlist( void );
void mprog_read_programs( FILE *fp, MOB_INDEX_DATA *mob );
void oprog_read_programs( FILE *fp, OBJ_INDEX_DATA *obj );
void rprog_read_programs( FILE *fp, ROOM_INDEX_DATA *room );
void delete_room( ROOM_INDEX_DATA *room );
void delete_obj( OBJ_INDEX_DATA *obj );
void delete_mob( MOB_INDEX_DATA *mob );
size_t mudstrlcat( char *dst, const char *src, size_t siz );
size_t newmudstrlcpy( char *dst, const char *src, size_t siz, const char *filename, int line );
#define mudstrlcpy( dst, src, siz )  newmudstrlcpy( (dst), (src), (siz), __FILE__, __LINE__ )
time_t fread_time( FILE *fp );
double fread_double( FILE *fp );
unsigned int fread_un_number( FILE *fp );
int interpolate( int level, int value_00, int value_32 );
int number_range( int from, int to );
int number_percent( void );
int number_door( void );
int number_bits( int width );
int number_mm( void );
int dice( int number, int size );
int fread_number( FILE *fp );
bool remove_line_from_file( const char *filename, int dline );
bool str_cmp( const char *astr, const char *bstr );
bool str_prefix( const char *astr, const char *bstr );
bool str_infix( const char *astr, const char *bstr );
bool str_suffix( const char *astr, const char *bstr );