Argila2.0/
Argila2.0/pp/
Argila2.0/pp/lib/save/objs/g/
Argila2.0/pp/lib/save/player/g/
Argila2.0/pp/regions/
Argila2.0/pp/regions/Lscripts/
Argila2.0/pp/src/lib/
/*------------------------------------------------------------------------\
|  protos.h : Function Prototypes                     www.yourmud.org     | 
|  Copyright (C) 2006, Project Argila: Auroness                           |
|                                                                         |
|  All rights reserved. See Licensing documents included.                 |
|                                                                         |
|  Based upon Shadows of Isildur RPI Engine                               |
|  Copyright C. W. McHenry [Traithe], 2004                                |
|  Derived under license from DIKU GAMMA (0.0).                           |
\------------------------------------------------------------------------*/

#include <stdlib.h>
#include <sys/time.h>
#include <time.h>
#include <mysql/mysql.h>
#include <stdarg.h>
#include "lua/lua.h"
#include "lua/lualib.h"
#include "lua/lauxlib.h" 


typedef void * malloc_t;

/* EXTERNAL DECLARATIONS */

lua_State		*luaVM;

extern ACCOUNT_DATA		*account_list;
extern AFFECTED_TYPE	*world_affects;
extern BOARD_DATA		*full_board_list;

extern bool				fCopyOver;
extern bool				maintenance_lock;
extern bool				Memory_check;
extern bool				pending_reboot;
extern bool				disable_timer_abort;

extern char				*accent[];
extern char				*action_bits[];
extern char				*affected_bits[];
extern char				*apply_types[];
extern char				*armor_types [];
extern char				*attack_names [];
extern char				*attack_names_plural [];
extern char				*attack_part [];
extern char				*attrs [];
extern char				*break_def [];
extern char				*color_liquid [];
extern char				*connected_types[];
extern char				*crithit [];
extern char				*crithits [];
extern char				*cs_name [];
extern char				*deity_name[];
extern char				*dirs [];
extern char				*drab_object_colors[];
extern char				*drinks [];
extern char				*econ_flags [];
extern char 			*emergency_data;
extern char				*exit_bits [];
extern char				*extra_bits[];
extern char				*fancy_dirs [];
extern char				*fine_object_colors[];
extern char				*fog_states [];
extern char				*forms[];
extern char				*frames [];
extern char				*fullness [];
extern char				*holiday_names [];
extern char				*holiday_short_names [];
extern char				*idol_name[];
extern char				*item_default_flags [];
extern char				*item_types [];
extern char				*locations [];
extern char				*magnitudes[];
extern char				*max_online_date;
extern char				*mobprog_triggers [];
extern char				*month_name [];
extern char				*month_short_name [];
extern char				*mount_speeds [];
extern char				*mount_speeds_ing [];
extern char				*mud_time_str;
extern char				*old_skills [];
extern char				*phase_flags [];
extern char				*position_types[];
extern char				*professions[];
extern char				*race_help[];
extern char				*relative_dirs [];
extern char				*rfuncs[];
extern char				*role_info[];
extern char				*role_lines[];
extern char				*room_bits[];
extern char				*rs_name [];
extern char				*save_knor_cast_msgs [];
extern char				*season_string [];
extern char				*seasons[];
extern char				*sector_types[];
extern char				*sex_types[];
extern char				*sizes [];
extern char				*sizes_named [];
extern char				*speeds [];
extern char				*standard_object_colors[];
extern char				*state_name[];
extern char				*subcraft_flags [];
extern char				*targets [];
extern char				*techniques[];
extern char				*variable_races[];
extern char				*verbal_time [];
extern char				*verbose_dirs [];
extern char				*weapon_theme [];
extern char				*wear_bits[];
extern char				*weather_clouds [];
extern char				*weather_room [];
extern char				*weather_states [];
extern char				*where[];
extern char				*wind_speeds [];
extern char				*wound_locations[];
extern char				*wtype [];
extern char				*wtype2 [];
extern char				b_buf[];
extern char				BOOT[];
extern char				full_last_command[];
extern char				last_command[];
extern char				s_buf[];

extern CHAR_DATA		*character_list;
extern CHAR_DATA		*free_char_list;
extern CHAR_DATA		*full_mobile_list;
extern CHAR_DATA		*loaded_list;
extern CHAR_DATA		*mob_tab [ZONE_SIZE];
extern CHAR_DATA		*combat_list;
extern CLAN_DATA		*clan_list;

extern COMBAT_MSG_DATA	*cm_list;
extern COMMON_DATA		*common_list;
extern DESCRIPTOR_DATA	*last_descriptor;

extern float			move_speeds [];

extern HELP_DATA		*bhelp_list;
extern HELP_DATA		*help_list;

extern int 				advance_hour_now;
extern int 				booting;
extern int 				check_characters;
extern int 				check_objects;
extern int 				control;
extern int 				count_guest_online;
extern int 				count_max_online;
extern int 				desc_weather[];
extern int 				dodge_defense [4] [4];
extern int 				dodge_offense [4] [4];
extern int 				earth_grid[];
extern int 				finished_booting;
extern int 				fire_grid[];
extern int 				forkedpid;
extern int 				guest_conns;
extern int 				hash_dup_length;
extern int 				hash_dup_strings;
extern int 				humans;
extern int 				ignore_offense [4];
extern int 				knockout;
extern int 				loud_log;
extern int 				MAX_MEMORY;
extern int 				MAX_OVERHEAD;
extern int 				MAX_ZONE;
extern int 				maxdesc;
extern int 				mem_allocated;
extern int 				mob_start_stat;
extern int 				moon_light;
extern int 				movement_loss [];
extern int 				mp_dirty;
extern int 				new_accounts;
extern int 				next_mob_coldload_id;
extern int 				next_obj_coldload_id;
extern int 				next_pc_coldload_id;
extern int 				num_save_knor_cast_msgs;
extern int 				num_texts;
extern int 				number_of_shops;
extern int 				orcs;
extern int 				PERM_MEMORY_SIZE;
extern int 				port;
extern int 				pulse_violence;
extern int 				reboot_mud;
extern int 				rev_dir [];
extern int 				role_costs[];
extern int 				run_mult;
extern int 				season_time;
extern int 				seasonal_temp[7][12];
extern int 				second_affect_active;
extern int 				shadow_grid[];
extern int 				shield_parry_defense [4] [4];
extern int 				shield_parry_offense [4] [4];
extern int 				shutd;
extern int 				sun_light;
extern int 				sunrise[];
extern int 				sunset[];
extern int 				tics;
extern int 				times_do_hour_called;
extern int 				water_grid[];
extern int 				weapon_armor_table [6] [6];
extern int 				weapon_nat_attack_table [4] [6];
extern int 				wind_grid[];
extern int 				x1;
extern long				mud_time;
extern long				starttime;
extern MOBPROG_DATA		*full_prog_list;
extern MYSQL			*database;
extern MYSQL			mysql;
extern NAME_SWITCH_DATA *clan_name_switch_list;
extern NEWBIE_HINT 		*hint_list;
extern OBJ_DATA 		*free_obj_list;
extern OBJ_DATA 		*full_object_list;
extern OBJ_DATA 		*obj_tab [ZONE_SIZE];
extern OBJ_DATA 		*object_list;
extern QE_DATA 			*quarter_event_list;
extern RANDOM_CH_DATA 	*random_char_list;
extern RECIPE_DATA 		*recipe_list;
extern REGISTRY_DATA 	*registry [];
extern ROLE_DATA 		*role_list;
extern ROOM_DATA 		*full_room_list;
extern ROOM_DATA 		*wld_tab [ZONE_SIZE];
extern SECOND_AFFECT 	*second_affect_list;
extern SITE_INFO 		*banned_site;

extern struct body_info 			body_tab [NUM_BODIES] [MAX_HITLOC];
extern struct command_data 			commands [];
extern struct db_race_data			db_race_table []; 
extern struct descriptor_data 		*descriptor_list;
extern struct econ_data 			default_econ_info [];
extern struct encumberance_info 	enc_tab [];
extern struct fatigue_data 			fatigue [];
extern struct fight_data 			fight_tab [];
extern struct language_data 		language_tab [];
extern struct message_list 			fight_messages [MAX_MESSAGES];
extern struct msg_data 				*msg_list;
extern struct religion_data 		religion_trees [];
extern struct room_direction_data 	*dir_options[];
extern struct skill_data_list       skill_data[];
extern struct str_app_type 			str_app [];
extern struct time_info_data 		time_info;
extern struct use_table_data 		use_table [];
extern struct weather_data 			weather_info [];
extern struct zone_data 			*zone_table;

extern SUBCRAFT_HEAD_DATA  *crafts;
extern TEXT_DATA 			*document_list;
extern TEXT_DATA 			*text_list;
extern time_t 				next_hour_update;
extern time_t 				next_minute_update;
extern VAR_DATA 			*global_vars;

int  s;

void init_descriptor (struct descriptor_data *newd, int desc);
void prepare_copyover (CHAR_DATA *ch, int cmd);
void check_reboot (void);

/* COMMAND PROTOTYPES */

void do_accept 		(CHAR_DATA *ch, char *argument, int cmd);
void do_accuse 		(CHAR_DATA *ch, char *argument, int cmd);
void do_addcraft 	(CHAR_DATA *ch, char *argument, int cmd);
void do_affect 		(CHAR_DATA *ch, char *argument, int cmd);
void do_aim 		(CHAR_DATA *ch, char *argument, int cmd);
void do_alert 		(CHAR_DATA *ch, char *argument, int cmd);
void do_alias 		(CHAR_DATA *ch, char *argument, int cmd);
void do_alog 		(CHAR_DATA *ch, char *argument, int cmd);
void do_apply 		(CHAR_DATA *ch, char *argument, int cmd);
void do_as 			(CHAR_DATA *ch, char *argument, int cmd);
void do_ask 		(CHAR_DATA *ch, char *argument, int cmd);
void do_assign 		(CHAR_DATA *ch, char *argument, int cmd);
void do_at 			(CHAR_DATA *ch, char *argument, int cmd);
void do_attack   	(CHAR_DATA *ch, char *argument, int cmd);
void do_awaken 		(CHAR_DATA *ch, char *argument, int cmd);
void do_award 		(CHAR_DATA *ch, char *argument, int cmd);

