1stMUD/corefiles/
1stMUD/gods/
1stMUD/player/
1stMUD/win32/
1stMUD/win32/ROM/
/**************************************************************************
*  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
*  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
*                                                                         *
*  Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael         *
*  Chastain, Michael Quan, and Mitchell Tse.                              *
*                                                                         *
*  In order to use any part of this Merc Diku Mud, you must comply with   *
*  both the original Diku license in 'license.doc' as well the Merc       *
*  license in 'license.txt'.  In particular, you may not remove either of *
*  these copyright notices.                                               *
*                                                                         *
*  Much time and thought has gone into this software and you are          *
*  benefiting.  We hope that you share your changes too.  What goes       *
*  around, comes around.                                                  *
***************************************************************************
*       ROM 2.4 is copyright 1993-1998 Russ Taylor                        *
*       ROM has been brought to you by the ROM consortium                 *
*           Russ Taylor (rtaylor@hypercube.org)                           *
*           Gabrielle Taylor (gtaylor@hypercube.org)                      *
*           Brian Moore (zump@rom.org)                                    *
*       By using this code, you have agreed to follow the terms of the    *
*       ROM license, in the file Rom24/doc/rom.license                    *
***************************************************************************
*       1stMUD ROM Derivative (c) 2001-2002 by Ryan Jennings              *
*            http://1stmud.dlmud.com/  <r-jenn@shaw.ca>                   *
***************************************************************************/
/*
 * Our function prototypes.
 * One big lump ... this is every function in Merc.
 */
#define CD	CHAR_DATA
#define MID	MOB_INDEX_DATA
#define OD	OBJ_DATA
#define OID	OBJ_INDEX_DATA
#define RID	ROOM_INDEX_DATA
#define SF	SPEC_FUN
#define AD	AFFECT_DATA
#define PC	PROG_CODE

/* act_comm.c */
void check_sex args((CHAR_DATA * ch));
void add_follower args((CHAR_DATA * ch, CHAR_DATA * master));
void stop_follower args((CHAR_DATA * ch));
void nuke_pets args((CHAR_DATA * ch));
void die_follower args((CHAR_DATA * ch));
bool is_same_group args((CHAR_DATA * ach, CHAR_DATA * bch));
int colour_lookup args((const char *arg));
int cslot_lookup args((const char *arg));
const char *char_colour args((CHAR_DATA * ch, int slot));
void default_colour args((CHAR_DATA * ch, int slot));
bool check_cstring args((char *string));
char *random_colour args((void));
char *random_background args((void));
void show_greeting args((DESCRIPTOR_DATA * dnew));
bool process_ansi_output args((DESCRIPTOR_DATA * d));
const char *color_default args((CHAR_DATA * ch));

const char *color_to_tilde args((const char *str));
const char *tilde_to_color args((const char *str));
unsigned int strlen_color args((const char *string));
const char *draw_line args((char *fill, int len));
const char *smash_colour args((const char *str));
const char *stringf
args((int length, int align, const char *fill, const char *string));
bool is_ansi_printed_char args((char c));

void public_ch args((CHAR_DATA * ch, const char *argument,
					 const char *type, flag_t bitname,
					 enum special_flags spec_flag, int last_type));

/* act_enter.c */
RID *get_random_room args((CHAR_DATA * ch));

/* act_info.c */
void set_title args((CHAR_DATA * ch, const char *title));
char *format_who args((CHAR_DATA * ch, CHAR_DATA * wch));

/* act_move.c */
void move_char args((CHAR_DATA * ch, int door, bool follow));

/* act_obj.c */
bool can_loot args((CHAR_DATA * ch, OBJ_DATA * obj));
void wear_obj args((CHAR_DATA * ch, OBJ_DATA * obj, bool fReplace));
void get_obj args((CHAR_DATA * ch, OBJ_DATA * obj, OBJ_DATA * container));
void recursive_clone args((CHAR_DATA * ch, OBJ_DATA * obj, OBJ_DATA * clone));
bool obj_check args((CHAR_DATA * ch, OBJ_DATA * obj));

