daleken/
daleken/data/notes/
daleken/data/player/
daleken/data/system/poses/
daleken/doc/Homepage/images/
daleken/log/
/*___________________________________________________________________________*
   )()(			    DalekenMUD 1.12 (C) 2000			)()(
   `]['			 by Martin Thomson, Lee Brooks,			`]['
    ||			 Ken Herbert and David Jacques			 ||
    || ----------------------------------------------------------------- ||
    || Envy Diku Mud improvements copyright (C) 1994 by Michael Quan,	 ||
    || David Love, Guilherme 'Willie' Arnold, and Mitchell Tse.		 ||
    || Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael	 ||
    || Chastain, Michael Quan, and Mitchell Tse.			 ||
    || Original Diku Mud copyright (C) 1990, 1991			 ||
    || by Sebastian Hammer, Michael Seifert, Hans Henrik St{rfeldt,	 ||
    || Tom Madsen, and Katja Nyboe.					 ||
    || ----------------------------------------------------------------- ||
    || Any use of this software must follow the licenses of the		 ||
    || creators.  Much time and thought has gone into this software and	 ||
    || you are benefitting. We hope that you share your changes too.	 ||
    || What goes around, comes around.					 ||
    || ----------------------------------------------------------------- ||
    ||				  glob.h				 ||
    || Global data structures.						 ||
 *_/<>\_________________________________________________________________/<>\_*/


/*
 * Global constant tables.
 */
extern const struct class_type		class_table	[MAX_CLASS];
extern const struct cmd_type		cmd_table	[ ];
extern const struct liq_type		liq_table	[ ];
extern const struct skill_type		skill_table	[MAX_SKILL];
extern const struct race_type		race_table	[MAX_RACE];
extern const struct struckdrunk		drunk		[ ];
extern const struct wear_stuff		wear_table	[MAX_WEAR];
extern const struct damage_message	dam_table	[ ];
extern const struct interpreter_type	interpreter_table[ ];
extern const char *const		magic_name	[ ];
extern const char *const		magic_colour	[ ];
extern struct pose_index_data		pose_table	[MAX_CLASS];
extern const char *const		dir_name	[ ];
extern const int			rev_dir		[ ];
extern const struct spec_type		spec_table	[ ];
extern BOARD_DATA			board_table	[ ];
extern const char *const		sector_string	[SECT_MAX];
extern const struct limb_loss		part_loss_table	[ ];
extern const char *const		day_name	[ ];
extern const char *const		month_name	[ ];
extern char				str_boot_time	[ ];


/*
 * Global variables.
 */
extern unsigned short	port;
extern SOCKET		control;
extern bool		merc_down;
extern time_t		current_time;

extern char		str_empty[1];

extern FILE		*fpReserve;

extern FILE		*fpArea;
extern char		strArea[MAX_INPUT_LENGTH];

extern struct sysinfo_type *SysInfo;
extern time_t		boot_time;
extern bool		fBootDb;
extern unsigned long	data_trans_inc;
extern double		data_trans;
extern unsigned long	data_recv;

#if defined( unix )
extern volatile int	last_checkpoint;
#endif
extern char		last_command[MAX_INPUT_LENGTH * 2];
extern char		log_buf [ ];

extern BAN_DATA		*badname_list;
extern BAN_DATA		*ban_list;
extern CHAR_DATA	*char_list;
extern DESCRIPTOR_DATA	*descriptor_list;
extern NOTE_DATA	*note_list;
extern OBJ_DATA		*object_list;
extern EXIT_DATA	*exit_list;
extern CLAN_DATA	*clan_list;

extern AREA_DATA	*area_first;
extern AREA_DATA	*area_last;
extern CLAN_DATA	*clan_first;
extern CLAN_DATA	*clan_last;
extern HELP_DATA	*help_first;
extern HELP_DATA	*help_last;
extern HIGHEST_DATA	*highest_first;
extern HIGHEST_DATA	*highest_last;
extern PLANE_DATA	*plane_list;
extern RELIGION_DATA	*religion_first;
extern RELIGION_DATA	*religion_last;
extern SOCIAL_DATA	*social_table[27];
extern SHOP_DATA	*shop_first;
extern SHOP_DATA	*shop_last;

extern AFFECT_DATA	*affect_free;
extern BAN_DATA		*ban_free;
extern CHAR_DATA	*char_free;
extern DESCRIPTOR_DATA	*descriptor_free;
extern EXTRA_DESCR_DATA *extra_descr_free;
extern NOTE_DATA	*note_free;
extern OBJ_DATA		*obj_free;
extern PC_DATA		*pcdata_free;