void do_ban 		(CHAR_DATA *ch, char *argument, int cmd);
void do_barter 		(CHAR_DATA *ch, char *argument, int cmd);
void do_behead 		(CHAR_DATA *ch, char *argument, int cmd);
void do_bind 		(CHAR_DATA *ch, char *argument, int cmd);
void do_blindfold 	(CHAR_DATA *ch, char *argument, int cmd);
void do_blog 		(CHAR_DATA *ch, char *argument, int cmd);
void do_bolt 		(CHAR_DATA *ch, char *argument, int cmd);
void do_bridle 		(CHAR_DATA *ch, char *argument, int cmd);
void do_broadcast 	(CHAR_DATA *ch, char *argument, int cmd);
void do_buck 		(CHAR_DATA *ch, char *argument, int cmd);
void do_bug 		(CHAR_DATA *ch, char *argument, int cmd);
void do_buy 		(CHAR_DATA *ch, char *argument, int cmd);

void do_camp 		(CHAR_DATA *ch, char *argument, int cmd);
void do_castout 	(CHAR_DATA *ch, char *argument, int cmd);
void do_choke 		(CHAR_DATA *ch, char *argument, int cmd);
void do_clockout 	(CHAR_DATA *ch, char *argument, int cmd);
void do_clockin 	(CHAR_DATA *ch, char *argument, int cmd);
void do_clog 		(CHAR_DATA *ch, char *argument, int cmd);
void do_close 		(CHAR_DATA *ch, char *argument, int cmd);
void do_clan 		(CHAR_DATA *ch, char *argument, int cmd);
void do_combine 	(CHAR_DATA *ch, char *argument, int cmd);
void do_commands 	(CHAR_DATA *ch, char *argument, int cmd);
void do_commence 	(CHAR_DATA *ch, char *argument, int cmd);
void do_compact 	(CHAR_DATA *ch, char *argument, int cmd);
void do_compare 	(CHAR_DATA *ch, char *argument, int cmd);
void do_compete 	(CHAR_DATA *ch, char *argument, int cmd);
void do_contents 	(CHAR_DATA *ch, char *argument, int cmd);
void do_convert 	(CHAR_DATA *ch, char *argument, int cmd);
void do_count 		(CHAR_DATA *ch, char *argument, int cmd);
void do_crafts 		(CHAR_DATA *ch, char *argument, int cmd);
void do_credits 	(CHAR_DATA *ch, char *argument, int cmd);
void do_cset 		(CHAR_DATA *ch, char *argument, int cmd);

void do_day 		(CHAR_DATA *ch, char *argument, int cmd);
void do_debug 		(CHAR_DATA *ch, char *argument, int cmd);
void do_decline 	(CHAR_DATA *ch, char *argument, int cmd);
void do_deduct 		(CHAR_DATA *ch, char *argument, int cmd);
void do_diagnose 	(CHAR_DATA *ch, char *argument, int cmd);
void do_dip 		(CHAR_DATA *ch, char *argument, int cmd);
void do_disband 	(CHAR_DATA *ch, char *argument, int cmd);
void do_dismantle 	(CHAR_DATA *ch, char *argument, int cmd);
void do_dismount 	(CHAR_DATA *ch, char *argument, int cmd);
void do_down 		(CHAR_DATA *ch, char *argument, int cmd);
void do_drag 		(CHAR_DATA *ch, char *argument, int cmd);
void do_draw 		(CHAR_DATA *ch, char *argument, int cmd);
void do_dreams 		(CHAR_DATA *ch, char *argument, int cmd);
void do_drink 		(CHAR_DATA *ch, char *argument, int cmd);
void do_drop 		(CHAR_DATA *ch, char *argument, int cmd);

void do_east 		(CHAR_DATA *ch, char *argument, int cmd);
void do_eat 		(CHAR_DATA *ch, char *argument, int cmd);
void do_echo 		(CHAR_DATA *ch, char *argument, int cmd);
void do_edit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_email 		(CHAR_DATA *ch, char *argument, int cmd);
void do_emote 		(CHAR_DATA *ch, char *argument, int cmd);
void do_empty 		(CHAR_DATA *ch, char *argument, int cmd);
void do_enter 		(CHAR_DATA *ch, char *argument, int cmd);
void do_equipment 	(CHAR_DATA *ch, char *argument, int cmd);
void do_erase 		(CHAR_DATA *ch, char *argument, int cmd);
void do_escape 		(CHAR_DATA *ch, char *argument, int cmd);
void do_evaluate 	(CHAR_DATA *ch, char *argument, int cmd);
void do_examine 	(CHAR_DATA *ch, char *argument, int cmd);
void do_exit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_exits 		(CHAR_DATA *ch, char *argument, int cmd);

void do_fill 		(CHAR_DATA *ch, char *argument, int cmd);
void do_find 		(CHAR_DATA *ch, char *argument, int cmd);
void do_fire 		(CHAR_DATA *ch, char *argument, int cmd);
void do_fivenet 	(CHAR_DATA *ch, char *argument, int cmd);
void do_flee 		(CHAR_DATA *ch, char *argument, int cmd);
void do_flip 		(CHAR_DATA *ch, char *argument, int cmd);
void do_follow 		(CHAR_DATA *ch, char *argument, int cmd);
void do_forage 		(CHAR_DATA *ch, char *argument, int cmd);
void do_force 		(CHAR_DATA *ch, char *argument, int cmd);
void do_freeze 		(CHAR_DATA *ch, char *argument, int cmd);

void do_gather 		(CHAR_DATA *ch, char *argument, int cmd);
void do_gecho 		(CHAR_DATA *ch, char *argument, int cmd);
void do_get 		(CHAR_DATA *ch, char *argument, int cmd);
void do_give 		(CHAR_DATA *ch, char *argument, int cmd);
void do_givedream 	(CHAR_DATA *ch, char *argument, int cmd);
void do_goto 		(CHAR_DATA *ch, char *argument, int cmd);
void do_grip 		(CHAR_DATA *ch, char *argument, int cmd);
void do_group 		(CHAR_DATA *ch, char *argument, int cmd);
void do_gstat 		(CHAR_DATA *ch, char *argument, int cmd);
void do_guard 		(CHAR_DATA *ch, char *argument, int cmd);
void do_guide 		(CHAR_DATA *ch, char *argument, int cmd);

void do_heal 		(CHAR_DATA *ch, char *argument, int cmd);
void do_health 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hedit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_help 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hex 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hide 		(CHAR_DATA *ch, char *argument, int cmd);
void do_history		(CHAR_DATA *ch, char *argument, int cmd);
void do_hit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hitch 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hood 		(CHAR_DATA *ch, char *argument, int cmd);
void do_hour 		(CHAR_DATA *ch, char *argument, int cmd);

void do_ichat 		(CHAR_DATA *ch, char *argument, int cmd);
void do_idea 		(CHAR_DATA *ch, char *argument, int cmd);
void do_identify 	(CHAR_DATA *ch, char *argument, int cmd);
void do_immcommands (CHAR_DATA *ch, char *argument, int cmd);
void do_immtell 	(CHAR_DATA *ch, char *argument, int cmd);
void do_info 		(CHAR_DATA *ch, char *argument, int cmd);
void do_initiate 	(CHAR_DATA *ch, char *argument, int cmd);
void do_instruct 	(CHAR_DATA *ch, char *argument, int cmd);
void do_inventory 	(CHAR_DATA *ch, char *argument, int cmd);
void do_invis 		(CHAR_DATA *ch, char *argument, int cmd);
void do_invite 		(CHAR_DATA *ch, char *argument, int cmd);
void do_invoke 		(CHAR_DATA *ch, char *argument, int cmd);

void do_job 		(CHAR_DATA *ch, char *argument, int cmd);
void do_jerase 		(CHAR_DATA *ch, char *argument, int cmd);
void do_journal 	(CHAR_DATA *ch, char *argument, int cmd);
void do_jwrite 		(CHAR_DATA *ch, char *argument, int cmd);
void do_jread 		(CHAR_DATA *ch, char *argument, int cmd);
void do_junk 		(CHAR_DATA *ch, char *argument, int cmd);

void do_nokill 		(CHAR_DATA *ch, char *argument, int cmd);
void do_kill 		(CHAR_DATA *ch, char *argument, int cmd);
void do_knock 		(CHAR_DATA *ch, char *argument, int cmd);

void do_last 		(CHAR_DATA *ch, char *argument, int cmd);
void do_leave 		(CHAR_DATA *ch, char *argument, int cmd);
void do_light 		(CHAR_DATA *ch, char *argument, int cmd);
void do_list 		(CHAR_DATA *ch, char *argument, int cmd);
void do_load 		(CHAR_DATA *ch, char *argument, int cmd);
void do_locate 		(CHAR_DATA *ch, char *argument, int cmd);
void do_lock 		(CHAR_DATA *ch, char *argument, int cmd);
void do_log 		(CHAR_DATA *ch, char *argument, int cmd);
void do_look 		(CHAR_DATA *ch, char *argument, int cmd);

void do_map	 	(CHAR_DATA *ch, char *argument, int cmd);
void do_materials 	(CHAR_DATA *ch, char *argument, int cmd);
void do_mbhelp 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mclone 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mcopy 		(CHAR_DATA *ch, char *argument, int cmd);
void do_minit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mobile 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mount 		(CHAR_DATA *ch, char *argument, int cmd);
void do_move 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mset 		(CHAR_DATA *ch, char *argument, int cmd);
void do_munused 	(CHAR_DATA *ch, char *argument, int cmd);
void do_mute 		(CHAR_DATA *ch, char *argument, int cmd);
void do_mysql 		(CHAR_DATA *ch, char *argument, int cmd);