/* act_wiz.c */
void wiznet
args((char *string, CHAR_DATA * ch, OBJ_DATA * obj, flag_t flag,
	  flag_t flag_skip, int min_level));
#if !defined(WIN32) && !defined(__CYGWIN__)
void copyover_recover args((void));
#endif

/* alias.c */
void substitute_alias args((DESCRIPTOR_DATA * d, char *input));

/* ban.c */
bool check_ban args((const char *site, int type));
void save_bans args((void));
void load_bans args((void));
void ban_site args((CHAR_DATA * ch, const char *argument, bool fPerm));

/* comm.c */
void show_string args((struct descriptor_data * d, char *input));
void close_socket args((DESCRIPTOR_DATA * dclose));
void write_to_buffer args((DESCRIPTOR_DATA * d, const char *txt, int length));
void chprint args((CHAR_DATA * ch, const char *txt));
void chprintln args((CHAR_DATA * ch, const char *txt));
void page_to_char args((const char *txt, CHAR_DATA * ch));
void act
args((const char *format, CHAR_DATA * ch, const void *arg1,
	  const void *arg2, int type));
void act_new
args((const char *format, CHAR_DATA * ch, const void *arg1,
	  const void *arg2, flag_t type, int min_pos));
void perform_act args((const char *orig, CHAR_DATA * ch, const void *arg1,
					   const void *arg2, flag_t type, CHAR_DATA * to));
const char *perform_act_string
args(
	 (const char *orig, CHAR_DATA * ch, const void *arg1, const void *arg2,
	  bool cReturn));

void chprintf args((CHAR_DATA *, char *, ...))
	__attribute__ ((format(printf, 2, 3)));
void chprintlnf args((CHAR_DATA *, char *, ...))
	__attribute__ ((format(printf, 2, 3)));
void bugf args((char *, ...)) __attribute__ ((format(printf, 1, 2)));
void fix_sex args((CHAR_DATA * ch));
void logf args((char *fmt, ...)) __attribute__ ((format(printf, 1, 2)));
void vinterpret args((CHAR_DATA * ch, const char *argument, ...))
	__attribute__ ((format(printf, 2, 3)));
int strswitch args((const char *arg, ...))
	__attribute__ ((format(printf, 1, 2)));

/* db.c */
void reset_area args((AREA_DATA * pArea));	/* OLC */
void reset_room args((ROOM_INDEX_DATA * pRoom));	/* OLC */
char *fwrite_flags(flag_t flags);
void boot_db args((void));
void area_update args((void));
CD *create_mobile args((MOB_INDEX_DATA * pMobIndex));
void clone_mobile args((CHAR_DATA * parent, CHAR_DATA * clone));
OD *create_object args((OBJ_INDEX_DATA * pObjIndex, int level));
void clone_object args((OBJ_DATA * parent, OBJ_DATA * clone));
void clear_char args((CHAR_DATA * ch));
const char *get_extra_descr args((const char *name, EXTRA_DESCR_DATA * ed));
MID *get_mob_index args((vnum_t vnum));
OID *get_obj_index args((vnum_t vnum));
RID *get_room_index args((vnum_t vnum));
PC *get_prog_index args((vnum_t vnum, int type));
char fread_letter args((FILE * fp));
int fread_number args((FILE * fp));
flag_t fread_flag args((FILE * fp));
const char *fread_string args((FILE * fp));
const char *fread_string_eol args((FILE * fp));
void fread_to_eol args((FILE * fp));
char *fread_word args((FILE * fp));
flag_t flag_convert args((char letter));
const char *str_dup args((const char *str));
void free_string args((const char *pstr));
int number_fuzzy args((int number));
int number_fuzzier args((int number));
int number_range args((int from, int to));
int number_percent args((void));
int number_door args((void));
int number_bits args((int width));
long number_mm args((void));
int dice args((int number, int size));
int interpolate args((int level, int value_00, int value_32));
void smash_tilde args((const char *str));
bool str_cmp args((const char *astr, const char *bstr));
bool str_prefix args((const char *astr, const char *bstr));
bool str_infix args((const char *astr, const char *bstr));
bool str_suffix args((const char *astr, const char *bstr));
char *capitalize args((const char *str));
void append_file args((CHAR_DATA * ch, char *file, const char *str));
void bug args((const char *str, int param));
void log_string args((const char *str));
void tail_chain args((void));
void new_reset args((ROOM_INDEX_DATA * pR, RESET_DATA * pReset));