extern int		top_area;
extern int		top_mob_index;
extern int		top_obj_index;
extern int		top_vnum_mob;
extern int		top_vnum_obj;
extern int		top_vnum_room;

extern bool		delete_obj;
extern bool		delete_char;

extern int		pulse_point;	/* from update.c */

extern MOB_INDEX_DATA	*mob_index_hash[MAX_KEY_HASH];
extern OBJ_INDEX_DATA	*obj_index_hash[MAX_KEY_HASH];
extern ROOM_INDEX_DATA	*room_index_hash[MAX_KEY_HASH];
extern MPROG_GLOBAL	*global_progs[ MPROG_GLOBAL_HASH ];
extern KILL_DATA	kill_table [ ];

extern char		*help_greeting;

extern int		battle_min;
extern int		battle_max;


/*
 * These are skill_lookup return values for common skills and spells.
 */

extern	int	gsn_atemi;		/* Daleken */
extern	int	gsn_avoidance;		/* Daleken */
extern	int	gsn_awen;		/* Daleken */
extern	int	gsn_backstab;
extern	int	gsn_backhand;		/* Daleken */
extern	int	gsn_barehand;		/* Daleken */
extern	int	gsn_bash;
extern	int	gsn_berserk;		/* by Thelonius	 */
extern	int	gsn_blindness;
extern	int	gsn_blink;		/* Daleken */
extern	int	gsn_breathing;		/* by Thelonius	 */
extern	int	gsn_brew;
extern	int	gsn_burn;
extern	int	gsn_burning_hands;	/* Daleken */
extern	int	gsn_bury_item;		/* Daleken */
extern	int	gsn_carve;		/* Daleken */
extern	int	gsn_catfall;		/* Daleken */
extern	int	gsn_circle;		/* by Thelonius	 */
extern	int	gsn_chameleon;		/* by Thelonius	 */
extern	int	gsn_channel;		/* Daleken */
extern	int	gsn_charge;		/* Daleken */
extern	int	gsn_charm_person;
extern	int	gsn_chill_touch;	/* Daleken */
extern	int	gsn_clan_power;		/* Daleken */
extern	int	gsn_continuous_effect;	/* by Incubus */
extern	int	gsn_domination;		/* by Thelonius	 */
extern	int	gsn_hex;
extern	int	gsn_dark_claws;		/* Daleken */
extern	int	gsn_delayed_effect;	/* by Incubus */
extern	int	gsn_detect_traps;	/* Daleken */
extern	int	gsn_dig_item;		/* Daleken */
extern	int	gsn_dirty_fighting;	/* Daleken */
extern	int	gsn_disable_traps;	/* Daleken */
extern	int	gsn_disarm;
extern	int	gsn_dodge;
extern	int	gsn_dual;		/* by Thelonius	 */
extern	int	gsn_elbow;		/* Daleken */
extern	int	gsn_engrave;		/* Daleken */
extern	int	gsn_enhanced_damage;
extern	int	gsn_explosive;		/* needed, Symposium */
extern	int	gsn_field_dressing;	/* Daleken */
extern	int	gsn_fifth_attack;	/* Daleken */
extern	int	gsn_first_trap;		/* Daleken */
extern	int	gsn_flashing_blades;	/* Daleken */
extern	int	gsn_foci;		/* Daleken */
extern	int	gsn_forage;		/* Daleken */
extern	int	gsn_fortitudes;		/* Daleken */
extern	int	gsn_fourth_attack;
extern	int	gsn_golden_touch;	/* Daleken */
extern	int	gsn_haggle;		/* Daleken */
extern	int	gsn_hand_of_kaz;	/* Daleken */
extern	int	gsn_headbutt;		/* Daleken */
extern	int	gsn_herbalism;		/* Daleken */
extern	int	gsn_hide;
extern	int	gsn_impale;		/* Daleken */
extern	int	gsn_heighten;		/* by Thelonius */
extern	int	gsn_invis;
extern	int	gsn_jab;		/* Daleken */
extern	int	gsn_juggle;		/* Daleken */
extern	int	gsn_kick;
extern	int	gsn_knee;		/* Daleken */
extern	int	gsn_last_trap;		/* Daleken */
extern	int	gsn_lighten;		/* Daleken */
extern	int	gsn_lucky_blow;		/* Daleken */
extern	int	gsn_magic_lore;		/* Daleken */
extern	int	gsn_mass_invis;
extern	int	gsn_mass_plague;	/* Daleken */
extern	int	gsn_meditation;		/* Daleken */
extern	int	gsn_mob_lore;		/* Daleken */
extern	int	gsn_modify_armour;	/* Daleken */
extern	int	gsn_move_hidden;	/* Daleken */
extern	int	gsn_mute;		/* by Thelonius	 */
extern	int	gsn_no_sun;		/* Daleken */
extern	int	gsn_parry;
extern	int	gsn_peek;
extern	int	gsn_perm_spell;		/* Daleken */
extern	int	gsn_pick_lock;
extern	int	gsn_plague;		/* Daleken */
extern	int	gsn_poison;
extern	int	gsn_poison_weapon;	/* by Thelonius */
extern	int	gsn_quicken;		/* Daleken */
extern	int	gsn_race_tail;		/* Daleken */
extern	int	gsn_racial_fatigue;	/* Daleken */
extern	int	gsn_ram;		/* Daleken */
extern	int	gsn_religious;		/* Daleken */
extern	int	gsn_repair;		/* Daleken */
extern	int	gsn_rescue;
extern	int	gsn_retaliate;		/* Daleken */
extern	int	gsn_roundhouse;		/* Daleken */
extern	int	gsn_scribe;
extern	int	gsn_scrolls;		/* by Binky / Thelonius	 */
extern	int	gsn_second_attack;
extern	int	gsn_sharpen_weapon;	/* Daleken */
extern	int	gsn_shield_block;	/* Daleken */
extern	int	gsn_shocking_grasp;	/* Daleken */
extern	int	gsn_sleep;
extern	int	gsn_slit_throat;	/* Daleken */
extern	int	gsn_smash;		/* Daleken */
extern	int	gsn_snare;		/* by Binky / Thelonius */
extern	int	gsn_snapkick;		/* Daleken */
extern	int	gsn_sneak;
extern	int	gsn_stake;
extern	int	gsn_stamina;		/* Daleken */
extern	int	gsn_staves;		/* by Binky / Thelonius	 */
extern	int	gsn_steal;
extern	int	gsn_stomp;		/* Daleken */
extern	int	gsn_strangle;		/* Daleken */
extern	int	gsn_study;		/* Daleken */
extern	int	gsn_surge;		/* Daleken */
extern	int	gsn_swan_song;		/* Daleken */
extern	int	gsn_taunt;		/* Daleken */
extern	int	gsn_third_attack;
extern	int	gsn_throw;		/* Daleken */
extern	int	gsn_throw_weapon;
extern	int	gsn_track;		/* Daleken */
extern	int	gsn_trip;		/* Daleken */
extern	int	gsn_turn_undead;
extern	int	gsn_two_handed;		/* Daleken */
extern	int	gsn_untangle;		/* by Thelonius	 */
extern	int	gsn_uppercut;		/* Daleken */
extern	int	gsn_vampiric_bite;	/* by Kahn */
extern	int	gsn_vanish;		/* Daleken */
extern	int	gsn_wands;		/* by Binky / Thelonius	 */
extern	int	gsn_weapon_skill;	/* Daleken */
extern	int	gsn_weapon_spell;	/* Daleken */
extern	int	gsn_web;		/* Daleken */
extern	int	gsn_whirlwind;		/* Daleken */