void do_news 		(CHAR_DATA *ch, char *argument, int cmd);
void do_nod 		(CHAR_DATA *ch, char *argument, int cmd);
void do_north 		(CHAR_DATA *ch, char *argument, int cmd);
void do_notes 		(CHAR_DATA *ch, char *argument, int cmd);
void do_notify 		(CHAR_DATA *ch, char *argument, int cmd);
void do_nuke 		(CHAR_DATA *ch, char *argument, int cmd);

void do_object 		(CHAR_DATA *ch, char *argument, int cmd);
void do_offer 		(CHAR_DATA *ch, char *argument, int cmd);
void do_oinit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_olist 		(CHAR_DATA *ch, char *argument, int cmd);
void do_omote 		(CHAR_DATA *ch, char *argument, int cmd);
void do_ooc 		(CHAR_DATA *ch, char *argument, int cmd);
void do_open 		(CHAR_DATA *ch, char *argument, int cmd);
void do_openskill 	(CHAR_DATA *ch, char *argument, int cmd);
void do_order 		(CHAR_DATA *ch, char *argument, int cmd);
void do_oset 		(CHAR_DATA *ch, char *argument, int cmd);
void do_ounused 	(CHAR_DATA *ch, char *argument, int cmd);
void do_outfit 		(CHAR_DATA *ch, char *argument, int cmd);
void do_outside 	(CHAR_DATA *ch, char *argument, int cmd);

void do_palm 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pay 		(CHAR_DATA *ch, char *argument, int cmd);
void do_payday 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pardon 		(CHAR_DATA *ch, char *argument, int cmd);
void do_passwd 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pecho 		(CHAR_DATA *ch, char *argument, int cmd);
void do_petition 	(CHAR_DATA *ch, char *argument, int cmd);
void do_pfile 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pick 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pitch 		(CHAR_DATA *ch, char *argument, int cmd);
void do_plog 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pmote 		(CHAR_DATA *ch, char *argument, int cmd);
void do_point 		(CHAR_DATA *ch, char *argument, int cmd);
void do_pour 		(CHAR_DATA *ch, char *argument, int cmd);
void do_prescience 	(CHAR_DATA *ch, char *argument, int cmd);
void do_preview 	(CHAR_DATA *ch, char *argument, int cmd);
void do_print 		(CHAR_DATA *ch, char *argument, int cmd);
void do_professions (CHAR_DATA *ch, char *argument, int cmd);
void do_prog 		(CHAR_DATA *ch, char *argument, int cmd);
void do_promote 	(CHAR_DATA *ch, char *argument, int cmd);
void do_purge 		(CHAR_DATA *ch, char *argument, int cmd);
void do_put 		(CHAR_DATA *ch, char *argument, int cmd);

void do_quaff		(CHAR_DATA *ch, char *argument, int cmd);
void do_quit		(CHAR_DATA *ch, char *argument, int cmd);

void do_rappend		(CHAR_DATA *ch, char *argument, int cmd);
void do_rblock		(CHAR_DATA *ch, char *argument, int cmd);
void do_rclone		(CHAR_DATA *ch, char *argument, int cmd);
void do_rcret		(CHAR_DATA *ch, char *argument, int cmd);
void do_rddesc		(CHAR_DATA *ch, char *argument, int cmd);
void do_rdesc		(CHAR_DATA *ch, char *argument, int cmd);
void do_rdflag		(CHAR_DATA *ch, char *argument, int cmd);
void do_rdoor		(CHAR_DATA *ch, char *argument, int cmd);
void do_rdelete		(CHAR_DATA *ch, char *argument, int cmd);
void do_reach		(CHAR_DATA *ch, char *argument, int cmd);
void do_read		(CHAR_DATA *ch, char *argument, int cmd);
void do_recipe		(CHAR_DATA *ch, char *argument, int cmd);
void do_recruit		(CHAR_DATA *ch, char *argument, int cmd);
void do_redesc		(CHAR_DATA *ch, char *argument, int cmd);
void do_refresh		(CHAR_DATA *ch, char *argument, int cmd);
void do_register	(CHAR_DATA *ch, char *argument, int cmd);
void do_release		(CHAR_DATA *ch, char *argument, int cmd);
void do_remcraft	(CHAR_DATA *ch, char *argument, int cmd);
void do_remove		(CHAR_DATA *ch, char *argument, int cmd);
void do_replace		(CHAR_DATA *ch, char *argument, int cmd);
void do_report		(CHAR_DATA *ch, char *argument, int cmd);
void do_rescue		(CHAR_DATA *ch, char *argument, int cmd);
void do_resets		(CHAR_DATA *ch, char *argument, int cmd);
void do_rest		(CHAR_DATA *ch, char *argument, int cmd);
void do_restore		(CHAR_DATA *ch, char *argument, int cmd);
void do_return		(CHAR_DATA *ch, char *argument, int cmd);
void do_review		(CHAR_DATA *ch, char *argument, int cmd);
void do_rexit		(CHAR_DATA *ch, char *argument, int cmd);
void do_rexitrm		(CHAR_DATA *ch, char *argument, int cmd);
void do_rflags		(CHAR_DATA *ch, char *argument, int cmd);
void do_rinit		(CHAR_DATA *ch, char *argument, int cmd);
void do_rkey		(CHAR_DATA *ch, char *argument, int cmd);
void do_rlink		(CHAR_DATA *ch, char *argument, int cmd);
void do_rlinkrm		(CHAR_DATA *ch, char *argument, int cmd);
void do_rmove		(CHAR_DATA *ch, char *argument, int cmd);
void do_rname		(CHAR_DATA *ch, char *argument, int cmd);
void do_role		(CHAR_DATA *ch, char *argument, int cmd);
void do_roll		(CHAR_DATA *ch, char *argument, int cmd);
void do_roster		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpadd		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpapp		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpcmd		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpdel		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpkey		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpprg		(CHAR_DATA *ch, char *argument, int cmd);
void do_rpstat		(CHAR_DATA *ch, char *argument, int cmd);
void do_rsector		(CHAR_DATA *ch, char *argument, int cmd);
void do_rset		(CHAR_DATA *ch, char *argument, int cmd);
void do_rummage		(CHAR_DATA *ch, char *argument, int cmd);
void do_runused		(CHAR_DATA *ch, char *argument, int cmd);
void do_rxchange	(CHAR_DATA *ch, char *argument, int cmd);

void do_sail (CHAR_DATA *ch, char *argument, int cmd);
void do_save (CHAR_DATA *ch, char *argument, int cmd);
void do_saverooms (CHAR_DATA *ch, char *argument, int cmd);
void do_say (CHAR_DATA *ch, char *argument, int cmd);
void do_scan (CHAR_DATA *ch, char *argument, int cmd);
void do_score (CHAR_DATA *ch, char *argument, int cmd);
void do_scribe (CHAR_DATA *ch, char *argument, int cmd);
void do_search (CHAR_DATA *ch, char *argument, int cmd);
void do_see (CHAR_DATA *ch, char *argument, int cmd);
void do_select_script (CHAR_DATA *ch, char *argument, int cmd);
void do_sell (CHAR_DATA *ch, char *argument, int cmd);
void do_send (CHAR_DATA *ch, char *argument, int cmd);
void do_sense (CHAR_DATA *ch, char *argument, int cmd);
void do_set (CHAR_DATA *ch, char *argument, int cmd);
void do_shadow (CHAR_DATA *ch, char *argument, int cmd);
void do_sheathe (CHAR_DATA *ch, char *argument, int cmd);
void do_shout (CHAR_DATA *ch, char *argument, int cmd);
void do_show (CHAR_DATA *ch, char *argument, int cmd);
void do_shutdown (CHAR_DATA *ch, char *argument, int cmd);
void do_sing (CHAR_DATA *ch, char *argument, int cmd);
void do_sit (CHAR_DATA *ch, char *argument, int cmd);
void do_skills (CHAR_DATA *ch, char *argument, int cmd);
void do_skin (CHAR_DATA *ch, char *argument, int cmd);
void do_sleep (CHAR_DATA *ch, char *argument, int cmd);
void do_slog (CHAR_DATA *ch, char *argument, int cmd);
void do_smell (CHAR_DATA *ch, char *argument, int cmd);
void do_sneak (CHAR_DATA *ch, char *argument, int cmd);
void do_snoop (CHAR_DATA *ch, char *argument, int cmd);
void do_south (CHAR_DATA *ch, char *argument, int cmd);
void do_speak (CHAR_DATA *ch, char *argument, int cmd);
void do_stable (CHAR_DATA *ch, char *argument, int cmd);
void do_stand (CHAR_DATA *ch, char *argument, int cmd);
void do_stat (CHAR_DATA *ch, char *argument, int cmd);
void do_stayput (CHAR_DATA *ch, char *argument, int cmd);
void do_steal (CHAR_DATA *ch, char *argument, int cmd);
void do_stop (CHAR_DATA *ch, char *argument, int cmd);
void do_study (CHAR_DATA *ch, char *argument, int cmd);
void do_subdue (CHAR_DATA *ch, char *argument, int cmd);
void do_summon (CHAR_DATA *ch, char *argument, int cmd);
void do_surrender (CHAR_DATA *ch, char *argument, int cmd);
void do_swap (CHAR_DATA *ch, char *argument, int cmd);
void do_swim (CHAR_DATA *ch, char *argument, int cmd);
void do_switch (CHAR_DATA *ch, char *argument, int cmd);
void do_switch_item (CHAR_DATA *ch, char *argument, int cmd);