/* db2.c */
void load_socials args((FILE * fp));
void load_mobiles args((FILE * fp));
void load_objects args((FILE * fp));
FILE *file_open args((const char *file, const char *mode));
bool file_close args((FILE * fp));
void free_runbuf args((DESCRIPTOR_DATA * d));

/* effect.c */
void acid_effect args((void *vo, int level, int dam, int target));
void cold_effect args((void *vo, int level, int dam, int target));
void fire_effect args((void *vo, int level, int dam, int target));
void poison_effect args((void *vo, int level, int dam, int target));
void shock_effect args((void *vo, int level, int dam, int target));

/* fight.c */
bool is_safe args((CHAR_DATA * ch, CHAR_DATA * victim));
bool is_safe_spell args((CHAR_DATA * ch, CHAR_DATA * victim, bool area));
void violence_update args((void));
void multi_hit args((CHAR_DATA * ch, CHAR_DATA * victim, int dt));
bool damage
args((CHAR_DATA * ch, CHAR_DATA * victim, int dam, int dt, int Class,
	  bool show));
bool damage_old
args((CHAR_DATA * ch, CHAR_DATA * victim, int dam, int dt, int Class,
	  bool show));
void update_pos args((CHAR_DATA * victim));
void stop_fighting args((CHAR_DATA * ch, bool fBoth));
void check_killer args((CHAR_DATA * ch, CHAR_DATA * victim));