/*
 * Integer Mapping (bit.c)
 */
extern const struct flag_type area_flags[];
extern const struct flag_type sex_flags[];
extern const struct flag_type exit_flags[];
extern const struct flag_type room_flags[];
extern const struct flag_type sector_flags[];
extern const struct flag_type type_flags[];
extern const struct flag_type extra_flags[];
extern const struct flag_type wear_flags[];
extern const struct flag_type act_flags[];
extern const struct flag_type pc_act_flags[];
extern const struct flag_type affect_flags[];
extern const struct flag_type apply_flags[];
extern const struct flag_type magic_flags[];
extern const struct flag_type apply_name_flags[];
extern const struct flag_type wear_loc_strings[];
extern const struct flag_type wear_loc_flags[];
extern const struct flag_type weapon_flags[];
extern const struct flag_type container_flags[];
extern const struct flag_type furniture_flags[];
extern const struct flag_type liquid_flags[];
extern const struct flag_type body_part_flags[];
extern const struct flag_type mud_prog_flags[];
extern const struct flag_type material_flags[];
extern const struct flag_type class_flags[];
extern const struct flag_type direction_flags[];
extern const struct flag_type exit_direction_flags[];
extern const struct flag_type race_perm_flags[];
extern const struct flag_type language_flags[];
extern const struct flag_type clan_type_flags[];
extern const struct flag_type sac_event_flags[];
extern const struct flag_type sysinfo_flags[];
extern const struct flag_type channel_flags[];
extern const struct flag_type event_extra_flags[];
extern const struct flag_type position_flags[];
extern const struct flag_type skill_type_flags[];
extern const struct flag_type mor_type_flags[];