void do_tables (CHAR_DATA *ch, char *argument, int cmd);
void do_tags (CHAR_DATA *ch, char *argument, int cmd);
void do_take (CHAR_DATA *ch, char *argument, int cmd);
void do_talk (CHAR_DATA *ch, char *argument, int cmd);
void do_tame (CHAR_DATA *ch, char *argument, int cmd);
void do_teach (CHAR_DATA *ch, char *argument, int cmd);
void do_tear (CHAR_DATA *ch, char *argument, int cmd);
void do_tell (CHAR_DATA *ch, char *argument, int cmd);
void do_thaw (CHAR_DATA *ch, char *argument, int cmd);
void do_think (CHAR_DATA *ch, char *argument, int cmd);
void do_throw (CHAR_DATA *ch, char *argument, int cmd);
void do_time (CHAR_DATA *ch, char *argument, int cmd);
void do_timeconvert (CHAR_DATA *ch, char *argument, int cmd);
void do_title (CHAR_DATA *ch, char *argument, int cmd);
void do_toll (CHAR_DATA *ch, char *argument, int cmd);
void do_track (CHAR_DATA *ch, char *argument, int cmd);
void do_transfer (CHAR_DATA *ch, char *argument, int cmd);
void do_transmute (CHAR_DATA *ch, char *argument, int cmd);
void do_travel   (CHAR_DATA *ch, char *argument, int cmd); /* act.comm.c */
void do_treat (CHAR_DATA *ch, char *argument, int cmd);
void do_typo (CHAR_DATA *ch, char *argument, int cmd);

void do_unban (CHAR_DATA *ch, char *argument, int cmd);
void do_unlock (CHAR_DATA *ch, char *argument, int cmd);
void do_unload (CHAR_DATA *ch, char *argument, int cmd);
void do_unhitch (CHAR_DATA *ch, char *argument, int cmd);
void do_up (CHAR_DATA *ch, char *argument, int cmd);
void do_users (CHAR_DATA *ch, char *argument, int cmd);
void do_utter (CHAR_DATA *ch, char *argument, int cmd);

void do_value (CHAR_DATA *ch, char *argument, int cmd);
void do_vboards (CHAR_DATA *ch, char *argument, int cmd);
void do_viewbug (CHAR_DATA *ch, char *argument, int cmd);
void do_vis (CHAR_DATA *ch, char *argument, int cmd);
void do_voice (CHAR_DATA *ch, char *argument, int cmd);

void do_wake (CHAR_DATA *ch, char *argument, int cmd);
void do_wanted (CHAR_DATA *ch, char *argument, int cmd);
void do_watch (CHAR_DATA *ch, char *arguemnt, int cmd);
void do_wclone (CHAR_DATA *ch, char *argument, int cmd);
void do_wear (CHAR_DATA *ch, char *argument, int cmd);
void do_wearloc (CHAR_DATA *ch, char *argument, int cmd);
void do_weather (CHAR_DATA *ch, char *argument, int cmd);
void do_west (CHAR_DATA *ch, char *argument, int cmd);
void do_whap (CHAR_DATA *ch, char *argument, int cmd);
void do_where (CHAR_DATA *ch, char *argument, int cmd);
void do_where2 (CHAR_DATA *ch, char *argument, int cmd);
void do_whirl (CHAR_DATA *ch, char *argument, int cmd);
void do_whisper (CHAR_DATA *ch, char *argument, int cmd);
void do_who (CHAR_DATA *ch, char *argument, int cmd);
void do_wield (CHAR_DATA *ch, char *argument, int cmd);
void do_wizlist (CHAR_DATA *ch, char *argument, int cmd);
void do_wizlock (CHAR_DATA *ch, char *argument, int cmd);
void do_wlog (CHAR_DATA *ch, char *argument, int cmd);
void do_worship (CHAR_DATA *ch, char *argument, int cmd);
void do_would (CHAR_DATA *ch, char *argument, int cmd);
void do_write (CHAR_DATA *ch, char *argument, int cmd);
void do_write_book (CHAR_DATA *ch, char *argument, int cmd);
void do_writings (CHAR_DATA *ch, char *argument, int cmd);
void do_wsave (CHAR_DATA *ch, char *argument, int cmd);

void do_zecho (CHAR_DATA *ch, char *argument, int cmd);
void do_zlife (CHAR_DATA *ch, char *argument, int cmd);
void do_zlock (CHAR_DATA *ch, char *argument, int cmd);
void do_zmode (CHAR_DATA *ch, char *argument, int cmd);
void do_zname (CHAR_DATA *ch, char *argument, int cmd);
void do_zreboot (CHAR_DATA *ch, char *argument, int cmd);
void do_zsave (CHAR_DATA *ch, char *argument, int cmd);
void do_zset (CHAR_DATA *ch, char *argument, int cmd);

/** misccellaneous functions **/

void add_clandef (char *argument);
char *display_clan_ranks (CHAR_DATA *targ, CHAR_DATA *observer);
char *value_to_clan_rank (char *clan_name, int clan_flags, CHAR_DATA *ch);

int get_user_seconds(void);
int fread_number(FILE *fp);
void update_crafts_file(void);
char *breath_bar (CHAR_DATA *ch);
char *fatigue_bar (CHAR_DATA *ch);
char *mana_bar (CHAR_DATA *ch);
int get_token (char **s, char *token);
char *resolved_host (char *ip);
void mysql_secure_query (MYSQL *conn, char *query, int length);
void retrieve_mysql_board_listing (CHAR_DATA *ch, char *board_name);
void display_mysql_board_message (CHAR_DATA *ch, char *board_name, int msg_num);
int IsGuarded (ROOM_DATA *room, int dir);
int get_comestible_range (int num);
int keeper_has_money (CHAR_DATA *keeper, int cost);
void show_obj_to_char (OBJ_DATA *obj, CHAR_DATA *ch, int mode);
int has_craft (CHAR_DATA *ch, SUBCRAFT_HEAD_DATA *craft);
void pad_buffer (char *buf, int pad_stop);
void remove_threat (CHAR_DATA *victim, CHAR_DATA *threat);
void delayed_rummage (CHAR_DATA *ch);
void delayed_pitch (CHAR_DATA *ch);
void delayed_quaff (CHAR_DATA *ch);
void delayed_skin_new1 (CHAR_DATA *ch);
void delayed_skin_new2 (CHAR_DATA *ch);
void delayed_skin_new3 (CHAR_DATA *ch);
void delayed_treatment (CHAR_DATA *ch);
int meets_skill_requirements (CHAR_DATA *ch, SUBCRAFT_HEAD_DATA *craft);
int natural_healing_check (CHAR_DATA *ch, WOUND_DATA *wound);
void remove_charm (CHAR_DATA *ch, CHARM_DATA *ench);
void morph_obj (OBJ_DATA *obj);
int mob_weather_reaction (CHAR_DATA *ch);
int would_attack (CHAR_DATA *ch, CHAR_DATA *tch);
void ready_melee_weapons (CHAR_DATA *ch);
int get_stat_range (int score);
void reformat_say_string (char *source, char **target);
void alarm_update(void);
void reset_itimer(void);
void alarm_handler (int signo);
void init_alarm_handler(void);
void temproom (CHAR_DATA *ch, int type);
char *char_short (CHAR_DATA *c);
char *char_names (CHAR_DATA *ch);
char *char_long (CHAR_DATA *c, int show_tname);
void combat_round (void);
void write_object (DESCRIPTOR_DATA *d);
void write_obj_data_mysql (OBJ_DATA *obj, char *wc, int pos, int objstack);
void scribe (int new_message, int virtual, char *author, char *date, char *message, long flags);
void wear_off_message (CHAR_DATA *ch, CHARM_DATA *ench);
char *show_charm (CHARM_DATA *charm);
int general_damage (CHAR_DATA *ch, int amount);
void initialize_weather_zones (void);
int wound_to_char (CHAR_DATA *ch, char *location, int damage, int type, int bleeding, int poison, int infection);
char *downsized_wound (CHAR_DATA *ch, WOUND_DATA *wound);
void heal_all_wounds (CHAR_DATA *ch);
void lodge_from_char (CHAR_DATA *ch, LODGED_OBJECT_INFO *lodged);
void lodge_from_obj (OBJ_DATA *obj, LODGED_OBJECT_INFO *lodged);
void wound_from_char (CHAR_DATA *ch, WOUND_DATA *wound);
void wound_from_obj (OBJ_DATA *obj, WOUND_DATA *wound);
char *expand_wound_loc (char *location);
char *show_wounds (CHAR_DATA *ch, int mode);
char *show_damage (OBJ_DATA *obj);
char *figure_location (CHAR_DATA *tar, int location);
char *wound_total (CHAR_DATA *ch);
void make_quiet(CHAR_DATA *ch);
void close_socket(struct descriptor_data *d);
int str_cmp(char *arg1, char *arg2);
int cmp_strn(char *arg1, char *arg2, int n);
void send_email (ACCOUNT_DATA *account, char *cc, char *from, char *subject, char *message);
void send_to_gods(char *messg);
void send_to_imms(char *messg);
int is_yours (char *name, char *account);
int is_being_reviewed (char *name, char *account);
int is_guide (char *username);
int is_newbie (CHAR_DATA *ch);
void send_outside (char *message);
void send_outside_zone (char *message, int zone);

#ifndef MACOSX
int MAX(int a, int b);
int MIN(int a, int b);
#endif

int dice(int number, int size);
char *timestr (char *date);
struct time_info_data age(CHAR_DATA *ch);
void reload_roles (void);
void get_damage (CHAR_DATA *ch, CHAR_DATA *victim, int *dam,
  int attack_num, int *location);
void affect_modify (CHAR_DATA *ch, int type, int loc, int mod, int bitv,
  int add, int sn);