/* handler.c */
AD *affect_find args((AFFECT_DATA * paf, int sn));
void affect_check args((CHAR_DATA * ch, int where, flag_t vector));
int count_users args((OBJ_DATA * obj));
void deduct_cost args((CHAR_DATA * ch, int cost));
void affect_enchant args((OBJ_DATA * obj));
int check_immune args((CHAR_DATA * ch, int dam_type));
int material_lookup args((const char *name));
int weapon_lookup args((const char *name));
int weapon_typ args((const char *name));
const char *weapon_name args((int weapon_Type));
const char *item_name args((int pitem_type));
int attack_lookup args((const char *name));
int wiznet_lookup args((const char *name));
int class_lookup args((const char *name));
bool is_clan args((CHAR_DATA * ch));
bool is_same_clan args((CHAR_DATA * ch, CHAR_DATA * victim));
bool is_old_mob args((CHAR_DATA * ch));
int get_skill args((CHAR_DATA * ch, int sn));
int get_weapon_sn args((CHAR_DATA * ch));
int get_weapon_skill args((CHAR_DATA * ch, int sn));
int get_age args((CHAR_DATA * ch));
void reset_char args((CHAR_DATA * ch));
int get_trust args((CHAR_DATA * ch));
int get_curr_stat args((CHAR_DATA * ch, int stat));
int get_max_train args((CHAR_DATA * ch, int stat));
int can_carry_n args((CHAR_DATA * ch));
int can_carry_w args((CHAR_DATA * ch));
bool is_name args((const char *str, const char *namelist));
bool is_exact_name args((const char *str, const char *namelist));
void affect_to_char args((CHAR_DATA * ch, AFFECT_DATA * paf));
void affect_to_obj args((OBJ_DATA * obj, AFFECT_DATA * paf));
void affect_remove args((CHAR_DATA * ch, AFFECT_DATA * paf));
void affect_remove_obj args((OBJ_DATA * obj, AFFECT_DATA * paf));
void affect_strip args((CHAR_DATA * ch, int sn));
bool is_affected args((CHAR_DATA * ch, int sn));
void affect_join args((CHAR_DATA * ch, AFFECT_DATA * paf));
void char_from_room args((CHAR_DATA * ch));
void char_to_room args((CHAR_DATA * ch, ROOM_INDEX_DATA * pRoomIndex));
void obj_to_char args((OBJ_DATA * obj, CHAR_DATA * ch));
void obj_from_char args((OBJ_DATA * obj));
int apply_ac args((OBJ_DATA * obj, int iWear, int type));
OD *get_eq_char args((CHAR_DATA * ch, int iWear));
void equip_char args((CHAR_DATA * ch, OBJ_DATA * obj, int iWear));
void unequip_char args((CHAR_DATA * ch, OBJ_DATA * obj));
int count_obj_list args((OBJ_INDEX_DATA * obj, OBJ_DATA * list));
void obj_from_room args((OBJ_DATA * obj));
void obj_to_room args((OBJ_DATA * obj, ROOM_INDEX_DATA * pRoomIndex));
void obj_to_obj args((OBJ_DATA * obj, OBJ_DATA * obj_to));
void obj_from_obj args((OBJ_DATA * obj));
void extract_obj args((OBJ_DATA * obj));
void extract_char args((CHAR_DATA * ch, bool fPull));
CD *get_char_room
args((CHAR_DATA * ch, ROOM_INDEX_DATA * room, const char *argument));
CD *get_char_world args((CHAR_DATA * ch, const char *argument));
OD *get_obj_type args((OBJ_INDEX_DATA * pObjIndexData));
OD *get_obj_list args((CHAR_DATA * ch, const char *argument, OBJ_DATA * list));
OD *get_obj_carry
args((CHAR_DATA * ch, const char *argument, CHAR_DATA * viewer));
OD *get_obj_wear args((CHAR_DATA * ch, const char *argument, bool character));
OD *get_obj_here
args((CHAR_DATA * ch, ROOM_INDEX_DATA * room, const char *argument));
OD *get_obj_world args((CHAR_DATA * ch, const char *argument));
OD *create_money args((int gold, int silver));
int get_obj_number args((OBJ_DATA * obj));
int get_obj_weight args((OBJ_DATA * obj));
int get_true_weight args((OBJ_DATA * obj));
bool room_is_dark args((ROOM_INDEX_DATA * pRoomIndex));
bool is_room_owner args((CHAR_DATA * ch, ROOM_INDEX_DATA * room));
bool room_is_private args((ROOM_INDEX_DATA * pRoomIndex));
bool can_see args((CHAR_DATA * ch, CHAR_DATA * victim));
bool can_see_obj args((CHAR_DATA * ch, OBJ_DATA * obj));
bool can_see_room args((CHAR_DATA * ch, ROOM_INDEX_DATA * pRoomIndex));
bool can_drop_obj args((CHAR_DATA * ch, OBJ_DATA * obj));
bool is_friend args((CHAR_DATA * ch, CHAR_DATA * victim));
bool is_full_name args((const char *str, const char *namelist));
CHAR_DATA *get_char_id args((long id));

/* interp.c */
void interpret args((CHAR_DATA * ch, const char *argument));
bool is_number args((const char *arg));
unsigned int number_argument args((const char *argument, char *arg));
unsigned int mult_argument args((const char *argument, char *arg));
const char *one_argument args((const char *argument, char *arg_first));
void load_disabled args((void));
void save_disabled args((void));

/* magic.c */
int find_spell args((CHAR_DATA * ch, const char *name));
int mana_cost(CHAR_DATA * ch, int min_mana, int level);
int skill_lookup args((const char *name));
bool saves_spell args((int level, CHAR_DATA * victim, int dam_type));
void obj_cast_spell
args((int sn, int level, CHAR_DATA * ch, CHAR_DATA * victim, OBJ_DATA * obj));
bool check_dispel args((int dis_level, CHAR_DATA * victim, int sn));
bool saves_dispel args((int dis_level, int spell_level, int duration));