int get_damage_total (CHAR_DATA *ch);
void affect_to_char( CHAR_DATA *ch, struct affected_type *af );
void affect_remove( CHAR_DATA *ch, struct affected_type *af );
void affect_join( CHAR_DATA *ch, struct affected_type *af, bool avg_dur, bool avg_mod );
OBJ_DATA *create_money( int amount );
int vnpc_customer (CHAR_DATA *keeper, int purse);
void refresh_colors (CHAR_DATA *keeper);
void money_to_storeroom (CHAR_DATA *keeper, int amount);
int name_is(char *str, char *namelist);
char *fname(char *namelist);
char *fname_hyphen(char *namelist);
void obj_to_char (OBJ_DATA *obj, CHAR_DATA *ch);
void obj_from_char (OBJ_DATA **obj, int count);
void equip_char(CHAR_DATA *ch, OBJ_DATA *obj, int pos);
OBJ_DATA *unequip_char(CHAR_DATA *ch, int pos);
OBJ_DATA *get_carried_item (CHAR_DATA *ch, int item_type);
OBJ_DATA *get_obj_in_list(char *name, OBJ_DATA *list);
OBJ_DATA *get_obj_in_list_num (int num, OBJ_DATA *list);
OBJ_DATA *get_obj(char *name);
void obj_to_room (OBJ_DATA *obj, int room);
void obj_from_room (OBJ_DATA **obj, int count);
void obj_to_obj (OBJ_DATA *obj, OBJ_DATA *container);
void obj_from_obj (OBJ_DATA **obj, int count);
void object_list_new_owner (OBJ_DATA *list, CHAR_DATA *ch);
void extract_obj (OBJ_DATA *obj);
void starting_skill_boost (CHAR_DATA *ch, int skill);
void setup_new_character (CHAR_DATA *tch);
void npc_archery_retaliation (CHAR_DATA *target, CHAR_DATA *ch);
int has_been_sighted (CHAR_DATA *ch, CHAR_DATA *target);
int can_obj_to_container (OBJ_DATA *obj, OBJ_DATA *container, char **msg, int count);
CHAR_DATA *is_switched (CHAR_DATA *ch);
CHAR_DATA *get_mob_vnum(int virtual);
CHAR_DATA *get_char_id (int coldload_id);
OBJ_DATA *get_obj_id (int coldload_id);
OBJ_DATA *get_obj_in_list_id (int coldload_id, OBJ_DATA *list);
CHAR_DATA *get_char_room(char *name, int room);
CHAR_DATA *get_char(char *name);
CHAR_DATA *get_char_nomask (char *name);
void char_from_room(CHAR_DATA *ch);
void char_to_room(CHAR_DATA *ch, int room);
CHAR_DATA *get_char_room_vis(CHAR_DATA *ch, char *name);
CHAR_DATA *get_char_room_vis2(CHAR_DATA *ch, int vnum, char *name);
CHAR_DATA *get_char_vis(CHAR_DATA *ch, char *name);
void soma_ten_second_affect(CHAR_DATA *ch, AFFECTED_TYPE *af);
void soma_rl_minute_affect(CHAR_DATA *ch, AFFECTED_TYPE *af);
OBJ_DATA *get_obj_in_list_vis(CHAR_DATA *ch, char *name, OBJ_DATA *list);
OBJ_DATA *get_obj_vis(CHAR_DATA *ch, char *name);
void extract_char(CHAR_DATA *ch);
int generic_find(char *arg, int bitvector, CHAR_DATA *ch, CHAR_DATA **tar_ch, OBJ_DATA **tar_obj);

void clear_pmote(CHAR_DATA *ch);
void clear_omote(OBJ_DATA *obj);
void clear_voice(CHAR_DATA *ch);
int drowned (CHAR_DATA *ch);
void clear_travel(CHAR_DATA *ch); /* act.comm.c */

void boot_crafts (void);
void insert_string_variables (OBJ_DATA *new_obj, OBJ_DATA *proto, char *string);
void boot_db (void);
void delayed_remove (CHAR_DATA *ch);
void reg_read_crafts (FILE *fp_reg, char *buf);
void boot_mobiles (void);
void boot_mobprogs (void);
void boot_objects (void);
void boot_recipe (void);

void copyover_recovery (void);
int is_direction (char *argument);
void vote_notifications (void);
void update_website_statistics (void);
void update_crafts_database (void);

int mysql_safe_query (char *fmt, ...);
char *expand_wound_loc (char *location);
int number(int from, int to);
void hunger_thirst_process (CHAR_DATA *ch);
void add_shop (int vnum);
void save_shop(FILE *fs, int vnum);
void reset_zone(int zone);
int hit_gain (CHAR_DATA *ch, int poisons_only);
int move_gain (CHAR_DATA *ch);
void sprinttype(int type, char *names, char *result);
void list_all_crafts (CHAR_DATA *ch);
void display_craft (CHAR_DATA *ch, SUBCRAFT_HEAD_DATA *craft);
int craft_uses (SUBCRAFT_HEAD_DATA *craft, int vnum);
void sprintbit(long vektor, char *names[], char *result);
int rnum_to_znum (int rnum, int zonesize);
void hit_char (CHAR_DATA *ch, CHAR_DATA *victim, int smite_parm);
void stop_fighting(CHAR_DATA *ch);
void renum_zone_table(void);
void update_room_tracks (void);
void update_pos(CHAR_DATA *victim);
void update_char_objects(CHAR_DATA *ch);
int is_number(char *str);
int do_simple_move(CHAR_DATA *ch, int dir, int following, int falling, int speed);
void raw_kill(CHAR_DATA *ch);
OBJ_DATA *get_object_in_equip_vis(CHAR_DATA *ch, char *arg, OBJ_DATA *equipment, int *j);
void gain_condition(CHAR_DATA *ch, int condition, int value);
void evade_attacker (CHAR_DATA *ch, int dir);
void refresh_map (void);
void page_string(struct descriptor_data *d, char *str);
int save_rooms (CHAR_DATA *ch, int zone);
void arg_splitter(int argc, char *fmt, ...);
ROOM_DATA *allocate_room (int virtual);
void stop_follower(CHAR_DATA *ch);

void perform_pfile_update (CHAR_DATA *ch);
int is_abbrev(char *arg1, char *arg2);
void free_obj(OBJ_DATA *obj);
int search_block(char *arg, char **list, bool exact);
int r_program(CHAR_DATA *ch, char *argument);
void add_memory(CHAR_DATA *add, CHAR_DATA *mob);
bool get_obj_in_equip_num(CHAR_DATA *ch, long vnum);
void spitstat (CHAR_DATA *ch, DESCRIPTOR_DATA *recipient);
void save_char_objs(CHAR_DATA *ch, char *name);
void spellcheck (CHAR_DATA *ch, char *description);
void criminalize (CHAR_DATA *ch, CHAR_DATA *vict, int zone, int penalty_time);
int skill_use (CHAR_DATA *ch, int skill, int diff_mod);
int curve (int number);
int figure_wound_skillcheck_penalties (CHAR_DATA *ch, int skill_lev);
void add_mob_to_hash (CHAR_DATA *add_mob);
void add_obj_to_hash (OBJ_DATA *add_obj);
ROOM_DATA *vtor (int virtual);
OBJ_DATA *vtoo (int virtual);
CHAR_DATA *vtom (int virtual);
AFFECTED_TYPE *is_crafting (CHAR_DATA *ch);
void randomize_mobile (CHAR_DATA *mob);
CHAR_DATA *load_mobile (int virtual);
OBJ_DATA *load_object (int virtual);
void soma_stat (CHAR_DATA *ch, AFFECTED_TYPE *af);
OBJ_DATA *load_colored_object (int virtual, char *string);
CHAR_DATA *fread_mobile (int vnum, int zone, FILE *fp);
OBJ_DATA *fread_object (int vnum, int zone, FILE *fp);
void death_email (CHAR_DATA *ch);
int index_lookup (char **index, char *lookup);
int skill_index_lookup (char *lookup);
int check_climb (CHAR_DATA *ch);
void archive_log (int log_type);
void create_menu_options (DESCRIPTOR_DATA *d);
MYSQL_RES *mysql_player_search (int search_type, char *string);
CHAR_DATA *load_char (CHAR_DATA *ch, char *buf);
CHAR_DATA *load_char_mysql (char *name);
int save_char (CHAR_DATA *ch, int save_objs);
void save_char_mysql (CHAR_DATA *ch);
int mem_free (malloc_t ptr);
AFFECTED_TYPE *is_room_affected (AFFECTED_TYPE *af, int type);
void room_update (void);
void learn_circles_spells (CHAR_DATA *target, CHAR_DATA *ch);
int lookup_value (char *string, int reg_index);
AFFECTED_TYPE *get_affect (CHAR_DATA *ch, int spell);


int swimming_check (CHAR_DATA *ch);
char *lookup_string (int value, int reg_index);
void set_hobbitmail_flags(int id, int flags);
void setup_registry (void);
void free_registry (void);
void nanny_create_guest (DESCRIPTOR_DATA *d, char *argument);
struct time_info_data real_time_passed (time_t t2, time_t t1);
int calc_lookup (CHAR_DATA *ch, int index, int entry);
int damage (CHAR_DATA *ch, CHAR_DATA *victim, int dam,
  int attacktype);
void setup_new_account (ACCOUNT_DATA *account);
void mobile_routines (int pulse);
int is_enchanted (CHAR_DATA *ch, char *charm_name);
int smite (CHAR_DATA *src, CHAR_DATA *tar, int attack_num);
int is_threat (CHAR_DATA *ch, CHAR_DATA *tch);
void add_threat (CHAR_DATA *victim, CHAR_DATA *threat, int amount);
void show_char_to_char (CHAR_DATA *i, CHAR_DATA *ch, int mode);
OBJ_DATA *get_equip (CHAR_DATA *ch, int location);
void combine_money_inv (OBJ_DATA *source, CHAR_DATA *ch);
void combine_money_obj (OBJ_DATA *source, OBJ_DATA *container, CHAR_DATA *ch);
void show_waiting_prisoners (CHAR_DATA *ch);
void notify_captors (CHAR_DATA *ch);
int is_in_cell (CHAR_DATA *ch, int zone);
void ready_melee_weapon (CHAR_DATA *ch);
void unready_bow (CHAR_DATA *ch);
void create_guest_avatar (DESCRIPTOR_DATA *d);
int can_handle (OBJ_DATA *obj, CHAR_DATA *ch);
int just_a_number (char *buf);
void stop_counting (CHAR_DATA *ch);
int can_obj_to_inv (OBJ_DATA *obj, CHAR_DATA *ch, int *error,int count);
char *encrypt_buf (char *buf);
void free_lodged (LODGED_OBJECT_INFO *lodged);
void free_wound (WOUND_DATA *wound);
void free_char (CHAR_DATA *ch);
void free_descriptor (DESCRIPTOR_DATA *d);
void free_account (ACCOUNT_DATA *account);
OBJ_DATA *find_dwelling_obj (int dwelling_room);
ROOM_DATA *generate_dwelling_room (OBJ_DATA *dwelling);
void add_room_affect (AFFECTED_TYPE **af, int type, int duration);
void cleanup_the_dead (int mode);
void subtract_keeper_money (CHAR_DATA *keeper, int cost);
int calculate_missile_result (CHAR_DATA *ch, int ch_skill, int att_modifier, CHAR_DATA *target, int def_modifier, OBJ_DATA *weapon, OBJ_DATA *missile, AFFECTED_TYPE *spell, int *location, float *damage);
int projectile_shield_block (CHAR_DATA *ch, int result);
char *time_string(CHAR_DATA *ch);
void insert_newsletter_into_website (int timestamp, char *newsletter);
void update_website(void);
void check_maintenance(void);
void unban_site (SITE_INFO *site);
void disconnect_banned_hosts(void);
void ban_host (char *host, char *banned_by, int length);
void list_validate (char *name);
int unused_writing_id (void);
int remove_room_affect (ROOM_DATA *room, int type);
void act_black_curse (CHAR_DATA *ch);
void print_mem_stats (CHAR_DATA *ch);
void init_memory (void);
char *get_mem (int size);
char *add_hash (char *string);
void save_hobbitmail_message (ACCOUNT_DATA *account, MUDMAIL_DATA *message);
char *str_dup (char *string);
void process_reviews (void);
PHASE_DATA *new_phase (void);
CHAR_DATA *new_char (int pc_type);
OBJ_DATA *new_object (void);
void add_follower (CHAR_DATA *ch, CHAR_DATA *leader);
int attempt_disarm (CHAR_DATA *ch, CHAR_DATA *victim);
void forget (CHAR_DATA *ch, CHAR_DATA *foe);
void sort_int_array (int *array, int entries);
int redefine_mobiles (CHAR_DATA *proto);
AFFECTED_TYPE *get_obj_affect (OBJ_DATA *obj, int type);
void intialize_new_spawnpoints (int zone, int reset_cmd);
AFFECTED_TYPE *get_obj_affect_location (OBJ_DATA *obj, int location);
void remove_obj_affect (OBJ_DATA *obj, int type);
void remove_obj_affect_location (OBJ_DATA *obj, int location);
void affect_to_obj (OBJ_DATA *obj, AFFECTED_TYPE *af);
void process_queued_reviews (void);
char *colnum_to_color (int colnum);
char *colorize (char *source, char *target, DESCRIPTOR_DATA *d);
int trigger (CHAR_DATA *ch, char *argument, int trigger);
void trigger_say (CHAR_DATA *ch, CHAR_DATA *mob, char *prog, char *arg);
void hourly_update (void);
void traslate_it (int num);
OBJ_DATA *get_obj_in_dark (CHAR_DATA *ch, char *name, OBJ_DATA *list);
char getall (char *name, char *newname);
void define_variable (CHAR_DATA *mob, MOBPROG_DATA *program, char *argument);
VAR_DATA *setvar (CHAR_DATA *mob, char *var_name, int value, int type);
VAR_DATA *getvar (CHAR_DATA *mob, char *var_name);
int mp_eval_eq (CHAR_DATA *mob, char **equation);
FILE *open_and_rename (CHAR_DATA *ch, char *name, int zone);
int weaken (CHAR_DATA *victim, int hits, int moves, char *log_msg);
void save_writing (OBJ_DATA *obj);
void load_writing (OBJ_DATA *obj);
void load_all_writing (void);
void save_player_rooms (void);
void load_save_rooms (void);
void load_save_room (ROOM_DATA *room);
void load_mysql_save_rooms (void);
void save_account (ACCOUNT_DATA *account);
ACCOUNT_DATA *load_account (char *argument);
void save_banned_sites (void);
void save_roles (void);
void save_stayput_mobiles (void);
void load_stayput_mobiles (void);
void update_race_rpp_data (void);
void save_reboot_mobiles (void);
void load_reboot_mobiles (void);
void lodge_missile (CHAR_DATA *target, OBJ_DATA *ammo, char *smite_location);
void stock_new_deliveries (void);
void save_tracks (void);
void load_tracks (void);
void load_leantos (void);
void load_online_stats (void);
int is_circle_spell (CHAR_DATA *ch, char *spell_name);
void nullify_affects (CHAR_DATA *ch);
void reapply_affects (CHAR_DATA *ch);
int real_skill (CHAR_DATA *ch, int skill);
int is_in_room (CHAR_DATA *ch, CHAR_DATA *target);
void write_to_q (char *txt, struct txt_q *queue);
void get_break_delay (CHAR_DATA *ch);
void command_interpreter (CHAR_DATA *ch, char *argument);
void argument_interpreter (char *argument, char *first_arg, char *second_arg);
char *one_argument (char *argument,char *first_arg);
int fill_word (char *argument);
void half_chop (char *string, char *arg1, char *arg2);
void nanny (DESCRIPTOR_DATA *d, char *arg);
void check_psionic_talents (CHAR_DATA *ch);
int social (CHAR_DATA *ch, char *argument);
void checkpointing (int);
void shutdown_request (int);
void logsig (int);
void hupsig (int);
void sigsegv (int);
void sigchld (int);
void sigabrt (int);
void add_room_to_hash (ROOM_DATA *add_room);
int create_entry (char *name);
void zone_update (void);
void clear_char (CHAR_DATA *ch);
void clear_object (OBJ_DATA *obj);
char *read_string (char *string);
char *fread_string (FILE *fl);
char *fread_word (FILE *fl);
void load_boards (void);
int add_registry (int reg_index, int value, char *string);
void write_board_list (void);
BOARD_DATA *board_lookup (char *name);
void add_message (char *name, int msg_type, char *poster,
  char *date, char *subject, char *info, char *message,
  long flags);
void add_char (char *buf, char c);
void add_board (int level, char *name, char *title);
void send_to_all (char *message);
void send_to_all_unf (char *message);
void send_to_char (char *message, CHAR_DATA *ch);
void send_to_room(char *message, int room_num);
void send_to_room_unf(char *message, int room_num);

void mark_as_read (CHAR_DATA *ch, int number);
int adjust_wound (CHAR_DATA *ch, WOUND_DATA *wound, int amount);
MESSAGE_DATA *load_mysql_message (char *msg_name, int board_type, int msg_number);
int erase_mysql_board_post (CHAR_DATA *ch, char *name, int board_type, char *argument);
int get_mysql_board_listing (CHAR_DATA *ch, int board_type, char *name);
void add_message_to_mysql_vboard (char *name, char *poster, MESSAGE_DATA *message);
void add_message_to_mysql_player_notes (char *name, char *poster, MESSAGE_DATA *message);

void act (char *str, int hide_invisible, CHAR_DATA *ch, OBJ_DATA *obj,
  void *vict_obj, int type);
int write_to_descriptor (DESCRIPTOR_DATA *d, char *txt);
CHAR_DATA *try_load_char (char *name);
void dream (CHAR_DATA *ch);
void awaken_break_delay (CHAR_DATA *ch);
int is_he_here (CHAR_DATA *ch, CHAR_DATA *he, int check);
int is_he_somewhere (CHAR_DATA *he);
void post_greater (DESCRIPTOR_DATA *d);
void post_dream (DESCRIPTOR_DATA *d);
void post_lesser (DESCRIPTOR_DATA *d);
void post_prescience (DESCRIPTOR_DATA *d);
void post_mset (DESCRIPTOR_DATA *d);
void post_track_response (DESCRIPTOR_DATA *d);
void post_oset (DESCRIPTOR_DATA *d);
void post_to_mysql_virtual_board (DESCRIPTOR_DATA *d);
void post_to_mysql_player_board (DESCRIPTOR_DATA *d);
void post_to_mysql_journal (DESCRIPTOR_DATA *d);
void post_to_mysql_board (DESCRIPTOR_DATA *d);
void post_message (DESCRIPTOR_DATA *d);
void sense_activity (CHAR_DATA *user, int talent);

void check_idlers (void);
void check_linkdead (void);
void delayed_trigger_activity (void);
void delayed_ooc (CHAR_DATA *ch);
void delayed_track (CHAR_DATA *ch);
void delayed_load (CHAR_DATA *ch);
void delayed_alert (CHAR_DATA *ch);
void delayed_awaken (CHAR_DATA *ch);
void delayed_bind (CHAR_DATA *ch);
void delayed_bolt (CHAR_DATA *ch);
void delayed_combine (CHAR_DATA *ch);
void delayed_camp1 (CHAR_DATA *ch);
void delayed_camp2 (CHAR_DATA *ch);
void delayed_camp3 (CHAR_DATA *ch);
void delayed_camp4 (CHAR_DATA *ch);
void delayed_count_coin (CHAR_DATA *ch);
void delayed_forage (CHAR_DATA *ch);
void delayed_forage_seek (CHAR_DATA *ch);
void delayed_gather (CHAR_DATA *ch);
void delayed_get (CHAR_DATA *ch);
void delayed_heal (CHAR_DATA *ch);
void delayed_hide (CHAR_DATA *ch);
void delayed_hide_obj (CHAR_DATA *ch);
void delayed_identify (CHAR_DATA *ch);
void delayed_join_faith (CHAR_DATA *ch);
void delayed_quick_scan (CHAR_DATA *ch);
void delayed_pick (CHAR_DATA *ch);
void delayed_pick_obj (CHAR_DATA *ch);
void delayed_putchar (CHAR_DATA *ch);
void delayed_scan (CHAR_DATA *ch);
void delayed_search (CHAR_DATA *ch);
void delayed_skin (CHAR_DATA *ch);
void delayed_study (CHAR_DATA *ch);
void delayed_take (CHAR_DATA *ch);
void delayed_whap (CHAR_DATA *ch);
void delayed_worship (CHAR_DATA *ch);