/* multiclass.c */
bool can_use_skpell args((CHAR_DATA * ch, int sn));
bool has_spells args((CHAR_DATA * ch));
bool is_class args((CHAR_DATA * ch, int Class));
bool is_same_class args((CHAR_DATA * ch, CHAR_DATA * victim));
int number_classes args((CHAR_DATA * ch));
char *class_long args((CHAR_DATA * ch));
char *class_who args((CHAR_DATA * ch));
char *class_short args((CHAR_DATA * ch));
char *class_numbers args((CHAR_DATA * ch, bool pSave));
int skill_level args((CHAR_DATA * ch, int sn));
int skill_rating args((CHAR_DATA * ch, int sn));
int group_rating args((CHAR_DATA * ch, int gn));
bool check_base_group args((CHAR_DATA * ch, int gn));
bool is_base_skill args((CHAR_DATA * ch, int sn));
int get_hp_gain args((CHAR_DATA * ch));
int get_mana_gain args((CHAR_DATA * ch));
bool is_prime_stat args((CHAR_DATA * ch, int pStat));
void add_default_groups args((CHAR_DATA * ch));
void add_base_groups args((CHAR_DATA * ch));
int get_stat_bonus args((CHAR_DATA * ch, int pStat));
int get_thac00 args((CHAR_DATA * ch));
int get_thac32 args((CHAR_DATA * ch));
int get_hp_max args((CHAR_DATA * ch));
int lvl_bonus args((CHAR_DATA * ch));
int class_mult args((CHAR_DATA * ch));
bool is_race_skill args((CHAR_DATA * ch, int sn));
int hp_max args((CHAR_DATA * ch));
int prime_class args((CHAR_DATA * ch));

/* quest.c */
bool chance args((int num));
void do_mob_tell args((CHAR_DATA * ch, CHAR_DATA * victim, char *argument));
void generate_quest args((CHAR_DATA * ch, CHAR_DATA * questman));
void quest_update args((void));
bool quest_level_diff args((CHAR_DATA * ch, CHAR_DATA * mob));
void end_quest args((CHAR_DATA * ch, int time));
OD *has_questobj args((CHAR_DATA * ch));
void update_questobjs args((CHAR_DATA * ch, OBJ_DATA * obj));
int qobj_cost args((OBJ_DATA * obj));
int is_qobj args((OBJ_DATA * obj));
void add_apply
args((OBJ_DATA * obj, int loc, int mod, int where, int type, int dur,
	  flag_t bit, int level));
void do_mob_tell args((CHAR_DATA * ch, CHAR_DATA * victim, char *argument));
void update_all_qobjs args((CHAR_DATA * ch));
void unfinished_quest args((CHAR_DATA * ch));

/* save.c */
void save_char_obj args((CHAR_DATA * ch));
bool load_char_obj args((DESCRIPTOR_DATA * d, const char *name));
void update_corpses args((OBJ_DATA * obj, bool pdelete));
void load_corpses args((void));
void checkcorpse args((CHAR_DATA * ch));

/* skills.c */
bool parse_gen_groups args((CHAR_DATA * ch, const char *argument));
void list_group_costs args((CHAR_DATA * ch));
void list_group_known args((CHAR_DATA * ch));
int exp_per_level args((CHAR_DATA * ch, int points));
void check_improve args((CHAR_DATA * ch, int sn, bool success, int multiplier));
int group_lookup args((const char *name));
void gn_add args((CHAR_DATA * ch, int gn));
void gn_remove args((CHAR_DATA * ch, int gn));
void group_add args((CHAR_DATA * ch, const char *name, bool deduct));
void group_remove args((CHAR_DATA * ch, const char *name));

/* special.c */
SF *spec_lookup args((const char *name));
const char *spec_name args((SPEC_FUN * function));

/* statlist.c */
void update_statlist args((CHAR_DATA * ch, bool pdelete));
void load_statlist args((void));
void save_statlist args((void));
void show_game_stats args((CHAR_DATA * ch, int type));