int track_room (ROOM_DATA *from_room, int to_room);
int track (CHAR_DATA *ch, int to_room);
int release_prisoner (CHAR_DATA *ch, CHAR_DATA *target);
void name_to_ident (CHAR_DATA *ch, char *buf);
void figure_damage (CHAR_DATA *src, CHAR_DATA *tar,
   OBJ_DATA *attack_weapon, int off_result,
   int *damage, int *location);
void combat_results (CHAR_DATA *src, CHAR_DATA *tar, OBJ_DATA *attack_weapon,
  OBJ_DATA *defense_weapon, OBJ_DATA *broken_eq, int damage, char *location,
  int off_result, int def_result, int attack_num,
  char *fd, int off_success, int def_success);
void fix_offense (CHAR_DATA *ch);
void add_second_affect (int type, int seconds, CHAR_DATA *ch,
   OBJ_DATA *obj, char *info, int info2);
void second_affect_update (void);
void hour_affect_update (void);
int add_to_list (ROOM_DATA **list, ROOM_DATA *start_room, int *elements);
void get_room_list (int radius, ROOM_DATA *base_room, ROOM_DATA **near_rooms, int *num_rooms);
void wolf_howl (CHAR_DATA *ch);
void show_contents (CHAR_DATA *ch, int cmd);

  
int find_door (CHAR_DATA *ch, char *type, char *dir);
char *get_profession_name (int prof_id);
void add_profession_skills (CHAR_DATA *ch, char *skill_list);
int has_required_crafting_skills (CHAR_DATA *ch, SUBCRAFT_HEAD_DATA *craft);
int is_opening_craft (CHAR_DATA *ch, SUBCRAFT_HEAD_DATA *craft);
OBJ_DATA *has_key (CHAR_DATA *ch, OBJ_DATA *obj, int key);
int is_brother (CHAR_DATA *ch, CHAR_DATA *tch);
void refresh_zone (void);
int is_leader (CHAR_DATA *src, CHAR_DATA *tar);
void invite_accept (CHAR_DATA *ch, char *argument);
void tashal_prisoner_release (CHAR_DATA *ch);
malloc_t get_perm (int size);
int flee_attempt (CHAR_DATA *ch);
SECOND_AFFECT *get_second_affect (CHAR_DATA *ch, int type, OBJ_DATA *obj);
void remove_second_affect (SECOND_AFFECT *sa);
void map_next_step (CHAR_DATA *ch);
void open_skill (CHAR_DATA *ch, int skill);
int get_trust (CHAR_DATA *ch);
int real_trust (CHAR_DATA *ch);
int is_obj_here (CHAR_DATA *ch, OBJ_DATA *obj, int check);
void jailer_func (CHAR_DATA *ch);
void coronan_arena_check (CHAR_DATA *victim);
void reformat_string (char *source, char **target);
CHAR_DATA *get_pc (char *buf);
CHAR_DATA *load_pc (char *buf);
void unload_pc (CHAR_DATA *ch);
void pc_to_game (CHAR_DATA *ch);
void create_menu_actions (DESCRIPTOR_DATA *d, char *arg);
void attribute_priorities (DESCRIPTOR_DATA *d, char *arg);
void sex_selection (DESCRIPTOR_DATA *d, char *arg);
void race_selection (DESCRIPTOR_DATA *d, char *arg);
void skill_selection (DESCRIPTOR_DATA *d, char *argument);
void skill_display (DESCRIPTOR_DATA *d);
char *read_a_line (FILE *fp);
MESSAGE_DATA *load_message (char *msg_name, int pc_message, int msg_number);
void unload_message (MESSAGE_DATA *message);
void scary_dream (CHAR_DATA *ch);
OBJ_DATA *get_item_obj (CHAR_DATA *ch, DEFAULT_ITEM_DATA *item, PHASE_DATA *phase);
int is_dark (ROOM_DATA *room);
void reformat_desc (char *s, char **t);
void process_quarter_events (void);
int is_he_there (CHAR_DATA *ch, ROOM_DATA *room);
void damage_to_obj (OBJ_DATA *obj, int impact, int type);
void initiate_move (CHAR_DATA *ch);
void clear_moves (CHAR_DATA *ch);
void stop_followers (CHAR_DATA *ch);
void followers_follow (CHAR_DATA *ch, int dir, int leave_time,
   int arrive_time);
void save_mud_time (time_t game_time);
void load_common_knowledge (void);
void intialize_weather_zones (void);
void follower_catchup (CHAR_DATA *ch);
int combat_roll (int ability);
int clear_current_move (CHAR_DATA *ch);
int spell_chill_touch (CHAR_DATA *ch, CHAR_DATA *victim, int sn);
void weight_change_object (OBJ_DATA *obj, int weight);
int is_blind (CHAR_DATA *ch);
int wakeup (CHAR_DATA *ch);
void remove_object_affect (OBJ_DATA *obj, AFFECTED_TYPE *af);
int eval_att_eq (CHAR_DATA *ch, char **equation);
void knock_out (CHAR_DATA *ch, int seconds);
CHAR_DATA *being_dragged (CHAR_DATA *ch);
void update_crafts (CHAR_DATA *ch);
int keeper_makes (CHAR_DATA *keeper, int ovnum);
int keeper_uses_currency_type (int currency_type, OBJ_DATA *obj);
int get_size (CHAR_DATA *ch);
int get_weight (CHAR_DATA *ch);
DESCRIPTOR_DATA *is_pc_attached (char *buf);
int is_mounted (CHAR_DATA *ch);
void rl_minute_affect_update (void);
int race_lookup (char *buf);
void clear_watch (CHAR_DATA *ch);
void show_unread_messages (CHAR_DATA *ch);
void show_string (DESCRIPTOR_DATA *d, char *input);
char *file_to_string (char *name);
void check_memory (void);
OBJ_DATA *get_bow (CHAR_DATA *ch);
int is_obj_in_list (OBJ_DATA *obj, OBJ_DATA *list);
int is_restricted_skill (CHAR_DATA *ch, int skill);
int is_restricted_profession (CHAR_DATA *ch, char *skill_list);
int add_msg_to_board (char *board_name, int board_type,
   MESSAGE_DATA *message, int virtual);
void release_nonplaying_pc (CHAR_DATA *ch);
void release_pc (CHAR_DATA *ch);
void hitches_follow (CHAR_DATA *ch, int dir, int leave_time,
  int arrive_time);
void dump_rider (CHAR_DATA *rider, int forced);
CHAR_DATA *load_saved_mobiles (CHAR_DATA *ch, char *name);
void save_mobile (CHAR_DATA *mob, FILE *fp, char *save_reason,
  int extract);
void save_attached_mobiles (CHAR_DATA *ch, int extract);
CHAR_DATA *load_a_saved_mobile (int virtual, FILE *fp, bool stable);
int hitch_char (CHAR_DATA *ch, CHAR_DATA *hitch);
void load_rooms (void);
void job_add_affect (CHAR_DATA *ch, int type, int days, int pay_date,
  int cash, int count, int object_vnum, int employer);
AFFECTED_TYPE *get_obj_affect_type (OBJ_DATA *obj, int type);
void aggressive_follow (CHAR_DATA *ch);
CHAR_DATA *is_following (CHAR_DATA *ch);
CHAR_DATA *is_guarded (CHAR_DATA *victim, CHAR_DATA *criminal);
void sa_rescue (SECOND_AFFECT *sa);
int decipher_speakign (CHAR_DATA *ch, int skillnum, int skill);
int rescue_attempt (CHAR_DATA *ch, CHAR_DATA *friend);
int is_archer (CHAR_DATA *ch);
int charge_archer (CHAR_DATA *ch, CHAR_DATA *archer);
int morale_broken (CHAR_DATA *ch);
int survival_routine (CHAR_DATA *ch);
void attacker_from_char (CHAR_DATA *ch, ATTACKER_DATA *att);
void threat_from_char (CHAR_DATA *ch, THREAT_DATA *att);
void remove_attacker (CHAR_DATA *ch, CHAR_DATA *threat);
void guard_check (CHAR_DATA *victim);
OBJ_DATA *is_at_table (CHAR_DATA *ch, OBJ_DATA *table);
void print_bit_map (void);
void set_bit (int bit_no);
void reset_bit (int bit_no);
int is_bit_set (int bit_no);
void clear_bits (void);
int whisper_it (CHAR_DATA *ch, int skill, char *source, char *target);
int sleep_needed_in_seconds (CHAR_DATA *ch);
void sleep_credit (CHAR_DATA *ch);
void sleep_need (CHAR_DATA *ch);
int would_reveal (CHAR_DATA *ch);
void shadowers_shadow (CHAR_DATA *ch, int to_room, int move_dir);
int could_see (CHAR_DATA *ch, CHAR_DATA *target);
void craft_command (CHAR_DATA *ch, char *command_args,
   AFFECTED_TYPE *craft_affect);
AFFECTED_TYPE *is_craft_command (CHAR_DATA *ch, char *argument);
void activate_phase (CHAR_DATA *ch, AFFECTED_TYPE *af);
char *obj_short_desc (OBJ_DATA *obj);
char *obj_desc (OBJ_DATA *obj);
OBJ_DATA *split_obj (OBJ_DATA *obj, int count);
void ten_second_update (void);
char *get_line (char **buf, char *ret_buf);
ALIAS_DATA *is_alias (CHAR_DATA *ch, char *argument);
void alias_free (ALIAS_DATA *alias);
void update_weapon_skills (OBJ_DATA *obj);
void missing_item_msg (CHAR_DATA *ch, DEFAULT_ITEM_DATA *item,
   char *header);

void  web_reply (DESCRIPTOR_DATA *d, char *reply, char *message);
void web_verify_logon (DESCRIPTOR_DATA *d, char *argument);
void web_process (DESCRIPTOR_DATA *d, char *argument);
void web_send_craft (DESCRIPTOR_DATA *d, char *argument);
void web_send_craft_list (DESCRIPTOR_DATA *d);
void web_process_input (DESCRIPTOR_DATA *d);