/* teleport.c */
RID *room_by_name args((char *target, int level, bool error));

/* update.c */
void advance_level args((CHAR_DATA * ch, bool hide));
void gain_exp args((CHAR_DATA * ch, int gain));
void gain_condition args((CHAR_DATA * ch, int iCond, int value));
void update_handler args((void));

/* social-edit.c */
void load_social_table();
void save_social_table();

/* string.c */
void string_edit args((CHAR_DATA * ch, const char **pString));
void string_append args((CHAR_DATA * ch, const char **pString));
const char *string_replace args((const char *orig, char *old, char *pnew));
void string_add args((CHAR_DATA * ch, char *argument));
const char *format_string args((const char *oldstring /*, bool fSpace */ ));
const char *first_arg args((const char *argument, char *arg_first, bool fCase));
const char *string_unpad args((const char *argument));
const char *string_proper args((const char *argument));
int parse_string_command
args((const char **text, const char *str, CHAR_DATA * ch));
void parse_action
args((const char **text, int command, const char *string, CHAR_DATA * ch));

/* olc.c */
bool run_olc_editor args((DESCRIPTOR_DATA * d));
char *olc_ed_name args((CHAR_DATA * ch));
char *olc_ed_vnum args((CHAR_DATA * ch));
void clean_area_links args((AREA_DATA * target));
bool vnum_OK args((vnum_t lnum, vnum_t hnum));

/* lookup.c */
int race_lookup args((const char *name));
int item_lookup args((const char *name));
int liq_lookup args((const char *name));

/* mccp.c */
#if !defined(NO_MCCP)
bool compressStart(DESCRIPTOR_DATA * desc);
bool compressEnd(DESCRIPTOR_DATA * desc);
bool processCompressed(DESCRIPTOR_DATA * desc);
bool writeCompressed(DESCRIPTOR_DATA * desc, char *txt, int length);
#endif

void hunt_victim args((CHAR_DATA * ch));
void announce args((CHAR_DATA * ch, flag_t bit, const char *message, ...))
	__attribute__ ((format(printf, 3, 4)));

/* gquest.c */
bool load_gquest_data args((void));
bool save_gquest_data args((void));
void auto_gquest args((void));
bool start_gquest args((CHAR_DATA * ch, const char *argument));
void end_gquest args((CHAR_DATA * who));
void gquest_update args((void));
bool generate_gquest args((CHAR_DATA * who));
int count_gqmobs args((CHAR_DATA * ch));
int is_gqmob args((CHAR_DATA * ch, vnum_t vnum));
void reset_gqmob args((CHAR_DATA * ch, vnum_t value));
bool is_random_gqmob args((vnum_t vnum));

/*explored.c */
void fread_rle args((char *explored, FILE * fp));
void fwrite_rle args((char *explored, FILE * fp));
int arearooms args((CHAR_DATA * ch));
void setbit args((char *explored, vnum_t pIndex));
void rembit args((char *explored, vnum_t pIndex));
int getbit args((char *explored, vnum_t pIndex));
void update_explored args((CHAR_DATA * ch));
int bitcount args((char ch));
int roomcount args((CHAR_DATA * ch));
int areacount args((CHAR_DATA * ch));

bool emptystring args((const char *));
void draw_map args((CHAR_DATA * ch, const char *desc));

/* war.c */
void war_channel args((CHAR_DATA * ch, char *message));
void war_update args((void));
void auto_war args((void));
void check_war args((CHAR_DATA * ch, CHAR_DATA * victim));
bool is_safe_war args((CHAR_DATA * ch, CHAR_DATA * wch));
void war_talk args((CHAR_DATA * ch, const char *argument));
void end_war args((void));
bool abort_race_war args((void));
bool abort_class_war args((void));
bool abort_clan_war args((void));
void extract_war args((CHAR_DATA * ch));