int check_password (char *pass, char *encrypted);
char *generate_password (int argc, char ** argv);
void web_send_room (DESCRIPTOR_DATA *d, int room_num);
int can_move (CHAR_DATA *ch);
void magic_add_delayed_affect (CHAR_DATA *victim, int sn, int delay,
    int duration, int power);
int magic_add_affect (CHAR_DATA *ch, int type, int duration, int modifier,
					  int location, int bitvector, int sn);
void rl_minute_delayed_affects (void);
int enforcer (CHAR_DATA *ch, CHAR_DATA *crim, int will_act,
  int witness);
void offline_healing (CHAR_DATA *ch, int since);
int is_hooded (CHAR_DATA *ch);
void add_criminal_time (CHAR_DATA *ch, int zone, int penalty_time);
void remove_affect_type (CHAR_DATA *ch, int type);
int could_see_obj (CHAR_DATA *ch, OBJ_DATA *obj);
OBJ_DATA *get_obj_in_list_vis_not_money (CHAR_DATA *ch, char *name,
   OBJ_DATA *list);
void init_mysql (void);
void refresh_db_connection (void);
void reload_sitebans (void);
void reload_mob_resets (void);
void target_sighted (CHAR_DATA *ch, CHAR_DATA *target);
void system_log (char *str, bool error);
void player_log (CHAR_DATA *ch, char *command, char *str);
void weather_and_time(int mode);
void autosave (void);
void autosave_stayputs (void);
void update_delays(void);
void newbie_hints (void);
void set_fighting(struct char_data *ch, struct char_data *vict);
void die(struct char_data *ch);
void die_follower(struct char_data *ch);
void break_delay(struct char_data *ch);
void equip_newbie (CHAR_DATA *ch);
int load_char_objs(struct char_data *ch, char *name);
void read_obj_suppliment (struct char_data *ch, FILE *fp);
void write_obj_suppliment (struct char_data *ch, FILE *fp);
void unstable (CHAR_DATA *ch, OBJ_DATA *ticket, CHAR_DATA *keeper);
int apply_affect (CHAR_DATA *ch, int sn, int duration, int power);
void craft_prepare_message (CHAR_DATA *ch, char *message, CHAR_DATA *n,
    CHAR_DATA *N, CHAR_DATA *T, char *phase_msg,
   OBJ_DATA *tool, OBJ_DATA **obj_list);
int odds_sqrt (int percent);
void room_light (ROOM_DATA *room);
CHAR_DATA *next_random (int *id);
CHAR_DATA *random_chars (CHAR_DATA *char_head, int *id);
void free_random_char (int *id);
void activate_resets (CHAR_DATA *ch);
int get_stink_message (CHAR_DATA *ch, ROOM_DATA *room, char *stink_buf,
   CHAR_DATA *smeller);
int can_see_obj (CHAR_DATA *ch, OBJ_DATA *obj);
void room_affect_wearoff (ROOM_DATA *room, int type);
void reset_insert (CHAR_DATA *ch, RESET_DATA *reset);
int is_true_brother (CHAR_DATA *ch, CHAR_DATA *tch);
void m (void);
void mm (char *msg);
void stop_tolls (CHAR_DATA *ch);
int is_human (CHAR_DATA *ch);
int is_toll_paid (CHAR_DATA *ch, int dir);
CHAR_DATA *levy_collector (ROOM_DATA *room, int dir);
void write_stats (void);
int is_same_zone (int zone1, int zone2);
TEXT_DATA *add_text (TEXT_DATA **list, char *filename, char *document_name);
void edit_string (DESCRIPTOR_DATA *d, char *argument);
void save_document (CHAR_DATA *ch, char *document_name);
HELP_DATA *load_help_file (FILE *fp);
void load_help (void);
void load_bhelp (void);
HELP_DATA *is_help (HELP_DATA *list, char *topic);
void write_help (char *filename, HELP_DATA *list);
int doc_parse (CHAR_DATA *ch, char *argument, char **start, int *length,
  int *start_line, int *doc_type);
char *get_text_buffer (CHAR_DATA *ch, TEXT_DATA *list, char *text_name);
TEXT_DATA *find_text (TEXT_DATA *list, char *buf);
void load_documents (void);
void write_text (CHAR_DATA *ch, TEXT_DATA *text);
HELP_DATA *add_help_topics (CHAR_DATA *ch, HELP_DATA **list, char *argument);
void delete_help_topics (CHAR_DATA *ch, HELP_DATA **list,
  char *argument);
int get_next_coldload_id (int for_a_pc);
void load_clan_registry (void);
char *get_shared_clan (CHAR_DATA *ch, CHAR_DATA *other);
void add_clan_id (CHAR_DATA *ch, char *clan_name, char *clan_flags);
void add_clan_id_string (char *string, char *clan_name, char *clan_flags);
int get_clan (CHAR_DATA *ch, char *clan, int *clan_flags);
int get_clan_in_string (char *string, char *clan, int *clan_flags);
int get_next_clan (char **p, char *clan_name, int *clan_flags);
void add_clan (CHAR_DATA *ch, char *new_clan_name, int clan_flags);
char *add_clan_to_string (char *string, char *new_clan_name, int clan_flags);
void remove_clan (CHAR_DATA *ch, char *old_clan_name);
char *remove_clan_from_string (char *string, char *old_clan_name);
char *value_to_clan_flags (int flags);
int clan_flags_to_value (char *flag_names);
char *display_clan_ranks (CHAR_DATA *ch, CHAR_DATA *observer);
int get_next_leader (char **p, char *clan_name, int *clan_flags);
int is_area_enforcer (CHAR_DATA *ch);
int is_area_leader (CHAR_DATA *ch);
char *get_clan_rank_name (int flags);
CLAN_DATA *get_clandef (char *clan_name);
CLAN_DATA *get_clandef_long (char *clan_long_name);
int is_clan_member (CHAR_DATA *ch, char *clan_name);
void clan_object_equip (CHAR_DATA *ch, OBJ_DATA *obj);
void clan_object_unequip (CHAR_DATA *ch, OBJ_DATA *obj);
int is_clan_member_player (CHAR_DATA *ch, char *clan_name);
int get_clan_long (CHAR_DATA *ch, char *clan_name, int *clan_flags);
int get_clan_long_short (CHAR_DATA *ch, char *clan_name,
   int *clan_flags);
int can_subtract_money (CHAR_DATA *ch, int coppers_to_subtract, int currency_type);
void subtract_money (CHAR_DATA *ch, int coppers_to_subtract, int currency_type);
int redefine_objects (OBJ_DATA *proto);
float econ_markup (CHAR_DATA *keeper, OBJ_DATA *obj);
float econ_discount (CHAR_DATA *keeper, OBJ_DATA *obj);
int make_change(int money, CHAR_DATA *keeper, int currency_type, OBJ_DATA *tobj, int cmd, CHAR_DATA *ch);

void add_combat_log (CHAR_DATA *ch, char *msg);
int zone_to_econ_zone (int zone);
int get_bite_value (OBJ_DATA *obj);
void light (CHAR_DATA *ch, OBJ_DATA *obj, int on, int on_off_msg);
void make_height (CHAR_DATA *mob, int range);
void make_frame (CHAR_DATA *mob);
int is_name_in_list (char *name, char *list);
char *vnum_to_liquid_name (int vnum);
int obj_mass (OBJ_DATA *obj);
int carrying (CHAR_DATA *ch);
char *tilde_eliminator (char *string);
char *reference_ip (char *guest_name, char *host);
int check_account_flags (char *host);
void answer_application (CHAR_DATA *ch, char *argument, int cmd);
char *see_person (CHAR_DATA *vict, CHAR_DATA *ch);
char *see_object (CHAR_DATA *vict, OBJ_DATA *obj);
char *see_object_in (CHAR_DATA *vict, OBJ_DATA *obj);

void menu_choice (DESCRIPTOR_DATA *d);
malloc_t alloc (int bytes, int dtype);

/********** LUA PROTOTYPES  *******/
struct larg_data *larg_userdata_list;

void larg_trigger_time_select(void);

void larg_room_trigger_time(ROOM_DATA *targ, CHAR_DATA *ch_targ);
void larg_obj_trigger_time(OBJ_DATA *targ, CHAR_DATA *tch);
void larg_mob_trigger_time(CHAR_DATA *targ, CHAR_DATA *tch);

TRIGGER_DATA *larg_trigger_room_create(int type, char *script, int rvnum, 																		int source);
TRIGGER_DATA *larg_trigger_obj_create(int type, char *script, int ovnum, 																		int source);
TRIGGER_DATA *larg_trigger_mob_create(int type, char *script, int mvnum, 																		int source);

void larg_trigger_add(TRIGGER_DATA *t, TRIGGER_DATA **l);

void larg_trigger_remove(TRIGGER_DATA *t);

void larg_pushuserdata(lua_State *Lvm, void *data, int type);

int larg_execute_script(char *script, char *func, int source, int me, int room, CHAR_DATA *ch_targ,  OBJ_DATA *obj,  CHAR_DATA *ch,  char *txt);

void larg_setup_room_triggers(FILE *fl, ROOM_DATA *room);
void larg_setup_obj_triggers(FILE *fl, OBJ_DATA *obj);
void larg_setup_mob_triggers(FILE *fl, CHAR_DATA *tch);

void do_rscript_add (CHAR_DATA *ch, char *argument, int cmd);
void larg_room_script_add (CHAR_DATA *ch, char *argument, ROOM_DATA *room);
void do_rscript_del (CHAR_DATA *ch, char *argument, int cmd);
void larg_room_script_delete (CHAR_DATA *ch, char *argument, ROOM_DATA *room);
void do_rscript_list (CHAR_DATA *ch, char *argument, int cmd);
void larg_room_script_list(CHAR_DATA *ch, char *argument, ROOM_DATA *room);


void larg_mo_script_delete (TRIGGER_DATA *targ, TRIGGER_DATA *list_scrpt);

int larg_echo_send_room(lua_State *Lvm);