void save_clans args((void));
void load_clans args((void));
void load_commands args((void));
void save_commands args((void));
int command_lookup args((const char *name));
void save_skills args((void));
void load_skills args((void));
void save_groups args((void));
void load_groups args((void));
void save_races args((void));
void load_races args((void));
void save_classes args((void));
void load_classes args((void));

void delete_home args((CHAR_DATA * ch));
int count_home args((CHAR_DATA * ch));

void extract_auc args((CHAR_DATA * ch));
AUCTION_DATA *auction_lookup args((int num));
int get_auc_id args((void));
bool has_auction args((CHAR_DATA * ch));
void reset_auc args((AUCTION_DATA * auc, bool forced));
int count_auc args((CHAR_DATA * ch));
void auction_update args((void));
long advatoi args((const char *s));

const char *get_sector_color args((int sector));

OBJ_DATA *get_donation_pit args((void));
void fread_obj args((CHAR_DATA * ch, FILE * fp, bool pit));
void fwrite_obj
args((CHAR_DATA * ch, OBJ_DATA * obj, FILE * fp, int iNest, char *marker));
void load_donation_pit args((void));
void save_donation_pit args((void));

void fread_char args((CHAR_DATA * ch, FILE * fp));
void pload_default args((CHAR_DATA * ch));

void check_arena args((CHAR_DATA * ch, CHAR_DATA * victim));
void extract_arena args((CHAR_DATA * ch));
bool IS_IN_ARENA args((CHAR_DATA * ch));

char *prog_type_to_name args((flag_t type));
void program_flow
args((vnum_t vnum, const char *source, CHAR_DATA * mob, OBJ_DATA * obj,
	  ROOM_INDEX_DATA * room, CHAR_DATA * ch, const void *arg1,
	  const void *arg2));
void p_act_trigger
args((const char *argument, CHAR_DATA * mob, OBJ_DATA * obj,
	  ROOM_INDEX_DATA * room, CHAR_DATA * ch, const void *arg1,
	  const void *arg2, flag_t type));
bool p_percent_trigger
args((CHAR_DATA * mob, OBJ_DATA * obj, ROOM_INDEX_DATA * room,
	  CHAR_DATA * ch, const void *arg1, const void *arg2, flag_t type));
void p_bribe_trigger args((CHAR_DATA * mob, CHAR_DATA * ch, long amount));
bool p_exit_trigger args((CHAR_DATA * ch, int dir, int type));
void p_give_trigger
args((CHAR_DATA * mob, OBJ_DATA * obj, ROOM_INDEX_DATA * room,
	  CHAR_DATA * ch, OBJ_DATA * dropped, flag_t type));
void p_greet_trigger args((CHAR_DATA * ch, int type));
void p_hprct_trigger args((CHAR_DATA * mob, CHAR_DATA * ch));
void mob_interpret args((CHAR_DATA * ch, const char *argument));
void obj_interpret args((OBJ_DATA * obj, const char *argument));
void room_interpret args((ROOM_INDEX_DATA * room, const char *argument));
void do_obj args((OBJ_DATA * obj, const char *argument));
void do_room args((ROOM_INDEX_DATA * room, const char *argument));

bool is_deity_skill args((CHAR_DATA * ch, int sn));
void load_deities args((void));
void save_deities args((void));

void update_webpasses args((CHAR_DATA * ch, bool pDelete));
void save_webpasses args((void));
void load_webpasses args((void));

bool write_to_descriptor args((DESCRIPTOR_DATA * d, char *txt, int length));

int check_buddy args((CHAR_DATA * ch, CHAR_DATA * fch));

int srt_cmds_name args((const void *p1, const void *p2));
int sort_socials args((void));
int sort_helps args((void));
int srt_skills args((const void *p1, const void *p2));

char *FORMATF args((const char *formatbuf, ...))
	__attribute__ ((format(printf, 1, 2)));
void *alloc_perm args((size_t sMem));

void save_members args((void));
void update_members args((CHAR_DATA * ch, bool pdelete));
void load_members args((void));

#undef	CD
#undef	MID
#undef	OD
#undef	OID
#undef	RID
#undef	SF
#undef AD