mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-06 17:38:49 +01:00
Actually ue typedefs for obj_data, char_data and descriptor_data.
Some linting in a couple of files. Massive commit...
This commit is contained in:
parent
b489a72c58
commit
0e110b93d5
100 changed files with 2055 additions and 2052 deletions
|
|
@ -0,0 +1 @@
|
|||
select foo.com 1745106858 Welcor
|
||||
|
|
@ -45,7 +45,7 @@ ACMD(do_say)
|
|||
send_to_char(ch, "Yes, but WHAT do you want to say?\r\n");
|
||||
else {
|
||||
char buf[MAX_INPUT_LENGTH + 14], *msg;
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
if (CONFIG_SPECIAL_IN_COMM && legal_communication(argument))
|
||||
parse_at(argument);
|
||||
|
|
@ -96,7 +96,7 @@ ACMD(do_gsay)
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_tell(struct char_data *ch, struct char_data *vict, char *arg)
|
||||
static void perform_tell(char_data *ch, char_data *vict, char *arg)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH], *msg;
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ static void perform_tell(struct char_data *ch, struct char_data *vict, char *arg
|
|||
GET_LAST_TELL(vict) = GET_IDNUM(ch);
|
||||
}
|
||||
|
||||
static int is_tell_ok(struct char_data *ch, struct char_data *vict)
|
||||
static int is_tell_ok(char_data *ch, char_data *vict)
|
||||
{
|
||||
if (!ch)
|
||||
log("SYSERR: is_tell_ok called with no characters");
|
||||
|
|
@ -145,7 +145,7 @@ static int is_tell_ok(struct char_data *ch, struct char_data *vict)
|
|||
* called frequently, and should IMHO be kept as tight as possible. */
|
||||
ACMD(do_tell)
|
||||
{
|
||||
struct char_data *vict = NULL;
|
||||
char_data *vict = NULL;
|
||||
char buf[MAX_INPUT_LENGTH + 25], buf2[MAX_INPUT_LENGTH]; // +25 to make room for constants
|
||||
|
||||
half_chop(argument, buf, buf2);
|
||||
|
|
@ -197,7 +197,7 @@ ACMD(do_tell)
|
|||
|
||||
ACMD(do_reply)
|
||||
{
|
||||
struct char_data *tch = character_list;
|
||||
char_data *tch = character_list;
|
||||
|
||||
if (IS_NPC(ch))
|
||||
return;
|
||||
|
|
@ -231,7 +231,7 @@ ACMD(do_reply)
|
|||
ACMD(do_spec_comm)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH], buf2[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
const char *action_sing, *action_plur, *action_others;
|
||||
|
||||
switch (subcmd) {
|
||||
|
|
@ -281,7 +281,7 @@ ACMD(do_spec_comm)
|
|||
|
||||
ACMD(do_write)
|
||||
{
|
||||
struct obj_data *paper, *pen = NULL;
|
||||
obj_data *paper, *pen = NULL;
|
||||
char *papername, *penname;
|
||||
char buf1[MAX_STRING_LENGTH], buf2[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -360,8 +360,8 @@ ACMD(do_write)
|
|||
|
||||
ACMD(do_page)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
struct char_data *vict;
|
||||
descriptor_data *d;
|
||||
char_data *vict;
|
||||
char buf2[MAX_INPUT_LENGTH], arg[MAX_INPUT_LENGTH];
|
||||
|
||||
half_chop(argument, arg, buf2);
|
||||
|
|
@ -397,7 +397,7 @@ ACMD(do_page)
|
|||
/* Generalized communication function by Fred C. Merkel (Torg). */
|
||||
ACMD(do_gen_comm)
|
||||
{
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
char color_on[24];
|
||||
char buf1[MAX_INPUT_LENGTH], buf2[MAX_INPUT_LENGTH + 50], *msg; // + 50 to make room for color codes
|
||||
bool emoting = FALSE;
|
||||
|
|
@ -560,7 +560,7 @@ ACMD(do_qcomm)
|
|||
send_to_char(ch, "%c%s? Yes, fine, %s we must, but WHAT??\r\n", UPPER(*CMD_NAME), CMD_NAME + 1, CMD_NAME);
|
||||
else {
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
|
||||
if (CONFIG_SPECIAL_IN_COMM && legal_communication(argument))
|
||||
parse_at(argument);
|
||||
|
|
|
|||
22
src/act.h
22
src/act.h
|
|
@ -57,7 +57,7 @@ char *find_exdesc(char *word, struct extra_descr_data *list);
|
|||
void space_to_minus(char *str);
|
||||
/** @todo Move to a help module? */
|
||||
int search_help(const char *argument, int level);
|
||||
void free_history(struct char_data *ch, int type);
|
||||
void free_history(char_data *ch, int type);
|
||||
void free_recent_players(void);
|
||||
/* functions with subcommands */
|
||||
/* do_commands */
|
||||
|
|
@ -109,10 +109,10 @@ ACMD(do_whois);
|
|||
****************************************************************************/
|
||||
/* Utility Functions */
|
||||
/** @todo Compare with needs of find_eq_pos_script. */
|
||||
int find_eq_pos(struct char_data *ch, struct obj_data *obj, char *arg);
|
||||
void name_from_drinkcon(struct obj_data *obj);
|
||||
void name_to_drinkcon(struct obj_data *obj, int type);
|
||||
void weight_change_object(struct obj_data *obj, int weight);
|
||||
int find_eq_pos(char_data *ch, obj_data *obj, char *arg);
|
||||
void name_from_drinkcon(obj_data *obj);
|
||||
void name_to_drinkcon(obj_data *obj, int type);
|
||||
void weight_change_object(obj_data *obj, int weight);
|
||||
/* functions with subcommands */
|
||||
/* do_drop */
|
||||
ACMD(do_drop);
|
||||
|
|
@ -275,11 +275,11 @@ ACMD(do_gmote);
|
|||
/** @todo should probably be moved to a more general file handler module */
|
||||
void clean_llog_entries(void);
|
||||
/** @todo This should be moved to a more general utility file */
|
||||
int script_command_interpreter(struct char_data *ch, char *arg);
|
||||
room_rnum find_target_room(struct char_data *ch, char *rawroomstr);
|
||||
void perform_immort_vis(struct char_data *ch);
|
||||
void snoop_check(struct char_data *ch);
|
||||
bool change_player_name(struct char_data *ch, struct char_data *vict, char *new_name);
|
||||
int script_command_interpreter(char_data *ch, char *arg);
|
||||
room_rnum find_target_room(char_data *ch, char *rawroomstr);
|
||||
void perform_immort_vis(char_data *ch);
|
||||
void snoop_check(char_data *ch);
|
||||
bool change_player_name(char_data *ch, char_data *vict, char *new_name);
|
||||
bool AddRecentPlayer(char *chname, char *chhost, bool newplr, bool cpyplr);
|
||||
/* Functions with subcommands */
|
||||
/* do_date */
|
||||
|
|
@ -326,7 +326,7 @@ ACMD(do_plist);
|
|||
ACMD(do_purge);
|
||||
ACMD(do_recent);
|
||||
ACMD(do_restore);
|
||||
void return_to_char(struct char_data *ch);
|
||||
void return_to_char(char_data *ch);
|
||||
ACMD(do_return);
|
||||
ACMD(do_saveall);
|
||||
ACMD(do_send);
|
||||
|
|
|
|||
|
|
@ -31,24 +31,24 @@
|
|||
|
||||
/* prototypes of local functions */
|
||||
/* do_diagnose utility functions */
|
||||
static void diag_char_to_char(struct char_data *i, struct char_data *ch);
|
||||
static void diag_char_to_char(char_data *i, char_data *ch);
|
||||
/* do_look and do_examine utility functions */
|
||||
static void do_auto_exits(struct char_data *ch);
|
||||
static void list_char_to_char(struct char_data *list, struct char_data *ch);
|
||||
static void list_one_char(struct char_data *i, struct char_data *ch);
|
||||
static void look_at_char(struct char_data *i, struct char_data *ch);
|
||||
static void look_at_target(struct char_data *ch, char *arg);
|
||||
static void look_in_direction(struct char_data *ch, int dir);
|
||||
static void look_in_obj(struct char_data *ch, char *arg);
|
||||
static void do_auto_exits(char_data *ch);
|
||||
static void list_char_to_char(char_data *list, char_data *ch);
|
||||
static void list_one_char(char_data *i, char_data *ch);
|
||||
static void look_at_char(char_data *i, char_data *ch);
|
||||
static void look_at_target(char_data *ch, char *arg);
|
||||
static void look_in_direction(char_data *ch, int dir);
|
||||
static void look_in_obj(char_data *ch, char *arg);
|
||||
/* do_look, do_inventory utility functions */
|
||||
static void list_obj_to_char(struct obj_data *list, struct char_data *ch, int mode, int show);
|
||||
static void list_obj_to_char(obj_data *list, char_data *ch, int mode, int show);
|
||||
/* do_look, do_equipment, do_examine, do_inventory */
|
||||
static void show_obj_to_char(struct obj_data *obj, struct char_data *ch, int mode);
|
||||
static void show_obj_modifiers(struct obj_data *obj, struct char_data *ch);
|
||||
static void show_obj_to_char(obj_data *obj, char_data *ch, int mode);
|
||||
static void show_obj_modifiers(obj_data *obj, char_data *ch);
|
||||
/* do_where utility functions */
|
||||
static void perform_immort_where(struct char_data *ch, char *arg);
|
||||
static void perform_mortal_where(struct char_data *ch, char *arg);
|
||||
static void print_object_location(int num, struct obj_data *obj, struct char_data *ch, int recur);
|
||||
static void perform_immort_where(char_data *ch, char *arg);
|
||||
static void perform_mortal_where(char_data *ch, char *arg);
|
||||
static void print_object_location(int num, obj_data *obj, char_data *ch, int recur);
|
||||
|
||||
/* Subcommands */
|
||||
/* For show_obj_to_char 'mode'. /-- arbitrary */
|
||||
|
|
@ -56,10 +56,10 @@ static void print_object_location(int num, struct obj_data *obj, struct char_dat
|
|||
#define SHOW_OBJ_SHORT 1
|
||||
#define SHOW_OBJ_ACTION 2
|
||||
|
||||
static void show_obj_to_char(struct obj_data *obj, struct char_data *ch, int mode)
|
||||
static void show_obj_to_char(obj_data *obj, char_data *ch, int mode)
|
||||
{
|
||||
int found = 0;
|
||||
struct char_data *temp;
|
||||
char_data *temp;
|
||||
|
||||
if (!obj || !ch) {
|
||||
log("SYSERR: NULL pointer in show_obj_to_char(): obj=%p ch=%p", (void *)obj, (void *)ch);
|
||||
|
|
@ -153,7 +153,7 @@ end:
|
|||
send_to_char(ch, "\r\n");
|
||||
}
|
||||
|
||||
static void show_obj_modifiers(struct obj_data *obj, struct char_data *ch)
|
||||
static void show_obj_modifiers(obj_data *obj, char_data *ch)
|
||||
{
|
||||
if (OBJ_FLAGGED(obj, ITEM_INVISIBLE))
|
||||
send_to_char(ch, " (invisible)");
|
||||
|
|
@ -171,9 +171,9 @@ static void show_obj_modifiers(struct obj_data *obj, struct char_data *ch)
|
|||
send_to_char(ch, " ..It emits a faint humming sound!");
|
||||
}
|
||||
|
||||
static void list_obj_to_char(struct obj_data *list, struct char_data *ch, int mode, int show)
|
||||
static void list_obj_to_char(obj_data *list, char_data *ch, int mode, int show)
|
||||
{
|
||||
struct obj_data *i, *j, *display;
|
||||
obj_data *i, *j, *display;
|
||||
bool found;
|
||||
int num;
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ static void list_obj_to_char(struct obj_data *list, struct char_data *ch, int mo
|
|||
send_to_char(ch, " Nothing.\r\n");
|
||||
}
|
||||
|
||||
static void diag_char_to_char(struct char_data *i, struct char_data *ch)
|
||||
static void diag_char_to_char(char_data *i, char_data *ch)
|
||||
{
|
||||
struct
|
||||
{
|
||||
|
|
@ -250,7 +250,7 @@ static void diag_char_to_char(struct char_data *i, struct char_data *ch)
|
|||
send_to_char(ch, "%c%s %s\r\n", UPPER(*pers), pers + 1, diagnosis[ar_index].text);
|
||||
}
|
||||
|
||||
static void look_at_char(struct char_data *i, struct char_data *ch)
|
||||
static void look_at_char(char_data *i, char_data *ch)
|
||||
{
|
||||
int j, found;
|
||||
|
||||
|
|
@ -284,9 +284,9 @@ static void look_at_char(struct char_data *i, struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void list_one_char(struct char_data *i, struct char_data *ch)
|
||||
static void list_one_char(char_data *i, char_data *ch)
|
||||
{
|
||||
struct obj_data *furniture;
|
||||
obj_data *furniture;
|
||||
const char *positions[] = {
|
||||
" is lying here, dead.",
|
||||
" is lying here, mortally wounded.",
|
||||
|
|
@ -395,9 +395,9 @@ static void list_one_char(struct char_data *i, struct char_data *ch)
|
|||
act("...$e glows with a bright light!", FALSE, i, 0, ch, TO_VICT);
|
||||
}
|
||||
|
||||
static void list_char_to_char(struct char_data *list, struct char_data *ch)
|
||||
static void list_char_to_char(char_data *list, char_data *ch)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
|
||||
for (i = list; i; i = i->next_in_room)
|
||||
if (ch != i) {
|
||||
|
|
@ -415,7 +415,7 @@ static void list_char_to_char(struct char_data *list, struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void do_auto_exits(struct char_data *ch)
|
||||
static void do_auto_exits(char_data *ch)
|
||||
{
|
||||
int door, slen = 0;
|
||||
|
||||
|
|
@ -481,7 +481,7 @@ ACMD(do_exits)
|
|||
send_to_char(ch, " None.\r\n");
|
||||
}
|
||||
|
||||
void look_at_room(struct char_data *ch, int ignore_brief)
|
||||
void look_at_room(char_data *ch, int ignore_brief)
|
||||
{
|
||||
trig_data *t;
|
||||
struct room_data *rm = &world[IN_ROOM(ch)];
|
||||
|
|
@ -537,7 +537,7 @@ void look_at_room(struct char_data *ch, int ignore_brief)
|
|||
list_char_to_char(world[IN_ROOM(ch)].people, ch);
|
||||
}
|
||||
|
||||
static void look_in_direction(struct char_data *ch, int dir)
|
||||
static void look_in_direction(char_data *ch, int dir)
|
||||
{
|
||||
if (EXIT(ch, dir)) {
|
||||
if (EXIT(ch, dir)->general_description)
|
||||
|
|
@ -553,10 +553,10 @@ static void look_in_direction(struct char_data *ch, int dir)
|
|||
send_to_char(ch, "Nothing special there...\r\n");
|
||||
}
|
||||
|
||||
static void look_in_obj(struct char_data *ch, char *arg)
|
||||
static void look_in_obj(char_data *ch, char *arg)
|
||||
{
|
||||
struct obj_data *obj = NULL;
|
||||
struct char_data *dummy = NULL;
|
||||
obj_data *obj = NULL;
|
||||
char_data *dummy = NULL;
|
||||
int amt, bits;
|
||||
|
||||
if (!*arg)
|
||||
|
|
@ -624,11 +624,11 @@ char *find_exdesc(char *word, struct extra_descr_data *list)
|
|||
* matches the target. First, see if there is another char in the room with
|
||||
* the name. Then check local objs for exdescs. Thanks to Angus Mezick for
|
||||
* the suggested fix to this problem. */
|
||||
static void look_at_target(struct char_data *ch, char *arg)
|
||||
static void look_at_target(char_data *ch, char *arg)
|
||||
{
|
||||
int bits, found = FALSE, j, fnum, i = 0;
|
||||
struct char_data *found_char = NULL;
|
||||
struct obj_data *obj, *found_obj = NULL;
|
||||
char_data *found_char = NULL;
|
||||
obj_data *obj, *found_obj = NULL;
|
||||
char *desc;
|
||||
|
||||
if (!ch->desc)
|
||||
|
|
@ -758,8 +758,8 @@ ACMD(do_look)
|
|||
|
||||
ACMD(do_examine)
|
||||
{
|
||||
struct char_data *tmp_char;
|
||||
struct obj_data *tmp_object;
|
||||
char_data *tmp_char;
|
||||
obj_data *tmp_object;
|
||||
char tempsave[MAX_INPUT_LENGTH], arg[MAX_INPUT_LENGTH];
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -870,7 +870,7 @@ ACMD(do_score)
|
|||
if (!SITTING(ch))
|
||||
send_to_char(ch, "You are sitting.\r\n");
|
||||
else {
|
||||
struct obj_data *furniture = SITTING(ch);
|
||||
obj_data *furniture = SITTING(ch);
|
||||
send_to_char(ch, "You are sitting upon %s.\r\n", furniture->short_description);
|
||||
}
|
||||
break;
|
||||
|
|
@ -1116,8 +1116,8 @@ ACMD(do_help)
|
|||
/* Written by Rhade */
|
||||
ACMD(do_who)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
struct char_data *tch;
|
||||
descriptor_data *d;
|
||||
char_data *tch;
|
||||
int i, num_can_see = 0;
|
||||
char name_search[MAX_INPUT_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
char mode;
|
||||
|
|
@ -1367,8 +1367,8 @@ ACMD(do_users)
|
|||
char line[200], line2[220], idletime[10], classname[20];
|
||||
char state[30], timestr[9], mode;
|
||||
char name_search[MAX_INPUT_LENGTH], host_search[MAX_INPUT_LENGTH];
|
||||
struct char_data *tch;
|
||||
struct descriptor_data *d;
|
||||
char_data *tch;
|
||||
descriptor_data *d;
|
||||
int low = 0, high = LVL_IMPL, num_can_see = 0;
|
||||
int showclass = 0, outlaws = 0, playing = 0, deadweight = 0;
|
||||
char buf[MAX_INPUT_LENGTH], arg[MAX_INPUT_LENGTH];
|
||||
|
|
@ -1563,10 +1563,10 @@ ACMD(do_gen_ps)
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_mortal_where(struct char_data *ch, char *arg)
|
||||
static void perform_mortal_where(char_data *ch, char *arg)
|
||||
{
|
||||
struct char_data *i;
|
||||
struct descriptor_data *d;
|
||||
char_data *i;
|
||||
descriptor_data *d;
|
||||
int j;
|
||||
|
||||
if (!*arg) {
|
||||
|
|
@ -1598,7 +1598,7 @@ static void perform_mortal_where(struct char_data *ch, char *arg)
|
|||
}
|
||||
}
|
||||
|
||||
static void print_object_location(int num, struct obj_data *obj, struct char_data *ch,
|
||||
static void print_object_location(int num, obj_data *obj, char_data *ch,
|
||||
int recur)
|
||||
{
|
||||
if (num > 0)
|
||||
|
|
@ -1627,11 +1627,11 @@ static void print_object_location(int num, struct obj_data *obj, struct char_dat
|
|||
send_to_char(ch, "in an unknown location\r\n");
|
||||
}
|
||||
|
||||
static void perform_immort_where(struct char_data *ch, char *arg)
|
||||
static void perform_immort_where(char_data *ch, char *arg)
|
||||
{
|
||||
struct char_data *i;
|
||||
struct obj_data *k;
|
||||
struct descriptor_data *d;
|
||||
char_data *i;
|
||||
obj_data *k;
|
||||
descriptor_data *d;
|
||||
int num = 0, found = 0;
|
||||
|
||||
if (!*arg) {
|
||||
|
|
@ -1760,7 +1760,7 @@ ACMD(do_levels)
|
|||
ACMD(do_consider)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *victim;
|
||||
char_data *victim;
|
||||
int diff;
|
||||
|
||||
one_argument(argument, buf);
|
||||
|
|
@ -1806,7 +1806,7 @@ ACMD(do_consider)
|
|||
ACMD(do_diagnose)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
one_argument(argument, buf);
|
||||
|
||||
|
|
@ -2335,7 +2335,7 @@ ACMD(do_commands)
|
|||
column_list(ch, 0, commands, no, FALSE);
|
||||
}
|
||||
|
||||
void free_history(struct char_data *ch, int type)
|
||||
void free_history(char_data *ch, int type)
|
||||
{
|
||||
struct txt_block *tmp = GET_HISTORY(ch, type), *ftmp;
|
||||
|
||||
|
|
@ -2384,7 +2384,7 @@ ACMD(do_history)
|
|||
|
||||
#define HIST_LENGTH 100
|
||||
|
||||
void add_history(struct char_data *ch, char *str, int type)
|
||||
void add_history(char_data *ch, char *str, int type)
|
||||
{
|
||||
int i = 0;
|
||||
char time_str[MAX_STRING_LENGTH], buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -2426,7 +2426,7 @@ void add_history(struct char_data *ch, char *str, int type)
|
|||
|
||||
ACMD(do_whois)
|
||||
{
|
||||
struct char_data *victim = 0;
|
||||
char_data *victim = 0;
|
||||
int hours;
|
||||
int got_from_file = 0;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -2439,7 +2439,7 @@ ACMD(do_whois)
|
|||
}
|
||||
|
||||
if (!(victim = get_player_vis(ch, buf, NULL, FIND_CHAR_WORLD))) {
|
||||
CREATE(victim, struct char_data, 1);
|
||||
CREATE(victim, char_data, 1);
|
||||
clear_char(victim);
|
||||
|
||||
new_mobile_data(victim);
|
||||
|
|
@ -2637,7 +2637,7 @@ ACMD(do_areas)
|
|||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
static void list_scanned_chars(struct char_data *list, struct char_data *ch, int
|
||||
static void list_scanned_chars(char_data *list, char_data *ch, int
|
||||
distance, int door)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH], buf2[MAX_STRING_LENGTH - 1];
|
||||
|
|
@ -2648,7 +2648,7 @@ static void list_scanned_chars(struct char_data *list, struct char_data *ch, int
|
|||
"far off to the"
|
||||
};
|
||||
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
int count = 0;
|
||||
*buf = '\0';
|
||||
|
||||
|
|
|
|||
118
src/act.item.c
118
src/act.item.c
|
|
@ -26,29 +26,29 @@
|
|||
|
||||
/* local function prototypes */
|
||||
/* do_get utility functions */
|
||||
static int can_take_obj(struct char_data *ch, struct obj_data *obj);
|
||||
static void get_check_money(struct char_data *ch, struct obj_data *obj);
|
||||
static void get_from_container(struct char_data *ch, struct obj_data *cont, char *arg, int mode, int amount);
|
||||
static void get_from_room(struct char_data *ch, char *arg, int amount);
|
||||
static void perform_get_from_container(struct char_data *ch, struct obj_data *obj, struct obj_data *cont, int mode);
|
||||
static int perform_get_from_room(struct char_data *ch, struct obj_data *obj);
|
||||
static int can_take_obj(char_data *ch, obj_data *obj);
|
||||
static void get_check_money(char_data *ch, obj_data *obj);
|
||||
static void get_from_container(char_data *ch, obj_data *cont, char *arg, int mode, int amount);
|
||||
static void get_from_room(char_data *ch, char *arg, int amount);
|
||||
static void perform_get_from_container(char_data *ch, obj_data *obj, obj_data *cont, int mode);
|
||||
static int perform_get_from_room(char_data *ch, obj_data *obj);
|
||||
/* do_give utility functions */
|
||||
static struct char_data *give_find_vict(struct char_data *ch, char *arg);
|
||||
static void perform_give(struct char_data *ch, struct char_data *vict, struct obj_data *obj);
|
||||
static void perform_give_gold(struct char_data *ch, struct char_data *vict, int amount);
|
||||
static char_data *give_find_vict(char_data *ch, char *arg);
|
||||
static void perform_give(char_data *ch, char_data *vict, obj_data *obj);
|
||||
static void perform_give_gold(char_data *ch, char_data *vict, int amount);
|
||||
/* do_drop utility functions */
|
||||
static int perform_drop(struct char_data *ch, struct obj_data *obj, byte mode, const char *sname, room_rnum RDR);
|
||||
static void perform_drop_gold(struct char_data *ch, int amount, byte mode, room_rnum RDR);
|
||||
static int perform_drop(char_data *ch, obj_data *obj, byte mode, const char *sname, room_rnum RDR);
|
||||
static void perform_drop_gold(char_data *ch, int amount, byte mode, room_rnum RDR);
|
||||
/* do_put utility functions */
|
||||
static void perform_put(struct char_data *ch, struct obj_data *obj, struct obj_data *cont);
|
||||
static void perform_put(char_data *ch, obj_data *obj, obj_data *cont);
|
||||
/* do_remove utility functions */
|
||||
static void perform_remove(struct char_data *ch, int pos);
|
||||
static void perform_remove(char_data *ch, int pos);
|
||||
/* do_wear utility functions */
|
||||
static void perform_wear(struct char_data *ch, struct obj_data *obj, int where);
|
||||
static void wear_message(struct char_data *ch, struct obj_data *obj, int where);
|
||||
static void perform_wear(char_data *ch, obj_data *obj, int where);
|
||||
static void wear_message(char_data *ch, obj_data *obj, int where);
|
||||
|
||||
|
||||
static void perform_put(struct char_data *ch, struct obj_data *obj, struct obj_data *cont)
|
||||
static void perform_put(char_data *ch, obj_data *obj, obj_data *cont)
|
||||
{
|
||||
long object_id = obj_script_id(obj);
|
||||
|
||||
|
|
@ -90,8 +90,8 @@ ACMD(do_put)
|
|||
char arg1[MAX_INPUT_LENGTH];
|
||||
char arg2[MAX_INPUT_LENGTH];
|
||||
char arg3[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj, *next_obj, *cont;
|
||||
struct char_data *tmp_char;
|
||||
obj_data *obj, *next_obj, *cont;
|
||||
char_data *tmp_char;
|
||||
int obj_dotmode, cont_dotmode, found = 0, howmany = 1;
|
||||
char *theobj, *thecont;
|
||||
|
||||
|
|
@ -158,7 +158,7 @@ ACMD(do_put)
|
|||
}
|
||||
}
|
||||
|
||||
static int can_take_obj(struct char_data *ch, struct obj_data *obj)
|
||||
static int can_take_obj(char_data *ch, obj_data *obj)
|
||||
{
|
||||
if (!(CAN_WEAR(obj, ITEM_WEAR_TAKE))) {
|
||||
act("$p: you can't take that!", FALSE, ch, obj, 0, TO_CHAR);
|
||||
|
|
@ -183,7 +183,7 @@ static int can_take_obj(struct char_data *ch, struct obj_data *obj)
|
|||
return (1);
|
||||
}
|
||||
|
||||
static void get_check_money(struct char_data *ch, struct obj_data *obj)
|
||||
static void get_check_money(char_data *ch, obj_data *obj)
|
||||
{
|
||||
int value = GET_OBJ_VAL(obj, 0);
|
||||
|
||||
|
|
@ -200,8 +200,8 @@ static void get_check_money(struct char_data *ch, struct obj_data *obj)
|
|||
send_to_char(ch, "There were %d coins.\r\n", value);
|
||||
}
|
||||
|
||||
static void perform_get_from_container(struct char_data *ch, struct obj_data *obj,
|
||||
struct obj_data *cont, int mode)
|
||||
static void perform_get_from_container(char_data *ch, obj_data *obj,
|
||||
obj_data *cont, int mode)
|
||||
{
|
||||
if (mode == FIND_OBJ_INV || can_take_obj(ch, obj)) {
|
||||
if (IS_CARRYING_N(ch) >= CAN_CARRY_N(ch))
|
||||
|
|
@ -216,10 +216,10 @@ static void perform_get_from_container(struct char_data *ch, struct obj_data *ob
|
|||
}
|
||||
}
|
||||
|
||||
void get_from_container(struct char_data *ch, struct obj_data *cont,
|
||||
void get_from_container(char_data *ch, obj_data *cont,
|
||||
char *arg, int mode, int howmany)
|
||||
{
|
||||
struct obj_data *obj, *next_obj;
|
||||
obj_data *obj, *next_obj;
|
||||
int obj_dotmode, found = 0;
|
||||
|
||||
obj_dotmode = find_all_dots(arg);
|
||||
|
|
@ -233,7 +233,7 @@ void get_from_container(struct char_data *ch, struct obj_data *cont,
|
|||
snprintf(buf, sizeof(buf), "There doesn't seem to be %s %s in $p.", AN(arg), arg);
|
||||
act(buf, FALSE, ch, cont, 0, TO_CHAR);
|
||||
} else {
|
||||
struct obj_data *obj_next;
|
||||
obj_data *obj_next;
|
||||
while (obj && howmany--) {
|
||||
obj_next = obj->next_content;
|
||||
perform_get_from_container(ch, obj, cont, mode);
|
||||
|
|
@ -266,7 +266,7 @@ void get_from_container(struct char_data *ch, struct obj_data *cont,
|
|||
}
|
||||
}
|
||||
|
||||
static int perform_get_from_room(struct char_data *ch, struct obj_data *obj)
|
||||
static int perform_get_from_room(char_data *ch, obj_data *obj)
|
||||
{
|
||||
if (can_take_obj(ch, obj) && get_otrigger(obj, ch)) {
|
||||
obj_from_room(obj);
|
||||
|
|
@ -279,9 +279,9 @@ static int perform_get_from_room(struct char_data *ch, struct obj_data *obj)
|
|||
return (0);
|
||||
}
|
||||
|
||||
static void get_from_room(struct char_data *ch, char *arg, int howmany)
|
||||
static void get_from_room(char_data *ch, char *arg, int howmany)
|
||||
{
|
||||
struct obj_data *obj, *next_obj;
|
||||
obj_data *obj, *next_obj;
|
||||
int dotmode, found = 0;
|
||||
|
||||
dotmode = find_all_dots(arg);
|
||||
|
|
@ -295,7 +295,7 @@ static void get_from_room(struct char_data *ch, char *arg, int howmany)
|
|||
}
|
||||
send_to_char(ch, "You don't see %s %s here.\r\n", AN(arg), arg);
|
||||
} else {
|
||||
struct obj_data *obj_next;
|
||||
obj_data *obj_next;
|
||||
while (obj && howmany--) {
|
||||
obj_next = obj->next_content;
|
||||
perform_get_from_room(ch, obj);
|
||||
|
|
@ -331,8 +331,8 @@ ACMD(do_get)
|
|||
char arg3[MAX_INPUT_LENGTH];
|
||||
|
||||
int cont_dotmode, found = 0, mode;
|
||||
struct obj_data *cont;
|
||||
struct char_data *tmp_char;
|
||||
obj_data *cont;
|
||||
char_data *tmp_char;
|
||||
|
||||
one_argument(two_arguments(argument, arg1, arg2), arg3); /* three_arguments */
|
||||
|
||||
|
|
@ -395,9 +395,9 @@ ACMD(do_get)
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_drop_gold(struct char_data *ch, int amount, byte mode, room_rnum RDR)
|
||||
static void perform_drop_gold(char_data *ch, int amount, byte mode, room_rnum RDR)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
if (amount <= 0)
|
||||
send_to_char(ch, "Heh heh heh.. we are jolly funny today, eh?\r\n");
|
||||
|
|
@ -445,7 +445,7 @@ static void perform_drop_gold(struct char_data *ch, int amount, byte mode, room_
|
|||
#define VANISH(mode) ((mode == SCMD_DONATE || mode == SCMD_JUNK) ? \
|
||||
" It vanishes in a puff of smoke!" : "")
|
||||
|
||||
static int perform_drop(struct char_data *ch, struct obj_data *obj,
|
||||
static int perform_drop(char_data *ch, obj_data *obj,
|
||||
byte mode, const char *sname, room_rnum RDR)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -506,7 +506,7 @@ static int perform_drop(struct char_data *ch, struct obj_data *obj,
|
|||
ACMD(do_drop)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj, *next_obj;
|
||||
obj_data *obj, *next_obj;
|
||||
room_rnum RDR = 0;
|
||||
byte mode = SCMD_DROP;
|
||||
int dotmode, amount = 0, multi, num_don_rooms;
|
||||
|
|
@ -621,8 +621,8 @@ ACMD(do_drop)
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_give(struct char_data *ch, struct char_data *vict,
|
||||
struct obj_data *obj)
|
||||
static void perform_give(char_data *ch, char_data *vict,
|
||||
obj_data *obj)
|
||||
{
|
||||
if (!give_otrigger(obj, ch, vict))
|
||||
return;
|
||||
|
|
@ -652,9 +652,9 @@ static void perform_give(struct char_data *ch, struct char_data *vict,
|
|||
}
|
||||
|
||||
/* utility function for give */
|
||||
static struct char_data *give_find_vict(struct char_data *ch, char *arg)
|
||||
static char_data *give_find_vict(char_data *ch, char *arg)
|
||||
{
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
skip_spaces(&arg);
|
||||
if (!*arg)
|
||||
|
|
@ -669,7 +669,7 @@ static struct char_data *give_find_vict(struct char_data *ch, char *arg)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
static void perform_give_gold(struct char_data *ch, struct char_data *vict,
|
||||
static void perform_give_gold(char_data *ch, char_data *vict,
|
||||
int amount)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -701,8 +701,8 @@ ACMD(do_give)
|
|||
{
|
||||
char arg[MAX_STRING_LENGTH];
|
||||
int amount, dotmode;
|
||||
struct char_data *vict;
|
||||
struct obj_data *obj, *next_obj;
|
||||
char_data *vict;
|
||||
obj_data *obj, *next_obj;
|
||||
|
||||
argument = one_argument(argument, arg);
|
||||
|
||||
|
|
@ -759,10 +759,10 @@ ACMD(do_give)
|
|||
}
|
||||
}
|
||||
|
||||
void weight_change_object(struct obj_data *obj, int weight)
|
||||
void weight_change_object(obj_data *obj, int weight)
|
||||
{
|
||||
struct obj_data *tmp_obj;
|
||||
struct char_data *tmp_ch;
|
||||
obj_data *tmp_obj;
|
||||
char_data *tmp_ch;
|
||||
|
||||
if (IN_ROOM(obj) != NOWHERE) {
|
||||
GET_OBJ_WEIGHT(obj) += weight;
|
||||
|
|
@ -782,7 +782,7 @@ void weight_change_object(struct obj_data *obj, int weight)
|
|||
}
|
||||
}
|
||||
|
||||
void name_from_drinkcon(struct obj_data *obj)
|
||||
void name_from_drinkcon(obj_data *obj)
|
||||
{
|
||||
const char *liqname;
|
||||
char *new_name;
|
||||
|
|
@ -799,7 +799,7 @@ void name_from_drinkcon(struct obj_data *obj)
|
|||
|
||||
}
|
||||
|
||||
void name_to_drinkcon(struct obj_data *obj, int type)
|
||||
void name_to_drinkcon(obj_data *obj, int type)
|
||||
{
|
||||
char *new_name;
|
||||
|
||||
|
|
@ -818,7 +818,7 @@ void name_to_drinkcon(struct obj_data *obj, int type)
|
|||
ACMD(do_drink)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *temp;
|
||||
obj_data *temp;
|
||||
struct affected_type af;
|
||||
int amount, weight;
|
||||
int on_ground = 0;
|
||||
|
|
@ -948,7 +948,7 @@ ACMD(do_drink)
|
|||
ACMD(do_eat)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *food;
|
||||
obj_data *food;
|
||||
struct affected_type af;
|
||||
int amount;
|
||||
|
||||
|
|
@ -1021,7 +1021,7 @@ ACMD(do_eat)
|
|||
ACMD(do_pour)
|
||||
{
|
||||
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH];
|
||||
struct obj_data *from_obj = NULL, *to_obj = NULL;
|
||||
obj_data *from_obj = NULL, *to_obj = NULL;
|
||||
int amount = 0;
|
||||
|
||||
two_arguments(argument, arg1, arg2);
|
||||
|
|
@ -1156,7 +1156,7 @@ ACMD(do_pour)
|
|||
weight_change_object(to_obj, amount); /* Add weight */
|
||||
}
|
||||
|
||||
static void wear_message(struct char_data *ch, struct obj_data *obj, int where)
|
||||
static void wear_message(char_data *ch, obj_data *obj, int where)
|
||||
{
|
||||
const char *wear_messages[][2] = {
|
||||
{"$n lights $p and holds it.",
|
||||
|
|
@ -1218,7 +1218,7 @@ static void wear_message(struct char_data *ch, struct obj_data *obj, int where)
|
|||
act(wear_messages[where][1], FALSE, ch, obj, 0, TO_CHAR);
|
||||
}
|
||||
|
||||
static void perform_wear(struct char_data *ch, struct obj_data *obj, int where)
|
||||
static void perform_wear(char_data *ch, obj_data *obj, int where)
|
||||
{
|
||||
/*
|
||||
* ITEM_WEAR_TAKE is used for objects that do not require special bits
|
||||
|
|
@ -1279,7 +1279,7 @@ static void perform_wear(struct char_data *ch, struct obj_data *obj, int where)
|
|||
equip_char(ch, obj, where);
|
||||
}
|
||||
|
||||
int find_eq_pos(struct char_data *ch, struct obj_data *obj, char *arg)
|
||||
int find_eq_pos(char_data *ch, obj_data *obj, char *arg)
|
||||
{
|
||||
int where = -1;
|
||||
|
||||
|
|
@ -1340,7 +1340,7 @@ ACMD(do_wear)
|
|||
{
|
||||
char arg1[MAX_INPUT_LENGTH];
|
||||
char arg2[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj, *next_obj;
|
||||
obj_data *obj, *next_obj;
|
||||
int where, dotmode, items_worn = 0;
|
||||
|
||||
two_arguments(argument, arg1, arg2);
|
||||
|
|
@ -1404,7 +1404,7 @@ ACMD(do_wear)
|
|||
ACMD(do_wield)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
@ -1427,7 +1427,7 @@ ACMD(do_wield)
|
|||
ACMD(do_grab)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
@ -1451,9 +1451,9 @@ ACMD(do_grab)
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_remove(struct char_data *ch, int pos)
|
||||
static void perform_remove(char_data *ch, int pos)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
if (!(obj = GET_EQ(ch, pos)))
|
||||
log("SYSERR: perform_remove: bad pos %d passed.", pos);
|
||||
|
|
@ -1520,7 +1520,7 @@ ACMD(do_remove)
|
|||
ACMD(do_sac)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *j, *jj, *next_thing2;
|
||||
obj_data *j, *jj, *next_thing2;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,18 +27,18 @@
|
|||
|
||||
/* local only functions */
|
||||
/* do_simple_move utility functions */
|
||||
static int has_boat(struct char_data *ch);
|
||||
static int has_boat(char_data *ch);
|
||||
/* do_gen_door utility functions */
|
||||
static int find_door(struct char_data *ch, const char *type, char *dir, const char *cmdname);
|
||||
static int has_key(struct char_data *ch, obj_vnum key);
|
||||
static void do_doorcmd(struct char_data *ch, struct obj_data *obj, int door, int scmd);
|
||||
static int ok_pick(struct char_data *ch, obj_vnum keynum, int pickproof, int scmd);
|
||||
static int find_door(char_data *ch, const char *type, char *dir, const char *cmdname);
|
||||
static int has_key(char_data *ch, obj_vnum key);
|
||||
static void do_doorcmd(char_data *ch, obj_data *obj, int door, int scmd);
|
||||
static int ok_pick(char_data *ch, obj_vnum keynum, int pickproof, int scmd);
|
||||
|
||||
|
||||
/* simple function to determine if char can walk on water */
|
||||
static int has_boat(struct char_data *ch)
|
||||
static int has_boat(char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
|
|
@ -61,9 +61,9 @@ static int has_boat(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Simple function to determine if char can fly. */
|
||||
static int has_flight(struct char_data *ch)
|
||||
static int has_flight(char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
|
|
@ -86,9 +86,9 @@ static int has_flight(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Simple function to determine if char can scuba. */
|
||||
static int has_scuba(struct char_data *ch)
|
||||
static int has_scuba(char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
|
|
@ -126,7 +126,7 @@ static int has_scuba(struct char_data *ch)
|
|||
* @param need_specials_check If TRUE will cause
|
||||
* @retval int 1 for a successful move (ch is now in a new location)
|
||||
* or 0 for a failed move (ch is still in the original location). */
|
||||
int do_simple_move(struct char_data *ch, int dir, int need_specials_check)
|
||||
int do_simple_move(char_data *ch, int dir, int need_specials_check)
|
||||
{
|
||||
/* Begin Local variable definitions */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
|
@ -324,7 +324,7 @@ int do_simple_move(struct char_data *ch, int dir, int need_specials_check)
|
|||
return (1);
|
||||
}
|
||||
|
||||
int perform_move(struct char_data *ch, int dir, int need_specials_check)
|
||||
int perform_move(char_data *ch, int dir, int need_specials_check)
|
||||
{
|
||||
room_rnum was_in;
|
||||
struct follow_type *k, *next;
|
||||
|
|
@ -368,7 +368,7 @@ ACMD(do_move)
|
|||
perform_move(ch, subcmd, 0);
|
||||
}
|
||||
|
||||
static int find_door(struct char_data *ch, const char *type, char *dir, const char *cmdname)
|
||||
static int find_door(char_data *ch, const char *type, char *dir, const char *cmdname)
|
||||
{
|
||||
int door;
|
||||
|
||||
|
|
@ -439,9 +439,9 @@ static int find_door(struct char_data *ch, const char *type, char *dir, const ch
|
|||
}
|
||||
}
|
||||
|
||||
int has_key(struct char_data *ch, obj_vnum key)
|
||||
int has_key(char_data *ch, obj_vnum key)
|
||||
{
|
||||
struct obj_data *o;
|
||||
obj_data *o;
|
||||
|
||||
if (key == NOTHING)
|
||||
return (0);
|
||||
|
|
@ -498,7 +498,7 @@ static const int flags_door[] =
|
|||
(TOGGLE_BIT(GET_OBJ_VAL(obj, 1), CONT_LOCKED)) :\
|
||||
(TOGGLE_BIT(EXITN(room, door)->exit_info, EX_LOCKED)))
|
||||
|
||||
static void do_doorcmd(struct char_data *ch, struct obj_data *obj, int door, int scmd)
|
||||
static void do_doorcmd(char_data *ch, obj_data *obj, int door, int scmd)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
size_t len;
|
||||
|
|
@ -569,7 +569,7 @@ static void do_doorcmd(struct char_data *ch, struct obj_data *obj, int door, int
|
|||
scmd == SCMD_CLOSE ? "d" : "ed");
|
||||
}
|
||||
|
||||
static int ok_pick(struct char_data *ch, obj_vnum keynum, int pickproof, int scmd)
|
||||
static int ok_pick(char_data *ch, obj_vnum keynum, int pickproof, int scmd)
|
||||
{
|
||||
int percent, skill_lvl;
|
||||
|
||||
|
|
@ -610,8 +610,8 @@ ACMD(do_gen_door)
|
|||
int door = -1;
|
||||
obj_vnum keynum;
|
||||
char type[MAX_INPUT_LENGTH], dir[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj = NULL;
|
||||
struct char_data *victim = NULL;
|
||||
obj_data *obj = NULL;
|
||||
char_data *victim = NULL;
|
||||
|
||||
skip_spaces(&argument);
|
||||
if (!*argument) {
|
||||
|
|
@ -747,8 +747,8 @@ ACMD(do_stand)
|
|||
ACMD(do_sit)
|
||||
{
|
||||
char arg[MAX_STRING_LENGTH];
|
||||
struct obj_data *furniture;
|
||||
struct char_data *tempch;
|
||||
obj_data *furniture;
|
||||
char_data *tempch;
|
||||
int found;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -873,7 +873,7 @@ ACMD(do_sleep)
|
|||
ACMD(do_wake)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int self = 0;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -912,7 +912,7 @@ ACMD(do_wake)
|
|||
ACMD(do_follow)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *leader;
|
||||
char_data *leader;
|
||||
|
||||
one_argument(argument, buf);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
ACMD(do_assist)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *helpee, *opponent;
|
||||
char_data *helpee, *opponent;
|
||||
|
||||
if (FIGHTING(ch)) {
|
||||
send_to_char(ch, "You're already fighting! How can you assist someone else?\r\n");
|
||||
|
|
@ -68,7 +68,7 @@ ACMD(do_assist)
|
|||
ACMD(do_hit)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ ACMD(do_hit)
|
|||
ACMD(do_kill)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
if (GET_LEVEL(ch) < LVL_GRGOD || IS_NPC(ch) || !PRF_FLAGGED(ch, PRF_NOHASSLE)) {
|
||||
do_hit(ch, argument, cmd, subcmd);
|
||||
|
|
@ -126,7 +126,7 @@ ACMD(do_kill)
|
|||
ACMD(do_backstab)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int percent, prob;
|
||||
|
||||
if (IS_NPC(ch) || !GET_SKILL(ch, SKILL_BACKSTAB)) {
|
||||
|
|
@ -180,7 +180,7 @@ ACMD(do_order)
|
|||
{
|
||||
char name[MAX_INPUT_LENGTH], message[MAX_INPUT_LENGTH];
|
||||
bool found = FALSE;
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
struct follow_type *k;
|
||||
|
||||
half_chop(argument, name, message);
|
||||
|
|
@ -233,7 +233,7 @@ ACMD(do_order)
|
|||
ACMD(do_flee)
|
||||
{
|
||||
int i, attempt, loss;
|
||||
struct char_data *was_fighting;
|
||||
char_data *was_fighting;
|
||||
|
||||
if (GET_POS(ch) < POS_FIGHTING) {
|
||||
send_to_char(ch, "You are in pretty bad shape, unable to flee!\r\n");
|
||||
|
|
@ -269,7 +269,7 @@ ACMD(do_flee)
|
|||
ACMD(do_bash)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int percent, prob;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -331,7 +331,7 @@ ACMD(do_bash)
|
|||
ACMD(do_rescue)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict, *tmp_ch;
|
||||
char_data *vict, *tmp_ch;
|
||||
int percent, prob;
|
||||
|
||||
if (IS_NPC(ch) || !GET_SKILL(ch, SKILL_RESCUE)) {
|
||||
|
|
@ -394,7 +394,7 @@ ACMD(do_rescue)
|
|||
|
||||
EVENTFUNC(event_whirlwind)
|
||||
{
|
||||
struct char_data *ch, *tch;
|
||||
char_data *ch, *tch;
|
||||
struct mud_event_data *pMudEvent;
|
||||
struct list_data *room_list;
|
||||
int count;
|
||||
|
|
@ -406,7 +406,7 @@ EVENTFUNC(event_whirlwind)
|
|||
/* For the sake of simplicity, we will place the event data in easily
|
||||
* referenced pointers */
|
||||
pMudEvent = (struct mud_event_data *)event_obj;
|
||||
ch = (struct char_data *)pMudEvent->pStruct;
|
||||
ch = (char_data *)pMudEvent->pStruct;
|
||||
|
||||
/* When using a list, we have to make sure to allocate the list as it
|
||||
* uses dynamic memory */
|
||||
|
|
@ -492,7 +492,7 @@ ACMD(do_whirlwind)
|
|||
ACMD(do_kick)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int percent, prob;
|
||||
|
||||
if (IS_NPC(ch) || !GET_SKILL(ch, SKILL_KICK)) {
|
||||
|
|
@ -510,6 +510,8 @@ ACMD(do_kick)
|
|||
return;
|
||||
}
|
||||
}
|
||||
log("ch class = %d vict class = %d", GET_CLASS(ch), GET_CLASS(vict));
|
||||
|
||||
if (vict == ch) {
|
||||
send_to_char(ch, "Aren't we funny today...\r\n");
|
||||
return;
|
||||
|
|
@ -529,7 +531,7 @@ ACMD(do_kick)
|
|||
ACMD(do_bandage)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int percent, prob;
|
||||
|
||||
if (!GET_SKILL(ch, SKILL_BANDAGE)) {
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
|
||||
/* Local defined utility functions */
|
||||
/* do_group utility functions */
|
||||
static void print_group(struct char_data *ch);
|
||||
static void display_group_list(struct char_data *ch);
|
||||
static void print_group(char_data *ch);
|
||||
static void display_group_list(char_data *ch);
|
||||
|
||||
ACMD(do_quit)
|
||||
{
|
||||
|
|
@ -145,8 +145,8 @@ ACMD(do_hide)
|
|||
|
||||
ACMD(do_steal)
|
||||
{
|
||||
struct char_data *vict;
|
||||
struct obj_data *obj;
|
||||
char_data *vict;
|
||||
obj_data *obj;
|
||||
char vict_name[MAX_INPUT_LENGTH], obj_name[MAX_INPUT_LENGTH];
|
||||
int percent, gold, eq_pos, pcsteal = 0, ohoh = 0;
|
||||
|
||||
|
|
@ -315,13 +315,13 @@ ACMD(do_title)
|
|||
}
|
||||
}
|
||||
|
||||
static void print_group(struct char_data *ch)
|
||||
static void print_group(char_data *ch)
|
||||
{
|
||||
struct char_data *k;
|
||||
char_data *k;
|
||||
|
||||
send_to_char(ch, "Your group consists of:\r\n");
|
||||
|
||||
while ((k = (struct char_data *)simple_list(ch->group->members)) != NULL)
|
||||
while ((k = (char_data *)simple_list(ch->group->members)) != NULL)
|
||||
send_to_char(ch, "%-*s: %s[%4d/%-4d]H [%4d/%-4d]M [%4d/%-4d]V%s\r\n",
|
||||
count_color_chars(GET_NAME(k)) + 22, GET_NAME(k),
|
||||
GROUP_LEADER(GROUP(ch)) == k ? CBGRN(ch, C_NRM) : CCGRN(ch, C_NRM),
|
||||
|
|
@ -331,7 +331,7 @@ static void print_group(struct char_data *ch)
|
|||
CCNRM(ch, C_NRM));
|
||||
}
|
||||
|
||||
static void display_group_list(struct char_data *ch)
|
||||
static void display_group_list(char_data *ch)
|
||||
{
|
||||
struct group_data *group;
|
||||
int count = 0;
|
||||
|
|
@ -370,7 +370,7 @@ static void display_group_list(struct char_data *ch)
|
|||
ACMD(do_group)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
argument = one_argument(argument, buf);
|
||||
|
||||
|
|
@ -495,7 +495,7 @@ ACMD(do_split)
|
|||
char buf[MAX_INPUT_LENGTH];
|
||||
int amount, num = 0, share, rest;
|
||||
size_t len;
|
||||
struct char_data *k;
|
||||
char_data *k;
|
||||
|
||||
if (IS_NPC(ch))
|
||||
return;
|
||||
|
|
@ -514,7 +514,7 @@ ACMD(do_split)
|
|||
}
|
||||
|
||||
if (GROUP(ch))
|
||||
while ((k = (struct char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (IN_ROOM(ch) == IN_ROOM(k) && !IS_NPC(k))
|
||||
num++;
|
||||
|
||||
|
|
@ -537,7 +537,7 @@ ACMD(do_split)
|
|||
(rest == 1) ? "" : "s", (rest == 1) ? "was" : "were", GET_NAME(ch));
|
||||
}
|
||||
|
||||
while ((k = (struct char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (k != ch && IN_ROOM(ch) == IN_ROOM(k) && !IS_NPC(k)) {
|
||||
increase_gold(k, share);
|
||||
send_to_char(k, "%s", buf);
|
||||
|
|
@ -559,7 +559,7 @@ ACMD(do_split)
|
|||
ACMD(do_use)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH], arg[MAX_INPUT_LENGTH];
|
||||
struct obj_data *mag_item;
|
||||
obj_data *mag_item;
|
||||
|
||||
half_chop(argument, arg, buf);
|
||||
if (!*arg) {
|
||||
|
|
@ -860,7 +860,7 @@ ACMD(do_gen_tog)
|
|||
return;
|
||||
}
|
||||
|
||||
static void show_happyhour(struct char_data *ch)
|
||||
static void show_happyhour(char_data *ch)
|
||||
{
|
||||
char happyexp[80], happygold[80], happyqp[80];
|
||||
int secs_left;
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ ACMD(do_action)
|
|||
char arg[MAX_INPUT_LENGTH], part[MAX_INPUT_LENGTH];
|
||||
int act_nr;
|
||||
struct social_messg *action;
|
||||
struct char_data *vict;
|
||||
struct obj_data *targ;
|
||||
char_data *vict;
|
||||
obj_data *targ;
|
||||
|
||||
if ((act_nr = find_action(cmd)) < 0) {
|
||||
send_to_char(ch, "That action is not supported.\r\n");
|
||||
|
|
@ -93,9 +93,9 @@ ACMD(do_action)
|
|||
act("$N is not in a proper position for that.", FALSE, ch, 0, vict, TO_CHAR | TO_SLEEP);
|
||||
else {
|
||||
if (*part) {
|
||||
act(action->char_body_found, 0, ch, (struct obj_data *)part, vict, TO_CHAR | TO_SLEEP);
|
||||
act(action->others_body_found, action->hide, ch, (struct obj_data *)part, vict, TO_NOTVICT);
|
||||
act(action->vict_body_found, action->hide, ch, (struct obj_data *)part, vict, TO_VICT);
|
||||
act(action->char_body_found, 0, ch, (obj_data *)part, vict, TO_CHAR | TO_SLEEP);
|
||||
act(action->others_body_found, action->hide, ch, (obj_data *)part, vict, TO_NOTVICT);
|
||||
act(action->vict_body_found, action->hide, ch, (obj_data *)part, vict, TO_VICT);
|
||||
} else {
|
||||
act(action->char_found, 0, ch, 0, vict, TO_CHAR | TO_SLEEP);
|
||||
act(action->others_found, action->hide, ch, 0, vict, TO_NOTVICT);
|
||||
|
|
@ -240,7 +240,7 @@ ACMD(do_gmote)
|
|||
int act_nr, length;
|
||||
char arg[MAX_INPUT_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
struct social_messg *action;
|
||||
struct char_data *vict = NULL;
|
||||
char_data *vict = NULL;
|
||||
|
||||
half_chop(argument, buf, arg);
|
||||
|
||||
|
|
|
|||
176
src/act.wizard.c
176
src/act.wizard.c
|
|
@ -36,24 +36,24 @@
|
|||
#include "screen.h"
|
||||
|
||||
/* local utility functions with file scope */
|
||||
static int perform_set(struct char_data *ch, struct char_data *vict, int mode, char *val_arg);
|
||||
static void perform_immort_invis(struct char_data *ch, int level);
|
||||
static void list_zone_commands_room(struct char_data *ch, room_vnum rvnum);
|
||||
static void do_stat_room(struct char_data *ch, struct room_data *rm);
|
||||
static void do_stat_object(struct char_data *ch, struct obj_data *j);
|
||||
static void do_stat_character(struct char_data *ch, struct char_data *k);
|
||||
static void stop_snooping(struct char_data *ch);
|
||||
static int perform_set(char_data *ch, char_data *vict, int mode, char *val_arg);
|
||||
static void perform_immort_invis(char_data *ch, int level);
|
||||
static void list_zone_commands_room(char_data *ch, room_vnum rvnum);
|
||||
static void do_stat_room(char_data *ch, room_data *rm);
|
||||
static void do_stat_object(char_data *ch, obj_data *j);
|
||||
static void do_stat_character(char_data *ch, char_data *k);
|
||||
static void stop_snooping(char_data *ch);
|
||||
static size_t print_zone_to_buf(char *bufptr, size_t left, zone_rnum zone, int listall);
|
||||
static struct char_data *is_in_game(long idnum);
|
||||
static void mob_checkload(struct char_data *ch, mob_vnum mvnum);
|
||||
static void obj_checkload(struct char_data *ch, obj_vnum ovnum);
|
||||
static void trg_checkload(struct char_data *ch, trig_vnum tvnum);
|
||||
static char_data *is_in_game(long idnum);
|
||||
static void mob_checkload(char_data *ch, mob_vnum mvnum);
|
||||
static void obj_checkload(char_data *ch, obj_vnum ovnum);
|
||||
static void trg_checkload(char_data *ch, trig_vnum tvnum);
|
||||
static void mod_llog_entry(struct last_entry *llast, int type);
|
||||
static int get_max_recent(void);
|
||||
static void clear_recent(struct recent_player *this);
|
||||
static struct recent_player *create_recent(void);
|
||||
const char *get_spec_func_name(SPECIAL(*func));
|
||||
bool zedit_get_levels(struct descriptor_data *d, char *buf);
|
||||
bool zedit_get_levels(descriptor_data *d, char *buf);
|
||||
|
||||
/* Local Globals */
|
||||
static struct recent_player *recent_list = NULL; /** Global list of recent players */
|
||||
|
|
@ -61,7 +61,7 @@ static struct recent_player *recent_list = NULL; /** Global list of recent playe
|
|||
static int purge_room(room_rnum room)
|
||||
{
|
||||
int j;
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
if (room == NOWHERE || room > top_of_world)
|
||||
return 0;
|
||||
|
|
@ -145,7 +145,7 @@ ACMD(do_echo)
|
|||
ACMD(do_send)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
half_chop(argument, arg, buf);
|
||||
|
||||
|
|
@ -167,7 +167,7 @@ ACMD(do_send)
|
|||
}
|
||||
|
||||
/* take a string, and return an rnum.. used for goto, at, etc. -je 4/6/93 */
|
||||
room_rnum find_target_room(struct char_data *ch, char *rawroomstr)
|
||||
room_rnum find_target_room(char_data *ch, char *rawroomstr)
|
||||
{
|
||||
room_rnum location = NOWHERE;
|
||||
char roomstr[MAX_INPUT_LENGTH];
|
||||
|
|
@ -185,8 +185,8 @@ room_rnum find_target_room(struct char_data *ch, char *rawroomstr)
|
|||
return (NOWHERE);
|
||||
}
|
||||
} else {
|
||||
struct char_data *target_mob;
|
||||
struct obj_data *target_obj;
|
||||
char_data *target_mob;
|
||||
obj_data *target_obj;
|
||||
char *mobobjstr = roomstr;
|
||||
int num;
|
||||
|
||||
|
|
@ -294,8 +294,8 @@ ACMD(do_goto)
|
|||
ACMD(do_trans)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *i;
|
||||
struct char_data *victim;
|
||||
descriptor_data *i;
|
||||
char_data *victim;
|
||||
|
||||
one_argument(argument, buf);
|
||||
if (!*buf)
|
||||
|
|
@ -345,7 +345,7 @@ ACMD(do_trans)
|
|||
ACMD(do_teleport)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH], buf2[MAX_INPUT_LENGTH];
|
||||
struct char_data *victim;
|
||||
char_data *victim;
|
||||
room_rnum target;
|
||||
|
||||
two_arguments(argument, buf, buf2);
|
||||
|
|
@ -405,7 +405,7 @@ ACMD(do_vnum)
|
|||
|
||||
#define ZOCMD zone_table[zrnum].cmd[subcmd]
|
||||
|
||||
static void list_zone_commands_room(struct char_data *ch, room_vnum rvnum)
|
||||
static void list_zone_commands_room(char_data *ch, room_vnum rvnum)
|
||||
{
|
||||
zone_rnum zrnum = real_zone_by_thing(rvnum);
|
||||
room_rnum rrnum = real_room(rvnum), cmd_room = NOWHERE;
|
||||
|
|
@ -525,13 +525,13 @@ static void list_zone_commands_room(struct char_data *ch, room_vnum rvnum)
|
|||
}
|
||||
#undef ZOCMD
|
||||
|
||||
static void do_stat_room(struct char_data *ch, struct room_data *rm)
|
||||
static void do_stat_room(char_data *ch, struct room_data *rm)
|
||||
{
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
struct extra_descr_data *desc;
|
||||
int i, found, column;
|
||||
struct obj_data *j;
|
||||
struct char_data *k;
|
||||
obj_data *j;
|
||||
char_data *k;
|
||||
|
||||
send_to_char(ch, "Room name: %s%s%s\r\n", CCCYN(ch, C_NRM), rm->name, CCNRM(ch, C_NRM));
|
||||
|
||||
|
|
@ -615,14 +615,14 @@ static void do_stat_room(struct char_data *ch, struct room_data *rm)
|
|||
list_zone_commands_room(ch, rm->number);
|
||||
}
|
||||
|
||||
static void do_stat_object(struct char_data *ch, struct obj_data *j)
|
||||
static void do_stat_object(char_data *ch, obj_data *j)
|
||||
{
|
||||
int i, found;
|
||||
obj_vnum vnum;
|
||||
struct obj_data *j2;
|
||||
obj_data *j2;
|
||||
struct extra_descr_data *desc;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
struct char_data *tempch;
|
||||
char_data *tempch;
|
||||
|
||||
send_to_char(ch, "Name: '%s%s%s', Keywords: %s\r\n", CCYEL(ch, C_NRM),
|
||||
j->short_description ? j->short_description : "<None>",
|
||||
|
|
@ -767,11 +767,11 @@ static void do_stat_object(struct char_data *ch, struct obj_data *j)
|
|||
do_sstat_object(ch, j);
|
||||
}
|
||||
|
||||
static void do_stat_character(struct char_data *ch, struct char_data *k)
|
||||
static void do_stat_character(char_data *ch, char_data *k)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
int i, i2, column, found = FALSE;
|
||||
struct obj_data *j;
|
||||
obj_data *j;
|
||||
struct follow_type *fol;
|
||||
struct affected_type *aff;
|
||||
|
||||
|
|
@ -959,7 +959,7 @@ static void do_stat_character(struct char_data *ch, struct char_data *k)
|
|||
struct script_memory *mem = SCRIPT_MEM(k);
|
||||
send_to_char(ch, "Script memory:\r\n Remember Command\r\n");
|
||||
while (mem) {
|
||||
struct char_data *mc = find_char(mem->id);
|
||||
char_data *mc = find_char(mem->id);
|
||||
if (!mc)
|
||||
send_to_char(ch, " ** Corrupted!\r\n");
|
||||
else {
|
||||
|
|
@ -995,15 +995,14 @@ static void do_stat_character(struct char_data *ch, struct char_data *k)
|
|||
ACMD(do_stat)
|
||||
{
|
||||
char buf1[MAX_INPUT_LENGTH], buf2[MAX_INPUT_LENGTH];
|
||||
struct char_data *victim;
|
||||
struct obj_data *object;
|
||||
struct room_data *room;
|
||||
char_data *victim;
|
||||
obj_data *object;
|
||||
room_data *room;
|
||||
|
||||
half_chop(argument, buf1, buf2);
|
||||
|
||||
if (!*buf1) {
|
||||
send_to_char(ch, "Stats on who or what or where?\r\n");
|
||||
return;
|
||||
} else if (is_abbrev(buf1, "room")) {
|
||||
if (!*buf2)
|
||||
room = &world[IN_ROOM(ch)];
|
||||
|
|
@ -1040,7 +1039,7 @@ ACMD(do_stat)
|
|||
else if ((victim = get_player_vis(ch, buf2, NULL, FIND_CHAR_WORLD)) != NULL)
|
||||
do_stat_character(ch, victim);
|
||||
else {
|
||||
CREATE(victim, struct char_data, 1);
|
||||
CREATE(victim, char_data, 1);
|
||||
clear_char(victim);
|
||||
CREATE(victim->player_specials, struct player_special_data, 1);
|
||||
new_mobile_data(victim);
|
||||
|
|
@ -1068,10 +1067,8 @@ ACMD(do_stat)
|
|||
} else if (is_abbrev(buf1, "zone")) {
|
||||
if (!*buf2) {
|
||||
print_zone(ch, zone_table[world[IN_ROOM(ch)].zone].number);
|
||||
return;
|
||||
} else {
|
||||
print_zone(ch, atoidx(buf2));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
char *name = buf1;
|
||||
|
|
@ -1133,7 +1130,7 @@ ACMD(do_shutdown)
|
|||
send_to_char(ch, "Unknown shutdown option.\r\n");
|
||||
}
|
||||
|
||||
void snoop_check(struct char_data *ch)
|
||||
void snoop_check(char_data *ch)
|
||||
{
|
||||
/* This short routine is to ensure that characters that happen to be snooping
|
||||
* (or snooped) and get advanced/demoted will not be snooping/snooped someone
|
||||
|
|
@ -1153,7 +1150,7 @@ void snoop_check(struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void stop_snooping(struct char_data *ch)
|
||||
static void stop_snooping(char_data *ch)
|
||||
{
|
||||
if (!ch->desc->snooping)
|
||||
send_to_char(ch, "You aren't snooping anyone.\r\n");
|
||||
|
|
@ -1170,7 +1167,7 @@ static void stop_snooping(struct char_data *ch)
|
|||
ACMD(do_snoop)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *victim, *tch;
|
||||
char_data *victim, *tch;
|
||||
|
||||
if (!ch->desc)
|
||||
return;
|
||||
|
|
@ -1214,7 +1211,7 @@ ACMD(do_snoop)
|
|||
ACMD(do_switch)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *victim;
|
||||
char_data *victim;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
@ -1246,7 +1243,7 @@ ACMD(do_switch)
|
|||
}
|
||||
}
|
||||
|
||||
static void do_cheat(struct char_data *ch)
|
||||
static void do_cheat(char_data *ch)
|
||||
{
|
||||
switch (GET_IDNUM(ch)) {
|
||||
case 1: // IMP
|
||||
|
|
@ -1260,7 +1257,7 @@ static void do_cheat(struct char_data *ch)
|
|||
save_char(ch);
|
||||
}
|
||||
|
||||
void return_to_char(struct char_data *ch)
|
||||
void return_to_char(char_data *ch)
|
||||
{
|
||||
/* If someone switched into your original body, disconnect them. - JE
|
||||
* Zmey: here we put someone switched in our body to disconnect state but
|
||||
|
|
@ -1321,7 +1318,7 @@ ACMD(do_load)
|
|||
}
|
||||
|
||||
if (is_abbrev(buf, "mob")) {
|
||||
struct char_data *mob = NULL;
|
||||
char_data *mob = NULL;
|
||||
mob_rnum r_num;
|
||||
|
||||
if (GET_LEVEL(ch) < LVL_GRGOD && !can_edit_zone(ch, world[IN_ROOM(ch)].zone)) {
|
||||
|
|
@ -1343,7 +1340,7 @@ ACMD(do_load)
|
|||
load_mtrigger(mob);
|
||||
}
|
||||
} else if (is_abbrev(buf, "obj")) {
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
obj_rnum r_num;
|
||||
|
||||
if (GET_LEVEL(ch) < LVL_GRGOD && !can_edit_zone(ch, world[IN_ROOM(ch)].zone)) {
|
||||
|
|
@ -1373,8 +1370,8 @@ ACMD(do_load)
|
|||
ACMD(do_vstat)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH], buf2[MAX_INPUT_LENGTH];
|
||||
struct char_data *mob;
|
||||
struct obj_data *obj;
|
||||
char_data *mob;
|
||||
obj_data *obj;
|
||||
int r_num;
|
||||
|
||||
ACMD(do_tstat);
|
||||
|
|
@ -1437,8 +1434,8 @@ ACMD(do_purge)
|
|||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
char *t;
|
||||
struct char_data *vict;
|
||||
struct obj_data *obj;
|
||||
char_data *vict;
|
||||
obj_data *obj;
|
||||
int number;
|
||||
|
||||
one_argument(argument, buf);
|
||||
|
|
@ -1487,7 +1484,7 @@ ACMD(do_purge)
|
|||
|
||||
ACMD(do_advance)
|
||||
{
|
||||
struct char_data *victim;
|
||||
char_data *victim;
|
||||
char name[MAX_INPUT_LENGTH], level[MAX_INPUT_LENGTH];
|
||||
int newlevel, oldlevel, i;
|
||||
|
||||
|
|
@ -1580,8 +1577,8 @@ ACMD(do_advance)
|
|||
ACMD(do_restore)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
struct descriptor_data *j;
|
||||
char_data *vict;
|
||||
descriptor_data *j;
|
||||
int i;
|
||||
|
||||
one_argument(argument, buf);
|
||||
|
|
@ -1635,7 +1632,7 @@ ACMD(do_restore)
|
|||
}
|
||||
}
|
||||
|
||||
void perform_immort_vis(struct char_data *ch)
|
||||
void perform_immort_vis(char_data *ch)
|
||||
{
|
||||
if ((GET_INVIS_LEV(ch) == 0) && (!AFF_FLAGGED(ch, AFF_HIDE) && !AFF_FLAGGED(ch, AFF_INVISIBLE))) {
|
||||
send_to_char(ch, "You are already fully visible.\r\n");
|
||||
|
|
@ -1647,9 +1644,9 @@ void perform_immort_vis(struct char_data *ch)
|
|||
send_to_char(ch, "You are now fully visible.\r\n");
|
||||
}
|
||||
|
||||
static void perform_immort_invis(struct char_data *ch, int level)
|
||||
static void perform_immort_invis(char_data *ch, int level)
|
||||
{
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
|
||||
for (tch = world[IN_ROOM(ch)].people; tch; tch = tch->next_in_room) {
|
||||
if (tch == ch || IS_NPC(tch))
|
||||
|
|
@ -1695,7 +1692,7 @@ ACMD(do_invis)
|
|||
|
||||
ACMD(do_gecho)
|
||||
{
|
||||
struct descriptor_data *pt;
|
||||
descriptor_data *pt;
|
||||
|
||||
skip_spaces(&argument);
|
||||
delete_doubledollar(argument);
|
||||
|
|
@ -1719,7 +1716,7 @@ ACMD(do_gecho)
|
|||
ACMD(do_dc)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
int num_to_dc;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -1926,12 +1923,9 @@ static void mod_llog_entry(struct last_entry *llast, int type)
|
|||
/* Not the one we seek, next. */
|
||||
}
|
||||
fclose(fp);
|
||||
|
||||
/* Not found, no problem, quit. */
|
||||
return;
|
||||
}
|
||||
|
||||
void add_llog_entry(struct char_data *ch, int type)
|
||||
void add_llog_entry(char_data *ch, int type)
|
||||
{
|
||||
FILE *fp;
|
||||
struct last_entry *llast;
|
||||
|
|
@ -2015,7 +2009,7 @@ void clean_llog_entries(void)
|
|||
}
|
||||
|
||||
/* debugging stuff, if you wanna see the whole file */
|
||||
static void list_llog_entries(struct char_data *ch)
|
||||
static void list_llog_entries(char_data *ch)
|
||||
{
|
||||
FILE *fp;
|
||||
struct last_entry llast;
|
||||
|
|
@ -2040,9 +2034,9 @@ static void list_llog_entries(struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static struct char_data *is_in_game(long idnum)
|
||||
static char_data *is_in_game(long idnum)
|
||||
{
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
|
||||
for (i = descriptor_list; i; i = i->next) {
|
||||
if (i->character && GET_IDNUM(i->character) == idnum) {
|
||||
|
|
@ -2057,8 +2051,8 @@ ACMD(do_last)
|
|||
char arg[MAX_INPUT_LENGTH], name[MAX_INPUT_LENGTH], timestr[25], to[6];
|
||||
char deltastr[6];
|
||||
time_t delta;
|
||||
struct char_data *vict = NULL;
|
||||
struct char_data *temp;
|
||||
char_data *vict = NULL;
|
||||
char_data *temp;
|
||||
int recs, num = 0;
|
||||
FILE *fp;
|
||||
struct last_entry mlast;
|
||||
|
|
@ -2086,7 +2080,7 @@ ACMD(do_last)
|
|||
}
|
||||
|
||||
if (*name && !num) {
|
||||
CREATE(vict, struct char_data, 1);
|
||||
CREATE(vict, char_data, 1);
|
||||
clear_char(vict);
|
||||
CREATE(vict->player_specials, struct player_special_data, 1);
|
||||
new_mobile_data(vict);
|
||||
|
|
@ -2150,8 +2144,8 @@ ACMD(do_last)
|
|||
|
||||
ACMD(do_force)
|
||||
{
|
||||
struct descriptor_data *i, *next_desc;
|
||||
struct char_data *vict, *next_force;
|
||||
descriptor_data *i, *next_desc;
|
||||
char_data *vict, *next_force;
|
||||
char arg[MAX_INPUT_LENGTH], to_force[MAX_INPUT_LENGTH], buf1[MAX_INPUT_LENGTH + 32];
|
||||
|
||||
half_chop(argument, arg, to_force);
|
||||
|
|
@ -2205,7 +2199,7 @@ ACMD(do_wiznet)
|
|||
{
|
||||
char buf1[MAX_INPUT_LENGTH + MAX_NAME_LENGTH + 32],
|
||||
buf2[MAX_INPUT_LENGTH + MAX_NAME_LENGTH + 32];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char emote = FALSE;
|
||||
int level = LVL_IMMORT;
|
||||
|
||||
|
|
@ -2330,7 +2324,7 @@ ACMD(do_zreset)
|
|||
ACMD(do_wizutil)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int taeller;
|
||||
long result;
|
||||
|
||||
|
|
@ -2508,9 +2502,9 @@ ACMD(do_show)
|
|||
zone_rnum zrn;
|
||||
zone_vnum zvn;
|
||||
byte self = FALSE;
|
||||
struct char_data *vict = NULL;
|
||||
struct obj_data *obj;
|
||||
struct descriptor_data *d;
|
||||
char_data *vict = NULL;
|
||||
obj_data *obj;
|
||||
descriptor_data *d;
|
||||
char field[MAX_INPUT_LENGTH], value[MAX_INPUT_LENGTH],
|
||||
arg[MAX_INPUT_LENGTH], buf[MAX_STRING_LENGTH];
|
||||
int r, g, b;
|
||||
|
|
@ -2618,7 +2612,7 @@ ACMD(do_show)
|
|||
return;
|
||||
}
|
||||
|
||||
CREATE(vict, struct char_data, 1);
|
||||
CREATE(vict, char_data, 1);
|
||||
clear_char(vict);
|
||||
CREATE(vict->player_specials, struct player_special_data, 1);
|
||||
new_mobile_data(vict);
|
||||
|
|
@ -2919,7 +2913,7 @@ static struct set_struct
|
|||
{"\n", 0, BOTH, MISC}
|
||||
};
|
||||
|
||||
static int perform_set(struct char_data *ch, struct char_data *vict, int mode, char *val_arg)
|
||||
static int perform_set(char_data *ch, char_data *vict, int mode, char *val_arg)
|
||||
{
|
||||
int i, on = 0, off = 0, value = 0, qvnum;
|
||||
room_rnum rnum;
|
||||
|
|
@ -3344,7 +3338,7 @@ static int perform_set(struct char_data *ch, struct char_data *vict, int mode, c
|
|||
return (1);
|
||||
}
|
||||
|
||||
static void show_set_help(struct char_data *ch)
|
||||
static void show_set_help(char_data *ch)
|
||||
{
|
||||
const char *set_levels[] = {"Imm", "God", "GrGod", "IMP"};
|
||||
const char *set_targets[] = {"PC", "NPC", "BOTH"};
|
||||
|
|
@ -3367,7 +3361,7 @@ static void show_set_help(struct char_data *ch)
|
|||
|
||||
ACMD(do_set)
|
||||
{
|
||||
struct char_data *vict = NULL, *cbuf = NULL;
|
||||
char_data *vict = NULL, *cbuf = NULL;
|
||||
char field[MAX_INPUT_LENGTH], name[MAX_INPUT_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
int mode, len, player_i = 0, retval;
|
||||
char is_file = 0, is_player = 0;
|
||||
|
|
@ -3409,7 +3403,7 @@ ACMD(do_set)
|
|||
}
|
||||
} else if (is_file) {
|
||||
/* try to load the player off disk */
|
||||
CREATE(cbuf, struct char_data, 1);
|
||||
CREATE(cbuf, char_data, 1);
|
||||
clear_char(cbuf);
|
||||
CREATE(cbuf->player_specials, struct player_special_data, 1);
|
||||
new_mobile_data(cbuf);
|
||||
|
|
@ -3603,8 +3597,8 @@ static const int offlimit_zones[] = {0, 12, 13, 14, -1}; /*what zones can no roo
|
|||
ACMD(do_zcheck)
|
||||
{
|
||||
zone_rnum zrnum;
|
||||
struct obj_data *obj;
|
||||
struct char_data *mob = NULL;
|
||||
obj_data *obj;
|
||||
char_data *mob = NULL;
|
||||
room_vnum exroom = 0;
|
||||
int ac = 0;
|
||||
int affs = 0, tohit, todam, value;
|
||||
|
|
@ -3947,7 +3941,7 @@ ACMD(do_zcheck)
|
|||
|
||||
}
|
||||
|
||||
static void mob_checkload(struct char_data *ch, mob_vnum mvnum)
|
||||
static void mob_checkload(char_data *ch, mob_vnum mvnum)
|
||||
{
|
||||
int cmd_no;
|
||||
zone_rnum zone;
|
||||
|
|
@ -3977,7 +3971,7 @@ static void mob_checkload(struct char_data *ch, mob_vnum mvnum)
|
|||
}
|
||||
}
|
||||
|
||||
static void obj_checkload(struct char_data *ch, obj_vnum ovnum)
|
||||
static void obj_checkload(char_data *ch, obj_vnum ovnum)
|
||||
{
|
||||
int cmd_no;
|
||||
zone_rnum zone;
|
||||
|
|
@ -4049,7 +4043,7 @@ static void obj_checkload(struct char_data *ch, obj_vnum ovnum)
|
|||
} /*for zone...*/
|
||||
}
|
||||
|
||||
static void trg_checkload(struct char_data *ch, trig_vnum tvnum)
|
||||
static void trg_checkload(char_data *ch, trig_vnum tvnum)
|
||||
{
|
||||
int cmd_no, found = 0;
|
||||
zone_rnum zone;
|
||||
|
|
@ -4200,7 +4194,7 @@ ACMD(do_checkloadstatus)
|
|||
ACMD(do_copyover)
|
||||
{
|
||||
FILE *fp;
|
||||
struct descriptor_data *d, *d_next;
|
||||
descriptor_data *d, *d_next;
|
||||
char buf[100], buf2[100];
|
||||
|
||||
fp = fopen(COPYOVER_FILE, "w");
|
||||
|
|
@ -4216,7 +4210,7 @@ ACMD(do_copyover)
|
|||
|
||||
/* For each playing descriptor, save its state */
|
||||
for (d = descriptor_list; d; d = d_next) {
|
||||
struct char_data *och = d->character;
|
||||
char_data *och = d->character;
|
||||
|
||||
/* If d is currently in someone else's body, return them. */
|
||||
if (och && d->original)
|
||||
|
|
@ -4265,7 +4259,7 @@ ACMD(do_copyover)
|
|||
|
||||
ACMD(do_peace)
|
||||
{
|
||||
struct char_data *vict, *next_v;
|
||||
char_data *vict, *next_v;
|
||||
|
||||
act("As $n makes a strange arcane gesture, a golden light descends\r\n"
|
||||
"from the heavens stopping all the fighting.\r\n",FALSE, ch, 0, 0, TO_ROOM);
|
||||
|
|
@ -4636,9 +4630,9 @@ ACMD(do_wizupdate)
|
|||
}
|
||||
|
||||
/* NOTE: This is called from perform_set */
|
||||
bool change_player_name(struct char_data *ch, struct char_data *vict, char *new_name)
|
||||
bool change_player_name(char_data *ch, char_data *vict, char *new_name)
|
||||
{
|
||||
struct char_data *temp_ch = NULL;
|
||||
char_data *temp_ch = NULL;
|
||||
int plr_i = 0, i, k;
|
||||
char old_name[MAX_NAME_LENGTH], old_pfile[50], new_pfile[50], buf[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -4666,7 +4660,7 @@ bool change_player_name(struct char_data *ch, struct char_data *vict, char *new_
|
|||
return FALSE;
|
||||
} else {
|
||||
/* try to load the player off disk */
|
||||
CREATE(temp_ch, struct char_data, 1);
|
||||
CREATE(temp_ch, char_data, 1);
|
||||
clear_char(temp_ch);
|
||||
CREATE(temp_ch->player_specials, struct player_special_data, 1);
|
||||
new_mobile_data(temp_ch);
|
||||
|
|
@ -5083,7 +5077,7 @@ ACMD(do_oset)
|
|||
const char usage[] = "Usage: \r\n"
|
||||
"Options: alias, apply, longdesc, shortdesc\r\n"
|
||||
"> oset <object> <option> <value>\r\n";
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
bool success = TRUE;
|
||||
|
||||
if (IS_NPC(ch) || ch->desc == NULL) {
|
||||
|
|
|
|||
26
src/aedit.c
26
src/aedit.c
|
|
@ -22,19 +22,19 @@
|
|||
|
||||
/* local utility functions */
|
||||
static int aedit_find_command(const char *txt);
|
||||
static void aedit_disp_menu(struct descriptor_data *d);
|
||||
static void aedit_save_to_disk(struct descriptor_data *d);
|
||||
static void aedit_disp_menu(descriptor_data *d);
|
||||
static void aedit_save_to_disk(descriptor_data *d);
|
||||
/* used in aedit parse */
|
||||
static void aedit_setup_new(struct descriptor_data *d);
|
||||
static void aedit_setup_existing(struct descriptor_data *d, int real_num);
|
||||
static void aedit_save_internally(struct descriptor_data *d);
|
||||
static void aedit_setup_new(descriptor_data *d);
|
||||
static void aedit_setup_existing(descriptor_data *d, int real_num);
|
||||
static void aedit_save_internally(descriptor_data *d);
|
||||
|
||||
|
||||
/* Utils and exported functions. */
|
||||
ACMD(do_oasis_aedit)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
int i;
|
||||
|
||||
/* No building as a mob or while being forced. */
|
||||
|
|
@ -106,7 +106,7 @@ ACMD(do_oasis_aedit)
|
|||
mudlog(CMP, MAX(LVL_IMMORT, GET_INVIS_LEV(ch)), TRUE, "OLC: %s starts editing actions.", GET_NAME(ch));
|
||||
}
|
||||
|
||||
static void aedit_setup_new(struct descriptor_data *d)
|
||||
static void aedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
CREATE(OLC_ACTION(d), struct social_messg, 1);
|
||||
OLC_ACTION(d)->command = strdup(OLC_STORAGE(d));
|
||||
|
|
@ -132,7 +132,7 @@ static void aedit_setup_new(struct descriptor_data *d)
|
|||
OLC_VAL(d) = 0;
|
||||
}
|
||||
|
||||
static void aedit_setup_existing(struct descriptor_data *d, int real_num)
|
||||
static void aedit_setup_existing(descriptor_data *d, int real_num)
|
||||
{
|
||||
CREATE(OLC_ACTION(d), struct social_messg, 1);
|
||||
OLC_ACTION(d)->command = strdup(soc_mess_list[real_num].command);
|
||||
|
|
@ -171,7 +171,7 @@ static void aedit_setup_existing(struct descriptor_data *d, int real_num)
|
|||
aedit_disp_menu(d);
|
||||
}
|
||||
|
||||
static void aedit_save_internally(struct descriptor_data *d)
|
||||
static void aedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
struct social_messg *new_soc_mess_list = NULL;
|
||||
int i;
|
||||
|
|
@ -202,7 +202,7 @@ static void aedit_save_internally(struct descriptor_data *d)
|
|||
aedit_save_to_disk(d); /* autosave by Rumble */
|
||||
}
|
||||
|
||||
static void aedit_save_to_disk(struct descriptor_data *d)
|
||||
static void aedit_save_to_disk(descriptor_data *d)
|
||||
{
|
||||
FILE *fp;
|
||||
int i;
|
||||
|
|
@ -255,10 +255,10 @@ static void aedit_save_to_disk(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The Main Menu. */
|
||||
static void aedit_disp_menu(struct descriptor_data *d)
|
||||
static void aedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
struct social_messg *action = OLC_ACTION(d);
|
||||
struct char_data *ch = d->character;
|
||||
char_data *ch = d->character;
|
||||
|
||||
get_char_colors(ch);
|
||||
|
||||
|
|
@ -326,7 +326,7 @@ static void aedit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The main loop. */
|
||||
void aedit_parse(struct descriptor_data *d, char *arg)
|
||||
void aedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
|||
80
src/ban.c
80
src/ban.c
|
|
@ -14,7 +14,6 @@
|
|||
#include "utils.h"
|
||||
#include "comm.h"
|
||||
#include "interpreter.h"
|
||||
#include "handler.h"
|
||||
#include "db.h"
|
||||
#include "ban.h"
|
||||
|
||||
|
|
@ -28,44 +27,44 @@ static char *invalid_list[MAX_INVALID_NAMES];
|
|||
|
||||
/* local utility functions */
|
||||
static void write_ban_list(void);
|
||||
static void _write_one_node(FILE *fp, struct ban_list_element *node);
|
||||
static void write_one_node(FILE *fp, struct ban_list_element *node);
|
||||
|
||||
static const char *ban_types[] = {
|
||||
"no",
|
||||
"new",
|
||||
"select",
|
||||
"all",
|
||||
"ERROR"
|
||||
"no",
|
||||
"new",
|
||||
"select",
|
||||
"all",
|
||||
"ERROR"
|
||||
};
|
||||
|
||||
void load_banned(void)
|
||||
{
|
||||
FILE *fl;
|
||||
int i, date;
|
||||
int i;
|
||||
char site_name[BANNED_SITE_LENGTH + 1], ban_type[100];
|
||||
char name[MAX_NAME_LENGTH + 1];
|
||||
char name[MAX_NAME_LENGTH + 1], date_str[30];
|
||||
struct ban_list_element *next_node;
|
||||
|
||||
ban_list = 0;
|
||||
|
||||
if (!(fl = fopen(BAN_FILE, "r"))) {
|
||||
if ((fl = fopen(BAN_FILE, "r")) != NULL) {
|
||||
if (errno != ENOENT) {
|
||||
log("SYSERR: Unable to open banfile '%s': %s", BAN_FILE, strerror(errno));
|
||||
} else
|
||||
log(" Ban file '%s' doesn't exist.", BAN_FILE);
|
||||
return;
|
||||
}
|
||||
while (fscanf(fl, " %s %s %d %s ", ban_type, site_name, &date, name) == 4) {
|
||||
while (fscanf(fl, " %s %s %s %s ", ban_type, site_name, date_str, name) == 4) {
|
||||
CREATE(next_node, struct ban_list_element, 1);
|
||||
strncpy(next_node->site, site_name, BANNED_SITE_LENGTH); /* strncpy: OK (n_n->site:BANNED_SITE_LENGTH+1) */
|
||||
strncpy(next_node->site, site_name, BANNED_SITE_LENGTH); /* strncpy: OK (n_n->site:BANNED_SITE_LENGTH+1) */
|
||||
next_node->site[BANNED_SITE_LENGTH] = '\0';
|
||||
strncpy(next_node->name, name, MAX_NAME_LENGTH); /* strncpy: OK (n_n->name:MAX_NAME_LENGTH+1) */
|
||||
strncpy(next_node->name, name, MAX_NAME_LENGTH); /* strncpy: OK (n_n->name:MAX_NAME_LENGTH+1) */
|
||||
next_node->name[MAX_NAME_LENGTH] = '\0';
|
||||
next_node->date = date;
|
||||
next_node->date = parse_int(date_str);
|
||||
|
||||
for (i = BAN_NOT; i <= BAN_ALL; i++)
|
||||
if (!strcmp(ban_type, ban_types[i]))
|
||||
next_node->type = i;
|
||||
next_node->type = i;
|
||||
|
||||
next_node->next = ban_list;
|
||||
ban_list = next_node;
|
||||
|
|
@ -81,25 +80,25 @@ int isbanned(char *hostname)
|
|||
char *nextchar;
|
||||
|
||||
if (!hostname || !*hostname)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
i = 0;
|
||||
for (nextchar = hostname; *nextchar; nextchar++)
|
||||
*nextchar = LOWER(*nextchar);
|
||||
|
||||
for (banned_node = ban_list; banned_node; banned_node = banned_node->next)
|
||||
if (strstr(hostname, banned_node->site)) /* if hostname is a substring */
|
||||
if (strstr(hostname, banned_node->site)) /* if hostname is a substring */
|
||||
i = MAX(i, banned_node->type);
|
||||
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
|
||||
static void _write_one_node(FILE *fp, struct ban_list_element *node)
|
||||
static void write_one_node(FILE *fp, struct ban_list_element *node) // NOLINT(*-no-recursion)
|
||||
{
|
||||
if (node) {
|
||||
_write_one_node(fp, node->next);
|
||||
write_one_node(fp, node->next);
|
||||
fprintf(fp, "%s %s %ld %s\n", ban_types[node->type],
|
||||
node->site, (long) node->date, node->name);
|
||||
node->site, node->date, node->name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -107,13 +106,12 @@ static void write_ban_list(void)
|
|||
{
|
||||
FILE *fl;
|
||||
|
||||
if (!(fl = fopen(BAN_FILE, "w"))) {
|
||||
if ((fl = fopen(BAN_FILE, "w")) == NULL) {
|
||||
perror("SYSERR: Unable to open '" BAN_FILE "' for writing");
|
||||
return;
|
||||
}
|
||||
_write_one_node(fl, ban_list);/* recursively write from end to start */
|
||||
write_one_node(fl, ban_list); /* recursively write from end to start */
|
||||
fclose(fl);
|
||||
return;
|
||||
}
|
||||
|
||||
#define BAN_LIST_FORMAT "%-25.25s %-8.8s %-15.15s %-16.16s\r\n"
|
||||
|
|
@ -130,21 +128,21 @@ ACMD(do_ban)
|
|||
return;
|
||||
}
|
||||
send_to_char(ch, BAN_LIST_FORMAT,
|
||||
"Banned Site Name",
|
||||
"Ban Type",
|
||||
"Banned On",
|
||||
"Banned By");
|
||||
"Banned Site Name",
|
||||
"Ban Type",
|
||||
"Banned On",
|
||||
"Banned By");
|
||||
send_to_char(ch, BAN_LIST_FORMAT,
|
||||
"---------------------------------",
|
||||
"---------------------------------",
|
||||
"---------------------------------",
|
||||
"---------------------------------");
|
||||
"---------------------------------",
|
||||
"---------------------------------",
|
||||
"---------------------------------",
|
||||
"---------------------------------");
|
||||
|
||||
for (ban_node = ban_list; ban_node; ban_node = ban_node->next) {
|
||||
if (ban_node->date) {
|
||||
strftime(timestr, sizeof(timestr), "%a %b %d %Y", localtime(&(ban_node->date)));
|
||||
} else
|
||||
strcpy(timestr, "Unknown"); /* strcpy: OK (strlen("Unknown") < 16) */
|
||||
strcpy(timestr, "Unknown"); /* strcpy: OK (strlen("Unknown") < 16) */
|
||||
|
||||
send_to_char(ch, BAN_LIST_FORMAT, ban_node->site, ban_types[ban_node->type], timestr, ban_node->name);
|
||||
}
|
||||
|
|
@ -168,11 +166,11 @@ ACMD(do_ban)
|
|||
}
|
||||
|
||||
CREATE(ban_node, struct ban_list_element, 1);
|
||||
strncpy(ban_node->site, site, BANNED_SITE_LENGTH); /* strncpy: OK (b_n->site:BANNED_SITE_LENGTH+1) */
|
||||
strncpy(ban_node->site, site, BANNED_SITE_LENGTH); /* strncpy: OK (b_n->site:BANNED_SITE_LENGTH+1) */
|
||||
ban_node->site[BANNED_SITE_LENGTH] = '\0';
|
||||
for (nextchar = ban_node->site; *nextchar; nextchar++)
|
||||
*nextchar = LOWER(*nextchar);
|
||||
strncpy(ban_node->name, GET_NAME(ch), MAX_NAME_LENGTH); /* strncpy: OK (b_n->size:MAX_NAME_LENGTH+1) */
|
||||
strncpy(ban_node->name, GET_NAME(ch), MAX_NAME_LENGTH); /* strncpy: OK (b_n->size:MAX_NAME_LENGTH+1) */
|
||||
ban_node->name[MAX_NAME_LENGTH] = '\0';
|
||||
ban_node->date = time(0);
|
||||
|
||||
|
|
@ -184,7 +182,7 @@ ACMD(do_ban)
|
|||
ban_list = ban_node;
|
||||
|
||||
mudlog(NRM, MAX(LVL_GOD, GET_INVIS_LEV(ch)), TRUE, "%s has banned %s for %s players.",
|
||||
GET_NAME(ch), site, ban_types[ban_node->type]);
|
||||
GET_NAME(ch), site, ban_types[ban_node->type]);
|
||||
send_to_char(ch, "Site banned.\r\n");
|
||||
write_ban_list();
|
||||
}
|
||||
|
|
@ -216,19 +214,19 @@ ACMD(do_unban)
|
|||
REMOVE_FROM_LIST(ban_node, ban_list, next);
|
||||
send_to_char(ch, "Site unbanned.\r\n");
|
||||
mudlog(NRM, MAX(LVL_GOD, GET_INVIS_LEV(ch)), TRUE, "%s removed the %s-player ban on %s.",
|
||||
GET_NAME(ch), ban_types[ban_node->type], ban_node->site);
|
||||
// ReSharper disable once CppDFANullDereference
|
||||
GET_NAME(ch), ban_types[ban_node->type], ban_node->site);
|
||||
|
||||
free(ban_node);
|
||||
write_ban_list();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Check for invalid names (i.e., profanity, etc.) Written by Sharon P Garza. */
|
||||
int valid_name(char *newname)
|
||||
int valid_name(const char *newname)
|
||||
{
|
||||
int i, vowels = 0;
|
||||
struct descriptor_data *dt;
|
||||
descriptor_data *dt;
|
||||
char tempname[MAX_INPUT_LENGTH];
|
||||
|
||||
/* Make sure someone isn't trying to create this same name. We want to do a
|
||||
|
|
@ -290,7 +288,7 @@ void read_invalid_list(void)
|
|||
FILE *fp;
|
||||
char temp[256];
|
||||
|
||||
if (!(fp = fopen(XNAME_FILE, "r"))) {
|
||||
if ((fp = fopen(XNAME_FILE, "r")) != NULL) {
|
||||
perror("SYSERR: Unable to open '" XNAME_FILE "' for reading");
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ struct ban_list_element {
|
|||
/* Utility Functions */
|
||||
void load_banned(void);
|
||||
int isbanned(char *hostname);
|
||||
int valid_name(char *newname);
|
||||
int valid_name(const char *newname);
|
||||
void read_invalid_list(void);
|
||||
void free_invalid_list(void);
|
||||
/* Command functions without subcommands */
|
||||
|
|
|
|||
194
src/boards.c
194
src/boards.c
|
|
@ -46,13 +46,13 @@
|
|||
/* Format: vnum, read lvl, write lvl, remove lvl, filename, 0 at end. Be sure
|
||||
* to also change NUM_OF_BOARDS in board.h*/
|
||||
struct board_info_type board_info[NUM_OF_BOARDS] = {
|
||||
{3099, 0, 0, LVL_GOD, LIB_ETC "board.mortal", 0},
|
||||
{3098, LVL_IMMORT, LVL_IMMORT, LVL_GRGOD, LIB_ETC "board.immortal", 0},
|
||||
{3097, LVL_IMMORT, LVL_GRGOD, LVL_IMPL, LIB_ETC "board.freeze", 0},
|
||||
{3096, 0, 0, LVL_IMMORT, LIB_ETC "board.social", 0},
|
||||
{1226, 0, 0, LVL_IMPL, LIB_ETC "board.builder", 0},
|
||||
{1227, 0, 0, LVL_IMPL, LIB_ETC "board.staff", 0},
|
||||
{1228, 0, 0, LVL_IMPL, LIB_ETC "board.advertising", 0},
|
||||
{3099, 0, 0, LVL_GOD, LIB_ETC "board.mortal", 0},
|
||||
{3098, LVL_IMMORT, LVL_IMMORT, LVL_GRGOD, LIB_ETC "board.immortal", 0},
|
||||
{3097, LVL_IMMORT, LVL_GRGOD, LVL_IMPL, LIB_ETC "board.freeze", 0},
|
||||
{3096, 0, 0, LVL_IMMORT, LIB_ETC "board.social", 0},
|
||||
{1226, 0, 0, LVL_IMPL, LIB_ETC "board.builder", 0},
|
||||
{1227, 0, 0, LVL_IMPL, LIB_ETC "board.staff", 0},
|
||||
{1228, 0, 0, LVL_IMPL, LIB_ETC "board.advertising", 0},
|
||||
};
|
||||
|
||||
/* local (file scope) global variables */
|
||||
|
|
@ -63,7 +63,7 @@ static struct board_msginfo msg_index[NUM_OF_BOARDS][MAX_BOARD_MESSAGES];
|
|||
|
||||
/* local static utility functions */
|
||||
static int find_slot(void);
|
||||
static int find_board(struct char_data *ch);
|
||||
static int find_board(const char_data *ch);
|
||||
static void init_boards(void);
|
||||
static void board_reset_board(int board_type);
|
||||
static void board_clear_board(int board_type);
|
||||
|
|
@ -75,29 +75,29 @@ static int find_slot(void)
|
|||
for (i = 0; i < INDEX_SIZE; i++)
|
||||
if (!msg_storage_taken[i]) {
|
||||
msg_storage_taken[i] = 1;
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
return (-1);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* search the room ch is standing in to find which board he's looking at */
|
||||
static int find_board(struct char_data *ch)
|
||||
static int find_board(const char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int i;
|
||||
|
||||
for (obj = world[IN_ROOM(ch)].contents; obj; obj = obj->next_content)
|
||||
for (i = 0; i < NUM_OF_BOARDS; i++)
|
||||
if (BOARD_RNUM(i) == GET_OBJ_RNUM(obj))
|
||||
return (i);
|
||||
return i;
|
||||
|
||||
if (GET_LEVEL(ch) >= LVL_IMMORT)
|
||||
for (obj = ch->carrying; obj; obj = obj->next_content)
|
||||
for (i = 0; i < NUM_OF_BOARDS; i++)
|
||||
if (BOARD_RNUM(i) == GET_OBJ_RNUM(obj))
|
||||
return (i);
|
||||
return i;
|
||||
|
||||
return (-1);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void init_boards(void)
|
||||
|
|
@ -112,12 +112,12 @@ static void init_boards(void)
|
|||
for (i = 0; i < NUM_OF_BOARDS; i++) {
|
||||
if ((BOARD_RNUM(i) = real_object(BOARD_VNUM(i))) == NOTHING) {
|
||||
log("SYSERR: Fatal board error: board vnum %d does not exist!",
|
||||
BOARD_VNUM(i));
|
||||
BOARD_VNUM(i));
|
||||
fatal_error = 1;
|
||||
}
|
||||
num_of_msgs[i] = 0;
|
||||
for (j = 0; j < MAX_BOARD_MESSAGES; j++) {
|
||||
memset((char *) &(msg_index[i][j]), 0, sizeof(struct board_msginfo));
|
||||
memset((char *)&msg_index[i][j], 0, sizeof(struct board_msginfo));
|
||||
msg_index[i][j].slot_num = -1;
|
||||
}
|
||||
board_load_board(i);
|
||||
|
|
@ -131,17 +131,17 @@ SPECIAL(gen_board)
|
|||
{
|
||||
int board_type;
|
||||
static int loaded = 0;
|
||||
struct obj_data *board = (struct obj_data *)me;
|
||||
obj_data *board = (obj_data *)me;
|
||||
|
||||
/* These were originally globals for some unknown reason. */
|
||||
int ACMD_READ, ACMD_LOOK, ACMD_EXAMINE, ACMD_WRITE, ACMD_REMOVE;
|
||||
|
||||
|
||||
if (!loaded) {
|
||||
init_boards();
|
||||
loaded = 1;
|
||||
}
|
||||
if (!ch->desc)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
ACMD_READ = find_command("read");
|
||||
ACMD_WRITE = find_command("write");
|
||||
|
|
@ -151,41 +151,42 @@ SPECIAL(gen_board)
|
|||
|
||||
if (cmd != ACMD_WRITE && cmd != ACMD_LOOK && cmd != ACMD_EXAMINE &&
|
||||
cmd != ACMD_READ && cmd != ACMD_REMOVE)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
if ((board_type = find_board(ch)) == -1) {
|
||||
log("SYSERR: degenerate board! (what the hell...)");
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
if (cmd == ACMD_WRITE)
|
||||
return (board_write_message(board_type, ch, argument, board));
|
||||
else if (cmd == ACMD_LOOK || cmd == ACMD_EXAMINE)
|
||||
return (board_show_board(board_type, ch, argument, board));
|
||||
else if (cmd == ACMD_READ)
|
||||
return (board_display_msg(board_type, ch, argument, board));
|
||||
else if (cmd == ACMD_REMOVE)
|
||||
return (board_remove_msg(board_type, ch, argument, board));
|
||||
else
|
||||
return (0);
|
||||
return board_write_message(board_type, ch, argument, board);
|
||||
if (cmd == ACMD_LOOK || cmd == ACMD_EXAMINE)
|
||||
return board_show_board(board_type, ch, argument, board);
|
||||
if (cmd == ACMD_READ)
|
||||
return board_display_msg(board_type, ch, argument, board);
|
||||
if (cmd == ACMD_REMOVE)
|
||||
return board_remove_msg(board_type, ch, argument, board);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_write_message(int board_type, struct char_data *ch, char *arg, struct obj_data *board)
|
||||
// ReSharper disable once CppDFAConstantFunctionResult
|
||||
int board_write_message(int board_type, char_data *ch, char *arg, obj_data *board)
|
||||
{
|
||||
time_t ct;
|
||||
char buf[MAX_INPUT_LENGTH], buf2[MAX_NAME_LENGTH + 3], tmstr[100];
|
||||
|
||||
if (GET_LEVEL(ch) < WRITE_LVL(board_type)) {
|
||||
send_to_char(ch, "You are not holy enough to write on this board.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (num_of_msgs[board_type] >= MAX_BOARD_MESSAGES) {
|
||||
send_to_char(ch, "The board is full.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if ((NEW_MSG_INDEX(board_type).slot_num = find_slot()) == -1) {
|
||||
send_to_char(ch, "The board is malfunctioning - sorry.\r\n");
|
||||
log("SYSERR: Board: failed to find empty slot on write.");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
/* skip blanks */
|
||||
skip_spaces(&arg);
|
||||
|
|
@ -196,7 +197,7 @@ int board_write_message(int board_type, struct char_data *ch, char *arg, struct
|
|||
|
||||
if (!*arg) {
|
||||
send_to_char(ch, "We must have a headline!\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
ct = time(0);
|
||||
strftime(tmstr, sizeof(tmstr), "%a %b %d %Y", localtime(&ct));
|
||||
|
|
@ -204,49 +205,50 @@ int board_write_message(int board_type, struct char_data *ch, char *arg, struct
|
|||
snprintf(buf2, sizeof(buf2), "(%s)", GET_NAME(ch));
|
||||
snprintf(buf, sizeof(buf), "%s %-12s :: %s", tmstr, buf2, arg);
|
||||
NEW_MSG_INDEX(board_type).heading = strdup(buf);
|
||||
NEW_MSG_INDEX(board_type).level = GET_LEVEL(ch);
|
||||
NEW_MSG_INDEX(board_type).level = (int)GET_LEVEL(ch);
|
||||
|
||||
send_to_char(ch, "Write your message.\r\n");
|
||||
send_editor_help(ch->desc);
|
||||
act("$n starts to write a message.", TRUE, ch, 0, 0, TO_ROOM);
|
||||
|
||||
string_write(ch->desc, &(msg_storage[NEW_MSG_INDEX(board_type).slot_num]),
|
||||
MAX_MESSAGE_LENGTH, board_type + BOARD_MAGIC, NULL);
|
||||
string_write(ch->desc, &msg_storage[NEW_MSG_INDEX(board_type).slot_num],
|
||||
MAX_MESSAGE_LENGTH, board_type + BOARD_MAGIC, NULL);
|
||||
|
||||
num_of_msgs[board_type]++;
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int board_show_board(int board_type, struct char_data *ch, char *arg, struct obj_data *board)
|
||||
int board_show_board(int board_type, char_data *ch, char *arg, obj_data *board)
|
||||
{
|
||||
int i;
|
||||
char tmp[MAX_STRING_LENGTH], buf[MAX_STRING_LENGTH];
|
||||
|
||||
if (!ch->desc)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
one_argument(arg, tmp);
|
||||
|
||||
if (!*tmp || !isname(tmp, board->name))
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
if (GET_LEVEL(ch) < READ_LVL(board_type)) {
|
||||
send_to_char(ch, "You try but fail to understand the holy words.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
act("$n studies the board.", TRUE, ch, 0, 0, TO_ROOM);
|
||||
|
||||
if (!num_of_msgs[board_type])
|
||||
send_to_char(ch, "This is a bulletin board. Usage: READ/REMOVE <messg #>, WRITE <header>.\r\nThe board is empty.\r\n");
|
||||
send_to_char(
|
||||
ch, "This is a bulletin board. Usage: READ/REMOVE <messg #>, WRITE <header>.\r\nThe board is empty.\r\n");
|
||||
else {
|
||||
size_t len = 0;
|
||||
int nlen;
|
||||
|
||||
len = snprintf(buf, sizeof(buf),
|
||||
"This is a bulletin board. Usage: READ/REMOVE <messg #>, WRITE <header>.\r\n"
|
||||
"You will need to look at the board to save your message.\r\n"
|
||||
"There are %d messages on the board.\r\n",
|
||||
num_of_msgs[board_type]);
|
||||
"This is a bulletin board. Usage: READ/REMOVE <messg #>, WRITE <header>.\r\n"
|
||||
"You will need to look at the board to save your message.\r\n"
|
||||
"There are %d messages on the board.\r\n",
|
||||
num_of_msgs[board_type]);
|
||||
#if NEWEST_AT_TOP
|
||||
for (i = num_of_msgs[board_type] - 1; i >= 0; i--) {
|
||||
if (!MSG_HEADING(board_type, i))
|
||||
|
|
@ -270,40 +272,40 @@ int board_show_board(int board_type, struct char_data *ch, char *arg, struct obj
|
|||
#endif
|
||||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
return (1);
|
||||
return 1;
|
||||
|
||||
fubar:
|
||||
log("SYSERR: Board %d is fubar'd.", board_type);
|
||||
send_to_char(ch, "Sorry, the board isn't working.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int board_display_msg(int board_type, struct char_data *ch, char *arg, struct obj_data *board)
|
||||
int board_display_msg(int board_type, char_data *ch, char *arg, obj_data *board)
|
||||
{
|
||||
char number[MAX_INPUT_LENGTH], buffer[MAX_STRING_LENGTH];
|
||||
int msg, ind;
|
||||
|
||||
one_argument(arg, number);
|
||||
if (!*number)
|
||||
return (0);
|
||||
if (isname(number, board->name)) /* so "read board" works */
|
||||
return (board_show_board(board_type, ch, arg, board));
|
||||
if (!is_number(number)) /* read 2.mail, look 2.sword */
|
||||
return (0);
|
||||
if (!(msg = atoi(number)))
|
||||
return (0);
|
||||
return 0;
|
||||
if (isname(number, board->name)) /* so "read board" works */
|
||||
return board_show_board(board_type, ch, arg, board);
|
||||
if (!is_number(number)) /* read 2.mail, look 2.sword */
|
||||
return 0;
|
||||
if ((msg = parse_int(number)) == 0)
|
||||
return 0;
|
||||
|
||||
if (GET_LEVEL(ch) < READ_LVL(board_type)) {
|
||||
send_to_char(ch, "You try but fail to understand the holy words.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (!num_of_msgs[board_type]) {
|
||||
send_to_char(ch, "The board is empty!\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (msg < 1 || msg > num_of_msgs[board_type]) {
|
||||
send_to_char(ch, "That message exists only in your imagination.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
#if NEWEST_AT_TOP
|
||||
ind = num_of_msgs[board_type] - msg;
|
||||
|
|
@ -314,45 +316,45 @@ int board_display_msg(int board_type, struct char_data *ch, char *arg, struct ob
|
|||
MSG_SLOTNUM(board_type, ind) >= INDEX_SIZE) {
|
||||
send_to_char(ch, "Sorry, the board is not working.\r\n");
|
||||
log("SYSERR: Board is screwed up. (Room #%d)", GET_ROOM_VNUM(IN_ROOM(ch)));
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (!(MSG_HEADING(board_type, ind))) {
|
||||
if (!MSG_HEADING(board_type, ind)) {
|
||||
send_to_char(ch, "That message appears to be screwed up.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (!(msg_storage[MSG_SLOTNUM(board_type, ind)])) {
|
||||
if (!msg_storage[MSG_SLOTNUM(board_type, ind)]) {
|
||||
send_to_char(ch, "That message seems to be empty.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
snprintf(buffer, sizeof(buffer), "Message %d : %s\r\n\r\n%s\r\n", msg,
|
||||
MSG_HEADING(board_type, ind),
|
||||
msg_storage[MSG_SLOTNUM(board_type, ind)]);
|
||||
MSG_HEADING(board_type, ind),
|
||||
msg_storage[MSG_SLOTNUM(board_type, ind)]);
|
||||
|
||||
page_string(ch->desc, buffer, TRUE);
|
||||
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int board_remove_msg(int board_type, struct char_data *ch, char *arg, struct obj_data *board)
|
||||
int board_remove_msg(int board_type, char_data *ch, char *arg, obj_data *board)
|
||||
{
|
||||
int ind, msg, slot_num;
|
||||
char number[MAX_INPUT_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
one_argument(arg, number);
|
||||
|
||||
if (!*number || !is_number(number))
|
||||
return (0);
|
||||
if (!(msg = atoi(number)))
|
||||
return (0);
|
||||
return 0;
|
||||
if ((msg = parse_int(number)) == 0)
|
||||
return 0;
|
||||
|
||||
if (!num_of_msgs[board_type]) {
|
||||
send_to_char(ch, "The board is empty!\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (msg < 1 || msg > num_of_msgs[board_type]) {
|
||||
send_to_char(ch, "That message exists only in your imagination.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
#if NEWEST_AT_TOP
|
||||
ind = num_of_msgs[board_type] - msg;
|
||||
|
|
@ -361,28 +363,28 @@ int board_remove_msg(int board_type, struct char_data *ch, char *arg, struct obj
|
|||
#endif
|
||||
if (!MSG_HEADING(board_type, ind)) {
|
||||
send_to_char(ch, "That message appears to be screwed up.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "(%s)", GET_NAME(ch));
|
||||
if (GET_LEVEL(ch) < REMOVE_LVL(board_type) &&
|
||||
!(strstr(MSG_HEADING(board_type, ind), buf))) {
|
||||
!strstr(MSG_HEADING(board_type, ind), buf)) {
|
||||
send_to_char(ch, "You are not holy enough to remove other people's messages.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (GET_LEVEL(ch) < MSG_LEVEL(board_type, ind)) {
|
||||
send_to_char(ch, "You can't remove a message holier than yourself.\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
slot_num = MSG_SLOTNUM(board_type, ind);
|
||||
if (slot_num < 0 || slot_num >= INDEX_SIZE) {
|
||||
send_to_char(ch, "That message is majorly screwed up.\r\n");
|
||||
log("SYSERR: The board is seriously screwed up. (Room #%d)", GET_ROOM_VNUM(IN_ROOM(ch)));
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
for (d = descriptor_list; d; d = d->next)
|
||||
if (STATE(d) == CON_PLAYING && d->str == &(msg_storage[slot_num])) {
|
||||
if (STATE(d) == CON_PLAYING && d->str == &msg_storage[slot_num]) {
|
||||
send_to_char(ch, "At least wait until the author is finished before removing it!\r\n");
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
if (msg_storage[slot_num])
|
||||
free(msg_storage[slot_num]);
|
||||
|
|
@ -403,7 +405,7 @@ int board_remove_msg(int board_type, struct char_data *ch, char *arg, struct obj
|
|||
act(buf, FALSE, ch, 0, 0, TO_ROOM);
|
||||
board_save_board(board_type);
|
||||
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void board_save_board(int board_type)
|
||||
|
|
@ -416,26 +418,26 @@ void board_save_board(int board_type)
|
|||
remove(FILENAME(board_type));
|
||||
return;
|
||||
}
|
||||
if (!(fl = fopen(FILENAME(board_type), "wb"))) {
|
||||
if ((fl = fopen(FILENAME(board_type), "wb")) == NULL) {
|
||||
perror("SYSERR: Error writing board");
|
||||
return;
|
||||
}
|
||||
fwrite(&(num_of_msgs[board_type]), sizeof(int), 1, fl);
|
||||
fwrite(&num_of_msgs[board_type], sizeof(int), 1, fl);
|
||||
|
||||
for (i = 0; i < num_of_msgs[board_type]; i++) {
|
||||
if ((tmp1 = MSG_HEADING(board_type, i)) != NULL)
|
||||
msg_index[board_type][i].heading_len = strlen(tmp1) + 1;
|
||||
msg_index[board_type][i].heading_len = (int)strlen(tmp1) + 1;
|
||||
else
|
||||
msg_index[board_type][i].heading_len = 0;
|
||||
|
||||
if (MSG_SLOTNUM(board_type, i) < 0 ||
|
||||
MSG_SLOTNUM(board_type, i) >= INDEX_SIZE ||
|
||||
(!(tmp2 = msg_storage[MSG_SLOTNUM(board_type, i)])))
|
||||
MSG_SLOTNUM(board_type, i) >= INDEX_SIZE ||
|
||||
(tmp2 = msg_storage[MSG_SLOTNUM(board_type, i)]) == NULL)
|
||||
msg_index[board_type][i].message_len = 0;
|
||||
else
|
||||
msg_index[board_type][i].message_len = strlen(tmp2) + 1;
|
||||
msg_index[board_type][i].message_len = (int)strlen(tmp2) + 1;
|
||||
|
||||
fwrite(&(msg_index[board_type][i]), sizeof(struct board_msginfo), 1, fl);
|
||||
fwrite(&msg_index[board_type][i], sizeof(struct board_msginfo), 1, fl);
|
||||
if (tmp1)
|
||||
fwrite(tmp1, sizeof(char), msg_index[board_type][i].heading_len, fl);
|
||||
if (tmp2)
|
||||
|
|
@ -451,12 +453,12 @@ void board_load_board(int board_type)
|
|||
int i, len1, len2;
|
||||
char *tmp1, *tmp2;
|
||||
|
||||
if (!(fl = fopen(FILENAME(board_type), "rb"))) {
|
||||
if ((fl = fopen(FILENAME(board_type), "rb")) == NULL) {
|
||||
if (errno != ENOENT)
|
||||
perror("SYSERR: Error reading board");
|
||||
return;
|
||||
}
|
||||
if (fread(&(num_of_msgs[board_type]), sizeof(int), 1, fl) != 1)
|
||||
if (fread(&num_of_msgs[board_type], sizeof(int), 1, fl) != 1)
|
||||
return;
|
||||
if (num_of_msgs[board_type] < 1 || num_of_msgs[board_type] > MAX_BOARD_MESSAGES) {
|
||||
log("SYSERR: Board file %d corrupt. Resetting.", board_type);
|
||||
|
|
@ -464,7 +466,7 @@ void board_load_board(int board_type)
|
|||
return;
|
||||
}
|
||||
for (i = 0; i < num_of_msgs[board_type]; i++) {
|
||||
if (fread(&(msg_index[board_type][i]), sizeof(struct board_msginfo), 1, fl) != 1) {
|
||||
if (fread(&msg_index[board_type][i], sizeof(struct board_msginfo), 1, fl) != 1) {
|
||||
if (feof(fl))
|
||||
log("SYSERR: Unexpected EOF encountered in board file %d! Resetting.", board_type);
|
||||
else if (ferror(fl))
|
||||
|
|
@ -540,7 +542,7 @@ void board_clear_board(int board_type)
|
|||
if (msg_storage[MSG_SLOTNUM(board_type, i)])
|
||||
free(msg_storage[MSG_SLOTNUM(board_type, i)]);
|
||||
msg_storage_taken[MSG_SLOTNUM(board_type, i)] = 0;
|
||||
memset((char *)&(msg_index[board_type][i]),0,sizeof(struct board_msginfo));
|
||||
memset((char *)&msg_index[board_type][i], 0, sizeof(struct board_msginfo));
|
||||
msg_index[board_type][i].slot_num = -1;
|
||||
}
|
||||
num_of_msgs[board_type] = 0;
|
||||
|
|
|
|||
|
|
@ -51,10 +51,10 @@ struct board_info_type {
|
|||
#define MSG_LEVEL(i, j) (msg_index[i][j].level)
|
||||
|
||||
SPECIAL(gen_board);
|
||||
int board_display_msg(int board_type, struct char_data *ch, char *arg, struct obj_data *board);
|
||||
int board_show_board(int board_type, struct char_data *ch, char *arg, struct obj_data *board);
|
||||
int board_remove_msg(int board_type, struct char_data *ch, char *arg, struct obj_data *board);
|
||||
int board_write_message(int board_type, struct char_data *ch, char *arg, struct obj_data *board);
|
||||
int board_display_msg(int board_type, char_data *ch, char *arg, obj_data *board);
|
||||
int board_show_board(int board_type, char_data *ch, char *arg, obj_data *board);
|
||||
int board_remove_msg(int board_type, char_data *ch, char *arg, obj_data *board);
|
||||
int board_write_message(int board_type, char_data *ch, char *arg, obj_data *board);
|
||||
void board_save_board(int board_type);
|
||||
void board_load_board(int board_type);
|
||||
void board_clear_all(void);
|
||||
|
|
|
|||
253
src/castle.c
253
src/castle.c
|
|
@ -13,7 +13,6 @@
|
|||
#include "structs.h"
|
||||
#include "utils.h"
|
||||
#include "comm.h"
|
||||
#include "interpreter.h"
|
||||
#include "handler.h"
|
||||
#include "db.h"
|
||||
#include "spells.h"
|
||||
|
|
@ -30,18 +29,18 @@
|
|||
/* local, file scope restricted functions */
|
||||
static mob_vnum castle_virtual(mob_vnum offset);
|
||||
static room_rnum castle_real_room(room_vnum roomoffset);
|
||||
static struct char_data *find_npc_by_name(struct char_data *chAtChar, const char *pszName, int iLen);
|
||||
static int block_way(struct char_data *ch, int cmd, char *arg, room_vnum iIn_room, int iProhibited_direction);
|
||||
static int member_of_staff(struct char_data *chChar);
|
||||
static int member_of_royal_guard(struct char_data *chChar);
|
||||
static struct char_data *find_guard(struct char_data *chAtChar);
|
||||
static struct char_data *get_victim(struct char_data *chAtChar);
|
||||
static int banzaii(struct char_data *ch);
|
||||
static int do_npc_rescue(struct char_data *ch_hero, struct char_data *ch_victim);
|
||||
static int is_trash(struct obj_data *i);
|
||||
static void fry_victim(struct char_data *ch);
|
||||
static int castle_cleaner(struct char_data *ch, int cmd, int gripe);
|
||||
static int castle_twin_proc(struct char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname);
|
||||
static char_data *find_npc_by_name(const char_data *chAtChar, const char *pszName, int iLen);
|
||||
static int block_way(char_data *ch, int cmd, char *arg, room_vnum iIn_room, int iProhibited_direction);
|
||||
static int member_of_staff(const char_data *chChar);
|
||||
static int member_of_royal_guard(const char_data *chChar);
|
||||
static char_data *find_guard(const char_data *chAtChar);
|
||||
static char_data *get_victim(const char_data *chAtChar);
|
||||
static int banzaii(char_data *ch);
|
||||
static int do_npc_rescue(char_data *ch_hero, char_data *ch_victim);
|
||||
static int is_trash(const obj_data *i);
|
||||
static void fry_victim(char_data *ch);
|
||||
static int castle_cleaner(char_data *ch, int cmd, int gripe);
|
||||
static int castle_twin_proc(char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname);
|
||||
static void castle_mob_spec(mob_vnum mobnum, SPECIAL(*specproc));
|
||||
/* Special procedures for Kings Castle by Pjotr. Coded by Sapowox. */
|
||||
SPECIAL(CastleGuard);
|
||||
|
|
@ -129,86 +128,86 @@ void assign_kings_castle(void)
|
|||
|
||||
/* Routine: member_of_staff. Used to see if a character is a member of the
|
||||
* castle staff. Used mainly by BANZAI:ng NPC:s. */
|
||||
static int member_of_staff(struct char_data *chChar)
|
||||
static int member_of_staff(const char_data *chChar)
|
||||
{
|
||||
int ch_num;
|
||||
|
||||
if (!IS_NPC(chChar))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
ch_num = GET_MOB_VNUM(chChar);
|
||||
|
||||
if (ch_num == castle_virtual(1))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
if (ch_num > castle_virtual(2) && ch_num < castle_virtual(15))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
if (ch_num > castle_virtual(15) && ch_num < castle_virtual(18))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
if (ch_num > castle_virtual(18) && ch_num < castle_virtual(30))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Function: member_of_royal_guard. Returns TRUE if the character is a guard on
|
||||
* duty, otherwise FALSE. Used by Peter the captain of the royal guard. */
|
||||
static int member_of_royal_guard(struct char_data *chChar)
|
||||
static int member_of_royal_guard(const char_data *chChar)
|
||||
{
|
||||
int ch_num;
|
||||
|
||||
if (!chChar || !IS_NPC(chChar))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
ch_num = GET_MOB_VNUM(chChar);
|
||||
|
||||
if (ch_num == castle_virtual(3) || ch_num == castle_virtual(6))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
if (ch_num > castle_virtual(7) && ch_num < castle_virtual(12))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
if (ch_num > castle_virtual(23) && ch_num < castle_virtual(26))
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Function: find_npc_by_name. Returns a pointer to an npc by the given name.
|
||||
* Used by Tim and Tom. */
|
||||
static struct char_data *find_npc_by_name(struct char_data *chAtChar,
|
||||
static char_data *find_npc_by_name(const char_data *chAtChar,
|
||||
const char *pszName, int iLen)
|
||||
{
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
|
||||
for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
|
||||
if (IS_NPC(ch) && !strncmp(pszName, ch->player.short_descr, iLen))
|
||||
return (ch);
|
||||
return ch;
|
||||
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Function: find_guard. Returns the pointer to a guard on duty. Used by Peter
|
||||
/* Function: find_guard. Returns the pointer to a guard on duty. Used by Peter
|
||||
* the Captain of the Royal Guard */
|
||||
static struct char_data *find_guard(struct char_data *chAtChar)
|
||||
static char_data *find_guard(const char_data *chAtChar)
|
||||
{
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
|
||||
for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
|
||||
if (!FIGHTING(ch) && member_of_royal_guard(ch))
|
||||
return (ch);
|
||||
return ch;
|
||||
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Function: get_victim. Returns a pointer to a randomly chosen character in
|
||||
* the same room, fighting someone in the castle staff. Used by BANZAII-ing
|
||||
/* Function: get_victim. Returns a pointer to a randomly chosen character in
|
||||
* the same room, fighting someone in the castle staff. Used by BANZAII-ing
|
||||
* characters and King Welmar... */
|
||||
static struct char_data *get_victim(struct char_data *chAtChar)
|
||||
static char_data *get_victim(const char_data *chAtChar)
|
||||
{
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
int iNum_bad_guys = 0, iVictim;
|
||||
|
||||
for (ch = world[IN_ROOM(chAtChar)].people; ch; ch = ch->next_in_room)
|
||||
|
|
@ -216,11 +215,11 @@ static struct char_data *get_victim(struct char_data *chAtChar)
|
|||
iNum_bad_guys++;
|
||||
|
||||
if (!iNum_bad_guys)
|
||||
return (NULL);
|
||||
return NULL;
|
||||
|
||||
iVictim = rand_number(0, iNum_bad_guys); /* How nice, we give them a chance */
|
||||
if (!iVictim)
|
||||
return (NULL);
|
||||
return NULL;
|
||||
|
||||
iNum_bad_guys = 0;
|
||||
|
||||
|
|
@ -234,39 +233,40 @@ static struct char_data *get_victim(struct char_data *chAtChar)
|
|||
if (++iNum_bad_guys != iVictim)
|
||||
continue;
|
||||
|
||||
return (ch);
|
||||
return ch;
|
||||
}
|
||||
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Banzaii. Makes a character banzaii on attackers of the castle staff. Used
|
||||
/* Banzaii. Makes a character banzaii on attackers of the castle staff. Used
|
||||
* by Guards, Tim, Tom, Dick, David, Peter, Master, and the King. */
|
||||
static int banzaii(struct char_data *ch)
|
||||
static int banzaii(char_data *ch)
|
||||
{
|
||||
struct char_data *chOpponent;
|
||||
char_data *chOpponent;
|
||||
|
||||
if (!AWAKE(ch) || GET_POS(ch) == POS_FIGHTING || !(chOpponent = get_victim(ch)))
|
||||
return (FALSE);
|
||||
if (!AWAKE(ch) || GET_POS(ch) == POS_FIGHTING || (chOpponent = get_victim(ch)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
act("$n roars: 'Protect the Kingdom of Great King Welmar! BANZAIIII!!!'",
|
||||
FALSE, ch, 0, 0, TO_ROOM);
|
||||
hit(ch, chOpponent, TYPE_UNDEFINED);
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Do_npc_rescue. Makes ch_hero rescue ch_victim. Used by Tim and Tom. */
|
||||
static int do_npc_rescue(struct char_data *ch_hero, struct char_data *ch_victim)
|
||||
static int do_npc_rescue(char_data *ch_hero, char_data *ch_victim)
|
||||
{
|
||||
struct char_data *ch_bad_guy;
|
||||
char_data *ch_bad_guy;
|
||||
|
||||
for (ch_bad_guy = world[IN_ROOM(ch_hero)].people;
|
||||
ch_bad_guy && (FIGHTING(ch_bad_guy) != ch_victim);
|
||||
ch_bad_guy = ch_bad_guy->next_in_room);
|
||||
ch_bad_guy && FIGHTING(ch_bad_guy) != ch_victim;
|
||||
ch_bad_guy = ch_bad_guy->next_in_room)
|
||||
;
|
||||
|
||||
/* NO WAY I'll rescue the one I'm fighting! */
|
||||
if (!ch_bad_guy || ch_bad_guy == ch_hero)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
act("You bravely rescue $N.\r\n", FALSE, ch_hero, 0, ch_victim, TO_CHAR);
|
||||
act("You are rescued by $N, your loyal friend!\r\n",
|
||||
|
|
@ -280,54 +280,54 @@ static int do_npc_rescue(struct char_data *ch_hero, struct char_data *ch_victim)
|
|||
|
||||
set_fighting(ch_hero, ch_bad_guy);
|
||||
set_fighting(ch_bad_guy, ch_hero);
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Procedure to block a person trying to enter a room. Used by Tim/Tom at Kings
|
||||
/* Procedure to block a person trying to enter a room. Used by Tim/Tom at Kings
|
||||
* bedroom and Dick/David at treasury. */
|
||||
static int block_way(struct char_data *ch, int cmd, char *arg, room_vnum iIn_room,
|
||||
static int block_way(char_data *ch, int cmd, char *arg, room_vnum iIn_room,
|
||||
int iProhibited_direction)
|
||||
{
|
||||
if (cmd != ++iProhibited_direction)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (ch->player.short_descr && !strncmp(ch->player.short_descr, "King Welmar", 11))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (IN_ROOM(ch) != real_room(iIn_room))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (!member_of_staff(ch))
|
||||
act("The guard roars at $n and pushes $m back.", FALSE, ch, 0, 0, TO_ROOM);
|
||||
|
||||
send_to_char(ch, "The guard roars: 'Entrance is Prohibited!', and pushes you back.\r\n");
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Routine to check if an object is trash. Used by James the Butler and the
|
||||
/* Routine to check if an object is trash. Used by James the Butler and the
|
||||
* Cleaning Lady. */
|
||||
static int is_trash(struct obj_data *i)
|
||||
static int is_trash(const obj_data *i)
|
||||
{
|
||||
if (!OBJWEAR_FLAGGED(i, ITEM_WEAR_TAKE))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (GET_OBJ_TYPE(i) == ITEM_DRINKCON || GET_OBJ_COST(i) <= 10)
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Fry_victim. Finds a suitabe victim, and cast some _NASTY_ spell on him. Used
|
||||
/* Fry_victim. Finds a suitabe victim, and cast some _NASTY_ spell on him. Used
|
||||
* by King Welmar. */
|
||||
static void fry_victim(struct char_data *ch)
|
||||
static void fry_victim(char_data *ch)
|
||||
{
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
|
||||
if (ch->points.mana < 10)
|
||||
return;
|
||||
|
||||
/* Find someone suitable to fry ! */
|
||||
if (!(tch = get_victim(ch)))
|
||||
if ((tch = get_victim(ch)) == NULL)
|
||||
return;
|
||||
|
||||
switch (rand_number(0, 8)) {
|
||||
|
|
@ -358,8 +358,6 @@ static void fry_victim(struct char_data *ch)
|
|||
}
|
||||
|
||||
ch->points.mana -= 10;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* King_welmar. Control the actions and movements of the King. */
|
||||
|
|
@ -397,18 +395,19 @@ SPECIAL(king_welmar)
|
|||
path_index = 0;
|
||||
}
|
||||
}
|
||||
if (cmd || (GET_POS(ch) < POS_SLEEPING) ||
|
||||
if (cmd || GET_POS(ch) < POS_SLEEPING ||
|
||||
(GET_POS(ch) == POS_SLEEPING && !move))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (GET_POS(ch) == POS_FIGHTING) {
|
||||
fry_victim(ch);
|
||||
return (FALSE);
|
||||
} else if (banzaii(ch))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
if (banzaii(ch))
|
||||
return FALSE;
|
||||
|
||||
if (!move)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
switch (path[path_index]) {
|
||||
case '0':
|
||||
|
|
@ -471,36 +470,40 @@ SPECIAL(king_welmar)
|
|||
case '.':
|
||||
move = FALSE;
|
||||
break;
|
||||
default:
|
||||
log("default case hit in king_welmar spec proc. path_index=%d path[path_index] = %c",
|
||||
path_index, path[path_index]);
|
||||
break;
|
||||
}
|
||||
|
||||
path_index++;
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Training_master. Acts actions to the training room, if his students are
|
||||
* present. Also allowes warrior-class to practice. Used by the Training
|
||||
/* Training_master. Acts actions to the training room, if his students are
|
||||
* present. Also allowes warrior-class to practice. Used by the Training
|
||||
* Master. */
|
||||
SPECIAL(training_master)
|
||||
{
|
||||
struct char_data *pupil1, *pupil2 = NULL, *tch;
|
||||
char_data *pupil1, *pupil2 = NULL, *tch;
|
||||
|
||||
if (!AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
|
||||
return (FALSE);
|
||||
if (!AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
|
||||
return FALSE;
|
||||
|
||||
if (cmd)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (banzaii(ch) || rand_number(0, 2))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (!(pupil1 = find_npc_by_name(ch, "Brian", 5)))
|
||||
return (FALSE);
|
||||
if ((pupil1 = find_npc_by_name(ch, "Brian", 5)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (!(pupil2 = find_npc_by_name(ch, "Mick", 4)))
|
||||
return (FALSE);
|
||||
if ((pupil2 = find_npc_by_name(ch, "Mick", 4)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (FIGHTING(pupil1) || FIGHTING(pupil2))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (rand_number(0, 1)) {
|
||||
tch = pupil1;
|
||||
|
|
@ -562,7 +565,7 @@ SPECIAL(training_master)
|
|||
break;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SPECIAL(tom)
|
||||
|
|
@ -576,12 +579,12 @@ SPECIAL(tim)
|
|||
}
|
||||
|
||||
/* Common routine for the Castle Twins. */
|
||||
static int castle_twin_proc(struct char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname)
|
||||
static int castle_twin_proc(char_data *ch, int cmd, char *arg, int ctlnum, const char *twinname)
|
||||
{
|
||||
struct char_data *king, *twin;
|
||||
char_data *king, *twin;
|
||||
|
||||
if (!AWAKE(ch))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (cmd)
|
||||
return block_way(ch, cmd, arg, castle_virtual(ctlnum), 1);
|
||||
|
|
@ -595,18 +598,18 @@ static int castle_twin_proc(struct char_data *ch, int cmd, char *arg, int ctlnum
|
|||
do_npc_rescue(ch, king);
|
||||
}
|
||||
|
||||
if ((twin = find_npc_by_name(ch, twinname, strlen(twinname))) != NULL)
|
||||
if ((twin = find_npc_by_name(ch, twinname, (int)strlen(twinname))) != NULL)
|
||||
if (FIGHTING(twin) && 2 * GET_HIT(twin) < GET_HIT(ch))
|
||||
do_npc_rescue(ch, twin);
|
||||
|
||||
if (GET_POS(ch) != POS_FIGHTING)
|
||||
banzaii(ch);
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/* Routine for James the Butler. Complains if he finds any trash. This doesn't
|
||||
/* Routine for James the Butler. Complains if he finds any trash. This doesn't
|
||||
* make sure he _can_ carry it. */
|
||||
SPECIAL(James)
|
||||
{
|
||||
|
|
@ -614,12 +617,12 @@ SPECIAL(James)
|
|||
}
|
||||
|
||||
/* Common code for James and the Cleaning Woman. */
|
||||
static int castle_cleaner(struct char_data *ch, int cmd, int gripe)
|
||||
static int castle_cleaner(char_data *ch, int cmd, int gripe)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
|
||||
if (cmd || !AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
for (i = world[IN_ROOM(ch)].contents; i; i = i->next_content) {
|
||||
if (!is_trash(i))
|
||||
|
|
@ -632,10 +635,10 @@ static int castle_cleaner(struct char_data *ch, int cmd, int gripe)
|
|||
}
|
||||
obj_from_room(i);
|
||||
obj_to_char(i, ch);
|
||||
return (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Routine for the Cleaning Woman. Picks up any trash she finds. */
|
||||
|
|
@ -647,36 +650,36 @@ SPECIAL(cleaning)
|
|||
/* CastleGuard. Standard routine for ordinary castle guards. */
|
||||
SPECIAL(CastleGuard)
|
||||
{
|
||||
if (cmd || !AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
|
||||
return (FALSE);
|
||||
if (cmd || !AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
|
||||
return FALSE;
|
||||
|
||||
return (banzaii(ch));
|
||||
return banzaii(ch);
|
||||
}
|
||||
|
||||
/* DicknDave. Routine for the guards Dick and David. */
|
||||
SPECIAL(DicknDavid)
|
||||
{
|
||||
if (!AWAKE(ch))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (!cmd && GET_POS(ch) != POS_FIGHTING)
|
||||
banzaii(ch);
|
||||
|
||||
return (block_way(ch, cmd, argument, castle_virtual(36), 1));
|
||||
return block_way(ch, cmd, argument, castle_virtual(36), 1);
|
||||
}
|
||||
|
||||
/*Peter. Routine for Captain of the Guards. */
|
||||
SPECIAL(peter)
|
||||
{
|
||||
struct char_data *ch_guard = NULL;
|
||||
char_data *ch_guard = NULL;
|
||||
|
||||
if (cmd || !AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (banzaii(ch))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (!(rand_number(0, 3)) && (ch_guard = find_guard(ch)))
|
||||
if (!rand_number(0, 3) && (ch_guard = find_guard(ch)) != NULL)
|
||||
switch (rand_number(0, 5)) {
|
||||
case 0:
|
||||
act("$N comes sharply into attention as $n inspects $M.",
|
||||
|
|
@ -725,32 +728,32 @@ SPECIAL(peter)
|
|||
break;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Procedure for Jerry and Michael in x08 of King's Castle. Code by Sapowox
|
||||
/* Procedure for Jerry and Michael in x08 of King's Castle. Code by Sapowox
|
||||
* modified by Pjotr.(Original code from Master) */
|
||||
SPECIAL(jerry)
|
||||
{
|
||||
struct char_data *gambler1, *gambler2 = NULL, *tch;
|
||||
char_data *gambler1, *gambler2 = NULL, *tch;
|
||||
|
||||
if (!AWAKE(ch) || (GET_POS(ch) == POS_FIGHTING))
|
||||
return (FALSE);
|
||||
if (!AWAKE(ch) || GET_POS(ch) == POS_FIGHTING)
|
||||
return FALSE;
|
||||
|
||||
if (cmd)
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (banzaii(ch) || rand_number(0, 2))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (!(gambler1 = ch))
|
||||
return (FALSE);
|
||||
if ((gambler1 = ch) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (!(gambler2 = find_npc_by_name(ch, "Michael", 7)))
|
||||
return (FALSE);
|
||||
if ((gambler2 = find_npc_by_name(ch, "Michael", 7)) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (FIGHTING(gambler1) || FIGHTING(gambler2))
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
|
||||
if (rand_number(0, 1)) {
|
||||
tch = gambler1;
|
||||
|
|
@ -808,5 +811,5 @@ SPECIAL(jerry)
|
|||
FALSE, gambler1, 0, gambler2, TO_VICT);
|
||||
break;
|
||||
}
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
38
src/cedit.c
38
src/cedit.c
|
|
@ -19,20 +19,20 @@
|
|||
#include "modify.h"
|
||||
|
||||
/* local scope functions, not used externally */
|
||||
static void cedit_disp_menu(struct descriptor_data *d);
|
||||
static void cedit_save_internally(struct descriptor_data *d);
|
||||
static void cedit_disp_game_play_options(struct descriptor_data *d);
|
||||
static void cedit_disp_crash_save_options(struct descriptor_data *d);
|
||||
static void cedit_disp_room_numbers(struct descriptor_data *d);
|
||||
static void cedit_disp_operation_options(struct descriptor_data *d);
|
||||
static void cedit_disp_autowiz_options(struct descriptor_data *d);
|
||||
static void cedit_disp_menu(descriptor_data *d);
|
||||
static void cedit_save_internally(descriptor_data *d);
|
||||
static void cedit_disp_game_play_options(descriptor_data *d);
|
||||
static void cedit_disp_crash_save_options(descriptor_data *d);
|
||||
static void cedit_disp_room_numbers(descriptor_data *d);
|
||||
static void cedit_disp_operation_options(descriptor_data *d);
|
||||
static void cedit_disp_autowiz_options(descriptor_data *d);
|
||||
static void reassign_rooms(void);
|
||||
static void cedit_setup(struct descriptor_data *d);
|
||||
static void cedit_setup(descriptor_data *d);
|
||||
|
||||
|
||||
ACMD(do_oasis_cedit)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
|
||||
/* No building as a mob or while being forced. */
|
||||
|
|
@ -72,7 +72,7 @@ ACMD(do_oasis_cedit)
|
|||
cedit_save_to_disk();
|
||||
}
|
||||
|
||||
static void cedit_setup(struct descriptor_data *d)
|
||||
static void cedit_setup(descriptor_data *d)
|
||||
{
|
||||
/* Create the config_data struct. */
|
||||
CREATE(OLC_CONFIG(d), struct config_data, 1);
|
||||
|
|
@ -178,7 +178,7 @@ static void cedit_setup(struct descriptor_data *d)
|
|||
cedit_disp_menu(d);
|
||||
}
|
||||
|
||||
static void cedit_save_internally(struct descriptor_data *d)
|
||||
static void cedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
/* see if we need to reassign spec procs on rooms */
|
||||
int reassign = (CONFIG_DTS_ARE_DUMPS != OLC_CONFIG(d)->play.dts_are_dumps);
|
||||
|
|
@ -578,7 +578,7 @@ int save_config( IDXTYPE nowhere )
|
|||
}
|
||||
|
||||
/* Menu functions - The main menu. */
|
||||
static void cedit_disp_menu(struct descriptor_data *d)
|
||||
static void cedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
|
||||
get_char_colors(d->character);
|
||||
|
|
@ -606,7 +606,7 @@ static void cedit_disp_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = CEDIT_MAIN_MENU;
|
||||
}
|
||||
|
||||
static void cedit_disp_game_play_options(struct descriptor_data *d)
|
||||
static void cedit_disp_game_play_options(descriptor_data *d)
|
||||
{
|
||||
int m_opt;
|
||||
m_opt = OLC_CONFIG(d)->play.map_option;
|
||||
|
|
@ -679,7 +679,7 @@ static void cedit_disp_game_play_options(struct descriptor_data *d)
|
|||
OLC_MODE(d) = CEDIT_GAME_OPTIONS_MENU;
|
||||
}
|
||||
|
||||
static void cedit_disp_crash_save_options(struct descriptor_data *d)
|
||||
static void cedit_disp_crash_save_options(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -707,7 +707,7 @@ static void cedit_disp_crash_save_options(struct descriptor_data *d)
|
|||
OLC_MODE(d) = CEDIT_CRASHSAVE_OPTIONS_MENU;
|
||||
}
|
||||
|
||||
static void cedit_disp_room_numbers(struct descriptor_data *d)
|
||||
static void cedit_disp_room_numbers(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -733,7 +733,7 @@ static void cedit_disp_room_numbers(struct descriptor_data *d)
|
|||
OLC_MODE(d) = CEDIT_ROOM_NUMBERS_MENU;
|
||||
}
|
||||
|
||||
static void cedit_disp_operation_options(struct descriptor_data *d)
|
||||
static void cedit_disp_operation_options(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -785,7 +785,7 @@ static void cedit_disp_operation_options(struct descriptor_data *d)
|
|||
OLC_MODE(d) = CEDIT_OPERATION_OPTIONS_MENU;
|
||||
}
|
||||
|
||||
static void cedit_disp_autowiz_options(struct descriptor_data *d)
|
||||
static void cedit_disp_autowiz_options(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -804,7 +804,7 @@ static void cedit_disp_autowiz_options(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The event handler. */
|
||||
void cedit_parse(struct descriptor_data *d, char *arg)
|
||||
void cedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
char *oldtext = NULL;
|
||||
|
||||
|
|
@ -1729,7 +1729,7 @@ static void reassign_rooms(void)
|
|||
assign_rooms();
|
||||
}
|
||||
|
||||
void cedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void cedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case CEDIT_MENU:
|
||||
|
|
|
|||
|
|
@ -1343,7 +1343,7 @@ int thaco(int class_num, int level)
|
|||
/* Roll the 6 stats for a character... each stat is made of the sum of the best
|
||||
* 3 out of 4 rolls of a 6-sided die. Each class then decides which priority
|
||||
* will be given for the best to worst stats. */
|
||||
void roll_real_abils(struct char_data *ch)
|
||||
void roll_real_abils(char_data *ch)
|
||||
{
|
||||
int i, j, k, temp;
|
||||
ubyte table[6];
|
||||
|
|
@ -1410,7 +1410,7 @@ void roll_real_abils(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Some initializations for characters, including initial skills */
|
||||
void do_start(struct char_data *ch)
|
||||
void do_start(char_data *ch)
|
||||
{
|
||||
GET_LEVEL(ch) = 1;
|
||||
GET_EXP(ch) = 1;
|
||||
|
|
@ -1459,7 +1459,7 @@ void do_start(struct char_data *ch)
|
|||
|
||||
/* This function controls the change to maxmove, maxmana, and maxhp for each
|
||||
* class every time they gain a level. */
|
||||
void advance_level(struct char_data *ch)
|
||||
void advance_level(char_data *ch)
|
||||
{
|
||||
int add_hp, add_mana = 0, add_move = 0, i;
|
||||
|
||||
|
|
@ -1537,7 +1537,7 @@ int backstab_mult(int level)
|
|||
|
||||
/* invalid_class is used by handler.c to determine if a piece of equipment is
|
||||
* usable by a particular class, based on the ITEM_ANTI_{class} bitvectors. */
|
||||
int invalid_class(struct char_data *ch, struct obj_data *obj)
|
||||
int invalid_class(char_data *ch, obj_data *obj)
|
||||
{
|
||||
if (OBJ_FLAGGED(obj, ITEM_ANTI_MAGIC_USER) && IS_MAGIC_USER(ch))
|
||||
return TRUE;
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@
|
|||
|
||||
/* Functions available through class.c */
|
||||
int backstab_mult(int level);
|
||||
void do_start(struct char_data *ch);
|
||||
void do_start(char_data *ch);
|
||||
bitvector_t find_class_bitvector(const char *arg);
|
||||
int invalid_class(struct char_data *ch, struct obj_data *obj);
|
||||
int invalid_class(char_data *ch, obj_data *obj);
|
||||
int level_exp(int chclass, int level);
|
||||
int parse_class(char arg);
|
||||
void roll_real_abils(struct char_data *ch);
|
||||
void roll_real_abils(char_data *ch);
|
||||
byte saving_throws(int class_num, int type, int level);
|
||||
int thaco(int class_num, int level);
|
||||
const char *title_female(int chclass, int level);
|
||||
|
|
|
|||
547
src/comm.c
547
src/comm.c
File diff suppressed because it is too large
Load diff
24
src/comm.h
24
src/comm.h
|
|
@ -17,13 +17,13 @@
|
|||
#define COPYOVER_FILE "copyover.dat"
|
||||
|
||||
/* comm.c */
|
||||
void close_socket(struct descriptor_data *d);
|
||||
void close_socket(descriptor_data *d);
|
||||
void game_info(const char *messg, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
size_t send_to_char(struct char_data *ch, const char *messg, ...) __attribute__((format (printf, 2, 3)));
|
||||
size_t send_to_char(const char_data *ch, const char *messg, ...) __attribute__((format (printf, 2, 3)));
|
||||
void send_to_all(const char *messg, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
void send_to_room(room_rnum room, const char *messg, ...) __attribute__ ((format (printf, 2, 3)));
|
||||
void send_to_outdoor(const char *messg, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
void send_to_group(struct char_data *ch, struct group_data *group, const char * msg, ...) __attribute__ ((format(printf, 3, 4)));
|
||||
void send_to_group(const char_data *ch, const struct group_data *group, const char * msg, ...) __attribute__ ((format(printf, 3, 4)));
|
||||
void send_to_range(room_vnum start, room_vnum finish, const char *messg, ...) __attribute__ ((format (printf, 3, 4)));
|
||||
|
||||
/* Act type settings and flags */
|
||||
|
|
@ -37,27 +37,27 @@ void send_to_range(room_vnum start, room_vnum finish, const char *messg, ...) __
|
|||
|
||||
|
||||
/* act functions */
|
||||
void perform_act(const char *orig, struct char_data *ch, struct obj_data *obj, void *vict_obj, struct char_data *to);
|
||||
char * act(const char *str, int hide_invisible, struct char_data *ch, struct obj_data *obj, void *vict_obj, int type);
|
||||
void perform_act(const char *orig, char_data *ch, obj_data *obj, void *vict_obj, char_data *to);
|
||||
char * act(const char *str, int hide_invisible, char_data *ch, obj_data *obj, void *vict_obj, int type);
|
||||
|
||||
/* I/O functions */
|
||||
void write_to_q(const char *txt, struct txt_q *queue, int aliased);
|
||||
int write_to_descriptor(socket_t desc, const char *txt);
|
||||
size_t write_to_output(struct descriptor_data *d, const char *txt, ...) __attribute__ ((format (printf, 2, 3)));
|
||||
size_t vwrite_to_output(struct descriptor_data *d, const char *format, va_list args);
|
||||
ssize_t write_to_descriptor(socket_t desc, const char *txt);
|
||||
size_t write_to_output(descriptor_data *d, const char *txt, ...) __attribute__ ((format (printf, 2, 3)));
|
||||
size_t vwrite_to_output(descriptor_data *d, const char *format, va_list args);
|
||||
|
||||
typedef RETSIGTYPE sigfunc(int);
|
||||
|
||||
void echo_off(struct descriptor_data *d);
|
||||
void echo_on(struct descriptor_data *d);
|
||||
void echo_off(descriptor_data *d);
|
||||
void echo_on(descriptor_data *d);
|
||||
void game_loop(socket_t mother_desc);
|
||||
void heartbeat(int heart_pulse);
|
||||
void heartbeat(unsigned long heart_pulse);
|
||||
void copyover_recover(void);
|
||||
|
||||
/** webster dictionary lookup */
|
||||
extern long last_webster_teller;
|
||||
|
||||
extern struct descriptor_data *descriptor_list;
|
||||
extern descriptor_data *descriptor_list;
|
||||
extern int buf_largecount;
|
||||
extern int buf_overflows;
|
||||
extern int buf_switches;
|
||||
|
|
|
|||
96
src/db.c
96
src/db.c
|
|
@ -46,14 +46,14 @@ struct config_data config_info; /* Game configuration list. */
|
|||
struct room_data *world = NULL; /* array of rooms */
|
||||
room_rnum top_of_world = 0; /* ref to top element of world */
|
||||
|
||||
struct char_data *character_list = NULL; /* global linked list of chars */
|
||||
char_data *character_list = NULL; /* global linked list of chars */
|
||||
struct index_data *mob_index; /* index table for mobile file */
|
||||
struct char_data *mob_proto; /* prototypes for mobs */
|
||||
char_data *mob_proto; /* prototypes for mobs */
|
||||
mob_rnum top_of_mobt = 0; /* top of mobile index table */
|
||||
|
||||
struct obj_data *object_list = NULL; /* global linked list of objs */
|
||||
obj_data *object_list = NULL; /* global linked list of objs */
|
||||
struct index_data *obj_index; /* index table for object file */
|
||||
struct obj_data *obj_proto; /* prototypes for objs */
|
||||
obj_data *obj_proto; /* prototypes for objs */
|
||||
obj_rnum top_of_objt = 0; /* top of object index table */
|
||||
|
||||
struct zone_data *zone_table; /* zone table */
|
||||
|
|
@ -128,9 +128,9 @@ static int converting = FALSE;
|
|||
|
||||
/* Local (file scope) utility functions */
|
||||
static int check_bitvector_names(bitvector_t bits, size_t namecount, const char *whatami, const char *whatbits);
|
||||
static int check_object_spell_number(struct obj_data *obj, int val);
|
||||
static int check_object_level(struct obj_data *obj, int val);
|
||||
static int check_object(struct obj_data *);
|
||||
static int check_object_spell_number(obj_data *obj, int val);
|
||||
static int check_object_level(obj_data *obj, int val);
|
||||
static int check_object(obj_data *);
|
||||
static void load_zones(FILE *fl, char *zonename);
|
||||
static int file_to_string(const char *name, char *buf);
|
||||
static int file_to_string_alloc(const char *name, char **buf);
|
||||
|
|
@ -501,8 +501,8 @@ static void free_extra_descriptions(struct extra_descr_data *edesc)
|
|||
void destroy_db(void)
|
||||
{
|
||||
ssize_t cnt, itr;
|
||||
struct char_data *chtmp, *i = character_list;
|
||||
struct obj_data *objtmp;
|
||||
char_data *chtmp, *i = character_list;
|
||||
obj_data *objtmp;
|
||||
|
||||
/* Active Mobiles & Players */
|
||||
while (i) {
|
||||
|
|
@ -1040,17 +1040,17 @@ void index_boot(int mode)
|
|||
log(" %d rooms, %d bytes.", rec_count, size[0]);
|
||||
break;
|
||||
case DB_BOOT_MOB:
|
||||
CREATE(mob_proto, struct char_data, rec_count);
|
||||
CREATE(mob_proto, char_data, rec_count);
|
||||
CREATE(mob_index, struct index_data, rec_count);
|
||||
size[0] = sizeof(struct index_data) * rec_count;
|
||||
size[1] = sizeof(struct char_data) * rec_count;
|
||||
size[1] = sizeof(char_data) * rec_count;
|
||||
log(" %d mobs, %d bytes in index, %d bytes in prototypes.", rec_count, size[0], size[1]);
|
||||
break;
|
||||
case DB_BOOT_OBJ:
|
||||
CREATE(obj_proto, struct obj_data, rec_count);
|
||||
CREATE(obj_proto, obj_data, rec_count);
|
||||
CREATE(obj_index, struct index_data, rec_count);
|
||||
size[0] = sizeof(struct index_data) * rec_count;
|
||||
size[1] = sizeof(struct obj_data) * rec_count;
|
||||
size[1] = sizeof(obj_data) * rec_count;
|
||||
log(" %d objs, %d bytes in index, %d bytes in prototypes.", rec_count, size[0], size[1]);
|
||||
break;
|
||||
case DB_BOOT_ZON:
|
||||
|
|
@ -2349,7 +2349,7 @@ static int hsort(const void *a, const void *b)
|
|||
return (str_cmp(a1->keywords, b1->keywords));
|
||||
}
|
||||
|
||||
int vnum_mobile(char *searchname, struct char_data *ch)
|
||||
int vnum_mobile(char *searchname, char_data *ch)
|
||||
{
|
||||
int nr, found = 0;
|
||||
|
||||
|
|
@ -2362,7 +2362,7 @@ int vnum_mobile(char *searchname, struct char_data *ch)
|
|||
return (found);
|
||||
}
|
||||
|
||||
int vnum_object(char *searchname, struct char_data *ch)
|
||||
int vnum_object(char *searchname, char_data *ch)
|
||||
{
|
||||
int nr, found = 0;
|
||||
|
||||
|
|
@ -2375,7 +2375,7 @@ int vnum_object(char *searchname, struct char_data *ch)
|
|||
return (found);
|
||||
}
|
||||
|
||||
int vnum_room(char *searchname, struct char_data *ch)
|
||||
int vnum_room(char *searchname, char_data *ch)
|
||||
{
|
||||
int nr, found = 0;
|
||||
|
||||
|
|
@ -2387,7 +2387,7 @@ int vnum_room(char *searchname, struct char_data *ch)
|
|||
return (found);
|
||||
}
|
||||
|
||||
int vnum_trig(char *searchname, struct char_data *ch)
|
||||
int vnum_trig(char *searchname, char_data *ch)
|
||||
{
|
||||
int nr, found = 0;
|
||||
for (nr = 0; nr < top_of_trigt; nr++)
|
||||
|
|
@ -2398,11 +2398,11 @@ int vnum_trig(char *searchname, struct char_data *ch)
|
|||
}
|
||||
|
||||
/* create a character, and add it to the char list */
|
||||
struct char_data *create_char(void)
|
||||
char_data *create_char(void)
|
||||
{
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
|
||||
CREATE(ch, struct char_data, 1);
|
||||
CREATE(ch, char_data, 1);
|
||||
clear_char(ch);
|
||||
|
||||
new_mobile_data(ch);
|
||||
|
|
@ -2415,7 +2415,7 @@ struct char_data *create_char(void)
|
|||
return (ch);
|
||||
}
|
||||
|
||||
void new_mobile_data(struct char_data *ch)
|
||||
void new_mobile_data(char_data *ch)
|
||||
{
|
||||
ch->events = NULL;
|
||||
ch->group = NULL;
|
||||
|
|
@ -2423,10 +2423,10 @@ void new_mobile_data(struct char_data *ch)
|
|||
|
||||
|
||||
/* create a new mobile from a prototype */
|
||||
struct char_data *read_mobile(mob_vnum nr, int type) /* and mob_rnum */
|
||||
char_data *read_mobile(mob_vnum nr, int type) /* and mob_rnum */
|
||||
{
|
||||
mob_rnum i;
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
|
||||
if (type == VIRTUAL) {
|
||||
if ((i = real_mobile(nr)) == NOBODY) {
|
||||
|
|
@ -2436,7 +2436,7 @@ struct char_data *read_mobile(mob_vnum nr, int type) /* and mob_rnum */
|
|||
} else
|
||||
i = nr;
|
||||
|
||||
CREATE(mob, struct char_data, 1);
|
||||
CREATE(mob, char_data, 1);
|
||||
clear_char(mob);
|
||||
|
||||
*mob = mob_proto[i];
|
||||
|
|
@ -2470,11 +2470,11 @@ struct char_data *read_mobile(mob_vnum nr, int type) /* and mob_rnum */
|
|||
}
|
||||
|
||||
/* create an object, and add it to the object list */
|
||||
struct obj_data *create_obj(void)
|
||||
obj_data *create_obj(void)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
CREATE(obj, struct obj_data, 1);
|
||||
CREATE(obj, obj_data, 1);
|
||||
clear_object(obj);
|
||||
obj->next = object_list;
|
||||
object_list = obj;
|
||||
|
|
@ -2487,9 +2487,9 @@ struct obj_data *create_obj(void)
|
|||
}
|
||||
|
||||
/* create a new object from a prototype */
|
||||
struct obj_data *read_object(obj_vnum nr, int type) /* and obj_rnum */
|
||||
obj_data *read_object(obj_vnum nr, int type) /* and obj_rnum */
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
obj_rnum i = type == VIRTUAL ? real_object(nr) : nr;
|
||||
|
||||
if (i == NOTHING || i > top_of_objt) {
|
||||
|
|
@ -2497,7 +2497,7 @@ struct obj_data *read_object(obj_vnum nr, int type) /* and obj_rnum */
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
CREATE(obj, struct obj_data, 1);
|
||||
CREATE(obj, obj_data, 1);
|
||||
clear_object(obj);
|
||||
*obj = obj_proto[i];
|
||||
obj->next = object_list;
|
||||
|
|
@ -2565,7 +2565,7 @@ void zone_update(void)
|
|||
reset_zone(update_u->zone_to_reset);
|
||||
mudlog(CMP, LVL_IMPL+1, FALSE, "Auto zone reset: %s (Zone %d)",
|
||||
zone_table[update_u->zone_to_reset].name, zone_table[update_u->zone_to_reset].number);
|
||||
struct descriptor_data *pt;
|
||||
descriptor_data *pt;
|
||||
for (pt = descriptor_list; pt; pt = pt->next)
|
||||
if (IS_PLAYING(pt) && pt->character && PRF_FLAGGED(pt->character, PRF_ZONERESETS))
|
||||
send_to_char(pt->character, "%s[Auto zone reset: %s (Zone %d)]%s",
|
||||
|
|
@ -2603,12 +2603,12 @@ static void log_zone_error(zone_rnum zone, int cmd_no, const char *message)
|
|||
void reset_zone(zone_rnum zone)
|
||||
{
|
||||
int cmd_no, last_cmd = 0;
|
||||
struct char_data *mob = NULL;
|
||||
struct obj_data *obj, *obj_to;
|
||||
char_data *mob = NULL;
|
||||
obj_data *obj, *obj_to;
|
||||
room_vnum rvnum;
|
||||
room_rnum rrnum;
|
||||
struct char_data *tmob=NULL; /* for trigger assignment */
|
||||
struct obj_data *tobj=NULL; /* for trigger assignment */
|
||||
char_data *tmob=NULL; /* for trigger assignment */
|
||||
obj_data *tobj=NULL; /* for trigger assignment */
|
||||
|
||||
for (cmd_no = 0; ZCMD.command != 'S'; cmd_no++) {
|
||||
|
||||
|
|
@ -2835,7 +2835,7 @@ void reset_zone(zone_rnum zone)
|
|||
/* for use in reset_zone; return TRUE if zone 'nr' is free of PC's */
|
||||
int is_empty(zone_rnum zone_nr)
|
||||
{
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
|
||||
for (i = descriptor_list; i; i = i->next) {
|
||||
if (STATE(i) != CON_PLAYING)
|
||||
|
|
@ -3226,7 +3226,7 @@ static void free_followers(struct follow_type *k)
|
|||
}
|
||||
|
||||
/* release memory allocated for a char struct */
|
||||
void free_char(struct char_data *ch)
|
||||
void free_char(char_data *ch)
|
||||
{
|
||||
int i;
|
||||
struct alias_data *a;
|
||||
|
|
@ -3320,7 +3320,7 @@ void free_char(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* release memory allocated for an obj struct */
|
||||
void free_obj(struct obj_data *obj)
|
||||
void free_obj(obj_data *obj)
|
||||
{
|
||||
if (GET_OBJ_RNUM(obj) == NOWHERE) {
|
||||
free_object_strings(obj);
|
||||
|
|
@ -3357,7 +3357,7 @@ static int file_to_string_alloc(const char *name, char **buf)
|
|||
{
|
||||
int temppage;
|
||||
char temp[MAX_STRING_LENGTH];
|
||||
struct descriptor_data *in_use;
|
||||
descriptor_data *in_use;
|
||||
|
||||
for (in_use = descriptor_list; in_use; in_use = in_use->next)
|
||||
if (in_use->showstr_vector && *in_use->showstr_vector == *buf)
|
||||
|
|
@ -3435,7 +3435,7 @@ static int file_to_string(const char *name, char *buf)
|
|||
}
|
||||
|
||||
/* clear some of the the working variables of a char */
|
||||
void reset_char(struct char_data *ch)
|
||||
void reset_char(char_data *ch)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -3467,9 +3467,9 @@ void reset_char(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* clear ALL the working variables of a char; do NOT free any space alloc'ed */
|
||||
void clear_char(struct char_data *ch)
|
||||
void clear_char(char_data *ch)
|
||||
{
|
||||
memset((char *) ch, 0, sizeof(struct char_data));
|
||||
memset((char *) ch, 0, sizeof(char_data));
|
||||
|
||||
IN_ROOM(ch) = NOWHERE;
|
||||
GET_PFILEPOS(ch) = -1;
|
||||
|
|
@ -3484,9 +3484,9 @@ void clear_char(struct char_data *ch)
|
|||
ch->points.max_mana = 100;
|
||||
}
|
||||
|
||||
void clear_object(struct obj_data *obj)
|
||||
void clear_object(obj_data *obj)
|
||||
{
|
||||
memset((char *) obj, 0, sizeof(struct obj_data));
|
||||
memset((char *) obj, 0, sizeof(obj_data));
|
||||
|
||||
obj->item_number = NOTHING;
|
||||
IN_ROOM(obj) = NOWHERE;
|
||||
|
|
@ -3495,7 +3495,7 @@ void clear_object(struct obj_data *obj)
|
|||
|
||||
/* Called during character creation after picking character class (and then
|
||||
* never again for that character). */
|
||||
void init_char(struct char_data *ch)
|
||||
void init_char(char_data *ch)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -3692,7 +3692,7 @@ zone_rnum real_zone(zone_vnum vnum)
|
|||
}
|
||||
|
||||
/* Extend later to include more checks and add checks for unknown bitvectors. */
|
||||
static int check_object(struct obj_data *obj)
|
||||
static int check_object(obj_data *obj)
|
||||
{
|
||||
char objname[MAX_INPUT_LENGTH + 32];
|
||||
int error = FALSE, y;
|
||||
|
|
@ -3770,7 +3770,7 @@ static int check_object(struct obj_data *obj)
|
|||
return (error);
|
||||
}
|
||||
|
||||
static int check_object_spell_number(struct obj_data *obj, int val)
|
||||
static int check_object_spell_number(obj_data *obj, int val)
|
||||
{
|
||||
int error = FALSE;
|
||||
const char *spellname;
|
||||
|
|
@ -3804,7 +3804,7 @@ static int check_object_spell_number(struct obj_data *obj, int val)
|
|||
return (error);
|
||||
}
|
||||
|
||||
static int check_object_level(struct obj_data *obj, int val)
|
||||
static int check_object_level(obj_data *obj, int val)
|
||||
{
|
||||
int error = FALSE;
|
||||
|
||||
|
|
|
|||
58
src/db.h
58
src/db.h
|
|
@ -228,7 +228,7 @@ struct help_index_element {
|
|||
|
||||
/* for the "buffered" rent and house object loading */
|
||||
struct obj_save_data_t {
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int locate;
|
||||
struct obj_save_data_t *next;
|
||||
};
|
||||
|
|
@ -255,7 +255,7 @@ void free_text_files(void);
|
|||
void free_help_table(void);
|
||||
void free_player_index(void);
|
||||
void load_help(FILE *fl, char *name);
|
||||
void new_mobile_data(struct char_data *ch);
|
||||
void new_mobile_data(char_data *ch);
|
||||
|
||||
zone_rnum real_zone(zone_vnum vnum);
|
||||
room_rnum real_room(room_vnum vnum);
|
||||
|
|
@ -264,45 +264,45 @@ obj_rnum real_object(obj_vnum vnum);
|
|||
|
||||
/* Public Procedures from objsave.c */
|
||||
void Crash_save_all(void);
|
||||
void Crash_idlesave(struct char_data *ch);
|
||||
void Crash_crashsave(struct char_data *ch);
|
||||
int Crash_load(struct char_data *ch);
|
||||
void Crash_listrent(struct char_data *ch, char *name);
|
||||
void Crash_idlesave(char_data *ch);
|
||||
void Crash_crashsave(char_data *ch);
|
||||
int Crash_load(char_data *ch);
|
||||
void Crash_listrent(char_data *ch, char *name);
|
||||
int Crash_clean_file(char *name);
|
||||
int Crash_delete_crashfile(struct char_data *ch);
|
||||
int Crash_delete_crashfile(char_data *ch);
|
||||
int Crash_delete_file(char *name);
|
||||
void update_obj_file(void);
|
||||
void Crash_rentsave(struct char_data *ch, int cost);
|
||||
void Crash_rentsave(char_data *ch, int cost);
|
||||
obj_save_data *objsave_parse_objects(FILE *fl);
|
||||
int objsave_save_obj_record(struct obj_data *obj, FILE *fl, int location);
|
||||
int objsave_save_obj_record(obj_data *obj, FILE *fl, int location);
|
||||
/* Special functions */
|
||||
SPECIAL(receptionist);
|
||||
SPECIAL(cryogenicist);
|
||||
|
||||
/* Functions from players.c */
|
||||
void tag_argument(char *argument, char *tag);
|
||||
int load_char(const char *name, struct char_data *ch);
|
||||
void save_char(struct char_data *ch);
|
||||
void init_char(struct char_data *ch);
|
||||
struct char_data* create_char(void);
|
||||
struct char_data *read_mobile(mob_vnum nr, int type);
|
||||
int vnum_mobile(char *searchname, struct char_data *ch);
|
||||
void clear_char(struct char_data *ch);
|
||||
void reset_char(struct char_data *ch);
|
||||
void free_char(struct char_data *ch);
|
||||
int load_char(const char *name, char_data *ch);
|
||||
void save_char(char_data *ch);
|
||||
void init_char(char_data *ch);
|
||||
char_data* create_char(void);
|
||||
char_data *read_mobile(mob_vnum nr, int type);
|
||||
int vnum_mobile(char *searchname, char_data *ch);
|
||||
void clear_char(char_data *ch);
|
||||
void reset_char(char_data *ch);
|
||||
void free_char(char_data *ch);
|
||||
void save_player_index(void);
|
||||
long get_ptable_by_name(const char *name);
|
||||
void remove_player(int pfilepos);
|
||||
void clean_pfiles(void);
|
||||
void build_player_index(void);
|
||||
|
||||
struct obj_data *create_obj(void);
|
||||
void clear_object(struct obj_data *obj);
|
||||
void free_obj(struct obj_data *obj);
|
||||
struct obj_data *read_object(obj_vnum nr, int type);
|
||||
int vnum_object(char *searchname, struct char_data *ch);
|
||||
int vnum_room(char *, struct char_data *);
|
||||
int vnum_trig(char *, struct char_data *);
|
||||
obj_data *create_obj(void);
|
||||
void clear_object(obj_data *obj);
|
||||
void free_obj(obj_data *obj);
|
||||
obj_data *read_object(obj_vnum nr, int type);
|
||||
int vnum_object(char *searchname, char_data *ch);
|
||||
int vnum_room(char *, char_data *);
|
||||
int vnum_trig(char *, char_data *);
|
||||
|
||||
void setup_dir(FILE *fl, int room, int dir);
|
||||
void index_boot(int mode);
|
||||
|
|
@ -365,15 +365,15 @@ extern room_rnum top_of_world;
|
|||
extern struct zone_data *zone_table;
|
||||
extern zone_rnum top_of_zone_table;
|
||||
|
||||
extern struct char_data *character_list;
|
||||
extern char_data *character_list;
|
||||
|
||||
extern struct index_data *mob_index;
|
||||
extern struct char_data *mob_proto;
|
||||
extern char_data *mob_proto;
|
||||
extern mob_rnum top_of_mobt;
|
||||
|
||||
extern struct index_data *obj_index;
|
||||
extern struct obj_data *object_list;
|
||||
extern struct obj_data *obj_proto;
|
||||
extern obj_data *object_list;
|
||||
extern obj_data *obj_proto;
|
||||
extern obj_rnum top_of_objt;
|
||||
|
||||
extern struct social_messg *soc_mess_list;
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ void sub_write(char *arg, char_data *ch, byte find_invis, int targets)
|
|||
|
||||
void send_to_zone(char *messg, zone_rnum zone)
|
||||
{
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
|
||||
if (!messg || !*messg)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ void dg_read_trigger(FILE *fp, void *proto, int type)
|
|||
}
|
||||
}
|
||||
|
||||
void dg_obj_trigger(char *line, struct obj_data *obj)
|
||||
void dg_obj_trigger(char *line, obj_data *obj)
|
||||
{
|
||||
char junk[8];
|
||||
int vnum, rnum, count;
|
||||
|
|
@ -251,8 +251,8 @@ void dg_obj_trigger(char *line, struct obj_data *obj)
|
|||
|
||||
void assign_triggers(void *i, int type)
|
||||
{
|
||||
struct char_data *mob = NULL;
|
||||
struct obj_data *obj = NULL;
|
||||
char_data *mob = NULL;
|
||||
obj_data *obj = NULL;
|
||||
struct room_data *room = NULL;
|
||||
int rnum;
|
||||
struct trig_proto_list *trg_proto;
|
||||
|
|
|
|||
|
|
@ -119,12 +119,12 @@ void extract_script(void *thing, int type)
|
|||
|
||||
switch (type) {
|
||||
case MOB_TRIGGER:
|
||||
mob = (struct char_data *)thing;
|
||||
mob = (char_data *)thing;
|
||||
sc = SCRIPT(mob);
|
||||
SCRIPT(mob) = NULL;
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
obj = (struct obj_data *)thing;
|
||||
obj = (obj_data *)thing;
|
||||
sc = SCRIPT(obj);
|
||||
SCRIPT(obj) = NULL;
|
||||
break;
|
||||
|
|
@ -137,8 +137,8 @@ void extract_script(void *thing, int type)
|
|||
|
||||
#if 1 /* debugging */
|
||||
{
|
||||
struct char_data *i = character_list;
|
||||
struct obj_data *j = object_list;
|
||||
char_data *i = character_list;
|
||||
obj_data *j = object_list;
|
||||
room_rnum k;
|
||||
if (sc) {
|
||||
for ( ; i ; i = i->next)
|
||||
|
|
@ -185,12 +185,12 @@ void free_proto_script(void *thing, int type)
|
|||
|
||||
switch (type) {
|
||||
case MOB_TRIGGER:
|
||||
mob = (struct char_data *)thing;
|
||||
mob = (char_data *)thing;
|
||||
proto = mob->proto_script;
|
||||
mob->proto_script = NULL;
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
obj = (struct obj_data *)thing;
|
||||
obj = (obj_data *)thing;
|
||||
proto = obj->proto_script;
|
||||
obj->proto_script = NULL;
|
||||
break;
|
||||
|
|
@ -202,8 +202,8 @@ void free_proto_script(void *thing, int type)
|
|||
}
|
||||
#if 1 /* debugging */
|
||||
{
|
||||
struct char_data *i = character_list;
|
||||
struct obj_data *j = object_list;
|
||||
char_data *i = character_list;
|
||||
obj_data *j = object_list;
|
||||
room_rnum k;
|
||||
if (proto) {
|
||||
for ( ; i ; i = i->next)
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@
|
|||
* the spell is set to TAR_IGNORE. Also, group spells are not permitted. */
|
||||
void do_dg_cast(void *go, struct script_data *sc, trig_data *trig, int type, char *cmd)
|
||||
{
|
||||
struct char_data *caster = NULL;
|
||||
struct char_data *tch = NULL;
|
||||
struct obj_data *tobj = NULL;
|
||||
char_data *caster = NULL;
|
||||
char_data *tch = NULL;
|
||||
obj_data *tobj = NULL;
|
||||
struct room_data *caster_room = NULL;
|
||||
char *s, *t;
|
||||
int spellnum, target = 0;
|
||||
|
|
@ -46,13 +46,13 @@ void do_dg_cast(void *go, struct script_data *sc, trig_data *trig, int type, cha
|
|||
/* need to get the caster or the room of the temporary caster */
|
||||
switch (type) {
|
||||
case MOB_TRIGGER:
|
||||
caster = (struct char_data *)go;
|
||||
caster = (char_data *)go;
|
||||
break;
|
||||
case WLD_TRIGGER:
|
||||
caster_room = (struct room_data *)go;
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
caster_room = dg_room_of_obj((struct obj_data *)go);
|
||||
caster_room = dg_room_of_obj((obj_data *)go);
|
||||
if (!caster_room) {
|
||||
script_log("dg_do_cast: unknown room for object-caster!");
|
||||
return;
|
||||
|
|
@ -131,7 +131,7 @@ void do_dg_cast(void *go, struct script_data *sc, trig_data *trig, int type, cha
|
|||
/* set the caster's name to that of the object, or the gods.... */
|
||||
if (type==OBJ_TRIGGER)
|
||||
caster->player.short_descr =
|
||||
strdup(((struct obj_data *)go)->short_description);
|
||||
strdup(((obj_data *)go)->short_description);
|
||||
else if (type==WLD_TRIGGER)
|
||||
caster->player.short_descr = strdup("The gods");
|
||||
caster->next_in_room = caster_room->people;
|
||||
|
|
@ -152,7 +152,7 @@ void do_dg_cast(void *go, struct script_data *sc, trig_data *trig, int type, cha
|
|||
void do_dg_affect(void *go, struct script_data *sc, trig_data *trig,
|
||||
int script_type, char *cmd)
|
||||
{
|
||||
struct char_data *ch = NULL;
|
||||
char_data *ch = NULL;
|
||||
int value=0, duration=0;
|
||||
char junk[MAX_INPUT_LENGTH]; /* will be set to "dg_affect" */
|
||||
char charname[MAX_INPUT_LENGTH], property[MAX_INPUT_LENGTH];
|
||||
|
|
@ -238,7 +238,7 @@ void do_dg_affect(void *go, struct script_data *sc, trig_data *trig,
|
|||
affect_to_char(ch, &af);
|
||||
}
|
||||
|
||||
void send_char_pos(struct char_data *ch, int dam)
|
||||
void send_char_pos(char_data *ch, int dam)
|
||||
{
|
||||
switch (GET_POS(ch)) {
|
||||
case POS_MORTALLYW:
|
||||
|
|
@ -269,7 +269,7 @@ void send_char_pos(struct char_data *ch, int dam)
|
|||
/* Used throughout the xxxcmds.c files for checking if a char can be targetted
|
||||
* - allow_gods is false when called by %force%, for instance, while true for
|
||||
* %teleport%. - Welcor */
|
||||
int valid_dg_target(struct char_data *ch, int bitvector)
|
||||
int valid_dg_target(char_data *ch, int bitvector)
|
||||
{
|
||||
if (IS_NPC(ch))
|
||||
return TRUE; /* all npcs are allowed as targets */
|
||||
|
|
@ -286,7 +286,7 @@ int valid_dg_target(struct char_data *ch, int bitvector)
|
|||
return FALSE; /* The rest are gods with nohassle on... */
|
||||
}
|
||||
|
||||
void script_damage(struct char_data *vict, int dam)
|
||||
void script_damage(char_data *vict, int dam)
|
||||
{
|
||||
if (GET_LEVEL(vict)>=LVL_IMMORT && (dam > 0)) {
|
||||
send_to_char(vict, "Being the cool immortal you are, you sidestep a trap, "
|
||||
|
|
|
|||
|
|
@ -699,7 +699,7 @@ ACMD(do_mforce)
|
|||
}
|
||||
|
||||
if (!str_cmp(arg, "all")) {
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
char_data *vch;
|
||||
|
||||
for (i = descriptor_list; i ; i = i->next) {
|
||||
|
|
@ -1091,7 +1091,7 @@ ACMD(do_mdoor)
|
|||
ACMD(do_mfollow)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct char_data *leader;
|
||||
char_data *leader;
|
||||
struct follow_type *j, *k;
|
||||
|
||||
if (!MOB_OR_IMPL(ch)) {
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ static OCMD(do_otransform)
|
|||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
obj_data *o, tmpobj;
|
||||
struct char_data *wearer=NULL;
|
||||
char_data *wearer=NULL;
|
||||
int pos = 0;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
|
@ -693,7 +693,7 @@ static OCMD(do_osetval)
|
|||
{
|
||||
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH];
|
||||
int position, new_value, worn_on;
|
||||
struct char_data *worn_by = NULL;
|
||||
char_data *worn_by = NULL;
|
||||
|
||||
two_arguments(argument, arg1, arg2);
|
||||
if (!*arg1 || !*arg2 || !is_number(arg1) || !is_number(arg2)) {
|
||||
|
|
@ -725,8 +725,8 @@ static OCMD(do_osetval)
|
|||
static OCMD(do_oat)
|
||||
{
|
||||
room_rnum loc = NOWHERE;
|
||||
struct char_data *ch;
|
||||
struct obj_data *object;
|
||||
char_data *ch;
|
||||
obj_data *object;
|
||||
char arg[MAX_INPUT_LENGTH], *command;
|
||||
|
||||
command = any_one_arg(argument, arg);
|
||||
|
|
|
|||
38
src/dg_olc.c
38
src/dg_olc.c
|
|
@ -24,17 +24,17 @@
|
|||
|
||||
|
||||
/* local functions */
|
||||
static void trigedit_disp_menu(struct descriptor_data *d);
|
||||
static void trigedit_disp_types(struct descriptor_data *d);
|
||||
static void trigedit_disp_menu(descriptor_data *d);
|
||||
static void trigedit_disp_types(descriptor_data *d);
|
||||
static void trigedit_create_index(int znum, char *type);
|
||||
static void trigedit_setup_new(struct descriptor_data *d);
|
||||
static void trigedit_setup_new(descriptor_data *d);
|
||||
|
||||
|
||||
/* Trigedit */
|
||||
ACMD(do_oasis_trigedit)
|
||||
{
|
||||
int number, real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
/* No building as a mob or while being forced. */
|
||||
if (IS_NPC(ch) || !ch->desc || STATE(ch->desc) != CON_PLAYING)
|
||||
|
|
@ -115,9 +115,9 @@ void script_save_to_disk(FILE *fp, void *item, int type)
|
|||
struct trig_proto_list *t;
|
||||
|
||||
if (type==MOB_TRIGGER)
|
||||
t = ((struct char_data *)item)->proto_script;
|
||||
t = ((char_data *)item)->proto_script;
|
||||
else if (type==OBJ_TRIGGER)
|
||||
t = ((struct obj_data *)item)->proto_script;
|
||||
t = ((obj_data *)item)->proto_script;
|
||||
else if (type==WLD_TRIGGER)
|
||||
t = ((struct room_data *)item)->proto_script;
|
||||
else {
|
||||
|
|
@ -132,7 +132,7 @@ void script_save_to_disk(FILE *fp, void *item, int type)
|
|||
}
|
||||
}
|
||||
|
||||
static void trigedit_setup_new(struct descriptor_data *d)
|
||||
static void trigedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
struct trig_data *trig;
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ static void trigedit_setup_new(struct descriptor_data *d)
|
|||
OLC_VAL(d) = 0; /* Has changed flag. (It hasn't so far, we just made it.) */
|
||||
}
|
||||
|
||||
void trigedit_setup_existing(struct descriptor_data *d, int rtrg_num)
|
||||
void trigedit_setup_existing(descriptor_data *d, int rtrg_num)
|
||||
{
|
||||
struct trig_data *trig;
|
||||
struct cmdlist_element *c;
|
||||
|
|
@ -182,7 +182,7 @@ void trigedit_setup_existing(struct descriptor_data *d, int rtrg_num)
|
|||
OLC_VAL(d) = 0; /* Has changed flag. (It hasn't so far, we just made it.) */
|
||||
}
|
||||
|
||||
static void trigedit_disp_menu(struct descriptor_data *d)
|
||||
static void trigedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
struct trig_data *trig = OLC_TRIG(d);
|
||||
char *attach_type;
|
||||
|
|
@ -227,7 +227,7 @@ static void trigedit_disp_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = TRIGEDIT_MAIN_MENU;
|
||||
}
|
||||
|
||||
static void trigedit_disp_types(struct descriptor_data *d)
|
||||
static void trigedit_disp_types(descriptor_data *d)
|
||||
{
|
||||
int i, columns = 0;
|
||||
const char **types;
|
||||
|
|
@ -420,7 +420,7 @@ static const char *command_color_replacement[COMMAND_TERMS][2] =
|
|||
};
|
||||
|
||||
|
||||
static void script_syntax_highlighting(struct descriptor_data *d, char *string)
|
||||
static void script_syntax_highlighting(descriptor_data *d, char *string)
|
||||
{
|
||||
ACMD(do_action);
|
||||
char buffer[MAX_STRING_LENGTH] = "";
|
||||
|
|
@ -484,7 +484,7 @@ static void script_syntax_highlighting(struct descriptor_data *d, char *string)
|
|||
}
|
||||
/****************************************************************************************/
|
||||
|
||||
void trigedit_parse(struct descriptor_data *d, char *arg)
|
||||
void trigedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
|
|
@ -618,7 +618,7 @@ void trigedit_parse(struct descriptor_data *d, char *arg)
|
|||
}
|
||||
|
||||
/* save the zone's triggers to internal memory and to disk */
|
||||
void trigedit_save(struct descriptor_data *d)
|
||||
void trigedit_save(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
trig_rnum rnum;
|
||||
|
|
@ -629,7 +629,7 @@ void trigedit_save(struct descriptor_data *d)
|
|||
trig_data *live_trig;
|
||||
struct cmdlist_element *cmd, *next_cmd;
|
||||
struct index_data **new_index;
|
||||
struct descriptor_data *dsc;
|
||||
descriptor_data *dsc;
|
||||
FILE *trig_file;
|
||||
int zone, top;
|
||||
char buf[MAX_CMD_LENGTH];
|
||||
|
|
@ -911,7 +911,7 @@ static void trigedit_create_index(int znum, char *type)
|
|||
rename(new_name, old_name);
|
||||
}
|
||||
|
||||
void dg_olc_script_copy(struct descriptor_data *d)
|
||||
void dg_olc_script_copy(descriptor_data *d)
|
||||
{
|
||||
struct trig_proto_list *origscript, *editscript;
|
||||
|
||||
|
|
@ -936,7 +936,7 @@ void dg_olc_script_copy(struct descriptor_data *d)
|
|||
OLC_SCRIPT(d) = NULL;
|
||||
}
|
||||
|
||||
void dg_script_menu(struct descriptor_data *d)
|
||||
void dg_script_menu(descriptor_data *d)
|
||||
{
|
||||
struct trig_proto_list *editscript;
|
||||
int i = 0;
|
||||
|
|
@ -972,7 +972,7 @@ void dg_script_menu(struct descriptor_data *d)
|
|||
grn, nrm, grn, nrm, grn, nrm);
|
||||
}
|
||||
|
||||
int dg_script_edit_parse(struct descriptor_data *d, char *arg)
|
||||
int dg_script_edit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
struct trig_proto_list *trig, *currtrig;
|
||||
int count, pos, vnum;
|
||||
|
|
@ -1077,7 +1077,7 @@ int dg_script_edit_parse(struct descriptor_data *d, char *arg)
|
|||
return 1;
|
||||
}
|
||||
|
||||
void trigedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void trigedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case TRIGEDIT_COMMANDS:
|
||||
|
|
@ -1086,7 +1086,7 @@ void trigedit_string_cleanup(struct descriptor_data *d, int terminator)
|
|||
}
|
||||
}
|
||||
|
||||
int format_script(struct descriptor_data *d)
|
||||
int format_script(descriptor_data *d)
|
||||
{
|
||||
char nsc[MAX_CMD_LENGTH], *t, line[READ_SIZE];
|
||||
char *sc;
|
||||
|
|
|
|||
|
|
@ -41,9 +41,9 @@
|
|||
|
||||
/* prototype exported functions from dg_olc.c */
|
||||
void script_save_to_disk(FILE *fp, void *item, int type);
|
||||
void dg_olc_script_copy(struct descriptor_data *d);
|
||||
void dg_script_menu(struct descriptor_data *d);
|
||||
int dg_script_edit_parse(struct descriptor_data *d, char *arg);
|
||||
void dg_olc_script_copy(descriptor_data *d);
|
||||
void dg_script_menu(descriptor_data *d);
|
||||
int dg_script_edit_parse(descriptor_data *d, char *arg);
|
||||
|
||||
|
||||
#endif /* _DG_OLC_H_ */
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
/* Local functions not used elsewhere */
|
||||
static obj_data *find_obj(long n);
|
||||
static room_data *find_room(long n);
|
||||
static void do_stat_trigger(struct char_data *ch, trig_data *trig);
|
||||
static void do_stat_trigger(char_data *ch, trig_data *trig);
|
||||
static void script_stat(char_data *ch, struct script_data *sc);
|
||||
static int remove_trigger(struct script_data *sc, char *name);
|
||||
static int is_num(char *arg);
|
||||
|
|
@ -71,8 +71,8 @@ static void dg_letter_value(struct script_data *sc, trig_data *trig, char *cmd);
|
|||
static struct cmdlist_element * find_case(struct trig_data *trig, struct cmdlist_element *cl,
|
||||
void *go, struct script_data *sc, int type, char *cond);
|
||||
static struct cmdlist_element *find_done(struct cmdlist_element *cl);
|
||||
static struct char_data *find_char_by_uid_in_lookup_table(long uid);
|
||||
static struct obj_data *find_obj_by_uid_in_lookup_table(long uid);
|
||||
static char_data *find_char_by_uid_in_lookup_table(long uid);
|
||||
static obj_data *find_obj_by_uid_in_lookup_table(long uid);
|
||||
static EVENTFUNC(trig_wait_event);
|
||||
|
||||
|
||||
|
|
@ -258,7 +258,7 @@ int find_eq_pos_script(char *arg)
|
|||
* @param pos The defined wear location to check.
|
||||
* @retval int TRUE if obj can be worn on pos, FALSE if not.
|
||||
*/
|
||||
int can_wear_on_pos(struct obj_data *obj, int pos)
|
||||
int can_wear_on_pos(obj_data *obj, int pos)
|
||||
{
|
||||
switch (pos) {
|
||||
case WEAR_HOLD:
|
||||
|
|
@ -288,7 +288,7 @@ int can_wear_on_pos(struct obj_data *obj, int pos)
|
|||
* @retval char_data * Pointer to the character structure if it exists, or NULL
|
||||
* if it cannot be found.
|
||||
*/
|
||||
struct char_data *find_char(long n)
|
||||
char_data *find_char(long n)
|
||||
{
|
||||
if (n>=ROOM_ID_BASE) /* See note in dg_scripts.h */
|
||||
return NULL;
|
||||
|
|
@ -722,14 +722,14 @@ static EVENTFUNC(trig_wait_event)
|
|||
{
|
||||
int found = FALSE;
|
||||
if (type == MOB_TRIGGER) {
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
for (tch = character_list;tch && !found;tch = tch->next)
|
||||
if (tch == (struct char_data *)go)
|
||||
if (tch == (char_data *)go)
|
||||
found = TRUE;
|
||||
} else if (type == OBJ_TRIGGER) {
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
for (obj = object_list;obj && !found;obj = obj->next)
|
||||
if (obj == (struct obj_data *)go)
|
||||
if (obj == (obj_data *)go)
|
||||
found = TRUE;
|
||||
} else {
|
||||
room_rnum i;
|
||||
|
|
@ -753,7 +753,7 @@ static EVENTFUNC(trig_wait_event)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void do_stat_trigger(struct char_data *ch, trig_data *trig)
|
||||
static void do_stat_trigger(char_data *ch, trig_data *trig)
|
||||
{
|
||||
struct cmdlist_element *cmd_list;
|
||||
char sb[MAX_STRING_LENGTH], buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -878,7 +878,7 @@ static void script_stat (char_data *ch, struct script_data *sc)
|
|||
}
|
||||
}
|
||||
|
||||
void do_sstat_room(struct char_data * ch, struct room_data *rm)
|
||||
void do_sstat_room(char_data * ch, struct room_data *rm)
|
||||
{
|
||||
send_to_char(ch, "Triggers:\r\n");
|
||||
if (!SCRIPT(rm)) {
|
||||
|
|
@ -1326,7 +1326,7 @@ ACMD(do_detach)
|
|||
void script_vlog(const char *format, va_list args)
|
||||
{
|
||||
char output[MAX_STRING_LENGTH];
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
|
||||
/* parse the args, making the error message */
|
||||
vsnprintf(output, sizeof(output) - 2, format, args);
|
||||
|
|
@ -1959,7 +1959,7 @@ static void process_detach(void *go, struct script_data *sc, trig_data *trig,
|
|||
|
||||
}
|
||||
|
||||
struct room_data *dg_room_of_obj(struct obj_data *obj)
|
||||
struct room_data *dg_room_of_obj(obj_data *obj)
|
||||
{
|
||||
if (IN_ROOM(obj) != NOWHERE) return &world[IN_ROOM(obj)];
|
||||
if (obj->carried_by) return &world[IN_ROOM(obj->carried_by)];
|
||||
|
|
@ -2008,34 +2008,34 @@ static void makeuid_var(void *go, struct script_data *sc, trig_data *trig,
|
|||
}
|
||||
|
||||
if (is_abbrev(arg, "mob")) {
|
||||
struct char_data *c = NULL;
|
||||
char_data *c = NULL;
|
||||
switch (type) {
|
||||
case WLD_TRIGGER:
|
||||
c = get_char_in_room((struct room_data *)go, name);
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
c = get_char_near_obj((struct obj_data *)go, name);
|
||||
c = get_char_near_obj((obj_data *)go, name);
|
||||
break;
|
||||
case MOB_TRIGGER:
|
||||
c = get_char_room_vis((struct char_data *)go, name, NULL);
|
||||
c = get_char_room_vis((char_data *)go, name, NULL);
|
||||
break;
|
||||
}
|
||||
if (c)
|
||||
snprintf(uid, sizeof(uid), "%c%ld", UID_CHAR, char_script_id(c));
|
||||
} else if (is_abbrev(arg, "obj")) {
|
||||
struct obj_data *o = NULL;
|
||||
obj_data *o = NULL;
|
||||
switch (type) {
|
||||
case WLD_TRIGGER:
|
||||
o = get_obj_in_room((struct room_data *)go, name);
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
o = get_obj_near_obj((struct obj_data *)go, name);
|
||||
o = get_obj_near_obj((obj_data *)go, name);
|
||||
break;
|
||||
case MOB_TRIGGER:
|
||||
if ((o = get_obj_in_list_vis((struct char_data *)go, name, NULL,
|
||||
((struct char_data *)go)->carrying)) == NULL)
|
||||
o = get_obj_in_list_vis((struct char_data *)go, name, NULL,
|
||||
world[IN_ROOM((struct char_data *)go)].contents);
|
||||
if ((o = get_obj_in_list_vis((char_data *)go, name, NULL,
|
||||
((char_data *)go)->carrying)) == NULL)
|
||||
o = get_obj_in_list_vis((char_data *)go, name, NULL,
|
||||
world[IN_ROOM((char_data *)go)].contents);
|
||||
break;
|
||||
}
|
||||
if (o)
|
||||
|
|
@ -2047,10 +2047,10 @@ static void makeuid_var(void *go, struct script_data *sc, trig_data *trig,
|
|||
r = real_room(((struct room_data *) go)->number);
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
r = obj_room((struct obj_data *)go);
|
||||
r = obj_room((obj_data *)go);
|
||||
break;
|
||||
case MOB_TRIGGER:
|
||||
r = IN_ROOM((struct char_data *)go);
|
||||
r = IN_ROOM((char_data *)go);
|
||||
break;
|
||||
}
|
||||
if (r != NOWHERE)
|
||||
|
|
@ -2267,7 +2267,7 @@ ACMD(do_vdelete)
|
|||
|
||||
/* Called from do_set - return 0 for failure, 1 for success. ch and vict are
|
||||
* verified. */
|
||||
int perform_set_dg_var(struct char_data *ch, struct char_data *vict, char *val_arg)
|
||||
int perform_set_dg_var(char_data *ch, char_data *vict, char *val_arg)
|
||||
{
|
||||
char var_name[MAX_INPUT_LENGTH], *var_value;
|
||||
|
||||
|
|
@ -2827,7 +2827,7 @@ static struct cmdlist_element *find_done(struct cmdlist_element *cl)
|
|||
|
||||
|
||||
/* load in a character's saved variables */
|
||||
void read_saved_vars(struct char_data *ch)
|
||||
void read_saved_vars(char_data *ch)
|
||||
{
|
||||
FILE *file;
|
||||
long context;
|
||||
|
|
@ -2874,7 +2874,7 @@ void read_saved_vars(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* save a characters variables out to disk */
|
||||
void save_char_vars(struct char_data *ch)
|
||||
void save_char_vars(char_data *ch)
|
||||
{
|
||||
FILE *file;
|
||||
char fn[127];
|
||||
|
|
@ -2913,7 +2913,7 @@ void save_char_vars(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* load in a character's saved variables from an ASCII pfile*/
|
||||
void read_saved_vars_ascii(FILE *file, struct char_data *ch, int count)
|
||||
void read_saved_vars_ascii(FILE *file, char_data *ch, int count)
|
||||
{
|
||||
long context;
|
||||
char input_line[1024], *temp, *p;
|
||||
|
|
@ -2948,7 +2948,7 @@ void read_saved_vars_ascii(FILE *file, struct char_data *ch, int count)
|
|||
}
|
||||
|
||||
/* save a characters variables out to an ASCII pfile */
|
||||
void save_char_vars_ascii(FILE *file, struct char_data *ch)
|
||||
void save_char_vars_ascii(FILE *file, char_data *ch)
|
||||
{
|
||||
struct trig_var_data *vars;
|
||||
int count = 0;
|
||||
|
|
@ -3014,23 +3014,23 @@ static inline struct lookup_table_t *find_element_by_uid_in_lookup_table(long ui
|
|||
return lt;
|
||||
}
|
||||
|
||||
static struct char_data *find_char_by_uid_in_lookup_table(long uid)
|
||||
static char_data *find_char_by_uid_in_lookup_table(long uid)
|
||||
{
|
||||
struct lookup_table_t *lt = find_element_by_uid_in_lookup_table(uid);
|
||||
|
||||
if (lt)
|
||||
return (struct char_data *)(lt->c);
|
||||
return (char_data *)(lt->c);
|
||||
|
||||
log("find_char_by_uid_in_lookup_table : No entity with number %ld in lookup table", uid);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct obj_data *find_obj_by_uid_in_lookup_table(long uid)
|
||||
static obj_data *find_obj_by_uid_in_lookup_table(long uid)
|
||||
{
|
||||
struct lookup_table_t *lt = find_element_by_uid_in_lookup_table(uid);
|
||||
|
||||
if (lt)
|
||||
return (struct obj_data *)(lt->c);
|
||||
return (obj_data *)(lt->c);
|
||||
|
||||
log("find_obj_by_uid_in_lookup_table : No entity with number %ld in lookup table", uid);
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -259,8 +259,8 @@ ACMD(do_vdelete);
|
|||
ACMD(do_tstat);
|
||||
char *str_str(char *cs, char *ct);
|
||||
int find_eq_pos_script(char *arg);
|
||||
int can_wear_on_pos(struct obj_data *obj, int pos);
|
||||
struct char_data *find_char(long n);
|
||||
int can_wear_on_pos(obj_data *obj, int pos);
|
||||
char_data *find_char(long n);
|
||||
char_data *get_char(char *name);
|
||||
char_data *get_char_near_obj(obj_data *obj, char *name);
|
||||
char_data *get_char_in_room(room_data *room, char *name);
|
||||
|
|
@ -278,18 +278,18 @@ obj_data *get_object_in_equip(char_data * ch, char *name);
|
|||
void script_trigger_check(void);
|
||||
void check_time_triggers(void);
|
||||
void find_uid_name(char *uid, char *name, size_t nlen);
|
||||
void do_sstat_room(struct char_data * ch, room_data *r);
|
||||
void do_sstat_room(char_data * ch, room_data *r);
|
||||
void do_sstat_object(char_data *ch, obj_data *j);
|
||||
void do_sstat_character(char_data *ch, char_data *k);
|
||||
void add_trigger(struct script_data *sc, trig_data *t, int loc);
|
||||
void script_vlog(const char *format, va_list args);
|
||||
void script_log(const char *format, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
char *matching_quote(char *p);
|
||||
struct room_data *dg_room_of_obj(struct obj_data *obj);
|
||||
struct room_data *dg_room_of_obj(obj_data *obj);
|
||||
bool check_flags_by_name_ar(int *array, int numflags, char *search, const char *namelist[]);
|
||||
void read_saved_vars_ascii(FILE *file, struct char_data *ch, int count);
|
||||
void save_char_vars_ascii(FILE *file, struct char_data *ch);
|
||||
int perform_set_dg_var(struct char_data *ch, struct char_data *vict, char *val_arg);
|
||||
void read_saved_vars_ascii(FILE *file, char_data *ch, int count);
|
||||
void save_char_vars_ascii(FILE *file, char_data *ch);
|
||||
int perform_set_dg_var(char_data *ch, char_data *vict, char *val_arg);
|
||||
int trig_is_attached(struct script_data *sc, trig_vnum trig_num);
|
||||
|
||||
/* To maintain strict-aliasing we'll have to do this trick with a union */
|
||||
|
|
@ -297,8 +297,8 @@ int trig_is_attached(struct script_data *sc, trig_vnum trig_num);
|
|||
int script_driver(void *go_adress, trig_data *trig, int type, int mode);
|
||||
trig_rnum real_trigger(trig_vnum vnum);
|
||||
void process_eval(void *go, struct script_data *sc, trig_data *trig, int type, char *cmd);
|
||||
void read_saved_vars(struct char_data *ch);
|
||||
void save_char_vars(struct char_data *ch);
|
||||
void read_saved_vars(char_data *ch);
|
||||
void save_char_vars(char_data *ch);
|
||||
void init_lookup_table(void);
|
||||
void add_to_lookup_table(long uid, void *c);
|
||||
void remove_from_lookup_table(long uid);
|
||||
|
|
@ -308,14 +308,14 @@ void parse_trigger(FILE *trig_f, int nr);
|
|||
trig_data *read_trigger(int nr);
|
||||
void trig_data_copy(trig_data *this_data, const trig_data *trg);
|
||||
void dg_read_trigger(FILE *fp, void *proto, int type);
|
||||
void dg_obj_trigger(char *line, struct obj_data *obj);
|
||||
void dg_obj_trigger(char *line, obj_data *obj);
|
||||
void assign_triggers(void *i, int type);
|
||||
|
||||
/* From dg_variables.c */
|
||||
void add_var(struct trig_var_data **var_list, const char *name, const char *value, long id);
|
||||
int item_in_list(char *item, obj_data *list);
|
||||
char *skill_percent(struct char_data *ch, char *skill);
|
||||
int char_has_item(char *item, struct char_data *ch);
|
||||
char *skill_percent(char_data *ch, char *skill);
|
||||
int char_has_item(char *item, char_data *ch);
|
||||
void var_subst(void *go, struct script_data *sc, trig_data *trig, int type, char *line, char *buf);
|
||||
int text_processed(char *field, char *subfield, struct trig_var_data *vd, char *str, size_t slen);
|
||||
void find_replacement(void *go, struct script_data *sc, trig_data *trig, int type, char *var, char *field,
|
||||
|
|
@ -342,7 +342,7 @@ void send_to_zone(char *messg, zone_rnum zone);
|
|||
/* from dg_misc.c */
|
||||
void do_dg_cast(void *go, struct script_data *sc, trig_data *trig, int type, char *cmd);
|
||||
void do_dg_affect(void *go, struct script_data *sc, trig_data *trig, int type, char *cmd);
|
||||
void send_char_pos(struct char_data *ch, int dam);
|
||||
void send_char_pos(char_data *ch, int dam);
|
||||
int valid_dg_target(char_data *ch, int bitvector);
|
||||
void script_damage(char_data *vict, int dam);
|
||||
|
||||
|
|
@ -371,10 +371,10 @@ ACMD(do_mzoneecho);
|
|||
ACMD(do_mlog);
|
||||
|
||||
/* from dg_olc.c... thinking these should be moved to oasis.h */
|
||||
void trigedit_save(struct descriptor_data *d);
|
||||
void trigedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
int format_script(struct descriptor_data *d);
|
||||
void trigedit_setup_existing(struct descriptor_data *d, int rtrg_num);
|
||||
void trigedit_save(descriptor_data *d);
|
||||
void trigedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
int format_script(descriptor_data *d);
|
||||
void trigedit_setup_existing(descriptor_data *d, int rtrg_num);
|
||||
|
||||
/* from dg_objcmd.c */
|
||||
room_rnum obj_room(obj_data *obj);
|
||||
|
|
|
|||
|
|
@ -412,7 +412,7 @@ void act_mtrigger(const char_data *ch, char *str, char_data *actor,
|
|||
|
||||
void fight_mtrigger(char_data *ch)
|
||||
{
|
||||
struct char_data *actor;
|
||||
char_data *actor;
|
||||
trig_data *t;
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -437,7 +437,7 @@ void fight_mtrigger(char_data *ch)
|
|||
|
||||
void hitprcnt_mtrigger(char_data *ch)
|
||||
{
|
||||
struct char_data *actor;
|
||||
char_data *actor;
|
||||
trig_data *t;
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -649,7 +649,7 @@ void random_otrigger(obj_data *obj)
|
|||
}
|
||||
}
|
||||
|
||||
void timer_otrigger(struct obj_data *obj)
|
||||
void timer_otrigger(obj_data *obj)
|
||||
{
|
||||
trig_data *t;
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ void add_var(struct trig_var_data **var_list, const char *name, const char *valu
|
|||
}
|
||||
|
||||
/* perhaps not the best place for this, but I didn't want a new file */
|
||||
char *skill_percent(struct char_data *ch, char *skill)
|
||||
char *skill_percent(char_data *ch, char *skill)
|
||||
{
|
||||
static char retval[16];
|
||||
int skillnum;
|
||||
|
|
@ -120,7 +120,7 @@ int item_in_list(char *item, obj_data *list)
|
|||
/* BOOLEAN return, just check if a player or mob has an item of any sort,
|
||||
* searched for by name or id. Searching equipment as well as inventory, and
|
||||
* containers. Jamie Nelson */
|
||||
int char_has_item(char *item, struct char_data *ch)
|
||||
int char_has_item(char *item, char_data *ch)
|
||||
{
|
||||
|
||||
/* If this works, no more searching needed */
|
||||
|
|
@ -133,7 +133,7 @@ int char_has_item(char *item, struct char_data *ch)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int handle_oset(struct obj_data * obj, char * argument)
|
||||
static int handle_oset(obj_data * obj, char * argument)
|
||||
{
|
||||
int i = 0;
|
||||
bool found = FALSE;
|
||||
|
|
@ -141,7 +141,7 @@ static int handle_oset(struct obj_data * obj, char * argument)
|
|||
|
||||
struct oset_handler {
|
||||
const char * type;
|
||||
bool (* name)(struct obj_data *, char *);
|
||||
bool (* name)(obj_data *, char *);
|
||||
} handler[] = {
|
||||
{ "alias", oset_alias },
|
||||
{ "apply", oset_apply },
|
||||
|
|
@ -553,10 +553,10 @@ void find_replacement(void *go, struct script_data *sc, trig_data *trig,
|
|||
in_room = real_room(((struct room_data *) go)->number);
|
||||
break;
|
||||
case OBJ_TRIGGER:
|
||||
in_room = obj_room((struct obj_data *) go);
|
||||
in_room = obj_room((obj_data *) go);
|
||||
break;
|
||||
case MOB_TRIGGER:
|
||||
in_room = IN_ROOM((struct char_data *)go);
|
||||
in_room = IN_ROOM((char_data *)go);
|
||||
break;
|
||||
}
|
||||
if (in_room == NOWHERE) {
|
||||
|
|
|
|||
|
|
@ -548,7 +548,7 @@ WCMD(do_wdamage) {
|
|||
WCMD(do_wat)
|
||||
{
|
||||
room_rnum loc = NOWHERE;
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
char arg[MAX_INPUT_LENGTH], *command;
|
||||
|
||||
command = any_one_arg(argument, arg);
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,7 @@ INCLUDE_FILE_PATTERNS =
|
|||
# undefined via #undef or recursively expanded use the := operator
|
||||
# instead of the = operator.
|
||||
|
||||
PREDEFINED = "ACMD(name)=void name (struct char_data *ch, char *argument, int cmd, int subcmd)" "WCMD(name)=void name (room_data *room, char *argument, int cmd, int subcmd)" "OCMD(name)=void name(obj_data *obj, char *argument, int cmd, int subcmd)" "SPECIAL(name)=int name(struct char_data *ch, void *me, int cmd, char *argument)"
|
||||
PREDEFINED = "ACMD(name)=void name (char_data *ch, char *argument, int cmd, int subcmd)" "WCMD(name)=void name (room_data *room, char *argument, int cmd, int subcmd)" "OCMD(name)=void name(obj_data *obj, char *argument, int cmd, int subcmd)" "SPECIAL(name)=int name(char_data *ch, void *me, int cmd, char *argument)"
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
|
||||
# this tag can be used to specify a list of macro names that should be expanded.
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,7 @@ INCLUDE_FILE_PATTERNS =
|
|||
# undefined via #undef or recursively expanded use the := operator
|
||||
# instead of the = operator.
|
||||
|
||||
PREDEFINED = "ACMD(name)=void name (struct char_data *ch, char *argument, int cmd, int subcmd)" "WCMD(name)=void name (room_data *room, char *argument, int cmd, int subcmd)" "OCMD(name)=void name(obj_data *obj, char *argument, int cmd, int subcmd)" "SPECIAL(name)=int name(struct char_data *ch, void *me, int cmd, char *argument)"
|
||||
PREDEFINED = "ACMD(name)=void name (char_data *ch, char *argument, int cmd, int subcmd)" "WCMD(name)=void name (room_data *room, char *argument, int cmd, int subcmd)" "OCMD(name)=void name(obj_data *obj, char *argument, int cmd, int subcmd)" "SPECIAL(name)=int name(char_data *ch, void *me, int cmd, char *argument)"
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
|
||||
# this tag can be used to specify a list of macro names that should be expanded.
|
||||
|
|
|
|||
86
src/fight.c
86
src/fight.c
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
/* locally defined global variables, used externally */
|
||||
/* head of l-list of fighting chars */
|
||||
struct char_data *combat_list = NULL;
|
||||
char_data *combat_list = NULL;
|
||||
/* Weapon attack texts */
|
||||
struct attack_hit_type attack_hit_text[] =
|
||||
{
|
||||
|
|
@ -51,23 +51,23 @@ struct attack_hit_type attack_hit_text[] =
|
|||
};
|
||||
|
||||
/* local (file scope only) variables */
|
||||
static struct char_data *next_combat_list = NULL;
|
||||
static char_data *next_combat_list = NULL;
|
||||
|
||||
/* local file scope utility functions */
|
||||
static void perform_group_gain(struct char_data *ch, int base, struct char_data *victim);
|
||||
static void dam_message(int dam, struct char_data *ch, struct char_data *victim, int w_type);
|
||||
static void make_corpse(struct char_data *ch);
|
||||
static void change_alignment(struct char_data *ch, struct char_data *victim);
|
||||
static void group_gain(struct char_data *ch, struct char_data *victim);
|
||||
static void solo_gain(struct char_data *ch, struct char_data *victim);
|
||||
static void perform_group_gain(char_data *ch, int base, char_data *victim);
|
||||
static void dam_message(int dam, char_data *ch, char_data *victim, int w_type);
|
||||
static void make_corpse(char_data *ch);
|
||||
static void change_alignment(char_data *ch, char_data *victim);
|
||||
static void group_gain(char_data *ch, char_data *victim);
|
||||
static void solo_gain(char_data *ch, char_data *victim);
|
||||
/** @todo refactor this function name */
|
||||
static char *replace_string(const char *str, const char *weapon_singular, const char *weapon_plural);
|
||||
static int compute_thaco(struct char_data *ch, struct char_data *vict);
|
||||
static int compute_thaco(char_data *ch, char_data *vict);
|
||||
|
||||
|
||||
#define IS_WEAPON(type) (((type) >= TYPE_HIT) && ((type) < TYPE_SUFFERING))
|
||||
/* The Fight related routines */
|
||||
void appear(struct char_data *ch)
|
||||
void appear(char_data *ch)
|
||||
{
|
||||
if (affected_by_spell(ch, SPELL_INVISIBLE))
|
||||
affect_from_char(ch, SPELL_INVISIBLE);
|
||||
|
|
@ -82,7 +82,7 @@ void appear(struct char_data *ch)
|
|||
FALSE, ch, 0, 0, TO_ROOM);
|
||||
}
|
||||
|
||||
int compute_armor_class(struct char_data *ch)
|
||||
int compute_armor_class(char_data *ch)
|
||||
{
|
||||
int armorclass = GET_AC(ch);
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ int compute_armor_class(struct char_data *ch)
|
|||
return (MAX(-100, armorclass)); /* -100 is lowest */
|
||||
}
|
||||
|
||||
void update_pos(struct char_data *victim)
|
||||
void update_pos(char_data *victim)
|
||||
{
|
||||
if ((GET_HIT(victim) > 0) && (GET_POS(victim) > POS_STUNNED))
|
||||
return;
|
||||
|
|
@ -108,7 +108,7 @@ void update_pos(struct char_data *victim)
|
|||
GET_POS(victim) = POS_STUNNED;
|
||||
}
|
||||
|
||||
void check_killer(struct char_data *ch, struct char_data *vict)
|
||||
void check_killer(char_data *ch, char_data *vict)
|
||||
{
|
||||
if (PLR_FLAGGED(vict, PLR_KILLER) || PLR_FLAGGED(vict, PLR_THIEF))
|
||||
return;
|
||||
|
|
@ -123,7 +123,7 @@ void check_killer(struct char_data *ch, struct char_data *vict)
|
|||
}
|
||||
|
||||
/* start one char fighting another (yes, it is horrible, I know... ) */
|
||||
void set_fighting(struct char_data *ch, struct char_data *vict)
|
||||
void set_fighting(char_data *ch, char_data *vict)
|
||||
{
|
||||
if (ch == vict)
|
||||
return;
|
||||
|
|
@ -147,9 +147,9 @@ void set_fighting(struct char_data *ch, struct char_data *vict)
|
|||
}
|
||||
|
||||
/* remove a char from the list of fighting chars */
|
||||
void stop_fighting(struct char_data *ch)
|
||||
void stop_fighting(char_data *ch)
|
||||
{
|
||||
struct char_data *temp;
|
||||
char_data *temp;
|
||||
|
||||
if (ch == next_combat_list)
|
||||
next_combat_list = ch->next_fighting;
|
||||
|
|
@ -161,11 +161,11 @@ void stop_fighting(struct char_data *ch)
|
|||
update_pos(ch);
|
||||
}
|
||||
|
||||
static void make_corpse(struct char_data *ch)
|
||||
static void make_corpse(char_data *ch)
|
||||
{
|
||||
char buf2[MAX_NAME_LENGTH + 64];
|
||||
struct obj_data *corpse, *o;
|
||||
struct obj_data *money;
|
||||
obj_data *corpse, *o;
|
||||
obj_data *money;
|
||||
int i, x, y;
|
||||
|
||||
corpse = create_obj();
|
||||
|
|
@ -232,14 +232,14 @@ static void make_corpse(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* When ch kills victim */
|
||||
static void change_alignment(struct char_data *ch, struct char_data *victim)
|
||||
static void change_alignment(char_data *ch, char_data *victim)
|
||||
{
|
||||
/* new alignment change algorithm: if you kill a monster with alignment A,
|
||||
* you move 1/16th of the way to having alignment -A. Simple and fast. */
|
||||
GET_ALIGNMENT(ch) += (-GET_ALIGNMENT(victim) - GET_ALIGNMENT(ch)) / 16;
|
||||
}
|
||||
|
||||
void death_cry(struct char_data *ch)
|
||||
void death_cry(char_data *ch)
|
||||
{
|
||||
int door;
|
||||
|
||||
|
|
@ -250,9 +250,9 @@ void death_cry(struct char_data *ch)
|
|||
send_to_room(world[IN_ROOM(ch)].dir_option[door]->to_room, "Your blood freezes as you hear someone's death cry.\r\n");
|
||||
}
|
||||
|
||||
void raw_kill(struct char_data * ch, struct char_data * killer)
|
||||
void raw_kill(char_data * ch, char_data * killer)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
|
||||
if (FIGHTING(ch))
|
||||
stop_fighting(ch);
|
||||
|
|
@ -271,7 +271,7 @@ struct char_data *i;
|
|||
|
||||
if (killer) {
|
||||
if (killer->group) {
|
||||
while ((i = (struct char_data *) simple_list(killer->group->members)) != NULL)
|
||||
while ((i = (char_data *) simple_list(killer->group->members)) != NULL)
|
||||
if(IN_ROOM(i) == IN_ROOM(ch) || (world[IN_ROOM(i)].zone == world[IN_ROOM(ch)].zone))
|
||||
autoquest_trigger_check(i, ch, NULL, AQ_MOB_KILL);
|
||||
} else
|
||||
|
|
@ -293,7 +293,7 @@ struct char_data *i;
|
|||
}
|
||||
}
|
||||
|
||||
void die(struct char_data * ch, struct char_data * killer)
|
||||
void die(char_data * ch, char_data * killer)
|
||||
{
|
||||
gain_exp(ch, -(GET_EXP(ch) / 2));
|
||||
if (!IS_NPC(ch)) {
|
||||
|
|
@ -303,8 +303,8 @@ void die(struct char_data * ch, struct char_data * killer)
|
|||
raw_kill(ch, killer);
|
||||
}
|
||||
|
||||
static void perform_group_gain(struct char_data *ch, int base,
|
||||
struct char_data *victim)
|
||||
static void perform_group_gain(char_data *ch, int base,
|
||||
char_data *victim)
|
||||
{
|
||||
int share, hap_share;
|
||||
|
||||
|
|
@ -325,12 +325,12 @@ static void perform_group_gain(struct char_data *ch, int base,
|
|||
change_alignment(ch, victim);
|
||||
}
|
||||
|
||||
static void group_gain(struct char_data *ch, struct char_data *victim)
|
||||
static void group_gain(char_data *ch, char_data *victim)
|
||||
{
|
||||
int tot_members = 0, base, tot_gain;
|
||||
struct char_data *k;
|
||||
char_data *k;
|
||||
|
||||
while ((k = (struct char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (IN_ROOM(ch) == IN_ROOM(k))
|
||||
tot_members++;
|
||||
|
||||
|
|
@ -346,12 +346,12 @@ static void group_gain(struct char_data *ch, struct char_data *victim)
|
|||
else
|
||||
base = 0;
|
||||
|
||||
while ((k = (struct char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (IN_ROOM(k) == IN_ROOM(ch))
|
||||
perform_group_gain(k, base, victim);
|
||||
}
|
||||
|
||||
static void solo_gain(struct char_data *ch, struct char_data *victim)
|
||||
static void solo_gain(char_data *ch, char_data *victim)
|
||||
{
|
||||
int exp, happy_exp;
|
||||
|
||||
|
|
@ -407,7 +407,7 @@ static char *replace_string(const char *str, const char *weapon_singular, const
|
|||
}
|
||||
|
||||
/* message for doing damage with a weapon */
|
||||
static void dam_message(int dam, struct char_data *ch, struct char_data *victim,
|
||||
static void dam_message(int dam, char_data *ch, char_data *victim,
|
||||
int w_type)
|
||||
{
|
||||
char *buf;
|
||||
|
|
@ -512,13 +512,13 @@ static void dam_message(int dam, struct char_data *ch, struct char_data *victim,
|
|||
|
||||
/* message for doing damage with a spell or skill. Also used for weapon
|
||||
* damage on miss and death blows. */
|
||||
int skill_message(int dam, struct char_data *ch, struct char_data *vict,
|
||||
int skill_message(int dam, char_data *ch, char_data *vict,
|
||||
int attacktype)
|
||||
{
|
||||
int i, j, nr;
|
||||
struct message_type *msg;
|
||||
|
||||
struct obj_data *weap = GET_EQ(ch, WEAR_WIELD);
|
||||
obj_data *weap = GET_EQ(ch, WEAR_WIELD);
|
||||
|
||||
/* @todo restructure the messages library to a pointer based system as
|
||||
* opposed to the current cyclic location system. */
|
||||
|
|
@ -585,12 +585,12 @@ int skill_message(int dam, struct char_data *ch, struct char_data *vict,
|
|||
* < 0 Victim died.
|
||||
* = 0 No damage.
|
||||
* > 0 How much damage done. */
|
||||
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype)
|
||||
int damage(char_data *ch, char_data *victim, int dam, int attacktype)
|
||||
{
|
||||
long local_gold = 0, happy_gold = 0;
|
||||
char local_buf[256];
|
||||
struct char_data *tmp_char;
|
||||
struct obj_data *corpse_obj;
|
||||
char_data *tmp_char;
|
||||
obj_data *corpse_obj;
|
||||
|
||||
if (GET_POS(victim) <= POS_DEAD) {
|
||||
/* This is "normal"-ish now with delayed extraction. -gg 3/15/2001 */
|
||||
|
|
@ -786,7 +786,7 @@ int damage(struct char_data *ch, struct char_data *victim, int dam, int attackty
|
|||
/* Calculate the THAC0 of the attacker. 'victim' currently isn't used but you
|
||||
* could use it for special cases like weapons that hit evil creatures easier
|
||||
* or a weapon that always misses attacking an animal. */
|
||||
static int compute_thaco(struct char_data *ch, struct char_data *victim)
|
||||
static int compute_thaco(char_data *ch, char_data *victim)
|
||||
{
|
||||
int calc_thaco;
|
||||
|
||||
|
|
@ -802,9 +802,9 @@ static int compute_thaco(struct char_data *ch, struct char_data *victim)
|
|||
return calc_thaco;
|
||||
}
|
||||
|
||||
void hit(struct char_data *ch, struct char_data *victim, int type)
|
||||
void hit(char_data *ch, char_data *victim, int type)
|
||||
{
|
||||
struct obj_data *wielded = GET_EQ(ch, WEAR_WIELD);
|
||||
obj_data *wielded = GET_EQ(ch, WEAR_WIELD);
|
||||
int w_type, victim_ac, calc_thaco, dam, diceroll;
|
||||
|
||||
/* Check that the attacker and victim exist */
|
||||
|
|
@ -905,7 +905,7 @@ void hit(struct char_data *ch, struct char_data *victim, int type)
|
|||
/* control the fights going on. Called every 2 seconds from comm.c. */
|
||||
void perform_violence(void)
|
||||
{
|
||||
struct char_data *ch, *tch;
|
||||
char_data *ch, *tch;
|
||||
|
||||
for (ch = combat_list; ch; ch = next_combat_list) {
|
||||
next_combat_list = ch->next_fighting;
|
||||
|
|
@ -935,7 +935,7 @@ void perform_violence(void)
|
|||
if (GROUP(ch) && GROUP(ch)->members && GROUP(ch)->members->iSize) {
|
||||
struct iterator_data Iterator;
|
||||
|
||||
tch = (struct char_data *) merge_iterator(&Iterator, GROUP(ch)->members);
|
||||
tch = (char_data *) merge_iterator(&Iterator, GROUP(ch)->members);
|
||||
for (; tch ; tch = next_in_list(&Iterator)) {
|
||||
if (tch == ch)
|
||||
continue;
|
||||
|
|
|
|||
24
src/fight.h
24
src/fight.h
|
|
@ -21,22 +21,22 @@ struct attack_hit_type {
|
|||
};
|
||||
|
||||
/* Functions available in fight.c */
|
||||
void appear(struct char_data *ch);
|
||||
void check_killer(struct char_data *ch, struct char_data *vict);
|
||||
int compute_armor_class(struct char_data *ch);
|
||||
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype);
|
||||
void death_cry(struct char_data *ch);
|
||||
void die(struct char_data * ch, struct char_data * killer);
|
||||
void hit(struct char_data *ch, struct char_data *victim, int type);
|
||||
void appear(char_data *ch);
|
||||
void check_killer(char_data *ch, char_data *vict);
|
||||
int compute_armor_class(char_data *ch);
|
||||
int damage(char_data *ch, char_data *victim, int dam, int attacktype);
|
||||
void death_cry(char_data *ch);
|
||||
void die(char_data * ch, char_data * killer);
|
||||
void hit(char_data *ch, char_data *victim, int type);
|
||||
void perform_violence(void);
|
||||
void raw_kill(struct char_data * ch, struct char_data * killer);
|
||||
void set_fighting(struct char_data *ch, struct char_data *victim);
|
||||
int skill_message(int dam, struct char_data *ch, struct char_data *vict, int attacktype);
|
||||
void stop_fighting(struct char_data *ch);
|
||||
void raw_kill(char_data * ch, char_data * killer);
|
||||
void set_fighting(char_data *ch, char_data *victim);
|
||||
int skill_message(int dam, char_data *ch, char_data *vict, int attacktype);
|
||||
void stop_fighting(char_data *ch);
|
||||
|
||||
|
||||
/* Global variables */
|
||||
extern struct attack_hit_type attack_hit_text[];
|
||||
extern struct char_data *combat_list;
|
||||
extern char_data *combat_list;
|
||||
|
||||
#endif /* _FIGHT_H_*/
|
||||
|
|
|
|||
30
src/genmob.c
30
src/genmob.c
|
|
@ -21,11 +21,11 @@
|
|||
/* local functions */
|
||||
static void extract_mobile_all(mob_vnum vnum);
|
||||
|
||||
int add_mobile(struct char_data *mob, mob_vnum vnum)
|
||||
int add_mobile(char_data *mob, mob_vnum vnum)
|
||||
{
|
||||
int rnum, i, found = FALSE, shop, cmd_no;
|
||||
zone_rnum zone;
|
||||
struct char_data *live_mob;
|
||||
char_data *live_mob;
|
||||
|
||||
if ((rnum = real_mobile(vnum)) != NOBODY) {
|
||||
/* Copy over the mobile and free() the old strings. */
|
||||
|
|
@ -41,7 +41,7 @@ int add_mobile(struct char_data *mob, mob_vnum vnum)
|
|||
return rnum;
|
||||
}
|
||||
|
||||
RECREATE(mob_proto, struct char_data, top_of_mobt + 2);
|
||||
RECREATE(mob_proto, char_data, top_of_mobt + 2);
|
||||
RECREATE(mob_index, struct index_data, top_of_mobt + 2);
|
||||
top_of_mobt++;
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ int add_mobile(struct char_data *mob, mob_vnum vnum)
|
|||
return found;
|
||||
}
|
||||
|
||||
int copy_mobile(struct char_data *to, struct char_data *from)
|
||||
int copy_mobile(char_data *to, char_data *from)
|
||||
{
|
||||
free_mobile_strings(to);
|
||||
*to = *from;
|
||||
|
|
@ -101,7 +101,7 @@ int copy_mobile(struct char_data *to, struct char_data *from)
|
|||
|
||||
static void extract_mobile_all(mob_vnum vnum)
|
||||
{
|
||||
struct char_data *next, *ch;
|
||||
char_data *next, *ch;
|
||||
int i;
|
||||
|
||||
for (ch = character_list; ch; ch = next) {
|
||||
|
|
@ -140,8 +140,8 @@ static void extract_mobile_all(mob_vnum vnum)
|
|||
|
||||
int delete_mobile(mob_rnum refpt)
|
||||
{
|
||||
struct char_data *live_mob;
|
||||
struct char_data *proto;
|
||||
char_data *live_mob;
|
||||
char_data *proto;
|
||||
int counter, cmd_no;
|
||||
mob_vnum vnum;
|
||||
zone_rnum zone;
|
||||
|
|
@ -169,7 +169,7 @@ int delete_mobile(mob_rnum refpt)
|
|||
|
||||
top_of_mobt--;
|
||||
RECREATE(mob_index, struct index_data, top_of_mobt + 1);
|
||||
RECREATE(mob_proto, struct char_data, top_of_mobt + 1);
|
||||
RECREATE(mob_proto, char_data, top_of_mobt + 1);
|
||||
|
||||
/* Update live mobile rnums. */
|
||||
for (live_mob = character_list; live_mob; live_mob = live_mob->next)
|
||||
|
|
@ -195,7 +195,7 @@ int delete_mobile(mob_rnum refpt)
|
|||
return refpt;
|
||||
}
|
||||
|
||||
int copy_mobile_strings(struct char_data *t, struct char_data *f)
|
||||
int copy_mobile_strings(char_data *t, char_data *f)
|
||||
{
|
||||
if (f->player.name)
|
||||
t->player.name = strdup(f->player.name);
|
||||
|
|
@ -210,7 +210,7 @@ int copy_mobile_strings(struct char_data *t, struct char_data *f)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
int update_mobile_strings(struct char_data *t, struct char_data *f)
|
||||
int update_mobile_strings(char_data *t, char_data *f)
|
||||
{
|
||||
if (f->player.name)
|
||||
t->player.name = f->player.name;
|
||||
|
|
@ -225,7 +225,7 @@ int update_mobile_strings(struct char_data *t, struct char_data *f)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
int free_mobile_strings(struct char_data *mob)
|
||||
int free_mobile_strings(char_data *mob)
|
||||
{
|
||||
if (mob->player.name)
|
||||
free(mob->player.name);
|
||||
|
|
@ -242,7 +242,7 @@ int free_mobile_strings(struct char_data *mob)
|
|||
|
||||
/* Free a mobile structure that has been edited. Take care of existing mobiles
|
||||
* and their mob_proto! */
|
||||
int free_mobile(struct char_data *mob)
|
||||
int free_mobile(char_data *mob)
|
||||
{
|
||||
mob_rnum i;
|
||||
|
||||
|
|
@ -325,7 +325,7 @@ int save_mobiles(zone_rnum rznum)
|
|||
return written;
|
||||
}
|
||||
|
||||
int write_mobile_espec(mob_vnum mvnum, struct char_data *mob, FILE *fd)
|
||||
int write_mobile_espec(mob_vnum mvnum, char_data *mob, FILE *fd)
|
||||
{
|
||||
if (GET_ATTACK(mob) != 0)
|
||||
fprintf(fd, "BareHandAttack: %d\n", GET_ATTACK(mob));
|
||||
|
|
@ -357,7 +357,7 @@ int write_mobile_espec(mob_vnum mvnum, struct char_data *mob, FILE *fd)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
int write_mobile_record(mob_vnum mvnum, struct char_data *mob, FILE *fd)
|
||||
int write_mobile_record(mob_vnum mvnum, char_data *mob, FILE *fd)
|
||||
{
|
||||
char ldesc[MAX_STRING_LENGTH];
|
||||
char ddesc[MAX_STRING_LENGTH];
|
||||
|
|
@ -419,7 +419,7 @@ int write_mobile_record(mob_vnum mvnum, struct char_data *mob, FILE *fd)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void check_mobile_strings(struct char_data *mob)
|
||||
void check_mobile_strings(char_data *mob)
|
||||
{
|
||||
mob_vnum mvnum = mob_index[mob->nr].vnum;
|
||||
check_mobile_string(mvnum, &GET_LDESC(mob), "long description");
|
||||
|
|
|
|||
24
src/genmob.h
24
src/genmob.h
|
|
@ -13,21 +13,21 @@
|
|||
#define _GENMOB_H_
|
||||
|
||||
int delete_mobile(mob_rnum);
|
||||
int copy_mobile(struct char_data *to, struct char_data *from);
|
||||
int add_mobile(struct char_data *, mob_vnum);
|
||||
int copy_mob_strings(struct char_data *to, struct char_data *from);
|
||||
int free_mob_strings(struct char_data *);
|
||||
int free_mobile(struct char_data *mob);
|
||||
int copy_mobile(char_data *to, char_data *from);
|
||||
int add_mobile(char_data *, mob_vnum);
|
||||
int copy_mob_strings(char_data *to, char_data *from);
|
||||
int free_mob_strings(char_data *);
|
||||
int free_mobile(char_data *mob);
|
||||
int save_mobiles(zone_rnum rznum);
|
||||
int update_mobile_strings(struct char_data *t, struct char_data *f);
|
||||
void check_mobile_strings(struct char_data *mob);
|
||||
int update_mobile_strings(char_data *t, char_data *f);
|
||||
void check_mobile_strings(char_data *mob);
|
||||
void check_mobile_string(mob_vnum i, char **string, const char *desc);
|
||||
int write_mobile_record(mob_vnum mvnum, struct char_data *mob, FILE *fd);
|
||||
int write_mobile_espec(mob_vnum mvnum, struct char_data *mob, FILE *fd);
|
||||
int free_mobile_strings(struct char_data *mob);
|
||||
int copy_mobile_strings(struct char_data *t, struct char_data *f);
|
||||
int write_mobile_record(mob_vnum mvnum, char_data *mob, FILE *fd);
|
||||
int write_mobile_espec(mob_vnum mvnum, char_data *mob, FILE *fd);
|
||||
int free_mobile_strings(char_data *mob);
|
||||
int copy_mobile_strings(char_data *t, char_data *f);
|
||||
#if CONFIG_GENOLC_MOBPROG
|
||||
int write_mobile_mobprog(mob_vnum mvnum, struct char_data *mob, FILE *fd);
|
||||
int write_mobile_mobprog(mob_vnum mvnum, char_data *mob, FILE *fd);
|
||||
#endif
|
||||
|
||||
/* Handy macros. */
|
||||
|
|
|
|||
46
src/genobj.c
46
src/genobj.c
|
|
@ -22,10 +22,10 @@
|
|||
|
||||
|
||||
/* local functions */
|
||||
static int update_all_objects(struct obj_data *obj);
|
||||
static void copy_object_strings(struct obj_data *to, struct obj_data *from);
|
||||
static int update_all_objects(obj_data *obj);
|
||||
static void copy_object_strings(obj_data *to, obj_data *from);
|
||||
|
||||
obj_rnum add_object(struct obj_data *newobj, obj_vnum ovnum)
|
||||
obj_rnum add_object(obj_data *newobj, obj_vnum ovnum)
|
||||
{
|
||||
int found = NOTHING;
|
||||
zone_rnum rznum = real_zone_by_thing(ovnum);
|
||||
|
|
@ -48,9 +48,9 @@ obj_rnum add_object(struct obj_data *newobj, obj_vnum ovnum)
|
|||
* and every object currently in the game to see which ones are pointing to
|
||||
* this prototype. If object is pointing to this prototype, then we need to
|
||||
* replace it with the new one. */
|
||||
static int update_all_objects(struct obj_data *refobj)
|
||||
static int update_all_objects(obj_data *refobj)
|
||||
{
|
||||
struct obj_data *obj, swap;
|
||||
obj_data *obj, swap;
|
||||
int count = 0;
|
||||
|
||||
for (obj = object_list; obj; obj = obj->next) {
|
||||
|
|
@ -85,7 +85,7 @@ static int update_all_objects(struct obj_data *refobj)
|
|||
obj_rnum adjust_objects(obj_rnum refpt)
|
||||
{
|
||||
int shop, i, zone, cmd_no;
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
#if CIRCLE_UNSIGNED_INDEX
|
||||
if (refpt == NOTHING || refpt > top_of_objt)
|
||||
|
|
@ -132,13 +132,13 @@ obj_rnum adjust_objects(obj_rnum refpt)
|
|||
/* Function handle the insertion of an object within the prototype framework.
|
||||
* Note that this does not adjust internal values of other objects, use
|
||||
* add_object() for that. */
|
||||
obj_rnum insert_object(struct obj_data *obj, obj_vnum ovnum)
|
||||
obj_rnum insert_object(obj_data *obj, obj_vnum ovnum)
|
||||
{
|
||||
obj_rnum i;
|
||||
|
||||
top_of_objt++;
|
||||
RECREATE(obj_index, struct index_data, top_of_objt + 1);
|
||||
RECREATE(obj_proto, struct obj_data, top_of_objt + 1);
|
||||
RECREATE(obj_proto, obj_data, top_of_objt + 1);
|
||||
|
||||
/* Start counting through both tables. */
|
||||
for (i = top_of_objt; i > 0; i--) {
|
||||
|
|
@ -156,7 +156,7 @@ obj_rnum insert_object(struct obj_data *obj, obj_vnum ovnum)
|
|||
return index_object(obj, ovnum, 0);
|
||||
}
|
||||
|
||||
obj_rnum index_object(struct obj_data *obj, obj_vnum ovnum, obj_rnum ornum)
|
||||
obj_rnum index_object(obj_data *obj, obj_vnum ovnum, obj_rnum ornum)
|
||||
{
|
||||
#if CIRCLE_UNSIGNED_INDEX
|
||||
if (obj == NULL || ornum == NOTHING || ornum > top_of_objt)
|
||||
|
|
@ -184,7 +184,7 @@ int save_objects(zone_rnum zone_num)
|
|||
char pbuf1[MAX_STRING_LENGTH], pbuf2[MAX_STRING_LENGTH], pbuf3[MAX_STRING_LENGTH], pbuf4[MAX_STRING_LENGTH];
|
||||
int counter, counter2, realcounter;
|
||||
FILE *fp;
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
struct extra_descr_data *ex_desc;
|
||||
|
||||
#if CIRCLE_UNSIGNED_INDEX
|
||||
|
|
@ -299,7 +299,7 @@ int save_objects(zone_rnum zone_num)
|
|||
}
|
||||
|
||||
/* Free all, unconditionally. */
|
||||
void free_object_strings(struct obj_data *obj)
|
||||
void free_object_strings(obj_data *obj)
|
||||
{
|
||||
if (obj->name)
|
||||
free(obj->name);
|
||||
|
|
@ -314,7 +314,7 @@ void free_object_strings(struct obj_data *obj)
|
|||
}
|
||||
|
||||
/* For object instances that are not the prototype. */
|
||||
void free_object_strings_proto(struct obj_data *obj)
|
||||
void free_object_strings_proto(obj_data *obj)
|
||||
{
|
||||
int robj_num = GET_OBJ_RNUM(obj);
|
||||
|
||||
|
|
@ -349,7 +349,7 @@ void free_object_strings_proto(struct obj_data *obj)
|
|||
}
|
||||
}
|
||||
|
||||
static void copy_object_strings(struct obj_data *to, struct obj_data *from)
|
||||
static void copy_object_strings(obj_data *to, obj_data *from)
|
||||
{
|
||||
to->name = from->name ? strdup(from->name) : NULL;
|
||||
to->description = from->description ? strdup(from->description) : NULL;
|
||||
|
|
@ -362,18 +362,18 @@ static void copy_object_strings(struct obj_data *to, struct obj_data *from)
|
|||
to->ex_description = NULL;
|
||||
}
|
||||
|
||||
int copy_object(struct obj_data *to, struct obj_data *from)
|
||||
int copy_object(obj_data *to, obj_data *from)
|
||||
{
|
||||
free_object_strings(to);
|
||||
return copy_object_main(to, from, TRUE);
|
||||
}
|
||||
|
||||
int copy_object_preserve(struct obj_data *to, struct obj_data *from)
|
||||
int copy_object_preserve(obj_data *to, obj_data *from)
|
||||
{
|
||||
return copy_object_main(to, from, FALSE);
|
||||
}
|
||||
|
||||
int copy_object_main(struct obj_data *to, struct obj_data *from, int free_object)
|
||||
int copy_object_main(obj_data *to, obj_data *from, int free_object)
|
||||
{
|
||||
*to = *from;
|
||||
copy_object_strings(to, from);
|
||||
|
|
@ -384,7 +384,7 @@ int delete_object(obj_rnum rnum)
|
|||
{
|
||||
obj_rnum i;
|
||||
zone_rnum zrnum;
|
||||
struct obj_data *obj, *tmp, *next_obj;
|
||||
obj_data *obj, *tmp, *next_obj;
|
||||
int shop, j, zone, cmd_no;
|
||||
|
||||
if (rnum == NOTHING || rnum > top_of_objt)
|
||||
|
|
@ -404,7 +404,7 @@ int delete_object(obj_rnum rnum)
|
|||
|
||||
/* extract_obj() will just axe contents. */
|
||||
if (tmp->contains) {
|
||||
struct obj_data *this_content, *next_content;
|
||||
obj_data *this_content, *next_content;
|
||||
for (this_content = tmp->contains; this_content; this_content = next_content) {
|
||||
next_content = this_content->next_content;
|
||||
if (IN_ROOM(tmp)) {
|
||||
|
|
@ -442,7 +442,7 @@ int delete_object(obj_rnum rnum)
|
|||
|
||||
top_of_objt--;
|
||||
RECREATE(obj_index, struct index_data, top_of_objt + 1);
|
||||
RECREATE(obj_proto, struct obj_data, top_of_objt + 1);
|
||||
RECREATE(obj_proto, obj_data, top_of_objt + 1);
|
||||
|
||||
/* Renumber notice boards. */
|
||||
for (j = 0; j < NUM_OF_BOARDS; j++)
|
||||
|
|
@ -487,7 +487,7 @@ int delete_object(obj_rnum rnum)
|
|||
}
|
||||
|
||||
/* oset handling, this location should be temporary */
|
||||
bool oset_alias(struct obj_data *obj, char * argument)
|
||||
bool oset_alias(obj_data *obj, char * argument)
|
||||
{
|
||||
static size_t max_len = 64;
|
||||
int i = GET_OBJ_RNUM(obj);
|
||||
|
|
@ -505,7 +505,7 @@ bool oset_alias(struct obj_data *obj, char * argument)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
bool oset_apply(struct obj_data *obj, char * argument)
|
||||
bool oset_apply(obj_data *obj, char * argument)
|
||||
{
|
||||
int i = 0, apply = -1, location = -1, mod = 0, empty = -1, value;
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
|
|
@ -558,7 +558,7 @@ bool oset_apply(struct obj_data *obj, char * argument)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
bool oset_short_description(struct obj_data *obj, char * argument)
|
||||
bool oset_short_description(obj_data *obj, char * argument)
|
||||
{
|
||||
static size_t max_len = 64;
|
||||
int i = GET_OBJ_RNUM(obj);
|
||||
|
|
@ -576,7 +576,7 @@ bool oset_short_description(struct obj_data *obj, char * argument)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
bool oset_long_description(struct obj_data *obj, char * argument)
|
||||
bool oset_long_description(obj_data *obj, char * argument)
|
||||
{
|
||||
static size_t max_len = 128;
|
||||
int i = GET_OBJ_RNUM(obj);
|
||||
|
|
|
|||
24
src/genobj.h
24
src/genobj.h
|
|
@ -12,20 +12,20 @@
|
|||
#ifndef _GENOBJ_H_
|
||||
#define _GENOBJ_H_
|
||||
|
||||
void free_object_strings_proto(struct obj_data *obj);
|
||||
void free_object_strings(struct obj_data *obj);
|
||||
int copy_object(struct obj_data *to, struct obj_data *from);
|
||||
int copy_object_preserve(struct obj_data *to, struct obj_data *from);
|
||||
void free_object_strings_proto(obj_data *obj);
|
||||
void free_object_strings(obj_data *obj);
|
||||
int copy_object(obj_data *to, obj_data *from);
|
||||
int copy_object_preserve(obj_data *to, obj_data *from);
|
||||
int save_objects(zone_rnum vznum);
|
||||
obj_rnum insert_object(struct obj_data *obj, obj_vnum ovnum);
|
||||
obj_rnum insert_object(obj_data *obj, obj_vnum ovnum);
|
||||
obj_rnum adjust_objects(obj_rnum refpt);
|
||||
obj_rnum index_object(struct obj_data *obj, obj_vnum ovnum, obj_rnum ornum);
|
||||
obj_rnum add_object(struct obj_data *, obj_vnum ovnum);
|
||||
int copy_object_main(struct obj_data *to, struct obj_data *from, int free_object);
|
||||
obj_rnum index_object(obj_data *obj, obj_vnum ovnum, obj_rnum ornum);
|
||||
obj_rnum add_object(obj_data *, obj_vnum ovnum);
|
||||
int copy_object_main(obj_data *to, obj_data *from, int free_object);
|
||||
int delete_object(obj_rnum);
|
||||
bool oset_alias(struct obj_data *obj, char * argument);
|
||||
bool oset_apply(struct obj_data *obj, char * argument);
|
||||
bool oset_short_description(struct obj_data *obj, char * argument);
|
||||
bool oset_long_description(struct obj_data *obj, char * argument);
|
||||
bool oset_alias(obj_data *obj, char * argument);
|
||||
bool oset_apply(obj_data *obj, char * argument);
|
||||
bool oset_short_description(obj_data *obj, char * argument);
|
||||
bool oset_long_description(obj_data *obj, char * argument);
|
||||
|
||||
#endif /* _GENOBJ_H_ */
|
||||
|
|
|
|||
12
src/genolc.c
12
src/genolc.c
|
|
@ -60,11 +60,11 @@ static int export_save_zone(zone_rnum zrnum);
|
|||
static int export_save_objects(zone_rnum zrnum);
|
||||
static int export_save_rooms(zone_rnum zrnum);
|
||||
static int export_save_triggers(zone_rnum zrnum);
|
||||
static int export_mobile_record(mob_vnum mvnum, struct char_data *mob, FILE *fd);
|
||||
static int export_mobile_record(mob_vnum mvnum, char_data *mob, FILE *fd);
|
||||
static void export_script_save_to_disk(FILE *fp, void *item, int type);
|
||||
static int export_info_file(zone_rnum zrnum);
|
||||
|
||||
int genolc_checkstring(struct descriptor_data *d, char *arg)
|
||||
int genolc_checkstring(descriptor_data *d, char *arg)
|
||||
{
|
||||
smash_tilde(arg);
|
||||
parse_at(arg);
|
||||
|
|
@ -589,7 +589,7 @@ static int export_save_mobiles(zone_rnum rznum)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static int export_mobile_record(mob_vnum mvnum, struct char_data *mob, FILE *fd)
|
||||
static int export_mobile_record(mob_vnum mvnum, char_data *mob, FILE *fd)
|
||||
{
|
||||
|
||||
char ldesc[MAX_STRING_LENGTH];
|
||||
|
|
@ -774,7 +774,7 @@ static int export_save_objects(zone_rnum zrnum)
|
|||
obj_vnum ovnum;
|
||||
int i;
|
||||
FILE *obj_file;
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
struct extra_descr_data *ex_desc;
|
||||
|
||||
if (!(obj_file = fopen("world/export/qq.obj", "w"))) {
|
||||
|
|
@ -996,9 +996,9 @@ static void export_script_save_to_disk(FILE *fp, void *item, int type)
|
|||
struct trig_proto_list *t;
|
||||
|
||||
if (type==MOB_TRIGGER)
|
||||
t = ((struct char_data *)item)->proto_script;
|
||||
t = ((char_data *)item)->proto_script;
|
||||
else if (type==OBJ_TRIGGER)
|
||||
t = ((struct obj_data *)item)->proto_script;
|
||||
t = ((obj_data *)item)->proto_script;
|
||||
else if (type==WLD_TRIGGER)
|
||||
t = ((struct room_data *)item)->proto_script;
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#define STRING_TERMINATOR '~'
|
||||
#define CONFIG_GENOLC_MOBPROG 0
|
||||
|
||||
int genolc_checkstring(struct descriptor_data *d, char *arg);
|
||||
int genolc_checkstring(descriptor_data *d, char *arg);
|
||||
int remove_from_save_list(zone_vnum, int type);
|
||||
int add_to_save_list(zone_vnum, int type);
|
||||
int in_save_list(zone_vnum, int type);
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
* the description, title, and such. */
|
||||
room_rnum add_room(struct room_data *room)
|
||||
{
|
||||
struct char_data *tch;
|
||||
struct obj_data *tobj;
|
||||
char_data *tch;
|
||||
obj_data *tobj;
|
||||
int j, found = FALSE;
|
||||
room_rnum i;
|
||||
|
||||
|
|
@ -123,8 +123,8 @@ int delete_room(room_rnum rnum)
|
|||
{
|
||||
room_rnum i;
|
||||
int j;
|
||||
struct char_data *ppl, *next_ppl;
|
||||
struct obj_data *obj, *next_obj;
|
||||
char_data *ppl, *next_ppl;
|
||||
obj_data *obj, *next_obj;
|
||||
struct room_data *room;
|
||||
|
||||
if (rnum <= 0 || rnum > top_of_world) /* Can't delete void yet. */
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ static int find_first_step(room_rnum src, room_rnum target)
|
|||
ACMD(do_track)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
int dir;
|
||||
|
||||
/* The character must have the track skill. */
|
||||
|
|
@ -195,11 +195,11 @@ ACMD(do_track)
|
|||
}
|
||||
}
|
||||
|
||||
void hunt_victim(struct char_data *ch)
|
||||
void hunt_victim(char_data *ch)
|
||||
{
|
||||
int dir;
|
||||
byte found;
|
||||
struct char_data *tmp;
|
||||
char_data *tmp;
|
||||
|
||||
if (!ch || !HUNTING(ch) || FIGHTING(ch))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,6 @@
|
|||
#define _GRAPH_H_
|
||||
|
||||
ACMD(do_track);
|
||||
void hunt_victim(struct char_data *ch);
|
||||
void hunt_victim(char_data *ch);
|
||||
|
||||
#endif /* _GRAPH_H_*/
|
||||
|
|
|
|||
152
src/handler.c
152
src/handler.c
|
|
@ -29,9 +29,9 @@
|
|||
static int extractions_pending = 0;
|
||||
|
||||
/* local file scope functions */
|
||||
static int apply_ac(struct char_data *ch, int eq_pos);
|
||||
static void update_object(struct obj_data *obj, int use);
|
||||
static void affect_modify_ar(struct char_data * ch, byte loc, sbyte mod, int bitv[], bool add);
|
||||
static int apply_ac(char_data *ch, int eq_pos);
|
||||
static void update_object(obj_data *obj, int use);
|
||||
static void affect_modify_ar(char_data * ch, byte loc, sbyte mod, int bitv[], bool add);
|
||||
|
||||
char *fname(const char *namelist)
|
||||
{
|
||||
|
|
@ -105,7 +105,7 @@ int isname(const char *str, const char *namelist)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void aff_apply_modify(struct char_data *ch, byte loc, sbyte mod, char *msg)
|
||||
static void aff_apply_modify(char_data *ch, byte loc, sbyte mod, char *msg)
|
||||
{
|
||||
switch (loc) {
|
||||
case APPLY_NONE:
|
||||
|
|
@ -205,7 +205,7 @@ static void aff_apply_modify(struct char_data *ch, byte loc, sbyte mod, char *ms
|
|||
} /* switch */
|
||||
}
|
||||
|
||||
static void affect_modify_ar(struct char_data * ch, byte loc, sbyte mod, int bitv[], bool add)
|
||||
static void affect_modify_ar(char_data * ch, byte loc, sbyte mod, int bitv[], bool add)
|
||||
{
|
||||
int i , j;
|
||||
|
||||
|
|
@ -227,7 +227,7 @@ static void affect_modify_ar(struct char_data * ch, byte loc, sbyte mod, int bit
|
|||
|
||||
/* This updates a character by subtracting everything he is affected by
|
||||
* restoring original abilities, and then affecting all again. */
|
||||
void affect_total(struct char_data *ch)
|
||||
void affect_total(char_data *ch)
|
||||
{
|
||||
struct affected_type *af;
|
||||
int i, j;
|
||||
|
|
@ -279,7 +279,7 @@ void affect_total(struct char_data *ch)
|
|||
|
||||
/* Insert an affect_type in a char_data structure. Automatically sets
|
||||
* apropriate bits and apply's */
|
||||
void affect_to_char(struct char_data *ch, struct affected_type *af)
|
||||
void affect_to_char(char_data *ch, struct affected_type *af)
|
||||
{
|
||||
struct affected_type *affected_alloc;
|
||||
|
||||
|
|
@ -296,7 +296,7 @@ void affect_to_char(struct char_data *ch, struct affected_type *af)
|
|||
/* Remove an affected_type structure from a char (called when duration reaches
|
||||
* zero). Pointer *af must never be NIL! Frees mem and calls
|
||||
* affect_location_apply */
|
||||
void affect_remove(struct char_data *ch, struct affected_type *af)
|
||||
void affect_remove(char_data *ch, struct affected_type *af)
|
||||
{
|
||||
struct affected_type *temp;
|
||||
|
||||
|
|
@ -312,7 +312,7 @@ void affect_remove(struct char_data *ch, struct affected_type *af)
|
|||
}
|
||||
|
||||
/* Call affect_remove with every affect from the spell "type" */
|
||||
void affect_from_char(struct char_data *ch, int type)
|
||||
void affect_from_char(char_data *ch, int type)
|
||||
{
|
||||
struct affected_type *hjp, *next;
|
||||
|
||||
|
|
@ -325,7 +325,7 @@ void affect_from_char(struct char_data *ch, int type)
|
|||
|
||||
/* Return TRUE if a char is affected by a spell (SPELL_XXX), FALSE indicates
|
||||
* not affected. */
|
||||
bool affected_by_spell(struct char_data *ch, int type)
|
||||
bool affected_by_spell(char_data *ch, int type)
|
||||
{
|
||||
struct affected_type *hjp;
|
||||
|
||||
|
|
@ -336,7 +336,7 @@ bool affected_by_spell(struct char_data *ch, int type)
|
|||
return (FALSE);
|
||||
}
|
||||
|
||||
void affect_join(struct char_data *ch, struct affected_type *af,
|
||||
void affect_join(char_data *ch, struct affected_type *af,
|
||||
bool add_dur, bool avg_dur, bool add_mod, bool avg_mod)
|
||||
{
|
||||
struct affected_type *hjp, *next;
|
||||
|
|
@ -365,9 +365,9 @@ void affect_join(struct char_data *ch, struct affected_type *af,
|
|||
}
|
||||
|
||||
/* move a player out of a room */
|
||||
void char_from_room(struct char_data *ch)
|
||||
void char_from_room(char_data *ch)
|
||||
{
|
||||
struct char_data *temp;
|
||||
char_data *temp;
|
||||
|
||||
if (ch == NULL || IN_ROOM(ch) == NOWHERE) {
|
||||
log("SYSERR: NULL character or NOWHERE in %s, char_from_room", __FILE__);
|
||||
|
|
@ -390,7 +390,7 @@ void char_from_room(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* place a character in a room */
|
||||
void char_to_room(struct char_data *ch, room_rnum room)
|
||||
void char_to_room(char_data *ch, room_rnum room)
|
||||
{
|
||||
if (ch == NULL || room == NOWHERE || room > top_of_world)
|
||||
log("SYSERR: Illegal value(s) passed to char_to_room. (Room: %d/%d Ch: %p",
|
||||
|
|
@ -417,7 +417,7 @@ void char_to_room(struct char_data *ch, room_rnum room)
|
|||
}
|
||||
|
||||
/* Give an object to a char. */
|
||||
void obj_to_char(struct obj_data *object, struct char_data *ch)
|
||||
void obj_to_char(obj_data *object, char_data *ch)
|
||||
{
|
||||
if (object && ch) {
|
||||
object->next_content = ch->carrying;
|
||||
|
|
@ -437,9 +437,9 @@ void obj_to_char(struct obj_data *object, struct char_data *ch)
|
|||
}
|
||||
|
||||
/* take an object from a char */
|
||||
void obj_from_char(struct obj_data *object)
|
||||
void obj_from_char(obj_data *object)
|
||||
{
|
||||
struct obj_data *temp;
|
||||
obj_data *temp;
|
||||
|
||||
if (object == NULL) {
|
||||
log("SYSERR: NULL object passed to obj_from_char.");
|
||||
|
|
@ -458,7 +458,7 @@ void obj_from_char(struct obj_data *object)
|
|||
}
|
||||
|
||||
/* Return the effect of a piece of armor in position eq_pos */
|
||||
static int apply_ac(struct char_data *ch, int eq_pos)
|
||||
static int apply_ac(char_data *ch, int eq_pos)
|
||||
{
|
||||
int factor;
|
||||
|
||||
|
|
@ -489,7 +489,7 @@ static int apply_ac(struct char_data *ch, int eq_pos)
|
|||
return (factor * GET_OBJ_VAL(GET_EQ(ch, eq_pos), 0));
|
||||
}
|
||||
|
||||
int invalid_align(struct char_data *ch, struct obj_data *obj)
|
||||
int invalid_align(char_data *ch, obj_data *obj)
|
||||
{
|
||||
if (OBJ_FLAGGED(obj, ITEM_ANTI_EVIL) && IS_EVIL(ch))
|
||||
return TRUE;
|
||||
|
|
@ -500,7 +500,7 @@ int invalid_align(struct char_data *ch, struct obj_data *obj)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
void equip_char(struct char_data *ch, struct obj_data *obj, int pos)
|
||||
void equip_char(char_data *ch, obj_data *obj, int pos)
|
||||
{
|
||||
int j;
|
||||
|
||||
|
|
@ -552,10 +552,10 @@ void equip_char(struct char_data *ch, struct obj_data *obj, int pos)
|
|||
affect_total(ch);
|
||||
}
|
||||
|
||||
struct obj_data *unequip_char(struct char_data *ch, int pos)
|
||||
obj_data *unequip_char(char_data *ch, int pos)
|
||||
{
|
||||
int j;
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
if ((pos < 0 || pos >= NUM_WEARS) || GET_EQ(ch, pos) == NULL) {
|
||||
core_dump();
|
||||
|
|
@ -611,9 +611,9 @@ int get_number(char **name)
|
|||
}
|
||||
|
||||
/* Search a given list for an object number, and return a ptr to that obj */
|
||||
struct obj_data *get_obj_in_list_num(int num, struct obj_data *list)
|
||||
obj_data *get_obj_in_list_num(int num, obj_data *list)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
|
||||
for (i = list; i; i = i->next_content)
|
||||
if (GET_OBJ_RNUM(i) == num)
|
||||
|
|
@ -623,9 +623,9 @@ struct obj_data *get_obj_in_list_num(int num, struct obj_data *list)
|
|||
}
|
||||
|
||||
/* search the entire world for an object number, and return a pointer */
|
||||
struct obj_data *get_obj_num(obj_rnum nr)
|
||||
obj_data *get_obj_num(obj_rnum nr)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
|
||||
for (i = object_list; i; i = i->next)
|
||||
if (GET_OBJ_RNUM(i) == nr)
|
||||
|
|
@ -635,9 +635,9 @@ struct obj_data *get_obj_num(obj_rnum nr)
|
|||
}
|
||||
|
||||
/* search a room for a char, and return a pointer if found.. */
|
||||
struct char_data *get_char_room(char *name, int *number, room_rnum room)
|
||||
char_data *get_char_room(char *name, int *number, room_rnum room)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -657,9 +657,9 @@ struct char_data *get_char_room(char *name, int *number, room_rnum room)
|
|||
}
|
||||
|
||||
/* search all over the world for a char num, and return a pointer if found */
|
||||
struct char_data *get_char_num(mob_rnum nr)
|
||||
char_data *get_char_num(mob_rnum nr)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
|
||||
for (i = character_list; i; i = i->next)
|
||||
if (GET_MOB_RNUM(i) == nr)
|
||||
|
|
@ -669,7 +669,7 @@ struct char_data *get_char_num(mob_rnum nr)
|
|||
}
|
||||
|
||||
/* put an object in a room */
|
||||
void obj_to_room(struct obj_data *object, room_rnum room)
|
||||
void obj_to_room(obj_data *object, room_rnum room)
|
||||
{
|
||||
if (!object || room == NOWHERE || room > top_of_world){
|
||||
log("SYSERR: Illegal value(s) passed to obj_to_room. (Room #%d/%d, obj %p)",
|
||||
|
|
@ -680,7 +680,7 @@ void obj_to_room(struct obj_data *object, room_rnum room)
|
|||
world[room].contents = object; // add object to list
|
||||
}
|
||||
else {
|
||||
struct obj_data *i = world[room].contents; // define a temporary pointer
|
||||
obj_data *i = world[room].contents; // define a temporary pointer
|
||||
while (i->next_content != NULL) i = i->next_content; // find the first without a next_content
|
||||
i->next_content = object; // add object at the end
|
||||
}
|
||||
|
|
@ -693,10 +693,10 @@ void obj_to_room(struct obj_data *object, room_rnum room)
|
|||
}
|
||||
|
||||
/* Take an object from a room */
|
||||
void obj_from_room(struct obj_data *object)
|
||||
void obj_from_room(obj_data *object)
|
||||
{
|
||||
struct obj_data *temp;
|
||||
struct char_data *t, *tempch;
|
||||
obj_data *temp;
|
||||
char_data *t, *tempch;
|
||||
|
||||
if (!object || IN_ROOM(object) == NOWHERE) {
|
||||
log("SYSERR: NULL object (%p) or obj not in a room (%d) passed to obj_from_room",
|
||||
|
|
@ -722,9 +722,9 @@ void obj_from_room(struct obj_data *object)
|
|||
}
|
||||
|
||||
/* put an object in an object (quaint) */
|
||||
void obj_to_obj(struct obj_data *obj, struct obj_data *obj_to)
|
||||
void obj_to_obj(obj_data *obj, obj_data *obj_to)
|
||||
{
|
||||
struct obj_data *tmp_obj;
|
||||
obj_data *tmp_obj;
|
||||
|
||||
if (!obj || !obj_to || obj == obj_to) {
|
||||
log("SYSERR: NULL object (%p) or same source (%p) and target (%p) obj passed to obj_to_obj.",
|
||||
|
|
@ -749,9 +749,9 @@ void obj_to_obj(struct obj_data *obj, struct obj_data *obj_to)
|
|||
}
|
||||
|
||||
/* remove an object from an object */
|
||||
void obj_from_obj(struct obj_data *obj)
|
||||
void obj_from_obj(obj_data *obj)
|
||||
{
|
||||
struct obj_data *temp, *obj_from;
|
||||
obj_data *temp, *obj_from;
|
||||
|
||||
if (obj->in_obj == NULL) {
|
||||
log("SYSERR: (%s): trying to illegally extract obj from obj.", __FILE__);
|
||||
|
|
@ -775,7 +775,7 @@ void obj_from_obj(struct obj_data *obj)
|
|||
}
|
||||
|
||||
/* Set all carried_by to point to new owner */
|
||||
void object_list_new_owner(struct obj_data *list, struct char_data *ch)
|
||||
void object_list_new_owner(obj_data *list, char_data *ch)
|
||||
{
|
||||
if (list) {
|
||||
object_list_new_owner(list->contains, ch);
|
||||
|
|
@ -785,10 +785,10 @@ void object_list_new_owner(struct obj_data *list, struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Extract an object from the world */
|
||||
void extract_obj(struct obj_data *obj)
|
||||
void extract_obj(obj_data *obj)
|
||||
{
|
||||
struct char_data *ch, *next = NULL;
|
||||
struct obj_data *temp;
|
||||
char_data *ch, *next = NULL;
|
||||
obj_data *temp;
|
||||
|
||||
if (obj->worn_by != NULL)
|
||||
if (unequip_char(obj->worn_by, obj->worn_on) != obj)
|
||||
|
|
@ -840,7 +840,7 @@ void extract_obj(struct obj_data *obj)
|
|||
free_obj(obj);
|
||||
}
|
||||
|
||||
static void update_object(struct obj_data *obj, int use)
|
||||
static void update_object(obj_data *obj, int use)
|
||||
{
|
||||
/* dont update objects with a timer trigger */
|
||||
if (!SCRIPT_CHECK(obj, OTRIG_TIMER) && (GET_OBJ_TIMER(obj) > 0))
|
||||
|
|
@ -851,7 +851,7 @@ static void update_object(struct obj_data *obj, int use)
|
|||
update_object(obj->next_content, use);
|
||||
}
|
||||
|
||||
void update_char_objects(struct char_data *ch)
|
||||
void update_char_objects(char_data *ch)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -878,11 +878,11 @@ void update_char_objects(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Extract a ch completely from the world, and leave his stuff behind */
|
||||
void extract_char_final(struct char_data *ch)
|
||||
void extract_char_final(char_data *ch)
|
||||
{
|
||||
struct char_data *k, *temp;
|
||||
struct descriptor_data *d;
|
||||
struct obj_data *obj;
|
||||
char_data *k, *temp;
|
||||
descriptor_data *d;
|
||||
obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (IN_ROOM(ch) == NOWHERE) {
|
||||
|
|
@ -1001,7 +1001,7 @@ void extract_char_final(struct char_data *ch)
|
|||
* Fixed a bug where it would over-count extractions if you try to extract the
|
||||
* same character twice (e.g. double-purging in a script) -khufu / EmpireMUD
|
||||
*/
|
||||
void extract_char(struct char_data *ch)
|
||||
void extract_char(char_data *ch)
|
||||
{
|
||||
char_from_furniture(ch);
|
||||
clear_char_event_list(ch);
|
||||
|
|
@ -1022,7 +1022,7 @@ void extract_char(struct char_data *ch)
|
|||
* confusing some code. -gg This doesn't handle recursive extractions. */
|
||||
void extract_pending_chars(void)
|
||||
{
|
||||
struct char_data *vict, *next_vict, *prev_vict;
|
||||
char_data *vict, *next_vict, *prev_vict;
|
||||
|
||||
if (extractions_pending < 0)
|
||||
log("SYSERR: Negative (%d) extractions pending.", extractions_pending);
|
||||
|
|
@ -1057,9 +1057,9 @@ void extract_pending_chars(void)
|
|||
|
||||
/* Here follows high-level versions of some earlier routines, ie functions
|
||||
* which incorporate the actual player-data */
|
||||
struct char_data *get_player_vis(struct char_data *ch, char *name, int *number, int inroom)
|
||||
char_data *get_player_vis(char_data *ch, char *name, int *number, int inroom)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -1084,9 +1084,9 @@ struct char_data *get_player_vis(struct char_data *ch, char *name, int *number,
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
struct char_data *get_char_room_vis(struct char_data *ch, char *name, int *number)
|
||||
char_data *get_char_room_vis(char_data *ch, char *name, int *number)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -1111,9 +1111,9 @@ struct char_data *get_char_room_vis(struct char_data *ch, char *name, int *numbe
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
struct char_data *get_char_world_vis(struct char_data *ch, char *name, int *number)
|
||||
char_data *get_char_world_vis(char_data *ch, char *name, int *number)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -1142,7 +1142,7 @@ struct char_data *get_char_world_vis(struct char_data *ch, char *name, int *numb
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
struct char_data *get_char_vis(struct char_data *ch, char *name, int *number, int where)
|
||||
char_data *get_char_vis(char_data *ch, char *name, int *number, int where)
|
||||
{
|
||||
if (where == FIND_CHAR_ROOM)
|
||||
return get_char_room_vis(ch, name, number);
|
||||
|
|
@ -1152,9 +1152,9 @@ struct char_data *get_char_vis(struct char_data *ch, char *name, int *number, in
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
struct obj_data *get_obj_in_list_vis(struct char_data *ch, char *name, int *number, struct obj_data *list)
|
||||
obj_data *get_obj_in_list_vis(char_data *ch, char *name, int *number, obj_data *list)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -1175,9 +1175,9 @@ struct obj_data *get_obj_in_list_vis(struct char_data *ch, char *name, int *numb
|
|||
}
|
||||
|
||||
/* search the entire world for an object, and return a pointer */
|
||||
struct obj_data *get_obj_vis(struct char_data *ch, char *name, int *number)
|
||||
obj_data *get_obj_vis(char_data *ch, char *name, int *number)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
int num;
|
||||
|
||||
if (!number) {
|
||||
|
|
@ -1206,7 +1206,7 @@ struct obj_data *get_obj_vis(struct char_data *ch, char *name, int *number)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
struct obj_data *get_obj_in_equip_vis(struct char_data *ch, char *arg, int *number, struct obj_data *equipment[])
|
||||
obj_data *get_obj_in_equip_vis(char_data *ch, char *arg, int *number, obj_data *equipment[])
|
||||
{
|
||||
int j, num;
|
||||
|
||||
|
|
@ -1226,7 +1226,7 @@ struct obj_data *get_obj_in_equip_vis(struct char_data *ch, char *arg, int *numb
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
int get_obj_pos_in_equip_vis(struct char_data *ch, char *arg, int *number, struct obj_data *equipment[])
|
||||
int get_obj_pos_in_equip_vis(char_data *ch, char *arg, int *number, obj_data *equipment[])
|
||||
{
|
||||
int j, num;
|
||||
|
||||
|
|
@ -1282,9 +1282,9 @@ const char *money_desc(int amount)
|
|||
return ("an absolutely colossal mountain of gold coins");
|
||||
}
|
||||
|
||||
struct obj_data *create_money(int amount)
|
||||
obj_data *create_money(int amount)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
struct extra_descr_data *new_descr;
|
||||
char buf[200];
|
||||
int y;
|
||||
|
|
@ -1350,8 +1350,8 @@ struct obj_data *create_money(int amount)
|
|||
* The routine used to return a pointer to the next word in *arg (just
|
||||
* like the one_argument routine), but now it returns an integer that
|
||||
* describes what it filled in. */
|
||||
int generic_find(char *arg, bitvector_t bitvector, struct char_data *ch,
|
||||
struct char_data **tar_ch, struct obj_data **tar_obj)
|
||||
int generic_find(char *arg, bitvector_t bitvector, char_data *ch,
|
||||
char_data **tar_ch, obj_data **tar_obj)
|
||||
{
|
||||
int i, found, number;
|
||||
char name_val[MAX_INPUT_LENGTH];
|
||||
|
|
@ -1418,7 +1418,7 @@ int find_all_dots(char *arg)
|
|||
}
|
||||
|
||||
/* Group Handlers */
|
||||
struct group_data * create_group(struct char_data * leader)
|
||||
struct group_data * create_group(char_data * leader)
|
||||
{
|
||||
struct group_data * new_group;
|
||||
|
||||
|
|
@ -1445,11 +1445,11 @@ struct group_data * create_group(struct char_data * leader)
|
|||
|
||||
void free_group(struct group_data * group)
|
||||
{
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
struct iterator_data Iterator;
|
||||
|
||||
if (group->members->iSize) {
|
||||
for (tch = (struct char_data *) merge_iterator(&Iterator, group->members);
|
||||
for (tch = (char_data *) merge_iterator(&Iterator, group->members);
|
||||
tch;
|
||||
tch = next_in_list(&Iterator))
|
||||
leave_group(tch);
|
||||
|
|
@ -1462,10 +1462,10 @@ void free_group(struct group_data * group)
|
|||
free(group);
|
||||
}
|
||||
|
||||
void leave_group(struct char_data *ch)
|
||||
void leave_group(char_data *ch)
|
||||
{
|
||||
struct group_data *group;
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
struct iterator_data Iterator;
|
||||
bool found_pc = FALSE;
|
||||
|
||||
|
|
@ -1478,7 +1478,7 @@ void leave_group(struct char_data *ch)
|
|||
ch->group = NULL;
|
||||
|
||||
if (group->members->iSize) {
|
||||
for (tch = (struct char_data *) merge_iterator(&Iterator, group->members);
|
||||
for (tch = (char_data *) merge_iterator(&Iterator, group->members);
|
||||
tch; tch = next_in_list(&Iterator))
|
||||
if (!IS_NPC(tch))
|
||||
found_pc = TRUE;
|
||||
|
|
@ -1490,13 +1490,13 @@ void leave_group(struct char_data *ch)
|
|||
SET_BIT(GROUP_FLAGS(group), GROUP_NPC);
|
||||
|
||||
if (GROUP_LEADER(group) == ch && group->members->iSize) {
|
||||
group->leader = (struct char_data *) random_from_list(group->members);
|
||||
group->leader = (char_data *) random_from_list(group->members);
|
||||
send_to_group(NULL, group, "%s has assumed leadership of the group.\r\n", GET_NAME(GROUP_LEADER(group)));
|
||||
} else if (group->members->iSize == 0)
|
||||
free_group(group);
|
||||
}
|
||||
|
||||
void join_group(struct char_data *ch, struct group_data *group)
|
||||
void join_group(char_data *ch, struct group_data *group)
|
||||
{
|
||||
add_to_list(ch, group->members);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,61 +13,61 @@
|
|||
#define _HANDLER_H_
|
||||
|
||||
/* handling the affected-structures */
|
||||
void affect_total(struct char_data *ch);
|
||||
void affect_to_char(struct char_data *ch, struct affected_type *af);
|
||||
void affect_remove(struct char_data *ch, struct affected_type *af);
|
||||
void affect_from_char(struct char_data *ch, int type);
|
||||
bool affected_by_spell(struct char_data *ch, int type);
|
||||
void affect_join(struct char_data *ch, struct affected_type *af, bool add_dur, bool avg_dur, bool add_mod, bool avg_mod);
|
||||
void affect_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_from_char(char_data *ch, int type);
|
||||
bool affected_by_spell(char_data *ch, int type);
|
||||
void affect_join(char_data *ch, struct affected_type *af, bool add_dur, bool avg_dur, bool add_mod, bool avg_mod);
|
||||
|
||||
/* utility */
|
||||
const char *money_desc(int amount);
|
||||
struct obj_data *create_money(int amount);
|
||||
obj_data *create_money(int amount);
|
||||
int isname(const char *str, const char *namelist);
|
||||
int is_name(const char *str, const char *namelist);
|
||||
char *fname(const char *namelist);
|
||||
int get_number(char **name);
|
||||
|
||||
/* objects */
|
||||
void obj_to_char(struct obj_data *object, struct char_data *ch);
|
||||
void obj_from_char(struct obj_data *object);
|
||||
void obj_to_char(obj_data *object, char_data *ch);
|
||||
void obj_from_char(obj_data *object);
|
||||
|
||||
void equip_char(struct char_data *ch, struct obj_data *obj, int pos);
|
||||
struct obj_data *unequip_char(struct char_data *ch, int pos);
|
||||
int invalid_align(struct char_data *ch, struct obj_data *obj);
|
||||
void equip_char(char_data *ch, obj_data *obj, int pos);
|
||||
obj_data *unequip_char(char_data *ch, int pos);
|
||||
int invalid_align(char_data *ch, obj_data *obj);
|
||||
|
||||
void obj_to_room(struct obj_data *object, room_rnum room);
|
||||
void obj_from_room(struct obj_data *object);
|
||||
void obj_to_obj(struct obj_data *obj, struct obj_data *obj_to);
|
||||
void obj_from_obj(struct obj_data *obj);
|
||||
void object_list_new_owner(struct obj_data *list, struct char_data *ch);
|
||||
void obj_to_room(obj_data *object, room_rnum room);
|
||||
void obj_from_room(obj_data *object);
|
||||
void obj_to_obj(obj_data *obj, obj_data *obj_to);
|
||||
void obj_from_obj(obj_data *obj);
|
||||
void object_list_new_owner(obj_data *list, char_data *ch);
|
||||
|
||||
void extract_obj(struct obj_data *obj);
|
||||
void extract_obj(obj_data *obj);
|
||||
|
||||
void update_char_objects(struct char_data *ch);
|
||||
void update_char_objects(char_data *ch);
|
||||
|
||||
/* characters*/
|
||||
struct char_data *get_char_room(char *name, int *num, room_rnum room);
|
||||
struct char_data *get_char_num(mob_rnum nr);
|
||||
char_data *get_char_room(char *name, int *num, room_rnum room);
|
||||
char_data *get_char_num(mob_rnum nr);
|
||||
|
||||
void char_from_room(struct char_data *ch);
|
||||
void char_to_room(struct char_data *ch, room_rnum room);
|
||||
void extract_char(struct char_data *ch);
|
||||
void extract_char_final(struct char_data *ch);
|
||||
void char_from_room(char_data *ch);
|
||||
void char_to_room(char_data *ch, room_rnum room);
|
||||
void extract_char(char_data *ch);
|
||||
void extract_char_final(char_data *ch);
|
||||
void extract_pending_chars(void);
|
||||
|
||||
/* find if character can see */
|
||||
struct char_data *get_player_vis(struct char_data *ch, char *name, int *number, int inroom);
|
||||
struct char_data *get_char_vis(struct char_data *ch, char *name, int *number, int where);
|
||||
struct char_data *get_char_room_vis(struct char_data *ch, char *name, int *number);
|
||||
struct char_data *get_char_world_vis(struct char_data *ch, char *name, int *number);
|
||||
char_data *get_player_vis(char_data *ch, char *name, int *number, int inroom);
|
||||
char_data *get_char_vis(char_data *ch, char *name, int *number, int where);
|
||||
char_data *get_char_room_vis(char_data *ch, char *name, int *number);
|
||||
char_data *get_char_world_vis(char_data *ch, char *name, int *number);
|
||||
|
||||
struct obj_data *get_obj_in_list_num(int num, struct obj_data *list);
|
||||
struct obj_data *get_obj_num(obj_rnum nr);
|
||||
struct obj_data *get_obj_in_list_vis(struct char_data *ch, char *name, int *number, struct obj_data *list);
|
||||
struct obj_data *get_obj_vis(struct char_data *ch, char *name, int *num);
|
||||
struct obj_data *get_obj_in_equip_vis(struct char_data *ch, char *arg, int *number, struct obj_data *equipment[]);
|
||||
int get_obj_pos_in_equip_vis(struct char_data *ch, char *arg, int *num, struct obj_data *equipment[]);
|
||||
obj_data *get_obj_in_list_num(int num, obj_data *list);
|
||||
obj_data *get_obj_num(obj_rnum nr);
|
||||
obj_data *get_obj_in_list_vis(char_data *ch, char *name, int *number, obj_data *list);
|
||||
obj_data *get_obj_vis(char_data *ch, char *name, int *num);
|
||||
obj_data *get_obj_in_equip_vis(char_data *ch, char *arg, int *number, obj_data *equipment[]);
|
||||
int get_obj_pos_in_equip_vis(char_data *ch, char *arg, int *num, obj_data *equipment[]);
|
||||
|
||||
/* find all dots */
|
||||
int find_all_dots(char *arg);
|
||||
|
|
@ -77,13 +77,13 @@ int find_all_dots(char *arg);
|
|||
#define FIND_ALLDOT 2
|
||||
|
||||
/* group */
|
||||
struct group_data * create_group(struct char_data * leader);
|
||||
struct group_data * create_group(char_data * leader);
|
||||
void free_group(struct group_data * group);
|
||||
void leave_group(struct char_data *ch);
|
||||
void join_group(struct char_data *ch, struct group_data *group);
|
||||
void leave_group(char_data *ch);
|
||||
void join_group(char_data *ch, struct group_data *group);
|
||||
|
||||
/* Generic Find */
|
||||
int generic_find(char *arg, bitvector_t bitvector, struct char_data *ch, struct char_data **tar_ch, struct obj_data **tar_obj);
|
||||
int generic_find(char *arg, bitvector_t bitvector, char_data *ch, char_data **tar_ch, obj_data **tar_obj);
|
||||
|
||||
#define FIND_CHAR_ROOM (1 << 0)
|
||||
#define FIND_CHAR_WORLD (1 << 1)
|
||||
|
|
@ -94,10 +94,10 @@ int generic_find(char *arg, bitvector_t bitvector, struct char_data *ch, struct
|
|||
|
||||
|
||||
/* prototypes from mobact.c */
|
||||
void forget(struct char_data *ch, struct char_data *victim);
|
||||
void remember(struct char_data *ch, struct char_data *victim);
|
||||
void forget(char_data *ch, char_data *victim);
|
||||
void remember(char_data *ch, char_data *victim);
|
||||
void mobile_activity(void);
|
||||
void clearMemory(struct char_data *ch);
|
||||
void clearMemory(char_data *ch);
|
||||
|
||||
|
||||
/* For new last command: */
|
||||
|
|
@ -125,7 +125,7 @@ struct last_entry {
|
|||
int punique;
|
||||
};
|
||||
|
||||
void add_llog_entry(struct char_data *ch, int type);
|
||||
void add_llog_entry(char_data *ch, int type);
|
||||
struct last_entry *find_llog_entry(int punique, long idnum);
|
||||
|
||||
#endif /* _HANDLER_H_ */
|
||||
|
|
|
|||
26
src/hedit.c
26
src/hedit.c
|
|
@ -26,17 +26,17 @@
|
|||
#include "modify.h"
|
||||
|
||||
/* local functions */
|
||||
static void hedit_disp_menu(struct descriptor_data *);
|
||||
static void hedit_setup_new(struct descriptor_data *);
|
||||
static void hedit_setup_existing(struct descriptor_data *, int);
|
||||
static void hedit_save_to_disk(struct descriptor_data *);
|
||||
static void hedit_save_internally(struct descriptor_data *);
|
||||
static void hedit_disp_menu(descriptor_data *);
|
||||
static void hedit_setup_new(descriptor_data *);
|
||||
static void hedit_setup_existing(descriptor_data *, int);
|
||||
static void hedit_save_to_disk(descriptor_data *);
|
||||
static void hedit_save_internally(descriptor_data *);
|
||||
|
||||
|
||||
ACMD(do_oasis_hedit)
|
||||
{
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
int i;
|
||||
|
||||
/* No building as a mob or while being forced. */
|
||||
|
|
@ -107,7 +107,7 @@ ACMD(do_oasis_hedit)
|
|||
TRUE, "OLC: %s starts editing help files.", GET_NAME(d->character));
|
||||
}
|
||||
|
||||
static void hedit_setup_new(struct descriptor_data *d)
|
||||
static void hedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
CREATE(OLC_HELP(d), struct help_index_element, 1);
|
||||
|
||||
|
|
@ -120,7 +120,7 @@ static void hedit_setup_new(struct descriptor_data *d)
|
|||
hedit_disp_menu(d);
|
||||
}
|
||||
|
||||
static void hedit_setup_existing(struct descriptor_data *d, int rnum)
|
||||
static void hedit_setup_existing(descriptor_data *d, int rnum)
|
||||
{
|
||||
CREATE(OLC_HELP(d), struct help_index_element, 1);
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ static void hedit_setup_existing(struct descriptor_data *d, int rnum)
|
|||
hedit_disp_menu(d);
|
||||
}
|
||||
|
||||
static void hedit_save_internally(struct descriptor_data *d)
|
||||
static void hedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
struct help_index_element *new_help_table = NULL;
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ static void hedit_save_internally(struct descriptor_data *d)
|
|||
hedit_save_to_disk(d);
|
||||
}
|
||||
|
||||
static void hedit_save_to_disk(struct descriptor_data *d)
|
||||
static void hedit_save_to_disk(descriptor_data *d)
|
||||
{
|
||||
FILE *fp;
|
||||
char buf1[MAX_STRING_LENGTH], index_name[READ_SIZE];
|
||||
|
|
@ -187,7 +187,7 @@ static void hedit_save_to_disk(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The main menu. */
|
||||
static void hedit_disp_menu(struct descriptor_data *d)
|
||||
static void hedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
|
||||
|
|
@ -205,7 +205,7 @@ static void hedit_disp_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = HEDIT_MAIN_MENU;
|
||||
}
|
||||
|
||||
void hedit_parse(struct descriptor_data *d, char *arg)
|
||||
void hedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
char *oldtext = "";
|
||||
|
|
@ -357,7 +357,7 @@ void hedit_parse(struct descriptor_data *d, char *arg)
|
|||
hedit_disp_menu(d);
|
||||
}
|
||||
|
||||
void hedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void hedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case HEDIT_ENTRY:
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
/* Utility functions */
|
||||
/*
|
||||
* All the following functions are declared in oasis.h
|
||||
void hedit_parse(struct descriptor_data *, char *);
|
||||
void hedit_string_cleanup(struct descriptor_data *, int);
|
||||
void hedit_parse(descriptor_data *, char *);
|
||||
void hedit_string_cleanup(descriptor_data *, int);
|
||||
ACMD(do_oasis_hedit);
|
||||
*/
|
||||
/* Action fuctions */
|
||||
|
|
|
|||
46
src/house.c
46
src/house.c
|
|
@ -27,18 +27,18 @@ static int num_of_houses = 0;
|
|||
/* local functions */
|
||||
static int House_get_filename(room_vnum vnum, char *filename, size_t maxlen);
|
||||
static int House_load(room_vnum vnum);
|
||||
static void House_restore_weight(struct obj_data *obj);
|
||||
static void House_restore_weight(obj_data *obj);
|
||||
static void House_delete_file(room_vnum vnum);
|
||||
static int find_house(room_vnum vnum);
|
||||
static void House_save_control(void);
|
||||
static void hcontrol_build_house(struct char_data *ch, char *arg);
|
||||
static void hcontrol_destroy_house(struct char_data *ch, char *arg);
|
||||
static void hcontrol_pay_house(struct char_data *ch, char *arg);
|
||||
static void House_listrent(struct char_data *ch, room_vnum vnum);
|
||||
static void hcontrol_build_house(char_data *ch, char *arg);
|
||||
static void hcontrol_destroy_house(char_data *ch, char *arg);
|
||||
static void hcontrol_pay_house(char_data *ch, char *arg);
|
||||
static void House_listrent(char_data *ch, room_vnum vnum);
|
||||
/* CONVERSION code starts here -- see comment below. */
|
||||
static int ascii_convert_house(struct char_data *ch, obj_vnum vnum);
|
||||
static void hcontrol_convert_houses(struct char_data *ch);
|
||||
static struct obj_data *Obj_from_store(struct obj_file_elem object, int *location);
|
||||
static int ascii_convert_house(char_data *ch, obj_vnum vnum);
|
||||
static void hcontrol_convert_houses(char_data *ch);
|
||||
static obj_data *Obj_from_store(struct obj_file_elem object, int *location);
|
||||
/* CONVERSION code ends here -- see comment below. */
|
||||
|
||||
/* First, the basics: finding the filename; loading/saving objects */
|
||||
|
|
@ -88,9 +88,9 @@ static int House_load(room_vnum vnum)
|
|||
|
||||
/* Save all objects for a house (recursive; initial call must be followed by a
|
||||
* call to House_restore_weight) Assumes file is open already. */
|
||||
int House_save(struct obj_data *obj, FILE *fp)
|
||||
int House_save(obj_data *obj, FILE *fp)
|
||||
{
|
||||
struct obj_data *tmp;
|
||||
obj_data *tmp;
|
||||
int result;
|
||||
|
||||
if (obj) {
|
||||
|
|
@ -107,7 +107,7 @@ int House_save(struct obj_data *obj, FILE *fp)
|
|||
}
|
||||
|
||||
/* restore weight of containers after House_save has changed them for saving */
|
||||
static void House_restore_weight(struct obj_data *obj)
|
||||
static void House_restore_weight(obj_data *obj)
|
||||
{
|
||||
if (obj) {
|
||||
House_restore_weight(obj->contains);
|
||||
|
|
@ -160,7 +160,7 @@ static void House_delete_file(room_vnum vnum)
|
|||
}
|
||||
|
||||
/* List all objects in a house file */
|
||||
static void House_listrent(struct char_data *ch, room_vnum vnum)
|
||||
static void House_listrent(char_data *ch, room_vnum vnum)
|
||||
{
|
||||
FILE *fl;
|
||||
char filename[MAX_STRING_LENGTH];
|
||||
|
|
@ -288,7 +288,7 @@ static const char *HCONTROL_FORMAT =
|
|||
" hcontrol pay <house vnum>\r\n"
|
||||
" hcontrol show [house vnum | .]\r\n";
|
||||
|
||||
void hcontrol_list_houses(struct char_data *ch, char *arg)
|
||||
void hcontrol_list_houses(char_data *ch, char *arg)
|
||||
{
|
||||
int i;
|
||||
char *temp;
|
||||
|
|
@ -343,7 +343,7 @@ void hcontrol_list_houses(struct char_data *ch, char *arg)
|
|||
}
|
||||
}
|
||||
|
||||
static void hcontrol_build_house(struct char_data *ch, char *arg)
|
||||
static void hcontrol_build_house(char_data *ch, char *arg)
|
||||
{
|
||||
char arg1[MAX_INPUT_LENGTH];
|
||||
struct house_control_rec temp_house;
|
||||
|
|
@ -427,7 +427,7 @@ static void hcontrol_build_house(struct char_data *ch, char *arg)
|
|||
House_save_control();
|
||||
}
|
||||
|
||||
static void hcontrol_destroy_house(struct char_data *ch, char *arg)
|
||||
static void hcontrol_destroy_house(char_data *ch, char *arg)
|
||||
{
|
||||
int i, j;
|
||||
room_rnum real_atrium, real_house;
|
||||
|
|
@ -469,7 +469,7 @@ static void hcontrol_destroy_house(struct char_data *ch, char *arg)
|
|||
SET_BIT_AR(ROOM_FLAGS(real_atrium), ROOM_ATRIUM);
|
||||
}
|
||||
|
||||
static void hcontrol_pay_house(struct char_data *ch, char *arg)
|
||||
static void hcontrol_pay_house(char_data *ch, char *arg)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -564,7 +564,7 @@ void House_save_all(void)
|
|||
}
|
||||
|
||||
/* note: arg passed must be house vnum, so there. */
|
||||
int House_can_enter(struct char_data *ch, room_vnum house)
|
||||
int House_can_enter(char_data *ch, room_vnum house)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
|
|
@ -583,7 +583,7 @@ int House_can_enter(struct char_data *ch, room_vnum house)
|
|||
return (0);
|
||||
}
|
||||
|
||||
void House_list_guests(struct char_data *ch, int i, int quiet)
|
||||
void House_list_guests(char_data *ch, int i, int quiet)
|
||||
{
|
||||
int j, num_printed;
|
||||
char *temp;
|
||||
|
|
@ -622,7 +622,7 @@ void House_list_guests(struct char_data *ch, int i, int quiet)
|
|||
* will let your house files load on the next bootup. -Welcor *
|
||||
************************************************************************/
|
||||
/* Code for conversion to ascii house rent files. */
|
||||
static void hcontrol_convert_houses(struct char_data *ch)
|
||||
static void hcontrol_convert_houses(char_data *ch)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -656,11 +656,11 @@ static void hcontrol_convert_houses(struct char_data *ch)
|
|||
send_to_char(ch, "All done.\r\n");
|
||||
}
|
||||
|
||||
static int ascii_convert_house(struct char_data *ch, obj_vnum vnum)
|
||||
static int ascii_convert_house(char_data *ch, obj_vnum vnum)
|
||||
{
|
||||
FILE *in, *out;
|
||||
char infile[MAX_INPUT_LENGTH], *outfile;
|
||||
struct obj_data *tmp;
|
||||
obj_data *tmp;
|
||||
int i, j=0;
|
||||
|
||||
House_get_filename(vnum, infile, sizeof(infile));
|
||||
|
|
@ -722,9 +722,9 @@ static int ascii_convert_house(struct char_data *ch, obj_vnum vnum)
|
|||
}
|
||||
|
||||
/* The circle 3.1 function for reading rent files. No longer used by the rent system. */
|
||||
static struct obj_data *Obj_from_store(struct obj_file_elem object, int *location)
|
||||
static obj_data *Obj_from_store(struct obj_file_elem object, int *location)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
obj_rnum itemnum;
|
||||
int j, taeller;
|
||||
|
||||
|
|
|
|||
|
|
@ -43,11 +43,11 @@ struct house_control_rec {
|
|||
/* Utility Functions */
|
||||
void House_boot(void);
|
||||
void House_save_all(void);
|
||||
int House_can_enter(struct char_data *ch, room_vnum house);
|
||||
int House_can_enter(char_data *ch, room_vnum house);
|
||||
void House_crashsave(room_vnum vnum);
|
||||
void House_list_guests(struct char_data *ch, int i, int quiet);
|
||||
int House_save(struct obj_data *obj, FILE *fp);
|
||||
void hcontrol_list_houses(struct char_data *ch, char *arg);
|
||||
void House_list_guests(char_data *ch, int i, int quiet);
|
||||
int House_save(obj_data *obj, FILE *fp);
|
||||
void hcontrol_list_houses(char_data *ch, char *arg);
|
||||
/* In game Commands */
|
||||
ACMD(do_hcontrol);
|
||||
ACMD(do_house);
|
||||
|
|
|
|||
28
src/ibt.c
28
src/ibt.c
|
|
@ -56,12 +56,12 @@ static void free_ibt_list(IBT_DATA *first_ibt, IBT_DATA *last_ibt);
|
|||
static IBT_DATA *read_ibt(char *filename, FILE *fp);
|
||||
static IBT_DATA *get_first_ibt(int mode);
|
||||
static IBT_DATA *get_last_ibt(int mode);
|
||||
static bool is_ibt_logger(IBT_DATA *ibtData, struct char_data *ch);
|
||||
static bool is_ibt_logger(IBT_DATA *ibtData, char_data *ch);
|
||||
/* Internal (static) OLC functions */
|
||||
static void ibtedit_setup(struct descriptor_data *d);
|
||||
static void ibtedit_save(struct descriptor_data *d);
|
||||
static void ibtedit_disp_main_menu(struct descriptor_data *d);
|
||||
static void ibtedit_disp_flags(struct descriptor_data *d);
|
||||
static void ibtedit_setup(descriptor_data *d);
|
||||
static void ibtedit_save(descriptor_data *d);
|
||||
static void ibtedit_disp_main_menu(descriptor_data *d);
|
||||
static void ibtedit_disp_flags(descriptor_data *d);
|
||||
|
||||
static IBT_DATA *new_ibt(void)
|
||||
{
|
||||
|
|
@ -436,7 +436,7 @@ static bool free_ibt(int mode, IBT_DATA *ibtData)
|
|||
}
|
||||
|
||||
/* Return TRUE if 'ch' is the person who logged the IBT */
|
||||
static bool is_ibt_logger(IBT_DATA *ibtData, struct char_data *ch)
|
||||
static bool is_ibt_logger(IBT_DATA *ibtData, char_data *ch)
|
||||
{
|
||||
if ( ch && !IS_NPC(ch) && ibtData ) {
|
||||
|
||||
|
|
@ -773,7 +773,7 @@ ACMD(do_ibt)
|
|||
ACMD(do_oasis_ibtedit)
|
||||
{
|
||||
int number = NOTHING;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_STRING_LENGTH], buf2[MAX_STRING_LENGTH];
|
||||
|
||||
/* No editing as a mob or while being forced. */
|
||||
|
|
@ -845,7 +845,7 @@ ACMD(do_oasis_ibtedit)
|
|||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* Copy IBT data into the OLC structure */
|
||||
static void ibtedit_setup(struct descriptor_data *d)
|
||||
static void ibtedit_setup(descriptor_data *d)
|
||||
{
|
||||
IBT_DATA *ibtData;
|
||||
int i;
|
||||
|
|
@ -877,7 +877,7 @@ static void ibtedit_setup(struct descriptor_data *d)
|
|||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* Copy IBT data back to the correct list */
|
||||
static void ibtedit_save(struct descriptor_data *d)
|
||||
static void ibtedit_save(descriptor_data *d)
|
||||
{
|
||||
IBT_DATA *ibtData;
|
||||
int i;
|
||||
|
|
@ -944,9 +944,9 @@ void free_olc_ibt(IBT_DATA *toFree) {
|
|||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* main ibtedit menu function... */
|
||||
static void ibtedit_disp_main_menu(struct descriptor_data *d)
|
||||
static void ibtedit_disp_main_menu(descriptor_data *d)
|
||||
{
|
||||
struct char_data *ch = d->character;
|
||||
char_data *ch = d->character;
|
||||
char flg_text[MAX_STRING_LENGTH];
|
||||
room_rnum rr;
|
||||
|
||||
|
|
@ -978,7 +978,7 @@ static void ibtedit_disp_main_menu(struct descriptor_data *d)
|
|||
}
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* Display IBT-flags menu. */
|
||||
static void ibtedit_disp_flags(struct descriptor_data *d)
|
||||
static void ibtedit_disp_flags(descriptor_data *d)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -995,7 +995,7 @@ static void ibtedit_disp_flags(struct descriptor_data *d)
|
|||
}
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* main clanedit parser function... interpreter throws all input to here. */
|
||||
void ibtedit_parse(struct descriptor_data *d, char *arg)
|
||||
void ibtedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int i;
|
||||
char *oldtext = NULL;
|
||||
|
|
@ -1145,7 +1145,7 @@ void ibtedit_parse(struct descriptor_data *d, char *arg)
|
|||
}
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
void ibtedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void ibtedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
|
||||
|
|
|
|||
|
|
@ -95,8 +95,8 @@ ACMD(do_ibt);
|
|||
ACMD(do_oasis_ibtedit);
|
||||
void save_ibt_file(int mode);
|
||||
void load_ibt_file(int mode);
|
||||
void ibtedit_parse(struct descriptor_data *d, char *arg);
|
||||
void ibtedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void ibtedit_parse(descriptor_data *d, char *arg);
|
||||
void ibtedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
void free_ibt_lists(void);
|
||||
void free_olc_ibt(IBT_DATA *toFree);
|
||||
void clean_ibt_list(int mode);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "modify.h"
|
||||
|
||||
|
||||
void send_editor_help(struct descriptor_data *d)
|
||||
void send_editor_help(descriptor_data *d)
|
||||
{
|
||||
if (using_improved_editor)
|
||||
write_to_output(d, "Instructions: /s to save, /h for more options.\r\n");
|
||||
|
|
@ -25,7 +25,7 @@ void send_editor_help(struct descriptor_data *d)
|
|||
|
||||
#if CONFIG_IMPROVED_EDITOR
|
||||
|
||||
int improved_editor_execute(struct descriptor_data *d, char *str)
|
||||
int improved_editor_execute(descriptor_data *d, char *str)
|
||||
{
|
||||
char actions[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ int improved_editor_execute(struct descriptor_data *d, char *str)
|
|||
}
|
||||
|
||||
/* Handle some editor commands. */
|
||||
void parse_edit_action(int command, char *string, struct descriptor_data *d)
|
||||
void parse_edit_action(int command, char *string, descriptor_data *d)
|
||||
{
|
||||
int indent = 0, rep_all = 0, flags = 0, replaced, i, line_low, line_high, j = 0;
|
||||
unsigned int total_len;
|
||||
|
|
@ -503,7 +503,7 @@ void parse_edit_action(int command, char *string, struct descriptor_data *d)
|
|||
|
||||
/* Re-formats message type formatted char *. (for strings edited with d->str)
|
||||
* (mostly olc and mail). */
|
||||
int format_text(char **ptr_string, int mode, struct descriptor_data *d, unsigned int maxlen, int low, int high)
|
||||
int format_text(char **ptr_string, int mode, descriptor_data *d, unsigned int maxlen, int low, int high)
|
||||
{
|
||||
int line_chars, cap_next = TRUE, cap_next_next = FALSE, color_chars = 0, i, pass_line = 0;
|
||||
char *flow, *start = NULL, temp;
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@
|
|||
|
||||
#define using_improved_editor CONFIG_IMPROVED_EDITOR
|
||||
|
||||
void parse_edit_action(int command, char *string, struct descriptor_data *d);
|
||||
int improved_editor_execute(struct descriptor_data *d, char *string);
|
||||
int format_text(char **ptr_string, int mode, struct descriptor_data *d, unsigned int maxlen, int low, int high);
|
||||
void parse_edit_action(int command, char *string, descriptor_data *d);
|
||||
int improved_editor_execute(descriptor_data *d, char *string);
|
||||
int format_text(char **ptr_string, int mode, descriptor_data *d, unsigned int maxlen, int low, int high);
|
||||
int replace_str(char **string, char *pattern, char *replacement, int rep_all, unsigned int max_size);
|
||||
void send_editor_help(struct descriptor_data *d);
|
||||
void send_editor_help(descriptor_data *d);
|
||||
|
||||
/* Action modes for parse_edit_action(). */
|
||||
#define PARSE_FORMAT 0
|
||||
|
|
|
|||
|
|
@ -39,11 +39,11 @@
|
|||
#include "mud_event.h"
|
||||
|
||||
/* local (file scope) functions */
|
||||
static int perform_dupe_check(struct descriptor_data *d);
|
||||
static int perform_dupe_check(descriptor_data *d);
|
||||
static struct alias_data *find_alias(struct alias_data *alias_list, char *str);
|
||||
static void perform_complex_alias(struct txt_q *input_q, char *orig, struct alias_data *a);
|
||||
static int _parse_name(char *arg, char *name);
|
||||
static bool perform_new_char_dupe_check(struct descriptor_data *d);
|
||||
static bool perform_new_char_dupe_check(descriptor_data *d);
|
||||
/* sort_commands utility */
|
||||
static int sort_commands_helper(const void *a, const void *b);
|
||||
|
||||
|
|
@ -398,7 +398,7 @@ static const struct mob_script_command_t mob_script_commands[] = {
|
|||
{ "\n", do_not_here, 0 }
|
||||
};
|
||||
|
||||
int script_command_interpreter(struct char_data *ch, char *arg)
|
||||
int script_command_interpreter(char_data *ch, char *arg)
|
||||
{
|
||||
/* DG trigger commands */
|
||||
|
||||
|
|
@ -475,7 +475,7 @@ void sort_commands(void)
|
|||
/* This is the actual command interpreter called from game_loop() in comm.c
|
||||
* It makes sure you are the proper level and position to execute the command,
|
||||
* then calls the appropriate function. */
|
||||
void command_interpreter(struct char_data *ch, char *argument)
|
||||
void command_interpreter(char_data *ch, char *argument)
|
||||
{
|
||||
int cmd, length;
|
||||
char *line;
|
||||
|
|
@ -724,7 +724,7 @@ static void perform_complex_alias(struct txt_q *input_q, char *orig, struct alia
|
|||
* 0: String was modified in place; call command_interpreter immediately.
|
||||
* 1: String was _not_ modified in place; rather, the expanded aliases
|
||||
* have been placed at the front of the character's input queue. */
|
||||
int perform_alias(struct descriptor_data *d, char *orig, size_t maxlen)
|
||||
int perform_alias(descriptor_data *d, char *orig, size_t maxlen)
|
||||
{
|
||||
char first_arg[MAX_INPUT_LENGTH], *ptr;
|
||||
struct alias_data *a, *tmp;
|
||||
|
|
@ -967,10 +967,10 @@ int find_command(const char *command)
|
|||
return (-1);
|
||||
}
|
||||
|
||||
int special(struct char_data *ch, int cmd, char *arg)
|
||||
int special(char_data *ch, int cmd, char *arg)
|
||||
{
|
||||
struct obj_data *i;
|
||||
struct char_data *k;
|
||||
obj_data *i;
|
||||
char_data *k;
|
||||
int j;
|
||||
|
||||
/* special in room? */
|
||||
|
|
@ -1027,10 +1027,10 @@ static int _parse_name(char *arg, char *name)
|
|||
#define UNSWITCH 3
|
||||
|
||||
/* This function seems a bit over-extended. */
|
||||
static int perform_dupe_check(struct descriptor_data *d)
|
||||
static int perform_dupe_check(descriptor_data *d)
|
||||
{
|
||||
struct descriptor_data *k, *next_k;
|
||||
struct char_data *target = NULL, *ch, *next_ch;
|
||||
descriptor_data *k, *next_k;
|
||||
char_data *target = NULL, *ch, *next_ch;
|
||||
int mode = 0;
|
||||
int pref_temp = 0; /* for "last" log */
|
||||
int id = GET_IDNUM(d->character);
|
||||
|
|
@ -1170,9 +1170,9 @@ static int perform_dupe_check(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* New Char dupe-check called at the start of character creation */
|
||||
static bool perform_new_char_dupe_check(struct descriptor_data *d)
|
||||
static bool perform_new_char_dupe_check(descriptor_data *d)
|
||||
{
|
||||
struct descriptor_data *k, *next_k;
|
||||
descriptor_data *k, *next_k;
|
||||
bool found = FALSE;
|
||||
|
||||
/* Now that this descriptor has successfully logged in, disconnect all
|
||||
|
|
@ -1226,7 +1226,7 @@ static bool perform_new_char_dupe_check(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* load the player, put them in the right room - used by copyover_recover too */
|
||||
int enter_player_game (struct descriptor_data *d)
|
||||
int enter_player_game (descriptor_data *d)
|
||||
{
|
||||
int load_result;
|
||||
room_vnum load_room;
|
||||
|
|
@ -1280,7 +1280,7 @@ int enter_player_game (struct descriptor_data *d)
|
|||
|
||||
EVENTFUNC(get_protocols)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
struct mud_event_data *pMudEvent;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
size_t len;
|
||||
|
|
@ -1289,7 +1289,7 @@ EVENTFUNC(get_protocols)
|
|||
return 0;
|
||||
|
||||
pMudEvent = (struct mud_event_data *) event_obj;
|
||||
d = (struct descriptor_data *) pMudEvent->pStruct;
|
||||
d = (descriptor_data *) pMudEvent->pStruct;
|
||||
|
||||
/* Clear extra white space from the "protocol scroll" */
|
||||
write_to_output(d, "[H[J");
|
||||
|
|
@ -1317,7 +1317,7 @@ EVENTFUNC(get_protocols)
|
|||
}
|
||||
|
||||
/* deal with newcomers and other non-playing sockets */
|
||||
void nanny(struct descriptor_data *d, char *arg)
|
||||
void nanny(descriptor_data *d, char *arg)
|
||||
{
|
||||
int load_result; /* Overloaded variable */
|
||||
int player_i;
|
||||
|
|
@ -1325,7 +1325,7 @@ void nanny(struct descriptor_data *d, char *arg)
|
|||
/* OasisOLC states */
|
||||
struct {
|
||||
int state;
|
||||
void (*func)(struct descriptor_data *, char *);
|
||||
void (*func)(descriptor_data *, char *);
|
||||
} olc_functions[] = {
|
||||
{ CON_OEDIT, oedit_parse },
|
||||
{ CON_ZEDIT, zedit_parse },
|
||||
|
|
@ -1359,7 +1359,7 @@ void nanny(struct descriptor_data *d, char *arg)
|
|||
return;
|
||||
case CON_GET_NAME: /* wait for input of name */
|
||||
if (d->character == NULL) {
|
||||
CREATE(d->character, struct char_data, 1);
|
||||
CREATE(d->character, char_data, 1);
|
||||
clear_char(d->character);
|
||||
CREATE(d->character->player_specials, struct player_special_data, 1);
|
||||
|
||||
|
|
@ -1396,7 +1396,7 @@ void nanny(struct descriptor_data *d, char *arg)
|
|||
write_to_output(d, "Invalid name, please try another.\r\nName: ");
|
||||
return;
|
||||
}
|
||||
CREATE(d->character, struct char_data, 1);
|
||||
CREATE(d->character, char_data, 1);
|
||||
clear_char(d->character);
|
||||
CREATE(d->character->player_specials, struct player_special_data, 1);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#define IS_MOVE(cmdnum) (complete_cmd_info[cmdnum].command_pointer == do_move)
|
||||
|
||||
void sort_commands(void);
|
||||
void command_interpreter(struct char_data *ch, char *argument);
|
||||
void command_interpreter(char_data *ch, char *argument);
|
||||
int search_block(char *arg, const char **list, int exact);
|
||||
char *one_argument(char *argument, char *first_arg);
|
||||
char *one_word(char *argument, char *first_arg);
|
||||
|
|
@ -30,16 +30,16 @@ char *two_arguments(char *argument, char *first_arg, char *second_arg);
|
|||
int fill_word(char *argument);
|
||||
int reserved_word(char *argument);
|
||||
void half_chop(char *string, char *arg1, char *arg2);
|
||||
void nanny(struct descriptor_data *d, char *arg);
|
||||
void nanny(descriptor_data *d, char *arg);
|
||||
int is_abbrev(const char *arg1, const char *arg2);
|
||||
int is_number(const char *str);
|
||||
int find_command(const char *command);
|
||||
void skip_spaces(char **string);
|
||||
char *delete_doubledollar(char *string);
|
||||
int special(struct char_data *ch, int cmd, char *arg);
|
||||
int special(char_data *ch, int cmd, char *arg);
|
||||
void free_alias(struct alias_data *a);
|
||||
int perform_alias(struct descriptor_data *d, char *orig, size_t maxlen);
|
||||
int enter_player_game (struct descriptor_data *d);
|
||||
int perform_alias(descriptor_data *d, char *orig, size_t maxlen);
|
||||
int enter_player_game (descriptor_data *d);
|
||||
/* ACMDs available through interpreter.c */
|
||||
ACMD(do_alias);
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ struct command_info {
|
|||
const char *sort_as;
|
||||
byte minimum_position;
|
||||
void (*command_pointer)
|
||||
(struct char_data *ch, char *argument, int cmd, int subcmd);
|
||||
(char_data *ch, char *argument, int cmd, int subcmd);
|
||||
sh_int minimum_level;
|
||||
int subcmd;
|
||||
};
|
||||
|
|
@ -66,7 +66,7 @@ struct command_info {
|
|||
struct mob_script_command_t {
|
||||
const char *command_name;
|
||||
void (*command_pointer)
|
||||
(struct char_data *ch, char *argument, int cmd, int subcmd);
|
||||
(char_data *ch, char *argument, int cmd, int subcmd);
|
||||
int subcmd;
|
||||
};
|
||||
|
||||
|
|
|
|||
30
src/limits.c
30
src/limits.c
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
/* local file scope function prototypes */
|
||||
static int graf(int grafage, int p0, int p1, int p2, int p3, int p4, int p5, int p6);
|
||||
static void check_idling(struct char_data *ch);
|
||||
static void check_idling(char_data *ch);
|
||||
|
||||
|
||||
/* When age < 15 return the value p0
|
||||
|
|
@ -58,7 +58,7 @@ static int graf(int grafage, int p0, int p1, int p2, int p3, int p4, int p5, int
|
|||
* that a character's age will now only affect the HMV gain per tick, and _not_
|
||||
* the HMV maximums. */
|
||||
/* manapoint gain pr. game hour */
|
||||
int mana_gain(struct char_data *ch)
|
||||
int mana_gain(char_data *ch)
|
||||
{
|
||||
int gain;
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ int mana_gain(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Hitpoint gain pr. game hour */
|
||||
int hit_gain(struct char_data *ch)
|
||||
int hit_gain(char_data *ch)
|
||||
{
|
||||
int gain;
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ int hit_gain(struct char_data *ch)
|
|||
}
|
||||
|
||||
/* move gain pr. game hour */
|
||||
int move_gain(struct char_data *ch)
|
||||
int move_gain(char_data *ch)
|
||||
{
|
||||
int gain;
|
||||
|
||||
|
|
@ -175,7 +175,7 @@ int move_gain(struct char_data *ch)
|
|||
return (gain);
|
||||
}
|
||||
|
||||
void set_title(struct char_data *ch, char *title)
|
||||
void set_title(char_data *ch, char *title)
|
||||
{
|
||||
if (GET_TITLE(ch) != NULL)
|
||||
free(GET_TITLE(ch));
|
||||
|
|
@ -220,7 +220,7 @@ void run_autowiz(void)
|
|||
#endif /* CIRCLE_UNIX || CIRCLE_WINDOWS */
|
||||
}
|
||||
|
||||
void gain_exp(struct char_data *ch, int gain)
|
||||
void gain_exp(char_data *ch, int gain)
|
||||
{
|
||||
int is_altered = FALSE;
|
||||
int num_levels = 0;
|
||||
|
|
@ -267,7 +267,7 @@ void gain_exp(struct char_data *ch, int gain)
|
|||
run_autowiz();
|
||||
}
|
||||
|
||||
void gain_exp_regardless(struct char_data *ch, int gain)
|
||||
void gain_exp_regardless(char_data *ch, int gain)
|
||||
{
|
||||
int is_altered = FALSE;
|
||||
int num_levels = 0;
|
||||
|
|
@ -302,7 +302,7 @@ void gain_exp_regardless(struct char_data *ch, int gain)
|
|||
run_autowiz();
|
||||
}
|
||||
|
||||
void gain_condition(struct char_data *ch, int condition, int value)
|
||||
void gain_condition(char_data *ch, int condition, int value)
|
||||
{
|
||||
bool intoxicated;
|
||||
|
||||
|
|
@ -336,7 +336,7 @@ void gain_condition(struct char_data *ch, int condition, int value)
|
|||
|
||||
}
|
||||
|
||||
static void check_idling(struct char_data *ch)
|
||||
static void check_idling(char_data *ch)
|
||||
{
|
||||
if (ch->char_specials.timer > CONFIG_IDLE_VOID) {
|
||||
if (GET_WAS_IN(ch) == NOWHERE && IN_ROOM(ch) != NOWHERE) {
|
||||
|
|
@ -378,8 +378,8 @@ static void check_idling(struct char_data *ch)
|
|||
/* Update PCs, NPCs, and objects */
|
||||
void point_update(void)
|
||||
{
|
||||
struct char_data *i, *next_char;
|
||||
struct obj_data *j, *next_thing, *jj, *next_thing2;
|
||||
char_data *i, *next_char;
|
||||
obj_data *j, *next_thing, *jj, *next_thing2;
|
||||
|
||||
/* characters */
|
||||
for (i = character_list; i; i = next_char) {
|
||||
|
|
@ -471,7 +471,7 @@ void point_update(void)
|
|||
}
|
||||
|
||||
/* Note: amt may be negative */
|
||||
int increase_gold(struct char_data *ch, int amt)
|
||||
int increase_gold(char_data *ch, int amt)
|
||||
{
|
||||
int curr_gold;
|
||||
|
||||
|
|
@ -492,7 +492,7 @@ int increase_gold(struct char_data *ch, int amt)
|
|||
return (GET_GOLD(ch));
|
||||
}
|
||||
|
||||
int decrease_gold(struct char_data *ch, int deduction)
|
||||
int decrease_gold(char_data *ch, int deduction)
|
||||
{
|
||||
int amt;
|
||||
amt = (deduction * -1);
|
||||
|
|
@ -500,7 +500,7 @@ int decrease_gold(struct char_data *ch, int deduction)
|
|||
return (GET_GOLD(ch));
|
||||
}
|
||||
|
||||
int increase_bank(struct char_data *ch, int amt)
|
||||
int increase_bank(char_data *ch, int amt)
|
||||
{
|
||||
int curr_bank;
|
||||
|
||||
|
|
@ -522,7 +522,7 @@ int increase_bank(struct char_data *ch, int amt)
|
|||
return (GET_BANK_GOLD(ch));
|
||||
}
|
||||
|
||||
int decrease_bank(struct char_data *ch, int deduction)
|
||||
int decrease_bank(char_data *ch, int deduction)
|
||||
{
|
||||
int amt;
|
||||
amt = (deduction * -1);
|
||||
|
|
|
|||
54
src/magic.c
54
src/magic.c
|
|
@ -25,15 +25,15 @@
|
|||
|
||||
|
||||
/* local file scope function prototypes */
|
||||
static int mag_materials(struct char_data *ch, IDXTYPE item0, IDXTYPE item1, IDXTYPE item2, int extract, int verbose);
|
||||
static void perform_mag_groups(int level, struct char_data *ch, struct char_data *tch, int spellnum, int savetype);
|
||||
static int mag_materials(char_data *ch, IDXTYPE item0, IDXTYPE item1, IDXTYPE item2, int extract, int verbose);
|
||||
static void perform_mag_groups(int level, char_data *ch, char_data *tch, int spellnum, int savetype);
|
||||
|
||||
|
||||
/* Negative apply_saving_throw[] values make saving throws better! So do
|
||||
* negative modifiers. Though people may be used to the reverse of that.
|
||||
* It's due to the code modifying the target saving throw instead of the
|
||||
* random number of the character as in some other systems. */
|
||||
int mag_savingthrow(struct char_data *ch, int type, int modifier)
|
||||
int mag_savingthrow(char_data *ch, int type, int modifier)
|
||||
{
|
||||
/* NPCs use warrior tables according to some book */
|
||||
int class_sav = CLASS_WARRIOR;
|
||||
|
|
@ -58,7 +58,7 @@ int mag_savingthrow(struct char_data *ch, int type, int modifier)
|
|||
void affect_update(void)
|
||||
{
|
||||
struct affected_type *af, *next;
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
|
||||
for (i = character_list; i; i = i->next)
|
||||
for (af = i->affected; af; af = next) {
|
||||
|
|
@ -92,15 +92,15 @@ void affect_update(void)
|
|||
* FALSE to send no in game messages from this function.
|
||||
* @retval int TRUE if ch has all materials to cast the spell, FALSE if not.
|
||||
*/
|
||||
static int mag_materials(struct char_data *ch, IDXTYPE item0,
|
||||
static int mag_materials(char_data *ch, IDXTYPE item0,
|
||||
IDXTYPE item1, IDXTYPE item2, int extract, int verbose)
|
||||
{
|
||||
/* Begin Local variable definitions. */
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* Used for object searches. */
|
||||
struct obj_data *tobj = NULL;
|
||||
obj_data *tobj = NULL;
|
||||
/* Points to found reagents. */
|
||||
struct obj_data *obj0 = NULL, *obj1 = NULL, *obj2 = NULL;
|
||||
obj_data *obj0 = NULL, *obj1 = NULL, *obj2 = NULL;
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* End Local variable definitions. */
|
||||
|
||||
|
|
@ -192,7 +192,7 @@ static int mag_materials(struct char_data *ch, IDXTYPE item0,
|
|||
/* Every spell that does damage comes through here. This calculates the amount
|
||||
* of damage, adds in any modifiers, determines what the saves are, tests for
|
||||
* save and calls damage(). -1 = dead, otherwise the amount of damage done. */
|
||||
int mag_damage(int level, struct char_data *ch, struct char_data *victim,
|
||||
int mag_damage(int level, char_data *ch, char_data *victim,
|
||||
int spellnum, int savetype)
|
||||
{
|
||||
int dam = 0;
|
||||
|
|
@ -300,7 +300,7 @@ int mag_damage(int level, struct char_data *ch, struct char_data *victim,
|
|||
* affect_join(vict, aff, add_dur, avg_dur, add_mod, avg_mod) */
|
||||
#define MAX_SPELL_AFFECTS 5 /* change if more needed */
|
||||
|
||||
void mag_affects(int level, struct char_data *ch, struct char_data *victim,
|
||||
void mag_affects(int level, char_data *ch, char_data *victim,
|
||||
int spellnum, int savetype)
|
||||
{
|
||||
struct affected_type af[MAX_SPELL_AFFECTS];
|
||||
|
|
@ -552,8 +552,8 @@ void mag_affects(int level, struct char_data *ch, struct char_data *victim,
|
|||
|
||||
/* This function is used to provide services to mag_groups. This function is
|
||||
* the one you should change to add new group spells. */
|
||||
static void perform_mag_groups(int level, struct char_data *ch,
|
||||
struct char_data *tch, int spellnum, int savetype)
|
||||
static void perform_mag_groups(int level, char_data *ch,
|
||||
char_data *tch, int spellnum, int savetype)
|
||||
{
|
||||
switch (spellnum) {
|
||||
case SPELL_GROUP_HEAL:
|
||||
|
|
@ -573,9 +573,9 @@ static void perform_mag_groups(int level, struct char_data *ch,
|
|||
* affect everyone grouped with the caster who is in the room, caster last. To
|
||||
* add new group spells, you shouldn't have to change anything in mag_groups.
|
||||
* Just add a new case to perform_mag_groups. */
|
||||
void mag_groups(int level, struct char_data *ch, int spellnum, int savetype)
|
||||
void mag_groups(int level, char_data *ch, int spellnum, int savetype)
|
||||
{
|
||||
struct char_data *tch;
|
||||
char_data *tch;
|
||||
|
||||
if (ch == NULL)
|
||||
return;
|
||||
|
|
@ -583,7 +583,7 @@ void mag_groups(int level, struct char_data *ch, int spellnum, int savetype)
|
|||
if (!GROUP(ch))
|
||||
return;
|
||||
|
||||
while ((tch = (struct char_data *) simple_list(GROUP(ch)->members)) != NULL) {
|
||||
while ((tch = (char_data *) simple_list(GROUP(ch)->members)) != NULL) {
|
||||
if (IN_ROOM(tch) != IN_ROOM(ch))
|
||||
continue;
|
||||
if (tch == ch)
|
||||
|
|
@ -596,9 +596,9 @@ void mag_groups(int level, struct char_data *ch, int spellnum, int savetype)
|
|||
|
||||
/* Mass spells affect every creature in the room except the caster. No spells
|
||||
* of this class currently implemented. */
|
||||
void mag_masses(int level, struct char_data *ch, int spellnum, int savetype)
|
||||
void mag_masses(int level, char_data *ch, int spellnum, int savetype)
|
||||
{
|
||||
struct char_data *tch, *tch_next;
|
||||
char_data *tch, *tch_next;
|
||||
|
||||
for (tch = world[IN_ROOM(ch)].people; tch; tch = tch_next) {
|
||||
tch_next = tch->next_in_room;
|
||||
|
|
@ -614,9 +614,9 @@ void mag_masses(int level, struct char_data *ch, int spellnum, int savetype)
|
|||
* generally offensive spells. This calls mag_damage to do the actual damage.
|
||||
* All spells listed here must also have a case in mag_damage() in order for
|
||||
* them to work. Area spells have limited targets within the room. */
|
||||
void mag_areas(int level, struct char_data *ch, int spellnum, int savetype)
|
||||
void mag_areas(int level, char_data *ch, int spellnum, int savetype)
|
||||
{
|
||||
struct char_data *tch, *next_tch;
|
||||
char_data *tch, *next_tch;
|
||||
const char *to_char = NULL, *to_room = NULL;
|
||||
|
||||
if (ch == NULL)
|
||||
|
|
@ -702,11 +702,11 @@ static const char *mag_summon_fail_msgs[] = {
|
|||
#define OBJ_CLONE 161 /**< vnum for clone material. */
|
||||
#define MOB_ZOMBIE 11 /**< vnum for the zombie mob. */
|
||||
|
||||
void mag_summons(int level, struct char_data *ch, struct obj_data *obj,
|
||||
void mag_summons(int level, char_data *ch, obj_data *obj,
|
||||
int spellnum, int savetype)
|
||||
{
|
||||
struct char_data *mob = NULL;
|
||||
struct obj_data *tobj, *next_obj;
|
||||
char_data *mob = NULL;
|
||||
obj_data *tobj, *next_obj;
|
||||
int pfail = 0, msg = 0, fmsg = 0, num = 1, handle_corpse = FALSE, i;
|
||||
mob_vnum mob_num;
|
||||
|
||||
|
|
@ -798,7 +798,7 @@ void mag_summons(int level, struct char_data *ch, struct obj_data *obj,
|
|||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
void mag_points(int level, struct char_data *ch, struct char_data *victim,
|
||||
void mag_points(int level, char_data *ch, char_data *victim,
|
||||
int spellnum, int savetype)
|
||||
{
|
||||
int healing = 0, move = 0;
|
||||
|
|
@ -825,7 +825,7 @@ void mag_points(int level, struct char_data *ch, struct char_data *victim,
|
|||
update_pos(victim);
|
||||
}
|
||||
|
||||
void mag_unaffects(int level, struct char_data *ch, struct char_data *victim,
|
||||
void mag_unaffects(int level, char_data *ch, char_data *victim,
|
||||
int spellnum, int type)
|
||||
{
|
||||
int spell = 0, msg_not_affected = TRUE;
|
||||
|
|
@ -872,7 +872,7 @@ void mag_unaffects(int level, struct char_data *ch, struct char_data *victim,
|
|||
act(to_room, TRUE, victim, 0, ch, TO_ROOM);
|
||||
}
|
||||
|
||||
void mag_alter_objs(int level, struct char_data *ch, struct obj_data *obj,
|
||||
void mag_alter_objs(int level, char_data *ch, obj_data *obj,
|
||||
int spellnum, int savetype)
|
||||
{
|
||||
const char *to_char = NULL, *to_room = NULL;
|
||||
|
|
@ -939,9 +939,9 @@ void mag_alter_objs(int level, struct char_data *ch, struct obj_data *obj,
|
|||
act(to_char, TRUE, ch, obj, 0, TO_ROOM);
|
||||
}
|
||||
|
||||
void mag_creations(int level, struct char_data *ch, int spellnum)
|
||||
void mag_creations(int level, char_data *ch, int spellnum)
|
||||
{
|
||||
struct obj_data *tobj;
|
||||
obj_data *tobj;
|
||||
obj_vnum z;
|
||||
|
||||
if (ch == NULL)
|
||||
|
|
@ -969,7 +969,7 @@ void mag_creations(int level, struct char_data *ch, int spellnum)
|
|||
load_otrigger(tobj);
|
||||
}
|
||||
|
||||
void mag_rooms(int level, struct char_data *ch, int spellnum)
|
||||
void mag_rooms(int level, char_data *ch, int spellnum)
|
||||
{
|
||||
room_rnum rnum;
|
||||
int duration = 0;
|
||||
|
|
|
|||
24
src/mail.c
24
src/mail.c
|
|
@ -21,9 +21,9 @@
|
|||
#include "modify.h"
|
||||
|
||||
/* local (file scope) function prototypes */
|
||||
static void postmaster_send_mail(struct char_data *ch, struct char_data *mailman, int cmd, char *arg);
|
||||
static void postmaster_check_mail(struct char_data *ch, struct char_data *mailman, int cmd, char *arg);
|
||||
static void postmaster_receive_mail(struct char_data *ch, struct char_data *mailman, int cmd, char *arg);
|
||||
static void postmaster_send_mail(char_data *ch, char_data *mailman, int cmd, char *arg);
|
||||
static void postmaster_check_mail(char_data *ch, char_data *mailman, int cmd, char *arg);
|
||||
static void postmaster_receive_mail(char_data *ch, char_data *mailman, int cmd, char *arg);
|
||||
static int mail_recip_ok(const char *name);
|
||||
static void write_mail_record(FILE *mail_file, struct mail_t *record);
|
||||
static void free_mail_record(struct mail_t *record);
|
||||
|
|
@ -257,19 +257,19 @@ SPECIAL(postmaster)
|
|||
}
|
||||
|
||||
if (CMD_IS("mail")) {
|
||||
postmaster_send_mail(ch, (struct char_data *)me, cmd, argument);
|
||||
postmaster_send_mail(ch, (char_data *)me, cmd, argument);
|
||||
return (1);
|
||||
} else if (CMD_IS("check")) {
|
||||
postmaster_check_mail(ch, (struct char_data *)me, cmd, argument);
|
||||
postmaster_check_mail(ch, (char_data *)me, cmd, argument);
|
||||
return (1);
|
||||
} else if (CMD_IS("receive")) {
|
||||
postmaster_receive_mail(ch, (struct char_data *)me, cmd, argument);
|
||||
postmaster_receive_mail(ch, (char_data *)me, cmd, argument);
|
||||
return (1);
|
||||
} else
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void postmaster_send_mail(struct char_data *ch, struct char_data *mailman,
|
||||
static void postmaster_send_mail(char_data *ch, char_data *mailman,
|
||||
int cmd, char *arg)
|
||||
{
|
||||
long recipient;
|
||||
|
|
@ -316,7 +316,7 @@ static void postmaster_send_mail(struct char_data *ch, struct char_data *mailman
|
|||
string_write(ch->desc, mailwrite, MAX_MAIL_SIZE, recipient, NULL);
|
||||
}
|
||||
|
||||
static void postmaster_check_mail(struct char_data *ch, struct char_data *mailman,
|
||||
static void postmaster_check_mail(char_data *ch, char_data *mailman,
|
||||
int cmd, char *arg)
|
||||
{
|
||||
if (has_mail(GET_IDNUM(ch)))
|
||||
|
|
@ -325,11 +325,11 @@ static void postmaster_check_mail(struct char_data *ch, struct char_data *mailma
|
|||
act("$n tells you, 'Sorry, you don't have any mail waiting.'", FALSE, mailman, 0, ch, TO_VICT);
|
||||
}
|
||||
|
||||
static void postmaster_receive_mail(struct char_data *ch, struct char_data *mailman,
|
||||
static void postmaster_receive_mail(char_data *ch, char_data *mailman,
|
||||
int cmd, char *arg)
|
||||
{
|
||||
char buf[256];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int y;
|
||||
|
||||
if (!has_mail(GET_IDNUM(ch))) {
|
||||
|
|
@ -364,9 +364,9 @@ static void postmaster_receive_mail(struct char_data *ch, struct char_data *mail
|
|||
}
|
||||
}
|
||||
|
||||
void notify_if_playing(struct char_data *from, int recipient_id)
|
||||
void notify_if_playing(char_data *from, int recipient_id)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
for (d = descriptor_list; d; d = d->next)
|
||||
if ((IS_PLAYING(d)) && (GET_IDNUM(d->character) == recipient_id) && (has_mail(GET_IDNUM(d->character))))
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ int scan_file(void);
|
|||
int has_mail(long recipient);
|
||||
void store_mail(long to, long from, char *message_pointer);
|
||||
char *read_delete(long recipient);
|
||||
void notify_if_playing(struct char_data *from, int recipient_id);
|
||||
void notify_if_playing(char_data *from, int recipient_id);
|
||||
|
||||
struct mail_t {
|
||||
long recipient;
|
||||
|
|
|
|||
62
src/medit.c
62
src/medit.c
|
|
@ -28,23 +28,23 @@
|
|||
#include "modify.h" /* for smash_tilde */
|
||||
|
||||
/* local functions */
|
||||
static void medit_setup_new(struct descriptor_data *d);
|
||||
static void init_mobile(struct char_data *mob);
|
||||
static void medit_setup_new(descriptor_data *d);
|
||||
static void init_mobile(char_data *mob);
|
||||
static void medit_save_to_disk(zone_vnum zone_num);
|
||||
static void medit_disp_positions(struct descriptor_data *d);
|
||||
static void medit_disp_sex(struct descriptor_data *d);
|
||||
static void medit_disp_attack_types(struct descriptor_data *d);
|
||||
static void medit_disp_positions(descriptor_data *d);
|
||||
static void medit_disp_sex(descriptor_data *d);
|
||||
static void medit_disp_attack_types(descriptor_data *d);
|
||||
static bool medit_illegal_mob_flag(int fl);
|
||||
static int medit_get_mob_flag_by_number(int num);
|
||||
static void medit_disp_mob_flags(struct descriptor_data *d);
|
||||
static void medit_disp_aff_flags(struct descriptor_data *d);
|
||||
static void medit_disp_menu(struct descriptor_data *d);
|
||||
static void medit_disp_mob_flags(descriptor_data *d);
|
||||
static void medit_disp_aff_flags(descriptor_data *d);
|
||||
static void medit_disp_menu(descriptor_data *d);
|
||||
|
||||
/* utility functions */
|
||||
ACMD(do_oasis_medit)
|
||||
{
|
||||
int number = NOBODY, save = 0, real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -175,12 +175,12 @@ static void medit_save_to_disk(zone_vnum foo)
|
|||
save_mobiles(real_zone(foo));
|
||||
}
|
||||
|
||||
static void medit_setup_new(struct descriptor_data *d)
|
||||
static void medit_setup_new(descriptor_data *d)
|
||||
{
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
|
||||
/* Allocate a scratch mobile structure. */
|
||||
CREATE(mob, struct char_data, 1);
|
||||
CREATE(mob, char_data, 1);
|
||||
|
||||
init_mobile(mob);
|
||||
|
||||
|
|
@ -199,12 +199,12 @@ static void medit_setup_new(struct descriptor_data *d)
|
|||
OLC_ITEM_TYPE(d) = MOB_TRIGGER;
|
||||
}
|
||||
|
||||
void medit_setup_existing(struct descriptor_data *d, int rmob_num)
|
||||
void medit_setup_existing(descriptor_data *d, int rmob_num)
|
||||
{
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
|
||||
/* Allocate a scratch mobile structure. */
|
||||
CREATE(mob, struct char_data, 1);
|
||||
CREATE(mob, char_data, 1);
|
||||
|
||||
copy_mobile(mob, mob_proto + rmob_num);
|
||||
|
||||
|
|
@ -220,7 +220,7 @@ void medit_setup_existing(struct descriptor_data *d, int rmob_num)
|
|||
}
|
||||
|
||||
/* Ideally, this function should be in db.c, but I'll put it here for portability. */
|
||||
static void init_mobile(struct char_data *mob)
|
||||
static void init_mobile(char_data *mob)
|
||||
{
|
||||
clear_char(mob);
|
||||
|
||||
|
|
@ -245,12 +245,12 @@ static void init_mobile(struct char_data *mob)
|
|||
}
|
||||
|
||||
/* Save new/edited mob to memory. */
|
||||
void medit_save_internally(struct descriptor_data *d)
|
||||
void medit_save_internally(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
mob_rnum new_rnum;
|
||||
struct descriptor_data *dsc;
|
||||
struct char_data *mob;
|
||||
descriptor_data *dsc;
|
||||
char_data *mob;
|
||||
|
||||
i = (real_mobile(OLC_NUM(d)) == NOBODY);
|
||||
|
||||
|
|
@ -303,7 +303,7 @@ void medit_save_internally(struct descriptor_data *d)
|
|||
|
||||
/* Menu functions
|
||||
Display positions. (sitting, standing, etc) */
|
||||
static void medit_disp_positions(struct descriptor_data *d)
|
||||
static void medit_disp_positions(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -312,7 +312,7 @@ static void medit_disp_positions(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display the gender of the mobile. */
|
||||
static void medit_disp_sex(struct descriptor_data *d)
|
||||
static void medit_disp_sex(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -321,7 +321,7 @@ static void medit_disp_sex(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display attack types menu. */
|
||||
static void medit_disp_attack_types(struct descriptor_data *d)
|
||||
static void medit_disp_attack_types(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ static int medit_get_mob_flag_by_number(int num)
|
|||
}
|
||||
|
||||
/* Display mob-flags menu. */
|
||||
static void medit_disp_mob_flags(struct descriptor_data *d)
|
||||
static void medit_disp_mob_flags(descriptor_data *d)
|
||||
{
|
||||
int i, count = 0, columns = 0;
|
||||
char flags[MAX_STRING_LENGTH];
|
||||
|
|
@ -390,7 +390,7 @@ static void medit_disp_mob_flags(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display affection flags menu. */
|
||||
static void medit_disp_aff_flags(struct descriptor_data *d)
|
||||
static void medit_disp_aff_flags(descriptor_data *d)
|
||||
{
|
||||
char flags[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -404,9 +404,9 @@ static void medit_disp_aff_flags(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display main menu. */
|
||||
static void medit_disp_menu(struct descriptor_data *d)
|
||||
static void medit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
char flags[MAX_STRING_LENGTH], flag2[MAX_STRING_LENGTH];
|
||||
|
||||
mob = OLC_MOB(d);
|
||||
|
|
@ -459,9 +459,9 @@ static void medit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display main menu. */
|
||||
static void medit_disp_stats_menu(struct descriptor_data *d)
|
||||
static void medit_disp_stats_menu(descriptor_data *d)
|
||||
{
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
mob = OLC_MOB(d);
|
||||
|
|
@ -525,7 +525,7 @@ static void medit_disp_stats_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = MEDIT_STATS_MENU;
|
||||
}
|
||||
|
||||
void medit_parse(struct descriptor_data *d, char *arg)
|
||||
void medit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int i = -1, j;
|
||||
char *oldtext = NULL;
|
||||
|
|
@ -1103,7 +1103,7 @@ void medit_parse(struct descriptor_data *d, char *arg)
|
|||
medit_disp_menu(d);
|
||||
}
|
||||
|
||||
void medit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void medit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
|
||||
|
|
@ -1114,7 +1114,7 @@ void medit_string_cleanup(struct descriptor_data *d, int terminator)
|
|||
}
|
||||
}
|
||||
|
||||
void medit_autoroll_stats(struct descriptor_data *d)
|
||||
void medit_autoroll_stats(descriptor_data *d)
|
||||
{
|
||||
int mob_lev;
|
||||
|
||||
|
|
|
|||
14
src/mobact.c
14
src/mobact.c
|
|
@ -24,12 +24,12 @@
|
|||
|
||||
|
||||
/* local file scope only function prototypes */
|
||||
static bool aggressive_mob_on_a_leash(struct char_data *slave, struct char_data *master, struct char_data *attack);
|
||||
static bool aggressive_mob_on_a_leash(char_data *slave, char_data *master, char_data *attack);
|
||||
|
||||
void mobile_activity(void)
|
||||
{
|
||||
struct char_data *ch, *next_ch, *vict;
|
||||
struct obj_data *obj, *best_obj;
|
||||
char_data *ch, *next_ch, *vict;
|
||||
obj_data *obj, *best_obj;
|
||||
int door, found, max;
|
||||
memory_rec *names;
|
||||
|
||||
|
|
@ -174,7 +174,7 @@ void mobile_activity(void)
|
|||
|
||||
/* Mob Memory Routines */
|
||||
/* make ch remember victim */
|
||||
void remember(struct char_data *ch, struct char_data *victim)
|
||||
void remember(char_data *ch, char_data *victim)
|
||||
{
|
||||
memory_rec *tmp;
|
||||
bool present = FALSE;
|
||||
|
|
@ -195,7 +195,7 @@ void remember(struct char_data *ch, struct char_data *victim)
|
|||
}
|
||||
|
||||
/* make ch forget victim */
|
||||
void forget(struct char_data *ch, struct char_data *victim)
|
||||
void forget(char_data *ch, char_data *victim)
|
||||
{
|
||||
memory_rec *curr, *prev = NULL;
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ void forget(struct char_data *ch, struct char_data *victim)
|
|||
}
|
||||
|
||||
/* erase ch's memory */
|
||||
void clearMemory(struct char_data *ch)
|
||||
void clearMemory(char_data *ch)
|
||||
{
|
||||
memory_rec *curr, *next;
|
||||
|
||||
|
|
@ -237,7 +237,7 @@ void clearMemory(struct char_data *ch)
|
|||
/* An aggressive mobile wants to attack something. If they're under the
|
||||
* influence of mind altering PC, then see if their master can talk them out
|
||||
* of it, eye them down, or otherwise intimidate the slave. */
|
||||
static bool aggressive_mob_on_a_leash(struct char_data *slave, struct char_data *master, struct char_data *attack)
|
||||
static bool aggressive_mob_on_a_leash(char_data *slave, char_data *master, char_data *attack)
|
||||
{
|
||||
static int snarl_cmd;
|
||||
int dieroll;
|
||||
|
|
|
|||
30
src/modify.c
30
src/modify.c
|
|
@ -28,10 +28,10 @@
|
|||
#include "ibt.h"
|
||||
|
||||
/* local (file scope) function prototpyes */
|
||||
static char *next_page(char *str, struct char_data *ch);
|
||||
static int count_pages(char *str, struct char_data *ch);
|
||||
static void playing_string_cleanup(struct descriptor_data *d, int action);
|
||||
static void exdesc_string_cleanup(struct descriptor_data *d, int action);
|
||||
static char *next_page(char *str, char_data *ch);
|
||||
static int count_pages(char *str, char_data *ch);
|
||||
static void playing_string_cleanup(descriptor_data *d, int action);
|
||||
static void exdesc_string_cleanup(descriptor_data *d, int action);
|
||||
|
||||
/* Local (file scope) global variables */
|
||||
/* @deprecated string_fields appears to be no longer be used.
|
||||
|
|
@ -105,7 +105,7 @@ void parse_tab(char *str)
|
|||
* can use it to pass whatever else you may want through it. The improved
|
||||
* editor patch when updated could use it to pass the old text buffer, for
|
||||
* instance. */
|
||||
void string_write(struct descriptor_data *d, char **writeto, size_t len, long mailto, void *data)
|
||||
void string_write(descriptor_data *d, char **writeto, size_t len, long mailto, void *data)
|
||||
{
|
||||
if (d->character && !IS_NPC(d->character))
|
||||
SET_BIT_AR(PLR_FLAGS(d->character), PLR_WRITING);
|
||||
|
|
@ -122,7 +122,7 @@ void string_write(struct descriptor_data *d, char **writeto, size_t len, long ma
|
|||
|
||||
/* Add user input to the 'current' string (as defined by d->str). This is still
|
||||
* overly complex. */
|
||||
void string_add(struct descriptor_data *d, char *str)
|
||||
void string_add(descriptor_data *d, char *str)
|
||||
{
|
||||
int action;
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ void string_add(struct descriptor_data *d, char *str)
|
|||
int i;
|
||||
struct {
|
||||
int mode;
|
||||
void (*func)(struct descriptor_data *d, int action);
|
||||
void (*func)(descriptor_data *d, int action);
|
||||
} cleanup_modes[] = {
|
||||
{ CON_CEDIT , cedit_string_cleanup },
|
||||
{ CON_MEDIT , medit_string_cleanup },
|
||||
|
|
@ -244,7 +244,7 @@ void string_add(struct descriptor_data *d, char *str)
|
|||
strcat(*d->str, "\r\n");
|
||||
}
|
||||
|
||||
static void playing_string_cleanup(struct descriptor_data *d, int action)
|
||||
static void playing_string_cleanup(descriptor_data *d, int action)
|
||||
{
|
||||
if (PLR_FLAGGED(d->character, PLR_MAILING)) {
|
||||
if (action == STRINGADD_SAVE && *d->str) {
|
||||
|
|
@ -294,7 +294,7 @@ static void playing_string_cleanup(struct descriptor_data *d, int action)
|
|||
}
|
||||
}
|
||||
|
||||
static void exdesc_string_cleanup(struct descriptor_data *d, int action)
|
||||
static void exdesc_string_cleanup(descriptor_data *d, int action)
|
||||
{
|
||||
if (action == STRINGADD_ABORT)
|
||||
write_to_output(d, "Description aborted.\r\n");
|
||||
|
|
@ -306,7 +306,7 @@ static void exdesc_string_cleanup(struct descriptor_data *d, int action)
|
|||
/* Modification of character skills. */
|
||||
ACMD(do_skillset)
|
||||
{
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
char name[MAX_INPUT_LENGTH];
|
||||
char buf[MAX_INPUT_LENGTH], helpbuf[MAX_STRING_LENGTH];
|
||||
int skill, value, i, qend, pc, pl;
|
||||
|
|
@ -397,7 +397,7 @@ ACMD(do_skillset)
|
|||
|
||||
/* By Michael Buselli. Traverse down the string until the begining of the next
|
||||
* page has been reached. Return NULL if this is the last page of the string. */
|
||||
static char *next_page(char *str, struct char_data *ch)
|
||||
static char *next_page(char *str, char_data *ch)
|
||||
{
|
||||
int col = 1, line = 1, count, pw;
|
||||
|
||||
|
|
@ -442,7 +442,7 @@ static char *next_page(char *str, struct char_data *ch)
|
|||
}
|
||||
|
||||
/* Function that returns the number of pages in the string. */
|
||||
static int count_pages(char *str, struct char_data *ch)
|
||||
static int count_pages(char *str, char_data *ch)
|
||||
{
|
||||
int pages;
|
||||
|
||||
|
|
@ -454,7 +454,7 @@ static int count_pages(char *str, struct char_data *ch)
|
|||
/* This function assigns all the pointers for showstr_vector for the
|
||||
* page_string function, after showstr_vector has been allocated and
|
||||
* showstr_count set. */
|
||||
void paginate_string(char *str, struct descriptor_data *d)
|
||||
void paginate_string(char *str, descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -468,7 +468,7 @@ void paginate_string(char *str, struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The call that gets the paging ball rolling... */
|
||||
void page_string(struct descriptor_data *d, char *str, int keep_internal)
|
||||
void page_string(descriptor_data *d, char *str, int keep_internal)
|
||||
{
|
||||
char actbuf[MAX_INPUT_LENGTH] = "";
|
||||
|
||||
|
|
@ -493,7 +493,7 @@ void page_string(struct descriptor_data *d, char *str, int keep_internal)
|
|||
}
|
||||
|
||||
/* The call that displays the next page. */
|
||||
void show_string(struct descriptor_data *d, char *input)
|
||||
void show_string(descriptor_data *d, char *input)
|
||||
{
|
||||
char buffer[MAX_STRING_LENGTH], buf[MAX_INPUT_LENGTH];
|
||||
int diff;
|
||||
|
|
|
|||
10
src/modify.h
10
src/modify.h
|
|
@ -20,17 +20,17 @@
|
|||
#define _MODIFY_H_
|
||||
|
||||
/* Public functions */
|
||||
void show_string(struct descriptor_data *d, char *input);
|
||||
void show_string(descriptor_data *d, char *input);
|
||||
void smash_tilde(char *str);
|
||||
void parse_at(char *str);
|
||||
void parse_tab(char *str);
|
||||
void paginate_string(char *str, struct descriptor_data *d);
|
||||
void paginate_string(char *str, descriptor_data *d);
|
||||
/** @todo should this really be in modify.c? */
|
||||
ACMD(do_skillset);
|
||||
/* Following function prototypes moved here from comm.h */
|
||||
void string_write(struct descriptor_data *d, char **txt, size_t len, long mailto, void *data);
|
||||
void string_add(struct descriptor_data *d, char *str);
|
||||
void page_string(struct descriptor_data *d, char *str, int keep_internal);
|
||||
void string_write(descriptor_data *d, char **txt, size_t len, long mailto, void *data);
|
||||
void string_add(descriptor_data *d, char *str);
|
||||
void page_string(descriptor_data *d, char *str, int keep_internal);
|
||||
/* page string function & defines */
|
||||
#define PAGE_LENGTH 22
|
||||
#define PAGE_WIDTH 80
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
/* Statics */
|
||||
static void free_messages_type(struct msg_type *msg);
|
||||
static void msgedit_main_menu(struct descriptor_data * d);
|
||||
static void msgedit_main_menu(descriptor_data * d);
|
||||
static void copy_message_strings(struct message_type *tmsg, struct message_type * fmsg);
|
||||
static void copy_message_list(struct message_list *to, struct message_list *from);
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ void load_messages(void)
|
|||
log("Loaded %d Combat Messages...", i);
|
||||
}
|
||||
|
||||
static void show_messages(struct char_data *ch)
|
||||
static void show_messages(char_data *ch)
|
||||
{
|
||||
int i, half = MAX_MESSAGES / 2, count = 0;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
|
@ -227,7 +227,7 @@ void save_messages_to_disk(void)
|
|||
fclose(fp);
|
||||
}
|
||||
|
||||
static void msgedit_setup(struct descriptor_data *d)
|
||||
static void msgedit_setup(descriptor_data *d)
|
||||
{
|
||||
CREATE(OLC_MSG_LIST(d), struct message_list, 1);
|
||||
OLC_MSG_LIST(d)->msg = NULL;
|
||||
|
|
@ -301,7 +301,7 @@ static void copy_message_strings(struct message_type *tmsg, struct message_type
|
|||
ACMD(do_msgedit)
|
||||
{
|
||||
int num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
if (!*argument) {
|
||||
show_messages(ch);
|
||||
|
|
@ -352,7 +352,7 @@ ACMD(do_msgedit)
|
|||
GET_NAME(ch), OLC_NUM(d));
|
||||
}
|
||||
|
||||
static void msgedit_main_menu(struct descriptor_data * d)
|
||||
static void msgedit_main_menu(descriptor_data * d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
|
||||
|
|
@ -405,7 +405,7 @@ static void msgedit_main_menu(struct descriptor_data * d)
|
|||
OLC_MODE(d) = MSGEDIT_MAIN_MENU;
|
||||
}
|
||||
|
||||
void msgedit_parse(struct descriptor_data *d, char *arg)
|
||||
void msgedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
struct message_type * temp;
|
||||
static bool quit = FALSE;
|
||||
|
|
|
|||
|
|
@ -93,8 +93,8 @@ EVENTFUNC(event_countdown)
|
|||
void attach_mud_event(struct mud_event_data *pMudEvent, long time)
|
||||
{
|
||||
struct event * pEvent;
|
||||
struct descriptor_data * d;
|
||||
struct char_data * ch;
|
||||
descriptor_data * d;
|
||||
char_data * ch;
|
||||
struct room_data * room;
|
||||
|
||||
pEvent = event_create(mud_event_index[pMudEvent->iId].func, pMudEvent, time);
|
||||
|
|
@ -106,11 +106,11 @@ void attach_mud_event(struct mud_event_data *pMudEvent, long time)
|
|||
add_to_list(pEvent, world_events);
|
||||
break;
|
||||
case EVENT_DESC:
|
||||
d = (struct descriptor_data *) pMudEvent->pStruct;
|
||||
d = (descriptor_data *) pMudEvent->pStruct;
|
||||
add_to_list(pEvent, d->events);
|
||||
break;
|
||||
case EVENT_CHAR:
|
||||
ch = (struct char_data *) pMudEvent->pStruct;
|
||||
ch = (char_data *) pMudEvent->pStruct;
|
||||
|
||||
if (ch->events == NULL)
|
||||
ch->events = create_list();
|
||||
|
|
@ -146,8 +146,8 @@ struct mud_event_data *new_mud_event(event_id iId, void *pStruct, char *sVariabl
|
|||
|
||||
void free_mud_event(struct mud_event_data *pMudEvent)
|
||||
{
|
||||
struct descriptor_data * d;
|
||||
struct char_data * ch;
|
||||
descriptor_data * d;
|
||||
char_data * ch;
|
||||
struct room_data * room;
|
||||
|
||||
switch (mud_event_index[pMudEvent->iId].iEvent_Type) {
|
||||
|
|
@ -155,11 +155,11 @@ void free_mud_event(struct mud_event_data *pMudEvent)
|
|||
remove_from_list(pMudEvent->pEvent, world_events);
|
||||
break;
|
||||
case EVENT_DESC:
|
||||
d = (struct descriptor_data *) pMudEvent->pStruct;
|
||||
d = (descriptor_data *) pMudEvent->pStruct;
|
||||
remove_from_list(pMudEvent->pEvent, d->events);
|
||||
break;
|
||||
case EVENT_CHAR:
|
||||
ch = (struct char_data *) pMudEvent->pStruct;
|
||||
ch = (char_data *) pMudEvent->pStruct;
|
||||
remove_from_list(pMudEvent->pEvent, ch->events);
|
||||
|
||||
if (ch->events->iSize == 0) {
|
||||
|
|
@ -185,7 +185,7 @@ void free_mud_event(struct mud_event_data *pMudEvent)
|
|||
free(pMudEvent);
|
||||
}
|
||||
|
||||
struct mud_event_data * char_has_mud_event(struct char_data * ch, event_id iId)
|
||||
struct mud_event_data * char_has_mud_event(char_data * ch, event_id iId)
|
||||
{
|
||||
struct event * pEvent;
|
||||
struct mud_event_data * pMudEvent = NULL;
|
||||
|
|
@ -215,7 +215,7 @@ struct mud_event_data * char_has_mud_event(struct char_data * ch, event_id iId)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void clear_char_event_list(struct char_data * ch)
|
||||
void clear_char_event_list(char_data * ch)
|
||||
{
|
||||
struct event * pEvent;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ void init_events(void);
|
|||
struct mud_event_data *new_mud_event(event_id iId, void *pStruct, char *sVariables);
|
||||
void attach_mud_event(struct mud_event_data *pMudEvent, long time);
|
||||
void free_mud_event(struct mud_event_data *pMudEvent);
|
||||
struct mud_event_data * char_has_mud_event(struct char_data * ch, event_id iId);
|
||||
void clear_char_event_list(struct char_data * ch);
|
||||
struct mud_event_data * char_has_mud_event(char_data * ch, event_id iId);
|
||||
void clear_char_event_list(char_data * ch);
|
||||
|
||||
/* Events */
|
||||
EVENTFUNC(event_countdown);
|
||||
|
|
|
|||
10
src/oasis.c
10
src/oasis.c
|
|
@ -35,7 +35,7 @@ const char *nrm, *grn, *cyn, *yel;
|
|||
static void free_config(struct config_data *data);
|
||||
|
||||
/* Only player characters should be using OLC anyway. */
|
||||
void clear_screen(struct descriptor_data *d)
|
||||
void clear_screen(descriptor_data *d)
|
||||
{
|
||||
if (PRF_FLAGGED(d->character, PRF_CLS))
|
||||
write_to_output(d, "[H[J");
|
||||
|
|
@ -45,7 +45,7 @@ void clear_screen(struct descriptor_data *d)
|
|||
/* Set the color string pointers for that which this char will see at color
|
||||
* level NRM. Changing the entries here will change the colour scheme
|
||||
* throughout the OLC. */
|
||||
void get_char_colors(struct char_data *ch)
|
||||
void get_char_colors(char_data *ch)
|
||||
{
|
||||
nrm = CCNRM(ch, C_NRM);
|
||||
grn = CCGRN(ch, C_NRM);
|
||||
|
|
@ -55,7 +55,7 @@ void get_char_colors(struct char_data *ch)
|
|||
|
||||
/* This procedure frees up the strings and/or the structures attatched to a
|
||||
* descriptor, sets all flags back to how they should be. */
|
||||
void cleanup_olc(struct descriptor_data *d, byte cleanup_type)
|
||||
void cleanup_olc(descriptor_data *d, byte cleanup_type)
|
||||
{
|
||||
/* Clean up WHAT? */
|
||||
if (d->olc == NULL)
|
||||
|
|
@ -253,7 +253,7 @@ static void free_config(struct config_data *data)
|
|||
* requesting access to modify this zone. Rnum is the real number of the zone
|
||||
* attempted to be modified. Returns TRUE if the builder has access, otherwisei
|
||||
* FALSE. */
|
||||
int can_edit_zone(struct char_data *ch, zone_rnum rnum)
|
||||
int can_edit_zone(char_data *ch, zone_rnum rnum)
|
||||
{
|
||||
/* no access if called with bad arguments */
|
||||
if (!ch->desc || IS_NPC(ch) || rnum == NOWHERE)
|
||||
|
|
@ -297,7 +297,7 @@ int can_edit_zone(struct char_data *ch, zone_rnum rnum)
|
|||
return (FALSE);
|
||||
}
|
||||
|
||||
void send_cannot_edit(struct char_data *ch, zone_vnum zone)
|
||||
void send_cannot_edit(char_data *ch, zone_vnum zone)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
|
|||
68
src/oasis.h
68
src/oasis.h
|
|
@ -75,10 +75,10 @@
|
|||
#define OASIS_CFG 5
|
||||
|
||||
/* Utilities exported from oasis.c. */
|
||||
void cleanup_olc(struct descriptor_data *d, byte cleanup_type);
|
||||
void get_char_colors(struct char_data *ch);
|
||||
void cleanup_olc(descriptor_data *d, byte cleanup_type);
|
||||
void get_char_colors(char_data *ch);
|
||||
void split_argument(char *argument, char *tag);
|
||||
void send_cannot_edit(struct char_data *ch, zone_vnum zone);
|
||||
void send_cannot_edit(char_data *ch, zone_vnum zone);
|
||||
|
||||
/* OLC structures. */
|
||||
/* NO and YES are defined in utils.h. Removed from here. */
|
||||
|
|
@ -89,9 +89,9 @@ struct oasis_olc_data {
|
|||
room_vnum number; /* vnum of subject */
|
||||
int value; /* mostly 'has changed' flag*/
|
||||
char *storage; /* used for 'tedit' */
|
||||
struct char_data *mob; /* used for 'medit' */
|
||||
char_data *mob; /* used for 'medit' */
|
||||
struct room_data *room; /* used for 'redit' */
|
||||
struct obj_data *obj; /* used for 'oedit' */
|
||||
obj_data *obj; /* used for 'oedit' */
|
||||
struct zone_data *zone; /* used for 'zedit' */
|
||||
struct shop_data *shop; /* used for 'sedit' */
|
||||
struct config_data *config; /* used for 'cedit' */
|
||||
|
|
@ -393,67 +393,67 @@ extern const char *nrm, *grn, *cyn, *yel;
|
|||
int save_config( IDXTYPE nowhere );
|
||||
|
||||
/* Prototypes to keep. */
|
||||
void clear_screen(struct descriptor_data *);
|
||||
int can_edit_zone(struct char_data *ch, zone_rnum rnum);
|
||||
void clear_screen(descriptor_data *);
|
||||
int can_edit_zone(char_data *ch, zone_rnum rnum);
|
||||
ACMD(do_oasis);
|
||||
|
||||
/* public functions from medit.c */
|
||||
void medit_setup_existing(struct descriptor_data *d, int rnum);
|
||||
void medit_save_internally(struct descriptor_data *d);
|
||||
void medit_parse(struct descriptor_data *d, char *arg);
|
||||
void medit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void medit_setup_existing(descriptor_data *d, int rnum);
|
||||
void medit_save_internally(descriptor_data *d);
|
||||
void medit_parse(descriptor_data *d, char *arg);
|
||||
void medit_string_cleanup(descriptor_data *d, int terminator);
|
||||
ACMD(do_oasis_medit);
|
||||
void medit_autoroll_stats(struct descriptor_data *d);
|
||||
void medit_autoroll_stats(descriptor_data *d);
|
||||
|
||||
/* public functions from oedit.c */
|
||||
void oedit_setup_existing(struct descriptor_data *d, int rnum);
|
||||
void oedit_save_internally(struct descriptor_data *d);
|
||||
void oedit_parse(struct descriptor_data *d, char *arg);
|
||||
void oedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void oedit_setup_existing(descriptor_data *d, int rnum);
|
||||
void oedit_save_internally(descriptor_data *d);
|
||||
void oedit_parse(descriptor_data *d, char *arg);
|
||||
void oedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
ACMD(do_oasis_oedit);
|
||||
|
||||
/* public functions from redit.c */
|
||||
void redit_setup_existing(struct descriptor_data *d, int rnum);
|
||||
void redit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void redit_save_internally(struct descriptor_data *d);
|
||||
void redit_setup_existing(descriptor_data *d, int rnum);
|
||||
void redit_string_cleanup(descriptor_data *d, int terminator);
|
||||
void redit_save_internally(descriptor_data *d);
|
||||
void redit_save_to_disk(zone_vnum zone_num);
|
||||
void redit_parse(struct descriptor_data *d, char *arg);
|
||||
void redit_parse(descriptor_data *d, char *arg);
|
||||
void free_room(struct room_data *room);
|
||||
ACMD(do_oasis_redit);
|
||||
|
||||
/* public functions from sedit.c */
|
||||
void sedit_setup_existing(struct descriptor_data *d, int rnum);
|
||||
void sedit_save_internally(struct descriptor_data *d);
|
||||
void sedit_parse(struct descriptor_data *d, char *arg);
|
||||
void sedit_setup_existing(descriptor_data *d, int rnum);
|
||||
void sedit_save_internally(descriptor_data *d);
|
||||
void sedit_parse(descriptor_data *d, char *arg);
|
||||
ACMD(do_oasis_sedit);
|
||||
|
||||
/* public functions from zedit.c */
|
||||
void zedit_parse(struct descriptor_data *d, char *arg);
|
||||
void zedit_parse(descriptor_data *d, char *arg);
|
||||
ACMD(do_oasis_zedit);
|
||||
|
||||
/* public functions from cedit.c */
|
||||
void cedit_save_to_disk( void );
|
||||
void cedit_parse(struct descriptor_data *d, char *arg);
|
||||
void cedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void cedit_parse(descriptor_data *d, char *arg);
|
||||
void cedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
ACMD(do_oasis_cedit);
|
||||
|
||||
/* public functions from dg_olc.c */
|
||||
void trigedit_parse(struct descriptor_data *d, char *arg);
|
||||
void trigedit_parse(descriptor_data *d, char *arg);
|
||||
ACMD(do_oasis_trigedit);
|
||||
|
||||
/* public functions from from aedit.c */
|
||||
void aedit_parse(struct descriptor_data * d, char *arg);
|
||||
void aedit_parse(descriptor_data * d, char *arg);
|
||||
ACMD(do_oasis_aedit);
|
||||
ACMD(do_astat);
|
||||
|
||||
/* public functions from hedit.c */
|
||||
void hedit_parse(struct descriptor_data *d, char *arg);
|
||||
void hedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void hedit_parse(descriptor_data *d, char *arg);
|
||||
void hedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
void free_help(struct help_index_element *help);
|
||||
ACMD(do_oasis_hedit);
|
||||
|
||||
/* public functions from tedit.c */
|
||||
void tedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void tedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
ACMD(do_tedit);
|
||||
|
||||
/* public functions from qedit.c */
|
||||
|
|
@ -461,10 +461,10 @@ ACMD(do_oasis_qedit);
|
|||
|
||||
/* public functions from msgedit.c */
|
||||
ACMD(do_msgedit);
|
||||
void msgedit_parse(struct descriptor_data *d, char *arg);
|
||||
void msgedit_parse(descriptor_data *d, char *arg);
|
||||
|
||||
/* public functions from oasis_copy.c */
|
||||
int buildwalk(struct char_data *ch, int dir);
|
||||
int buildwalk(char_data *ch, int dir);
|
||||
ACMD(do_dig);
|
||||
ACMD(do_oasis_copy);
|
||||
|
||||
|
|
@ -472,7 +472,7 @@ ACMD(do_oasis_copy);
|
|||
int free_strings(void *data, int type);
|
||||
|
||||
/* public functions from oasis_list.c */
|
||||
void print_zone(struct char_data *ch, zone_rnum rnum);
|
||||
void print_zone(char_data *ch, zone_rnum rnum);
|
||||
/** @deprecated is do_oasis_links intentionally dead code? */
|
||||
ACMD(do_oasis_links);
|
||||
ACMD(do_oasis_list);
|
||||
|
|
|
|||
|
|
@ -42,13 +42,13 @@ ACMD(do_oasis_copy)
|
|||
room_rnum src_rnum, dst_rnum;
|
||||
char buf1[MAX_INPUT_LENGTH];
|
||||
char buf2[MAX_INPUT_LENGTH];
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
struct {
|
||||
int con_type;
|
||||
IDXTYPE (*binary_search)(IDXTYPE vnum);
|
||||
void (*save_func)(struct descriptor_data *d);
|
||||
void (*setup_existing)(struct descriptor_data *d, int rnum);
|
||||
void (*save_func)(descriptor_data *d);
|
||||
void (*setup_existing)(descriptor_data *d, int rnum);
|
||||
const char *command;
|
||||
const char *text;
|
||||
} oasis_copy_info[] = {
|
||||
|
|
@ -158,7 +158,7 @@ ACMD(do_dig)
|
|||
room_rnum rrnum = NOWHERE;
|
||||
zone_rnum zone;
|
||||
int dir = 0, rawvnum;
|
||||
struct descriptor_data *d = ch->desc; /* will save us some typing */
|
||||
descriptor_data *d = ch->desc; /* will save us some typing */
|
||||
|
||||
/* Grab the room's name (if available). */
|
||||
new_room_name = two_arguments(argument, sdir, sroom);
|
||||
|
|
@ -310,7 +310,7 @@ static room_vnum redit_find_new_vnum(zone_rnum zone)
|
|||
return(vnum);
|
||||
}
|
||||
|
||||
int buildwalk(struct char_data *ch, int dir)
|
||||
int buildwalk(char_data *ch, int dir)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
room_vnum vnum;
|
||||
|
|
@ -326,7 +326,7 @@ int buildwalk(struct char_data *ch, int dir)
|
|||
} else if ((vnum = redit_find_new_vnum(world[IN_ROOM(ch)].zone)) == NOWHERE) {
|
||||
send_to_char(ch, "No free vnums are available in this zone!\r\n");
|
||||
} else {
|
||||
struct descriptor_data *d = ch->desc;
|
||||
descriptor_data *d = ch->desc;
|
||||
/* Give the descriptor an olc struct. This way we can let
|
||||
* redit_save_internally handle the room adding. */
|
||||
if (d->olc) {
|
||||
|
|
|
|||
|
|
@ -32,18 +32,18 @@ struct obj_list_item {
|
|||
int val;
|
||||
};
|
||||
/* local functions */
|
||||
static void list_triggers(struct char_data *ch, zone_rnum rnum, trig_vnum vmin, trig_vnum vmax);
|
||||
static void list_rooms(struct char_data *ch , zone_rnum rnum, room_vnum vmin, room_vnum vmax);
|
||||
static void list_mobiles(struct char_data *ch, zone_rnum rnum, mob_vnum vmin , mob_vnum vmax );
|
||||
static void list_objects(struct char_data *ch, zone_rnum rnum, obj_vnum vmin , obj_vnum vmax );
|
||||
static void list_shops(struct char_data *ch , zone_rnum rnum, shop_vnum vmin, shop_vnum vmax);
|
||||
static void list_zones(struct char_data *ch, zone_rnum rnum, zone_vnum vmin, zone_vnum vmax, char *name);
|
||||
static void list_triggers(char_data *ch, zone_rnum rnum, trig_vnum vmin, trig_vnum vmax);
|
||||
static void list_rooms(char_data *ch , zone_rnum rnum, room_vnum vmin, room_vnum vmax);
|
||||
static void list_mobiles(char_data *ch, zone_rnum rnum, mob_vnum vmin , mob_vnum vmax );
|
||||
static void list_objects(char_data *ch, zone_rnum rnum, obj_vnum vmin , obj_vnum vmax );
|
||||
static void list_shops(char_data *ch , zone_rnum rnum, shop_vnum vmin, shop_vnum vmax);
|
||||
static void list_zones(char_data *ch, zone_rnum rnum, zone_vnum vmin, zone_vnum vmax, char *name);
|
||||
|
||||
static void perform_mob_flag_list(struct char_data * ch, char *arg)
|
||||
static void perform_mob_flag_list(char_data * ch, char *arg)
|
||||
{
|
||||
int num, mob_flag, found = 0;
|
||||
size_t len;
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
mob_flag = atoi(arg);
|
||||
|
|
@ -76,11 +76,11 @@ static void perform_mob_flag_list(struct char_data * ch, char *arg)
|
|||
return;
|
||||
}
|
||||
|
||||
static void perform_mob_level_list(struct char_data * ch, char *arg)
|
||||
static void perform_mob_level_list(char_data * ch, char *arg)
|
||||
{
|
||||
int num, mob_level, found = 0;
|
||||
size_t len;
|
||||
struct char_data *mob;
|
||||
char_data *mob;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
mob_level = atoi(arg);
|
||||
|
|
@ -131,7 +131,7 @@ static void add_to_obj_list(struct obj_list_item *lst, int num_items, obj_vnum n
|
|||
}
|
||||
}
|
||||
|
||||
static void perform_obj_type_list(struct char_data * ch, char *arg)
|
||||
static void perform_obj_type_list(char_data * ch, char *arg)
|
||||
{
|
||||
int num, itemtype, v1, v2, found = 0;
|
||||
size_t len = 0, tmp_len = 0;
|
||||
|
|
@ -246,7 +246,7 @@ static void perform_obj_type_list(struct char_data * ch, char *arg)
|
|||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
static void perform_obj_aff_list(struct char_data * ch, char *arg)
|
||||
static void perform_obj_aff_list(char_data * ch, char *arg)
|
||||
{
|
||||
int num, i, apply, v1 = 0, found = 0;
|
||||
size_t len = 0, tmp_len = 0;
|
||||
|
|
@ -331,7 +331,7 @@ static void perform_obj_aff_list(struct char_data * ch, char *arg)
|
|||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
static void perform_obj_name_list(struct char_data * ch, char *arg)
|
||||
static void perform_obj_name_list(char_data * ch, char *arg)
|
||||
{
|
||||
int num, found = 0;
|
||||
size_t len = 0, tmp_len = 0;
|
||||
|
|
@ -552,7 +552,7 @@ ACMD(do_oasis_links)
|
|||
|
||||
/* Helper Functions */
|
||||
/* List all rooms in a zone. */
|
||||
static void list_rooms(struct char_data *ch, zone_rnum rnum, room_vnum vmin, room_vnum vmax)
|
||||
static void list_rooms(char_data *ch, zone_rnum rnum, room_vnum vmin, room_vnum vmax)
|
||||
{
|
||||
room_rnum i;
|
||||
room_vnum bottom, top;
|
||||
|
|
@ -614,7 +614,7 @@ static void list_rooms(struct char_data *ch, zone_rnum rnum, room_vnum vmin, roo
|
|||
}
|
||||
|
||||
/* List all mobiles in a zone. */
|
||||
static void list_mobiles(struct char_data *ch, zone_rnum rnum, mob_vnum vmin, mob_vnum vmax)
|
||||
static void list_mobiles(char_data *ch, zone_rnum rnum, mob_vnum vmin, mob_vnum vmax)
|
||||
{
|
||||
mob_rnum i;
|
||||
mob_vnum bottom, top;
|
||||
|
|
@ -660,7 +660,7 @@ static void list_mobiles(struct char_data *ch, zone_rnum rnum, mob_vnum vmin, mo
|
|||
}
|
||||
|
||||
/* List all objects in a zone. */
|
||||
static void list_objects(struct char_data *ch, zone_rnum rnum, obj_vnum vmin, obj_vnum vmax)
|
||||
static void list_objects(char_data *ch, zone_rnum rnum, obj_vnum vmin, obj_vnum vmax)
|
||||
{
|
||||
obj_rnum i;
|
||||
obj_vnum bottom, top;
|
||||
|
|
@ -707,7 +707,7 @@ static void list_objects(struct char_data *ch, zone_rnum rnum, obj_vnum vmin, ob
|
|||
}
|
||||
|
||||
/* List all shops in a zone. */
|
||||
static void list_shops(struct char_data *ch, zone_rnum rnum, shop_vnum vmin, shop_vnum vmax)
|
||||
static void list_shops(char_data *ch, zone_rnum rnum, shop_vnum vmin, shop_vnum vmax)
|
||||
{
|
||||
shop_rnum i;
|
||||
shop_vnum bottom, top;
|
||||
|
|
@ -751,7 +751,7 @@ static void list_shops(struct char_data *ch, zone_rnum rnum, shop_vnum vmin, sho
|
|||
}
|
||||
|
||||
/* List all zones in the world (sort of like 'show zones'). */
|
||||
static void list_zones(struct char_data *ch, zone_rnum rnum, zone_vnum vmin, zone_vnum vmax, char *name)
|
||||
static void list_zones(char_data *ch, zone_rnum rnum, zone_vnum vmin, zone_vnum vmax, char *name)
|
||||
{
|
||||
int counter = 0;
|
||||
size_t len = 0, tmp_len = 0;
|
||||
|
|
@ -804,7 +804,7 @@ static void list_zones(struct char_data *ch, zone_rnum rnum, zone_vnum vmin, zon
|
|||
}
|
||||
|
||||
/* Prints all of the zone information for the selected zone. */
|
||||
void print_zone(struct char_data *ch, zone_vnum vnum)
|
||||
void print_zone(char_data *ch, zone_vnum vnum)
|
||||
{
|
||||
zone_rnum rnum;
|
||||
int size_rooms, size_objects, size_mobiles, size_quests, size_shops, size_trigs, i, largest_table;
|
||||
|
|
@ -899,7 +899,7 @@ void print_zone(struct char_data *ch, zone_vnum vnum)
|
|||
}
|
||||
|
||||
/* List code by Ronald Evers. */
|
||||
static void list_triggers(struct char_data *ch, zone_rnum rnum, trig_vnum vmin, trig_vnum vmax)
|
||||
static void list_triggers(char_data *ch, zone_rnum rnum, trig_vnum vmin, trig_vnum vmax)
|
||||
{
|
||||
int i, bottom, top, counter = 0;
|
||||
char trgtypes[256];
|
||||
|
|
|
|||
106
src/objsave.c
106
src/objsave.c
|
|
@ -31,32 +31,32 @@
|
|||
#define MAX_BAG_ROWS 5
|
||||
|
||||
/* local functions */
|
||||
static int Crash_save(struct obj_data *obj, FILE *fp, int location);
|
||||
static void Crash_extract_norent_eq(struct char_data *ch);
|
||||
static void auto_equip(struct char_data *ch, struct obj_data *obj, int location);
|
||||
static int Crash_offer_rent(struct char_data *ch, struct char_data *receptionist, int display, int factor);
|
||||
static int Crash_report_unrentables(struct char_data *ch, struct char_data *recep, struct obj_data *obj);
|
||||
static void Crash_report_rent(struct char_data *ch, struct char_data *recep, struct obj_data *obj, long *cost, long *nitems, int display, int factor);
|
||||
static int gen_receptionist(struct char_data *ch, struct char_data *recep, int cmd, char *arg, int mode);
|
||||
static void Crash_rent_deadline(struct char_data *ch, struct char_data *recep, long cost);
|
||||
static void Crash_restore_weight(struct obj_data *obj);
|
||||
static void Crash_extract_objs(struct obj_data *obj);
|
||||
static int Crash_is_unrentable(struct obj_data *obj);
|
||||
static void Crash_extract_norents(struct obj_data *obj);
|
||||
static void Crash_extract_expensive(struct obj_data *obj);
|
||||
static void Crash_calculate_rent(struct obj_data *obj, int *cost);
|
||||
static void Crash_cryosave(struct char_data *ch, int cost);
|
||||
static int Crash_load_objs(struct char_data *ch);
|
||||
static int handle_obj(struct obj_data *obj, struct char_data *ch, int locate, struct obj_data **cont_rows);
|
||||
static int objsave_write_rentcode(FILE *fl, int rentcode, int cost_per_day, struct char_data *ch);
|
||||
static int Crash_save(obj_data *obj, FILE *fp, int location);
|
||||
static void Crash_extract_norent_eq(char_data *ch);
|
||||
static void auto_equip(char_data *ch, obj_data *obj, int location);
|
||||
static int Crash_offer_rent(char_data *ch, char_data *receptionist, int display, int factor);
|
||||
static int Crash_report_unrentables(char_data *ch, char_data *recep, obj_data *obj);
|
||||
static void Crash_report_rent(char_data *ch, char_data *recep, obj_data *obj, long *cost, long *nitems, int display, int factor);
|
||||
static int gen_receptionist(char_data *ch, char_data *recep, int cmd, char *arg, int mode);
|
||||
static void Crash_rent_deadline(char_data *ch, char_data *recep, long cost);
|
||||
static void Crash_restore_weight(obj_data *obj);
|
||||
static void Crash_extract_objs(obj_data *obj);
|
||||
static int Crash_is_unrentable(obj_data *obj);
|
||||
static void Crash_extract_norents(obj_data *obj);
|
||||
static void Crash_extract_expensive(obj_data *obj);
|
||||
static void Crash_calculate_rent(obj_data *obj, int *cost);
|
||||
static void Crash_cryosave(char_data *ch, int cost);
|
||||
static int Crash_load_objs(char_data *ch);
|
||||
static int handle_obj(obj_data *obj, char_data *ch, int locate, obj_data **cont_rows);
|
||||
static int objsave_write_rentcode(FILE *fl, int rentcode, int cost_per_day, char_data *ch);
|
||||
|
||||
/* Writes one object record to FILE. Old name: Obj_to_store() */
|
||||
int objsave_save_obj_record(struct obj_data *obj, FILE *fp, int locate)
|
||||
int objsave_save_obj_record(obj_data *obj, FILE *fp, int locate)
|
||||
{
|
||||
int counter2;
|
||||
struct extra_descr_data *ex_desc;
|
||||
char buf1[MAX_STRING_LENGTH +1];
|
||||
struct obj_data *temp = NULL;
|
||||
obj_data *temp = NULL;
|
||||
|
||||
if (GET_OBJ_VNUM(obj) != NOTHING)
|
||||
temp=read_object(GET_OBJ_VNUM(obj), VIRTUAL);
|
||||
|
|
@ -164,7 +164,7 @@ int objsave_save_obj_record(struct obj_data *obj, FILE *fp, int locate)
|
|||
#undef TEST_OBJN
|
||||
|
||||
/* AutoEQ by Burkhard Knopf. */
|
||||
static void auto_equip(struct char_data *ch, struct obj_data *obj, int location)
|
||||
static void auto_equip(char_data *ch, obj_data *obj, int location)
|
||||
{
|
||||
int j;
|
||||
|
||||
|
|
@ -280,7 +280,7 @@ int Crash_delete_file(char *name)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
int Crash_delete_crashfile(struct char_data *ch)
|
||||
int Crash_delete_crashfile(char_data *ch)
|
||||
{
|
||||
char filename[MAX_INPUT_LENGTH];
|
||||
int numread;
|
||||
|
|
@ -376,7 +376,7 @@ void update_obj_file(void)
|
|||
Crash_clean_file(player_table[i].name);
|
||||
}
|
||||
|
||||
void Crash_listrent(struct char_data *ch, char *name)
|
||||
void Crash_listrent(char_data *ch, char *name)
|
||||
{
|
||||
FILE *fl;
|
||||
char filename[MAX_INPUT_LENGTH], buf[MAX_STRING_LENGTH], line[READ_SIZE];
|
||||
|
|
@ -447,14 +447,14 @@ void Crash_listrent(struct char_data *ch, char *name)
|
|||
* 0 - successful load, keep char in rent room.
|
||||
* 1 - load failure or load of crash items -- put char in temple.
|
||||
* 2 - rented equipment lost (no $) */
|
||||
int Crash_load(struct char_data *ch)
|
||||
int Crash_load(char_data *ch)
|
||||
{
|
||||
return (Crash_load_objs(ch));
|
||||
}
|
||||
|
||||
static int Crash_save(struct obj_data *obj, FILE *fp, int location)
|
||||
static int Crash_save(obj_data *obj, FILE *fp, int location)
|
||||
{
|
||||
struct obj_data *tmp;
|
||||
obj_data *tmp;
|
||||
int result;
|
||||
|
||||
if (obj) {
|
||||
|
|
@ -472,7 +472,7 @@ static int Crash_save(struct obj_data *obj, FILE *fp, int location)
|
|||
return (TRUE);
|
||||
}
|
||||
|
||||
static void Crash_restore_weight(struct obj_data *obj)
|
||||
static void Crash_restore_weight(obj_data *obj)
|
||||
{
|
||||
if (obj) {
|
||||
Crash_restore_weight(obj->contains);
|
||||
|
|
@ -484,7 +484,7 @@ static void Crash_restore_weight(struct obj_data *obj)
|
|||
|
||||
/* Get !RENT items from equipment to inventory and extract !RENT out of worn
|
||||
* containers. */
|
||||
static void Crash_extract_norent_eq(struct char_data *ch)
|
||||
static void Crash_extract_norent_eq(char_data *ch)
|
||||
{
|
||||
int j;
|
||||
|
||||
|
|
@ -499,7 +499,7 @@ static void Crash_extract_norent_eq(struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void Crash_extract_objs(struct obj_data *obj)
|
||||
static void Crash_extract_objs(obj_data *obj)
|
||||
{
|
||||
if (obj) {
|
||||
Crash_extract_objs(obj->contains);
|
||||
|
|
@ -508,7 +508,7 @@ static void Crash_extract_objs(struct obj_data *obj)
|
|||
}
|
||||
}
|
||||
|
||||
static int Crash_is_unrentable(struct obj_data *obj)
|
||||
static int Crash_is_unrentable(obj_data *obj)
|
||||
{
|
||||
if (!obj)
|
||||
return FALSE;
|
||||
|
|
@ -524,7 +524,7 @@ static int Crash_is_unrentable(struct obj_data *obj)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void Crash_extract_norents(struct obj_data *obj)
|
||||
static void Crash_extract_norents(obj_data *obj)
|
||||
{
|
||||
if (obj) {
|
||||
Crash_extract_norents(obj->contains);
|
||||
|
|
@ -534,9 +534,9 @@ static void Crash_extract_norents(struct obj_data *obj)
|
|||
}
|
||||
}
|
||||
|
||||
static void Crash_extract_expensive(struct obj_data *obj)
|
||||
static void Crash_extract_expensive(obj_data *obj)
|
||||
{
|
||||
struct obj_data *tobj, *max;
|
||||
obj_data *tobj, *max;
|
||||
|
||||
max = obj;
|
||||
for (tobj = obj; tobj; tobj = tobj->next_content)
|
||||
|
|
@ -545,7 +545,7 @@ static void Crash_extract_expensive(struct obj_data *obj)
|
|||
extract_obj(max);
|
||||
}
|
||||
|
||||
static void Crash_calculate_rent(struct obj_data *obj, int *cost)
|
||||
static void Crash_calculate_rent(obj_data *obj, int *cost)
|
||||
{
|
||||
if (obj) {
|
||||
*cost += MAX(0, GET_OBJ_RENT(obj));
|
||||
|
|
@ -554,7 +554,7 @@ static void Crash_calculate_rent(struct obj_data *obj, int *cost)
|
|||
}
|
||||
}
|
||||
|
||||
void Crash_crashsave(struct char_data *ch)
|
||||
void Crash_crashsave(char_data *ch)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
int j;
|
||||
|
|
@ -592,7 +592,7 @@ void Crash_crashsave(struct char_data *ch)
|
|||
REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_CRASH);
|
||||
}
|
||||
|
||||
void Crash_idlesave(struct char_data *ch)
|
||||
void Crash_idlesave(char_data *ch)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
int j;
|
||||
|
|
@ -666,7 +666,7 @@ void Crash_idlesave(struct char_data *ch)
|
|||
Crash_extract_objs(ch->carrying);
|
||||
}
|
||||
|
||||
void Crash_rentsave(struct char_data *ch, int cost)
|
||||
void Crash_rentsave(char_data *ch, int cost)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
int j;
|
||||
|
|
@ -707,7 +707,7 @@ void Crash_rentsave(struct char_data *ch, int cost)
|
|||
Crash_extract_objs(ch->carrying);
|
||||
}
|
||||
|
||||
static int objsave_write_rentcode(FILE *fl, int rentcode, int cost_per_day, struct char_data *ch)
|
||||
static int objsave_write_rentcode(FILE *fl, int rentcode, int cost_per_day, char_data *ch)
|
||||
{
|
||||
if (fprintf(fl, "%d %ld %d %d %d %d\r\n",
|
||||
rentcode,
|
||||
|
|
@ -725,7 +725,7 @@ static int objsave_write_rentcode(FILE *fl, int rentcode, int cost_per_day, stru
|
|||
|
||||
}
|
||||
|
||||
static void Crash_cryosave(struct char_data *ch, int cost)
|
||||
static void Crash_cryosave(char_data *ch, int cost)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
int j;
|
||||
|
|
@ -769,7 +769,7 @@ static void Crash_cryosave(struct char_data *ch, int cost)
|
|||
}
|
||||
|
||||
/* Routines used for the receptionist. */
|
||||
static void Crash_rent_deadline(struct char_data *ch, struct char_data *recep,
|
||||
static void Crash_rent_deadline(char_data *ch, char_data *recep,
|
||||
long cost)
|
||||
{
|
||||
long rent_deadline;
|
||||
|
|
@ -784,8 +784,8 @@ static void Crash_rent_deadline(struct char_data *ch, struct char_data *recep,
|
|||
act(buf, FALSE, recep, 0, ch, TO_VICT);
|
||||
}
|
||||
|
||||
static int Crash_report_unrentables(struct char_data *ch, struct char_data *recep,
|
||||
struct obj_data *obj)
|
||||
static int Crash_report_unrentables(char_data *ch, char_data *recep,
|
||||
obj_data *obj)
|
||||
{
|
||||
char buf[128];
|
||||
int has_norents = 0;
|
||||
|
|
@ -802,7 +802,7 @@ static int Crash_report_unrentables(struct char_data *ch, struct char_data *rece
|
|||
return (has_norents);
|
||||
}
|
||||
|
||||
static void Crash_report_rent(struct char_data *ch, struct char_data *recep, struct
|
||||
static void Crash_report_rent(char_data *ch, char_data *recep, struct
|
||||
obj_data *obj, long *cost, long *nitems, int display, int factor)
|
||||
{
|
||||
static char buf[256];
|
||||
|
|
@ -822,7 +822,7 @@ static void Crash_report_rent(struct char_data *ch, struct char_data *recep, str
|
|||
}
|
||||
}
|
||||
|
||||
static int Crash_offer_rent(struct char_data *ch, struct char_data *recep,
|
||||
static int Crash_offer_rent(char_data *ch, char_data *recep,
|
||||
int display, int factor)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
|
|
@ -871,7 +871,7 @@ static int Crash_offer_rent(struct char_data *ch, struct char_data *recep,
|
|||
return (totalcost);
|
||||
}
|
||||
|
||||
static int gen_receptionist(struct char_data *ch, struct char_data *recep, int cmd,
|
||||
static int gen_receptionist(char_data *ch, char_data *recep, int cmd,
|
||||
char *arg, int mode)
|
||||
{
|
||||
int cost;
|
||||
|
|
@ -952,17 +952,17 @@ static int gen_receptionist(struct char_data *ch, struct char_data *recep, int c
|
|||
|
||||
SPECIAL(receptionist)
|
||||
{
|
||||
return (gen_receptionist(ch, (struct char_data *)me, cmd, argument, RENT_FACTOR));
|
||||
return (gen_receptionist(ch, (char_data *)me, cmd, argument, RENT_FACTOR));
|
||||
}
|
||||
|
||||
SPECIAL(cryogenicist)
|
||||
{
|
||||
return (gen_receptionist(ch, (struct char_data *)me, cmd, argument, CRYO_FACTOR));
|
||||
return (gen_receptionist(ch, (char_data *)me, cmd, argument, CRYO_FACTOR));
|
||||
}
|
||||
|
||||
void Crash_save_all(void)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
for (d = descriptor_list; d; d = d->next) {
|
||||
if ((STATE(d) == CON_PLAYING) && !IS_NPC(d->character)) {
|
||||
if (PLR_FLAGGED(d->character, PLR_CRASH)) {
|
||||
|
|
@ -982,7 +982,7 @@ obj_save_data *objsave_parse_objects(FILE *fl)
|
|||
obj_save_data *head, *current, *tempsave;
|
||||
char f1[128], f2[128], f3[128], f4[128], line[READ_SIZE];
|
||||
int t[4],i, nr;
|
||||
struct obj_data *temp;
|
||||
obj_data *temp;
|
||||
|
||||
CREATE(current, obj_save_data, 1);
|
||||
head = current;
|
||||
|
|
@ -1175,7 +1175,7 @@ obj_save_data *objsave_parse_objects(FILE *fl)
|
|||
return head;
|
||||
}
|
||||
|
||||
static int Crash_load_objs(struct char_data *ch) {
|
||||
static int Crash_load_objs(char_data *ch) {
|
||||
FILE *fl;
|
||||
char filename[PATH_MAX];
|
||||
char line[READ_SIZE];
|
||||
|
|
@ -1183,7 +1183,7 @@ static int Crash_load_objs(struct char_data *ch) {
|
|||
char str[64];
|
||||
int i, num_of_days, orig_rent_code, num_objs=0;
|
||||
unsigned long cost;
|
||||
struct obj_data *cont_row[MAX_BAG_ROWS];
|
||||
obj_data *cont_row[MAX_BAG_ROWS];
|
||||
int rentcode = RENT_UNDEF;
|
||||
int timed=0,netcost=0,gold,account,nitems;
|
||||
obj_save_data *loaded, *current;
|
||||
|
|
@ -1276,10 +1276,10 @@ static int Crash_load_objs(struct char_data *ch) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int handle_obj(struct obj_data *temp, struct char_data *ch, int locate, struct obj_data **cont_row)
|
||||
static int handle_obj(obj_data *temp, char_data *ch, int locate, obj_data **cont_row)
|
||||
{
|
||||
int j;
|
||||
struct obj_data *obj1;
|
||||
obj_data *obj1;
|
||||
|
||||
if (!temp) /* this should never happen, but.... */
|
||||
return FALSE;
|
||||
|
|
|
|||
86
src/oedit.c
86
src/oedit.c
|
|
@ -26,23 +26,23 @@
|
|||
#include "modify.h"
|
||||
|
||||
/* local functions */
|
||||
static void oedit_setup_new(struct descriptor_data *d);
|
||||
static void oedit_disp_container_flags_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_extradesc_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_prompt_apply_menu(struct descriptor_data *d);
|
||||
static void oedit_liquid_type(struct descriptor_data *d);
|
||||
static void oedit_disp_apply_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_weapon_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_spells_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_val1_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_val2_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_val3_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_val4_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_type_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_extra_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_wear_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_menu(struct descriptor_data *d);
|
||||
static void oedit_disp_perm_menu(struct descriptor_data *d);
|
||||
static void oedit_setup_new(descriptor_data *d);
|
||||
static void oedit_disp_container_flags_menu(descriptor_data *d);
|
||||
static void oedit_disp_extradesc_menu(descriptor_data *d);
|
||||
static void oedit_disp_prompt_apply_menu(descriptor_data *d);
|
||||
static void oedit_liquid_type(descriptor_data *d);
|
||||
static void oedit_disp_apply_menu(descriptor_data *d);
|
||||
static void oedit_disp_weapon_menu(descriptor_data *d);
|
||||
static void oedit_disp_spells_menu(descriptor_data *d);
|
||||
static void oedit_disp_val1_menu(descriptor_data *d);
|
||||
static void oedit_disp_val2_menu(descriptor_data *d);
|
||||
static void oedit_disp_val3_menu(descriptor_data *d);
|
||||
static void oedit_disp_val4_menu(descriptor_data *d);
|
||||
static void oedit_disp_type_menu(descriptor_data *d);
|
||||
static void oedit_disp_extra_menu(descriptor_data *d);
|
||||
static void oedit_disp_wear_menu(descriptor_data *d);
|
||||
static void oedit_disp_menu(descriptor_data *d);
|
||||
static void oedit_disp_perm_menu(descriptor_data *d);
|
||||
static void oedit_save_to_disk(int zone_num);
|
||||
|
||||
/* handy macro */
|
||||
|
|
@ -54,7 +54,7 @@ ACMD(do_oasis_oedit)
|
|||
int save = 0;
|
||||
zone_vnum number = NOWHERE;
|
||||
zone_rnum real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -183,7 +183,7 @@ ACMD(do_oasis_oedit)
|
|||
GET_NAME(ch), zone_table[OLC_ZNUM(d)].number, GET_OLC_ZONE(ch));
|
||||
}
|
||||
|
||||
static void oedit_setup_new(struct descriptor_data *d)
|
||||
static void oedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
CREATE(OLC_OBJ(d), struct obj_data, 1);
|
||||
|
||||
|
|
@ -199,9 +199,9 @@ static void oedit_setup_new(struct descriptor_data *d)
|
|||
OLC_OBJ(d)->proto_script = OLC_SCRIPT(d) = NULL;
|
||||
}
|
||||
|
||||
void oedit_setup_existing(struct descriptor_data *d, int real_num)
|
||||
void oedit_setup_existing(descriptor_data *d, int real_num)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
/* Allocate object in memory. */
|
||||
CREATE(obj, struct obj_data, 1);
|
||||
|
|
@ -218,12 +218,12 @@ void oedit_setup_existing(struct descriptor_data *d, int real_num)
|
|||
OLC_OBJ(d)->proto_script = NULL;
|
||||
}
|
||||
|
||||
void oedit_save_internally(struct descriptor_data *d)
|
||||
void oedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
obj_rnum robj_num;
|
||||
struct descriptor_data *dsc;
|
||||
struct obj_data *obj;
|
||||
descriptor_data *dsc;
|
||||
obj_data *obj;
|
||||
|
||||
i = (real_object(OLC_NUM(d)) == NOTHING);
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ static void oedit_save_to_disk(int zone_num)
|
|||
|
||||
/* Menu functions */
|
||||
/* For container flags. */
|
||||
static void oedit_disp_container_flags_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_container_flags_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
get_char_colors(d->character);
|
||||
|
|
@ -310,7 +310,7 @@ static void oedit_disp_container_flags_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* For extra descriptions. */
|
||||
static void oedit_disp_extradesc_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_extradesc_menu(descriptor_data *d)
|
||||
{
|
||||
struct extra_descr_data *extra_desc = OLC_DESC(d);
|
||||
|
||||
|
|
@ -331,7 +331,7 @@ static void oedit_disp_extradesc_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Ask for *which* apply to edit. */
|
||||
static void oedit_disp_prompt_apply_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_prompt_apply_menu(descriptor_data *d)
|
||||
{
|
||||
char apply_buf[MAX_STRING_LENGTH];
|
||||
int counter;
|
||||
|
|
@ -353,7 +353,7 @@ static void oedit_disp_prompt_apply_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Ask for liquid type. */
|
||||
static void oedit_liquid_type(struct descriptor_data *d)
|
||||
static void oedit_liquid_type(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -363,7 +363,7 @@ static void oedit_liquid_type(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The actual apply to set. */
|
||||
static void oedit_disp_apply_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_apply_menu(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -373,7 +373,7 @@ static void oedit_disp_apply_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Weapon type. */
|
||||
static void oedit_disp_weapon_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_weapon_menu(descriptor_data *d)
|
||||
{
|
||||
int counter, columns = 0;
|
||||
|
||||
|
|
@ -389,7 +389,7 @@ static void oedit_disp_weapon_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Spell type. */
|
||||
static void oedit_disp_spells_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_spells_menu(descriptor_data *d)
|
||||
{
|
||||
int counter, columns = 0;
|
||||
|
||||
|
|
@ -404,7 +404,7 @@ static void oedit_disp_spells_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object value #1 */
|
||||
static void oedit_disp_val1_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_val1_menu(descriptor_data *d)
|
||||
{
|
||||
OLC_MODE(d) = OEDIT_VALUE_1;
|
||||
switch (GET_OBJ_TYPE(OLC_OBJ(d))) {
|
||||
|
|
@ -460,7 +460,7 @@ static void oedit_disp_val1_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object value #2 */
|
||||
static void oedit_disp_val2_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_val2_menu(descriptor_data *d)
|
||||
{
|
||||
OLC_MODE(d) = OEDIT_VALUE_2;
|
||||
switch (GET_OBJ_TYPE(OLC_OBJ(d))) {
|
||||
|
|
@ -493,7 +493,7 @@ static void oedit_disp_val2_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object value #3 */
|
||||
static void oedit_disp_val3_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_val3_menu(descriptor_data *d)
|
||||
{
|
||||
OLC_MODE(d) = OEDIT_VALUE_3;
|
||||
switch (GET_OBJ_TYPE(OLC_OBJ(d))) {
|
||||
|
|
@ -524,7 +524,7 @@ static void oedit_disp_val3_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object value #4 */
|
||||
static void oedit_disp_val4_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_val4_menu(descriptor_data *d)
|
||||
{
|
||||
OLC_MODE(d) = OEDIT_VALUE_4;
|
||||
switch (GET_OBJ_TYPE(OLC_OBJ(d))) {
|
||||
|
|
@ -548,7 +548,7 @@ static void oedit_disp_val4_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object type. */
|
||||
static void oedit_disp_type_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_type_menu(descriptor_data *d)
|
||||
{
|
||||
int counter, columns = 0;
|
||||
|
||||
|
|
@ -563,7 +563,7 @@ static void oedit_disp_type_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object extra flags. */
|
||||
static void oedit_disp_extra_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_extra_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
int counter, columns = 0;
|
||||
|
|
@ -582,7 +582,7 @@ static void oedit_disp_extra_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object perm flags. */
|
||||
static void oedit_disp_perm_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_perm_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
int counter, columns = 0;
|
||||
|
|
@ -599,7 +599,7 @@ static void oedit_disp_perm_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Object wear flags. */
|
||||
static void oedit_disp_wear_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_wear_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
int counter, columns = 0;
|
||||
|
|
@ -617,11 +617,11 @@ static void oedit_disp_wear_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display main menu. */
|
||||
static void oedit_disp_menu(struct descriptor_data *d)
|
||||
static void oedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
obj = OLC_OBJ(d);
|
||||
get_char_colors(d->character);
|
||||
|
|
@ -691,7 +691,7 @@ static void oedit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* main loop (of sorts).. basically interpreter throws all input to here. */
|
||||
void oedit_parse(struct descriptor_data *d, char *arg)
|
||||
void oedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int number, max_val, min_val;
|
||||
char *oldtext = NULL;
|
||||
|
|
@ -1215,7 +1215,7 @@ void oedit_parse(struct descriptor_data *d, char *arg)
|
|||
oedit_disp_menu(d);
|
||||
}
|
||||
|
||||
void oedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void oedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case OEDIT_ACTDESC:
|
||||
|
|
|
|||
|
|
@ -35,12 +35,12 @@
|
|||
#define PT_LLAST(i) (player_table[(i)].last)
|
||||
|
||||
/* local functions */
|
||||
static void load_affects(FILE *fl, struct char_data *ch);
|
||||
static void load_skills(FILE *fl, struct char_data *ch);
|
||||
static void load_quests(FILE *fl, struct char_data *ch);
|
||||
static void load_HMVS(struct char_data *ch, const char *line, int mode);
|
||||
static void write_aliases_ascii(FILE *file, struct char_data *ch);
|
||||
static void read_aliases_ascii(FILE *file, struct char_data *ch, int count);
|
||||
static void load_affects(FILE *fl, char_data *ch);
|
||||
static void load_skills(FILE *fl, char_data *ch);
|
||||
static void load_quests(FILE *fl, char_data *ch);
|
||||
static void load_HMVS(char_data *ch, const char *line, int mode);
|
||||
static void write_aliases_ascii(FILE *file, char_data *ch);
|
||||
static void read_aliases_ascii(FILE *file, char_data *ch, int count);
|
||||
|
||||
/* New version to build player index for ASCII Player Files. Generate index
|
||||
* table for the player file. */
|
||||
|
|
@ -225,7 +225,7 @@ char *get_name_by_id(long id)
|
|||
/* Stuff related to the save/load player system. */
|
||||
/* New load_char reads ASCII Player Files. Load a char, TRUE if loaded, FALSE
|
||||
* if not. */
|
||||
int load_char(const char *name, struct char_data *ch)
|
||||
int load_char(const char *name, char_data *ch)
|
||||
{
|
||||
int id, i;
|
||||
FILE *fl;
|
||||
|
|
@ -489,13 +489,13 @@ int load_char(const char *name, struct char_data *ch)
|
|||
|
||||
/* Write the vital data of a player to the player file. */
|
||||
/* This is the ASCII Player Files save routine. */
|
||||
void save_char(struct char_data * ch)
|
||||
void save_char(char_data * ch)
|
||||
{
|
||||
FILE *fl;
|
||||
char filename[40], buf[MAX_STRING_LENGTH], bits[127], bits2[127], bits3[127], bits4[127];
|
||||
int i, j, id, save_index = FALSE;
|
||||
struct affected_type *aff, tmp_aff[MAX_AFFECT];
|
||||
struct obj_data *char_eq[NUM_WEARS];
|
||||
obj_data *char_eq[NUM_WEARS];
|
||||
trig_data *t;
|
||||
|
||||
if (IS_NPC(ch) || GET_PFILEPOS(ch) < 0)
|
||||
|
|
@ -825,7 +825,7 @@ void clean_pfiles(void)
|
|||
|
||||
/* load_affects function now handles both 32-bit and
|
||||
128-bit affect bitvectors for backward compatibility */
|
||||
static void load_affects(FILE *fl, struct char_data *ch)
|
||||
static void load_affects(FILE *fl, char_data *ch)
|
||||
{
|
||||
int num = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0, num6 = 0, num7 = 0, num8 = 0, i, n_vars;
|
||||
char line[MAX_INPUT_LENGTH + 1];
|
||||
|
|
@ -858,7 +858,7 @@ static void load_affects(FILE *fl, struct char_data *ch)
|
|||
} while (num != 0);
|
||||
}
|
||||
|
||||
static void load_skills(FILE *fl, struct char_data *ch)
|
||||
static void load_skills(FILE *fl, char_data *ch)
|
||||
{
|
||||
int num = 0, num2 = 0;
|
||||
char line[MAX_INPUT_LENGTH + 1];
|
||||
|
|
@ -871,7 +871,7 @@ static void load_skills(FILE *fl, struct char_data *ch)
|
|||
} while (num != 0);
|
||||
}
|
||||
|
||||
void load_quests(FILE *fl, struct char_data *ch)
|
||||
void load_quests(FILE *fl, char_data *ch)
|
||||
{
|
||||
int num = NOTHING;
|
||||
char line[MAX_INPUT_LENGTH + 1];
|
||||
|
|
@ -884,7 +884,7 @@ void load_quests(FILE *fl, struct char_data *ch)
|
|||
} while (num != NOTHING);
|
||||
}
|
||||
|
||||
static void load_HMVS(struct char_data *ch, const char *line, int mode)
|
||||
static void load_HMVS(char_data *ch, const char *line, int mode)
|
||||
{
|
||||
int num = 0, num2 = 0;
|
||||
|
||||
|
|
@ -913,7 +913,7 @@ static void load_HMVS(struct char_data *ch, const char *line, int mode)
|
|||
}
|
||||
}
|
||||
|
||||
static void write_aliases_ascii(FILE *file, struct char_data *ch)
|
||||
static void write_aliases_ascii(FILE *file, char_data *ch)
|
||||
{
|
||||
struct alias_data *temp;
|
||||
int count = 0;
|
||||
|
|
@ -936,7 +936,7 @@ static void write_aliases_ascii(FILE *file, struct char_data *ch)
|
|||
temp->type);
|
||||
}
|
||||
|
||||
static void read_aliases_ascii(FILE *file, struct char_data *ch, int count)
|
||||
static void read_aliases_ascii(FILE *file, char_data *ch, int count)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,17 +22,17 @@
|
|||
#include "screen.h"
|
||||
|
||||
/* Internal (static) functions */
|
||||
static void prefedit_setup(struct descriptor_data *d, struct char_data *vict);
|
||||
static void prefedit_save_to_char(struct descriptor_data *d);
|
||||
static void prefedit_disp_main_menu(struct descriptor_data *d);
|
||||
static void prefedit_disp_toggles_menu(struct descriptor_data *d);
|
||||
static void prefedit_disp_prompt_menu(struct descriptor_data *d);
|
||||
static void prefedit_disp_color_menu(struct descriptor_data *d);
|
||||
static void prefedit_disp_syslog_menu(struct descriptor_data *d);
|
||||
static void prefedit_setup(descriptor_data *d, char_data *vict);
|
||||
static void prefedit_save_to_char(descriptor_data *d);
|
||||
static void prefedit_disp_main_menu(descriptor_data *d);
|
||||
static void prefedit_disp_toggles_menu(descriptor_data *d);
|
||||
static void prefedit_disp_prompt_menu(descriptor_data *d);
|
||||
static void prefedit_disp_color_menu(descriptor_data *d);
|
||||
static void prefedit_disp_syslog_menu(descriptor_data *d);
|
||||
|
||||
/* Note: there is no setup_new, as you can ONLY edit an existing player */
|
||||
/* vict is normally = d->character, except when imps edit players */
|
||||
static void prefedit_setup(struct descriptor_data *d, struct char_data *vict)
|
||||
static void prefedit_setup(descriptor_data *d, char_data *vict)
|
||||
{
|
||||
int i;
|
||||
struct prefs_data *toggles;
|
||||
|
|
@ -58,10 +58,10 @@ static void prefedit_setup(struct descriptor_data *d, struct char_data *vict)
|
|||
prefedit_disp_main_menu(d);
|
||||
}
|
||||
|
||||
static void prefedit_save_to_char(struct descriptor_data *d)
|
||||
static void prefedit_save_to_char(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
vict = PREFEDIT_GET_CHAR;
|
||||
|
||||
|
|
@ -94,9 +94,9 @@ static void prefedit_save_to_char(struct descriptor_data *d)
|
|||
}
|
||||
}
|
||||
|
||||
static void prefedit_disp_main_menu(struct descriptor_data *d)
|
||||
static void prefedit_disp_main_menu(descriptor_data *d)
|
||||
{
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
char prompt_string[10], color_string[10], syslog_string[10];
|
||||
const char *multi_types[] = { "Off", "Brief", "Normal", "Complete", "\n" };
|
||||
|
||||
|
|
@ -182,9 +182,9 @@ static void prefedit_disp_main_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = PREFEDIT_MAIN_MENU;
|
||||
}
|
||||
|
||||
static void prefedit_disp_toggles_menu(struct descriptor_data *d)
|
||||
static void prefedit_disp_toggles_menu(descriptor_data *d)
|
||||
{
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
/* Set up the required variables and strings */
|
||||
vict = OLC_PREFS(d)->ch;
|
||||
|
|
@ -292,7 +292,7 @@ static void prefedit_disp_toggles_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = PREFEDIT_TOGGLE_MENU;
|
||||
}
|
||||
|
||||
static void prefedit_disp_prompt_menu(struct descriptor_data *d)
|
||||
static void prefedit_disp_prompt_menu(descriptor_data *d)
|
||||
{
|
||||
char prompt_string[7];
|
||||
|
||||
|
|
@ -320,7 +320,7 @@ static void prefedit_disp_prompt_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = PREFEDIT_PROMPT;
|
||||
}
|
||||
|
||||
static void prefedit_disp_color_menu(struct descriptor_data *d)
|
||||
static void prefedit_disp_color_menu(descriptor_data *d)
|
||||
{
|
||||
send_to_char(d->character, "%sColor level\r\n"
|
||||
"%s1%s) Off %s(do not display any color - monochrome)%s\r\n"
|
||||
|
|
@ -337,7 +337,7 @@ static void prefedit_disp_color_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = PREFEDIT_COLOR;
|
||||
}
|
||||
|
||||
static void prefedit_disp_syslog_menu(struct descriptor_data *d)
|
||||
static void prefedit_disp_syslog_menu(descriptor_data *d)
|
||||
{
|
||||
send_to_char(d->character, "%sSyslog level\r\n"
|
||||
"%s1%s) Off %s(do not display any logs or error messages)%s\r\n"
|
||||
|
|
@ -354,7 +354,7 @@ static void prefedit_disp_syslog_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = PREFEDIT_SYSLOG;
|
||||
}
|
||||
|
||||
void prefedit_parse(struct descriptor_data * d, char *arg)
|
||||
void prefedit_parse(descriptor_data * d, char *arg)
|
||||
{
|
||||
int number;
|
||||
|
||||
|
|
@ -762,7 +762,7 @@ void prefedit_parse(struct descriptor_data * d, char *arg)
|
|||
prefedit_disp_main_menu(d);
|
||||
}
|
||||
|
||||
void prefedit_Restore_Defaults(struct descriptor_data *d)
|
||||
void prefedit_Restore_Defaults(descriptor_data *d)
|
||||
{
|
||||
/* Let's do toggles one at a time */
|
||||
/* PRF_BRIEF - Off */
|
||||
|
|
@ -909,8 +909,8 @@ void prefedit_Restore_Defaults(struct descriptor_data *d)
|
|||
|
||||
ACMD(do_oasis_prefedit)
|
||||
{
|
||||
struct descriptor_data *d;
|
||||
struct char_data *vict;
|
||||
descriptor_data *d;
|
||||
char_data *vict;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/* Toggle structure held for OLC purposes */
|
||||
struct prefs_data {
|
||||
struct char_data *ch; /* Pointer to char being edited */
|
||||
char_data *ch; /* Pointer to char being edited */
|
||||
int pref_flags[PR_ARRAY_MAX]; /* Copy of player's pref flags */
|
||||
int wimp_level; /* Copy of player's wimp level */
|
||||
int page_length; /* Copy of player's pagelength */
|
||||
|
|
@ -53,7 +53,7 @@ struct prefs_data {
|
|||
#define PREFEDIT_TOGGLE_MENU 8
|
||||
|
||||
/* External Functions in prefedit.c */
|
||||
void prefedit_Restore_Defaults(struct descriptor_data *d);
|
||||
void prefedit_parse(struct descriptor_data * d, char *arg);
|
||||
void prefedit_Restore_Defaults(descriptor_data *d);
|
||||
void prefedit_parse(descriptor_data * d, char *arg);
|
||||
ACMD(do_oasis_prefedit);
|
||||
|
||||
|
|
|
|||
|
|
@ -22,19 +22,12 @@
|
|||
The following section is for Diku/Merc derivatives. Replace as needed.
|
||||
******************************************************************************/
|
||||
|
||||
#include "conf.h"
|
||||
#include "sysdep.h"
|
||||
#include "structs.h"
|
||||
#include "utils.h"
|
||||
#include "comm.h"
|
||||
#include "interpreter.h"
|
||||
#include "handler.h"
|
||||
#include "db.h"
|
||||
#include "screen.h"
|
||||
#include "improved-edit.h"
|
||||
#include "dg_scripts.h"
|
||||
#include "act.h"
|
||||
#include "modify.h"
|
||||
|
||||
/* Globals */
|
||||
const char * RGBone = "F022";
|
||||
|
|
@ -214,7 +207,7 @@ static time_t s_Uptime = 0;
|
|||
|
||||
static void Negotiate ( descriptor_t *apDescriptor );
|
||||
static void PerformHandshake ( descriptor_t *apDescriptor, char aCmd, char aProtocol );
|
||||
static void PerformSubnegotiation( descriptor_t *apDescriptor, char aCmd, char *apData, int aSize );
|
||||
static void PerformSubnegotiation(descriptor_t *apDescriptor, char aCmd, char *apData);
|
||||
|
||||
static void ParseMSDP ( descriptor_t *apDescriptor, const char *apData );
|
||||
static void ExecuteMSDPPair ( descriptor_t *apDescriptor, const char *apVariable, const char *apValue );
|
||||
|
|
@ -358,7 +351,7 @@ void ProtocolDestroy( protocol_t *apProtocol )
|
|||
free(apProtocol);
|
||||
}
|
||||
|
||||
ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char *apOut )
|
||||
ssize_t ProtocolInput( descriptor_t *apDescriptor, const char *apData, size_t aSize, char *apOut )
|
||||
{
|
||||
static char CmdBuf[MAX_PROTOCOL_BUFFER+1];
|
||||
static char IacBuf[MAX_PROTOCOL_BUFFER+1];
|
||||
|
|
@ -395,7 +388,7 @@ ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char
|
|||
pProtocol->bIACMode = false;
|
||||
IacBuf[IacIndex] = '\0';
|
||||
if ( IacIndex >= 2 )
|
||||
PerformSubnegotiation( apDescriptor, IacBuf[0], &IacBuf[1], IacIndex-1 );
|
||||
PerformSubnegotiation( apDescriptor, IacBuf[0], &IacBuf[1]);
|
||||
IacIndex = 0;
|
||||
}
|
||||
else
|
||||
|
|
@ -405,7 +398,7 @@ ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char
|
|||
isdigit(apData[Index+2]) && apData[Index+3] == 'z' )
|
||||
{
|
||||
char MXPBuffer [1024];
|
||||
char *pMXPTag = NULL;
|
||||
const char *pMXPTag = NULL;
|
||||
int i = 0; /* Loop counter */
|
||||
|
||||
Index += 4; /* Skip to the start of the MXP sequence. */
|
||||
|
|
@ -525,7 +518,7 @@ ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char
|
|||
return (CmdIndex);
|
||||
}
|
||||
|
||||
const char *ProtocolOutput( descriptor_t *apDescriptor, const char *apData, int *apLength )
|
||||
const char *ProtocolOutput( descriptor_t *apDescriptor, const char *apData, size_t *apLength )
|
||||
{
|
||||
static char Result[MAX_OUTPUT_BUFFER+1];
|
||||
const char Tab[] = "\t";
|
||||
|
|
@ -1068,13 +1061,13 @@ void MSDPSend( descriptor_t *apDescriptor, variable_t aMSDP )
|
|||
if ( VariableNameTable[aMSDP].bString )
|
||||
{
|
||||
/* Should really be replaced with a dynamic buffer */
|
||||
int RequiredBuffer = strlen(VariableNameTable[aMSDP].pName) +
|
||||
size_t RequiredBuffer = strlen(VariableNameTable[aMSDP].pName) +
|
||||
strlen(pProtocol->pVariables[aMSDP]->pValueString) + 12;
|
||||
|
||||
if ( RequiredBuffer >= MAX_VARIABLE_LENGTH )
|
||||
{
|
||||
sprintf( MSDPBuffer,
|
||||
"MSDPSend: %s %d bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
"MSDPSend: %s %ld bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
VariableNameTable[aMSDP].pName, RequiredBuffer,
|
||||
MAX_VARIABLE_LENGTH );
|
||||
ReportBug( MSDPBuffer );
|
||||
|
|
@ -1128,20 +1121,20 @@ void MSDPSendPair( descriptor_t *apDescriptor, const char *apVariable, const cha
|
|||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
/* Should really be replaced with a dynamic buffer */
|
||||
int RequiredBuffer = strlen(apVariable) + strlen(apValue) + 12;
|
||||
size_t RequiredBuffer = strlen(apVariable) + strlen(apValue) + 12;
|
||||
|
||||
if ( RequiredBuffer >= MAX_VARIABLE_LENGTH )
|
||||
{
|
||||
if ( RequiredBuffer - strlen(apValue) < MAX_VARIABLE_LENGTH )
|
||||
{
|
||||
sprintf( MSDPBuffer,
|
||||
"MSDPSendPair: %s %d bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
"MSDPSendPair: %s %ld bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
apVariable, RequiredBuffer, MAX_VARIABLE_LENGTH );
|
||||
}
|
||||
else /* The variable name itself is too long */
|
||||
{
|
||||
sprintf( MSDPBuffer,
|
||||
"MSDPSendPair: Variable name has a length of %d bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
"MSDPSendPair: Variable name has a length of %ld bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
RequiredBuffer, MAX_VARIABLE_LENGTH );
|
||||
}
|
||||
|
||||
|
|
@ -1175,20 +1168,20 @@ void MSDPSendList( descriptor_t *apDescriptor, const char *apVariable, const cha
|
|||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
/* Should really be replaced with a dynamic buffer */
|
||||
int RequiredBuffer = strlen(apVariable) + strlen(apValue) + 12;
|
||||
size_t RequiredBuffer = strlen(apVariable) + strlen(apValue) + 12;
|
||||
|
||||
if ( RequiredBuffer >= MAX_VARIABLE_LENGTH )
|
||||
{
|
||||
if ( RequiredBuffer - strlen(apValue) < MAX_VARIABLE_LENGTH )
|
||||
{
|
||||
sprintf( MSDPBuffer,
|
||||
"MSDPSendList: %s %d bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
"MSDPSendList: %s %ld bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
apVariable, RequiredBuffer, MAX_VARIABLE_LENGTH );
|
||||
}
|
||||
else /* The variable name itself is too long */
|
||||
{
|
||||
sprintf( MSDPBuffer,
|
||||
"MSDPSendList: Variable name has a length of %d bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
"MSDPSendList: Variable name has a length of %ld bytes (exceeds MAX_VARIABLE_LENGTH of %d).\n",
|
||||
RequiredBuffer, MAX_VARIABLE_LENGTH );
|
||||
}
|
||||
|
||||
|
|
@ -1221,7 +1214,7 @@ void MSDPSendList( descriptor_t *apDescriptor, const char *apVariable, const cha
|
|||
}
|
||||
}
|
||||
|
||||
void MSDPSetNumber( descriptor_t *apDescriptor, variable_t aMSDP, int aValue )
|
||||
void MSDPSetNumber(const descriptor_t *apDescriptor, variable_t aMSDP, int aValue )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
|
|
@ -1238,7 +1231,7 @@ void MSDPSetNumber( descriptor_t *apDescriptor, variable_t aMSDP, int aValue )
|
|||
}
|
||||
}
|
||||
|
||||
void MSDPSetString( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
void MSDPSetString(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
|
|
@ -1246,7 +1239,7 @@ void MSDPSetString( descriptor_t *apDescriptor, variable_t aMSDP, const char *ap
|
|||
{
|
||||
if ( VariableNameTable[aMSDP].bString )
|
||||
{
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, apValue) )
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, apValue) != 0 )
|
||||
{
|
||||
free(pProtocol->pVariables[aMSDP]->pValueString);
|
||||
pProtocol->pVariables[aMSDP]->pValueString = AllocString(apValue);
|
||||
|
|
@ -1256,7 +1249,7 @@ void MSDPSetString( descriptor_t *apDescriptor, variable_t aMSDP, const char *ap
|
|||
}
|
||||
}
|
||||
|
||||
void MSDPSetTable( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
void MSDPSetTable(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
|
|
@ -1278,7 +1271,7 @@ void MSDPSetTable( descriptor_t *apDescriptor, variable_t aMSDP, const char *apV
|
|||
strcat(pTable, apValue);
|
||||
strcat(pTable, MsdpTableStop);
|
||||
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, pTable) )
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, pTable) != 0 )
|
||||
{
|
||||
free(pProtocol->pVariables[aMSDP]->pValueString);
|
||||
pProtocol->pVariables[aMSDP]->pValueString = pTable;
|
||||
|
|
@ -1292,7 +1285,7 @@ void MSDPSetTable( descriptor_t *apDescriptor, variable_t aMSDP, const char *apV
|
|||
}
|
||||
}
|
||||
|
||||
void MSDPSetArray( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
void MSDPSetArray(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
|
|
@ -1314,7 +1307,7 @@ void MSDPSetArray( descriptor_t *apDescriptor, variable_t aMSDP, const char *apV
|
|||
strcat(pArray, apValue);
|
||||
strcat(pArray, MsdpArrayStop);
|
||||
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, pArray) )
|
||||
if ( strcmp(pProtocol->pVariables[aMSDP]->pValueString, pArray) != 0 )
|
||||
{
|
||||
free(pProtocol->pVariables[aMSDP]->pValueString);
|
||||
pProtocol->pVariables[aMSDP]->pValueString = pArray;
|
||||
|
|
@ -1344,7 +1337,7 @@ void MSSPSetPlayers( int aPlayers )
|
|||
MXP global functions.
|
||||
******************************************************************************/
|
||||
|
||||
const char *MXPCreateTag( descriptor_t *apDescriptor, const char *apTag )
|
||||
const char *MXPCreateTag(const descriptor_t *apDescriptor, const char *apTag )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
|
||||
|
|
@ -1408,7 +1401,7 @@ void SoundSend( descriptor_t *apDescriptor, const char *apTrigger )
|
|||
Colour global functions.
|
||||
******************************************************************************/
|
||||
|
||||
const char *ColourRGB( descriptor_t *apDescriptor, const char *apRGB )
|
||||
const char *ColourRGB(const descriptor_t *apDescriptor, const char *apRGB )
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor ? apDescriptor->pProtocol : NULL;
|
||||
bool charHasColor = TRUE;
|
||||
|
|
@ -1599,6 +1592,7 @@ static void PerformHandshake( descriptor_t *apDescriptor, char aCmd, char aProto
|
|||
if ( aCmd == (char)DO )
|
||||
SendMSSP( apDescriptor );
|
||||
else if ( aCmd == (char)DONT )
|
||||
//NOLINTNEXTLINE(*-suspicious-semicolon)
|
||||
; /* Do nothing. */
|
||||
break;
|
||||
|
||||
|
|
@ -1687,7 +1681,7 @@ static void PerformHandshake( descriptor_t *apDescriptor, char aCmd, char aProto
|
|||
}
|
||||
}
|
||||
|
||||
static void PerformSubnegotiation( descriptor_t *apDescriptor, char aCmd, char *apData, int aSize )
|
||||
static void PerformSubnegotiation(descriptor_t *apDescriptor, char aCmd, char *apData)
|
||||
{
|
||||
protocol_t *pProtocol = apDescriptor->pProtocol;
|
||||
|
||||
|
|
@ -1742,8 +1736,8 @@ static void PerformSubnegotiation( descriptor_t *apDescriptor, char aCmd, char *
|
|||
* free to remove the second strcmp ;)
|
||||
*/
|
||||
if ( pProtocol->pLastTTYPE == NULL ||
|
||||
(strcmp(pProtocol->pLastTTYPE, pClientName) &&
|
||||
strcmp(pProtocol->pVariables[eMSDP_CLIENT_ID]->pValueString, pClientName)) )
|
||||
(strcmp(pProtocol->pLastTTYPE, pClientName) != 0 &&
|
||||
strcmp(pProtocol->pVariables[eMSDP_CLIENT_ID]->pValueString, pClientName) != 0) )
|
||||
{
|
||||
char RequestTTYPE [] = { (char)IAC, (char)SB, TELOPT_TTYPE, SEND, (char)IAC, (char)SE, '\0' };
|
||||
const char *pStartPos = strstr( pClientName, "-" );
|
||||
|
|
@ -2108,7 +2102,7 @@ static void ExecuteMSDPPair( descriptor_t *apDescriptor, const char *apVariable,
|
|||
|
||||
if ( *apValue != '\0' && IsNumber(apValue) )
|
||||
{
|
||||
int Value = atoi(apValue);
|
||||
const int Value = atoi(apValue);
|
||||
if ( Value >= VariableNameTable[i].Min &&
|
||||
Value <= VariableNameTable[i].Max )
|
||||
{
|
||||
|
|
@ -2228,7 +2222,7 @@ static void SendMSSP( descriptor_t *apDescriptor )
|
|||
{
|
||||
char MSSPBuffer[MAX_MSSP_BUFFER];
|
||||
char MSSPPair[128];
|
||||
int SizeBuffer = 3; /* IAC SB MSSP */
|
||||
size_t SizeBuffer = 3; /* IAC SB MSSP */
|
||||
int i; /* Loop counter */
|
||||
|
||||
/* Before updating the following table, please read the MSSP specification:
|
||||
|
|
@ -2352,7 +2346,7 @@ static void SendMSSP( descriptor_t *apDescriptor )
|
|||
|
||||
for ( i = 0; MSSPTable[i].pName != NULL; ++i )
|
||||
{
|
||||
int SizePair;
|
||||
size_t SizePair;
|
||||
|
||||
/* Retrieve the next MSSP variable/value pair */
|
||||
sprintf( MSSPPair, "%c%s%c%s", MSSP_VAR, MSSPTable[i].pName, MSSP_VAL,
|
||||
|
|
@ -2513,7 +2507,7 @@ static char *AllocString( const char *apString )
|
|||
|
||||
if ( apString != NULL )
|
||||
{
|
||||
int Size = strlen(apString);
|
||||
const size_t Size = strlen(apString);
|
||||
pResult = (char *) malloc(Size+1);
|
||||
if ( pResult != NULL )
|
||||
strcpy( pResult, apString );
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ extern const char * RGBone;
|
|||
extern const char * RGBtwo;
|
||||
extern const char * RGBthree;
|
||||
|
||||
ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char *apOut );
|
||||
ssize_t ProtocolInput( descriptor_t *apDescriptor, const char *apData, size_t aSize, char *apOut );
|
||||
|
||||
/* Function: ProtocolOutput
|
||||
*
|
||||
|
|
@ -310,7 +310,7 @@ ssize_t ProtocolInput( descriptor_t *apDescriptor, char *apData, int aSize, char
|
|||
* Note that the MXP tags will automatically be removed if the user doesn't
|
||||
* support MXP, but it's very important you remember to close the tags.
|
||||
*/
|
||||
const char *ProtocolOutput( descriptor_t *apDescriptor, const char *apData, int *apLength );
|
||||
const char *ProtocolOutput( descriptor_t *apDescriptor, const char *apData, size_t *apLength );
|
||||
|
||||
/******************************************************************************
|
||||
Copyover save/load functions.
|
||||
|
|
@ -394,7 +394,7 @@ void MSDPSendList( descriptor_t *apDescriptor, const char *apVariable, const cha
|
|||
*
|
||||
* You can also this function for bools, chars, enums, short ints, etc.
|
||||
*/
|
||||
void MSDPSetNumber( descriptor_t *apDescriptor, variable_t aMSDP, int aValue );
|
||||
void MSDPSetNumber(const descriptor_t *apDescriptor, variable_t aMSDP, int aValue );
|
||||
|
||||
/* Function: MSDPSetString
|
||||
*
|
||||
|
|
@ -403,7 +403,7 @@ void MSDPSetNumber( descriptor_t *apDescriptor, variable_t aMSDP, int aValue );
|
|||
* this is what the snippet does by default), but if the variable is only
|
||||
* set in one place you can just move its MDSPSend() call to there.
|
||||
*/
|
||||
void MSDPSetString( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
void MSDPSetString(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
|
||||
/* Function: MSDPSetTable
|
||||
*
|
||||
|
|
@ -414,7 +414,7 @@ void MSDPSetString( descriptor_t *apDescriptor, variable_t aMSDP, const char *ap
|
|||
* sprintf( Buffer, "%c%s%c%s", (char)MSDP_VAR, Name, (char)MSDP_VAL, Value );
|
||||
* MSDPSetTable( d, eMSDP_TEST, Buffer );
|
||||
*/
|
||||
void MSDPSetTable( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
void MSDPSetTable(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
|
||||
/* Function: MSDPSetArray
|
||||
*
|
||||
|
|
@ -425,7 +425,7 @@ void MSDPSetTable( descriptor_t *apDescriptor, variable_t aMSDP, const char *apV
|
|||
* sprintf( Buffer, "%c%s%c%s", (char)MSDP_VAL, Val1, (char)MSDP_VAL, Val2 );
|
||||
* MSDPSetArray( d, eMSDP_TEST, Buffer );
|
||||
*/
|
||||
void MSDPSetArray( descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
void MSDPSetArray(const descriptor_t *apDescriptor, variable_t aMSDP, const char *apValue );
|
||||
|
||||
/******************************************************************************
|
||||
MSSP functions.
|
||||
|
|
@ -450,7 +450,7 @@ void MSSPSetPlayers( int aPlayers );
|
|||
* provide a different sequence for other users, or better yet just embed MXP
|
||||
* tags for the ProtocolOutput() function.
|
||||
*/
|
||||
const char *MXPCreateTag( descriptor_t *apDescriptor, const char *apTag );
|
||||
const char *MXPCreateTag(const descriptor_t *apDescriptor, const char *apTag );
|
||||
|
||||
/* Function: MXPSendTag
|
||||
*
|
||||
|
|
@ -490,7 +490,7 @@ void SoundSend( descriptor_t *apDescriptor, const char *apTrigger );
|
|||
*
|
||||
* If you wish to embed colours in strings, use ProtocolOutput().
|
||||
*/
|
||||
const char *ColourRGB( descriptor_t *apDescriptor, const char *apRGB );
|
||||
const char *ColourRGB(const descriptor_t *apDescriptor, const char *apRGB );
|
||||
|
||||
/******************************************************************************
|
||||
Unicode (UTF-8 conversion) functions.
|
||||
|
|
|
|||
26
src/qedit.c
26
src/qedit.c
|
|
@ -28,15 +28,15 @@
|
|||
/*-------------------------------------------------------------------*/
|
||||
/*. Function prototypes . */
|
||||
|
||||
static void qedit_setup_new(struct descriptor_data *d);
|
||||
static void qedit_setup_existing(struct descriptor_data *d, qst_rnum rnum);
|
||||
static void qedit_disp_menu(struct descriptor_data *d);
|
||||
static void qedit_save_internally(struct descriptor_data *d);
|
||||
static void qedit_setup_new(descriptor_data *d);
|
||||
static void qedit_setup_existing(descriptor_data *d, qst_rnum rnum);
|
||||
static void qedit_disp_menu(descriptor_data *d);
|
||||
static void qedit_save_internally(descriptor_data *d);
|
||||
static void qedit_save_to_disk(int num);
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
static void qedit_save_internally(struct descriptor_data *d)
|
||||
static void qedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
add_quest(OLC_QUEST(d));
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ ACMD(do_oasis_qedit)
|
|||
{
|
||||
int number = NOWHERE, save = 0;
|
||||
qst_rnum real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_INPUT_LENGTH];
|
||||
char buf2[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -192,7 +192,7 @@ ACMD(do_oasis_qedit)
|
|||
GET_NAME(ch), zone_table[OLC_ZNUM(d)].number, GET_OLC_ZONE(ch));
|
||||
}
|
||||
|
||||
static void qedit_setup_new(struct descriptor_data *d)
|
||||
static void qedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
struct aq_data *quest;
|
||||
|
||||
|
|
@ -231,7 +231,7 @@ static void qedit_setup_new(struct descriptor_data *d)
|
|||
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
static void qedit_setup_existing(struct descriptor_data *d, qst_rnum r_num)
|
||||
static void qedit_setup_existing(descriptor_data *d, qst_rnum r_num)
|
||||
{
|
||||
/*. Alloc some quest shaped space . */
|
||||
CREATE(OLC_QUEST(d), struct aq_data, 1);
|
||||
|
|
@ -248,7 +248,7 @@ static void qedit_setup_existing(struct descriptor_data *d, qst_rnum r_num)
|
|||
/*-------------------------------------------------------------------*/
|
||||
/*. Display main menu . */
|
||||
|
||||
static void qedit_disp_menu(struct descriptor_data *d)
|
||||
static void qedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
struct aq_data *quest;
|
||||
char quest_flags[MAX_STRING_LENGTH], buf2[MAX_STRING_LENGTH];
|
||||
|
|
@ -351,7 +351,7 @@ static void qedit_disp_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = QEDIT_MAIN_MENU;
|
||||
}
|
||||
/* For quest type. */
|
||||
static void qedit_disp_type_menu(struct descriptor_data *d)
|
||||
static void qedit_disp_type_menu(descriptor_data *d)
|
||||
{
|
||||
clear_screen(d);
|
||||
column_list(d->character, 0, quest_types, NUM_AQ_TYPES, TRUE);
|
||||
|
|
@ -359,7 +359,7 @@ static void qedit_disp_type_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = QEDIT_TYPES;
|
||||
}
|
||||
/* For quest flags. */
|
||||
static void qedit_disp_flag_menu(struct descriptor_data *d)
|
||||
static void qedit_disp_flag_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -375,7 +375,7 @@ static void qedit_disp_flag_menu(struct descriptor_data *d)
|
|||
The GARGANTUAN event handler
|
||||
**************************************************************************/
|
||||
|
||||
void qedit_parse(struct descriptor_data *d, char *arg)
|
||||
void qedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int number = atoi(arg);
|
||||
char *oldtext = NULL;
|
||||
|
|
@ -734,7 +734,7 @@ void qedit_parse(struct descriptor_data *d, char *arg)
|
|||
qedit_disp_menu(d);
|
||||
}
|
||||
|
||||
void qedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void qedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case QEDIT_INFO:
|
||||
|
|
|
|||
44
src/quest.c
44
src/quest.c
|
|
@ -70,7 +70,7 @@ qst_rnum real_quest(qst_vnum vnum)
|
|||
return (NOTHING);
|
||||
}
|
||||
|
||||
int is_complete(const struct char_data *ch, qst_vnum vnum)
|
||||
int is_complete(const char_data *ch, qst_vnum vnum)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ int is_complete(const struct char_data *ch, qst_vnum vnum)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
qst_vnum find_quest_by_qmnum(struct char_data *ch, mob_vnum qm, int num)
|
||||
qst_vnum find_quest_by_qmnum(char_data *ch, mob_vnum qm, int num)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
int found = 0;
|
||||
|
|
@ -232,7 +232,7 @@ void assign_the_quests(void)
|
|||
/*--------------------------------------------------------------------------*/
|
||||
/* Quest Completion Functions */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
void set_quest(const struct char_data *ch, qst_rnum rnum)
|
||||
void set_quest(const char_data *ch, qst_rnum rnum)
|
||||
{
|
||||
GET_QUEST(ch) = QST_NUM(rnum);
|
||||
GET_QUEST_TIME(ch) = QST_TIME(rnum);
|
||||
|
|
@ -240,7 +240,7 @@ void set_quest(const struct char_data *ch, qst_rnum rnum)
|
|||
SET_BIT_AR(PRF_FLAGS(ch), PRF_QUEST);
|
||||
}
|
||||
|
||||
void clear_quest(const struct char_data *ch)
|
||||
void clear_quest(const char_data *ch)
|
||||
{
|
||||
GET_QUEST(ch) = NOTHING;
|
||||
GET_QUEST_TIME(ch) = -1;
|
||||
|
|
@ -248,7 +248,7 @@ void clear_quest(const struct char_data *ch)
|
|||
REMOVE_BIT_AR(PRF_FLAGS(ch), PRF_QUEST);
|
||||
}
|
||||
|
||||
void add_completed_quest(const struct char_data *ch, qst_vnum vnum)
|
||||
void add_completed_quest(const char_data *ch, qst_vnum vnum)
|
||||
{
|
||||
qst_vnum *temp;
|
||||
int i;
|
||||
|
|
@ -265,7 +265,7 @@ void add_completed_quest(const struct char_data *ch, qst_vnum vnum)
|
|||
GET_COMPLETED_QUESTS(ch) = temp;
|
||||
}
|
||||
|
||||
void remove_completed_quest(const struct char_data *ch, qst_vnum vnum)
|
||||
void remove_completed_quest(const char_data *ch, qst_vnum vnum)
|
||||
{
|
||||
qst_vnum *temp;
|
||||
int i, j = 0;
|
||||
|
|
@ -282,11 +282,11 @@ void remove_completed_quest(const struct char_data *ch, qst_vnum vnum)
|
|||
GET_COMPLETED_QUESTS(ch) = temp;
|
||||
}
|
||||
|
||||
void generic_complete_quest(struct char_data *ch)
|
||||
void generic_complete_quest(char_data *ch)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
qst_vnum vnum = GET_QUEST(ch);
|
||||
struct obj_data *new_obj;
|
||||
obj_data *new_obj;
|
||||
int happy_qp, happy_gold, happy_exp;
|
||||
|
||||
if (--GET_QUEST_COUNTER(ch) <= 0) {
|
||||
|
|
@ -358,10 +358,10 @@ void generic_complete_quest(struct char_data *ch)
|
|||
save_char(ch);
|
||||
}
|
||||
|
||||
void autoquest_trigger_check(struct char_data *ch, const struct char_data *vict,
|
||||
const struct obj_data *object, int type)
|
||||
void autoquest_trigger_check(char_data *ch, const char_data *vict,
|
||||
const obj_data *object, int type)
|
||||
{
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
qst_rnum rnum;
|
||||
int found = TRUE;
|
||||
|
||||
|
|
@ -424,7 +424,7 @@ void autoquest_trigger_check(struct char_data *ch, const struct char_data *vict,
|
|||
}
|
||||
}
|
||||
|
||||
void quest_timeout(struct char_data *ch)
|
||||
void quest_timeout(char_data *ch)
|
||||
{
|
||||
if ((GET_QUEST(ch) != NOTHING) && (GET_QUEST_TIME(ch) != -1)) {
|
||||
clear_quest(ch);
|
||||
|
|
@ -434,7 +434,7 @@ void quest_timeout(struct char_data *ch)
|
|||
|
||||
void check_timed_quests(void)
|
||||
{
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
|
||||
for (ch = character_list; ch; ch = ch->next)
|
||||
if (!IS_NPC(ch) && (GET_QUEST(ch) != NOTHING) && (GET_QUEST_TIME(ch) != -1))
|
||||
|
|
@ -446,7 +446,7 @@ void check_timed_quests(void)
|
|||
/* Quest Command Helper Functions */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
void list_quests(struct char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum vmax)
|
||||
void list_quests(char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum vmax)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
qst_vnum bottom, top;
|
||||
|
|
@ -472,7 +472,7 @@ void list_quests(struct char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum v
|
|||
send_to_char(ch, "None found.\r\n");
|
||||
}
|
||||
|
||||
static void quest_hist(struct char_data *ch)
|
||||
static void quest_hist(char_data *ch)
|
||||
{
|
||||
int i = 0, counter = 0;
|
||||
qst_rnum rnum = NOTHING;
|
||||
|
|
@ -495,7 +495,7 @@ static void quest_hist(struct char_data *ch)
|
|||
send_to_char(ch, "You haven't completed any quests yet.\r\n");
|
||||
}
|
||||
|
||||
static void quest_join(struct char_data *ch, struct char_data *qm, char argument[MAX_INPUT_LENGTH])
|
||||
static void quest_join(char_data *ch, char_data *qm, char argument[MAX_INPUT_LENGTH])
|
||||
{
|
||||
qst_vnum vnum;
|
||||
qst_rnum rnum;
|
||||
|
|
@ -551,7 +551,7 @@ static void quest_join(struct char_data *ch, struct char_data *qm, char argument
|
|||
save_char(ch);
|
||||
}
|
||||
|
||||
void quest_list(struct char_data *ch, struct char_data *qm, char argument[MAX_INPUT_LENGTH])
|
||||
void quest_list(char_data *ch, char_data *qm, char argument[MAX_INPUT_LENGTH])
|
||||
{
|
||||
qst_vnum vnum;
|
||||
qst_rnum rnum;
|
||||
|
|
@ -576,7 +576,7 @@ void quest_list(struct char_data *ch, struct char_data *qm, char argument[MAX_IN
|
|||
send_to_char(ch, "There is no further information on that quest.\r\n");
|
||||
}
|
||||
|
||||
static void quest_quit(struct char_data *ch)
|
||||
static void quest_quit(char_data *ch)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
|
||||
|
|
@ -602,7 +602,7 @@ static void quest_quit(struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void quest_progress(struct char_data *ch)
|
||||
static void quest_progress(char_data *ch)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
|
||||
|
|
@ -626,7 +626,7 @@ static void quest_progress(struct char_data *ch)
|
|||
}
|
||||
}
|
||||
|
||||
static void quest_show(struct char_data *ch, mob_vnum qm)
|
||||
static void quest_show(char_data *ch, mob_vnum qm)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
int counter = 0;
|
||||
|
|
@ -644,7 +644,7 @@ static void quest_show(struct char_data *ch, mob_vnum qm)
|
|||
send_to_char(ch, "There are no quests available here at the moment.\r\n");
|
||||
}
|
||||
|
||||
static void quest_stat(struct char_data *ch, char argument[MAX_INPUT_LENGTH])
|
||||
static void quest_stat(char_data *ch, char argument[MAX_INPUT_LENGTH])
|
||||
{
|
||||
qst_rnum rnum;
|
||||
mob_rnum qmrnum;
|
||||
|
|
@ -792,7 +792,7 @@ SPECIAL(questmaster)
|
|||
qst_rnum rnum = 0;
|
||||
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH];
|
||||
int tp;
|
||||
struct char_data *qm = (struct char_data *)me;
|
||||
char_data *qm = (char_data *)me;
|
||||
|
||||
/* check that qm mob has quests assigned */
|
||||
while (rnum < total_quests && QST_MASTER(rnum) != GET_MOB_VNUM(qm))
|
||||
|
|
|
|||
24
src/quest.h
24
src/quest.h
|
|
@ -89,23 +89,23 @@ void destroy_quests(void);
|
|||
void assign_the_quests(void);
|
||||
void parse_quest(FILE *quest_f, int nr);
|
||||
int count_quests(qst_vnum low, qst_vnum high);
|
||||
void list_quests(struct char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum vmax);
|
||||
void set_quest(const struct char_data *ch, qst_rnum rnum);
|
||||
void clear_quest(const struct char_data *ch);
|
||||
void generic_complete_quest(struct char_data *ch);
|
||||
void autoquest_trigger_check(struct char_data *ch, const struct char_data *vict, const struct obj_data *object, int type);
|
||||
void list_quests(char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum vmax);
|
||||
void set_quest(const char_data *ch, qst_rnum rnum);
|
||||
void clear_quest(const char_data *ch);
|
||||
void generic_complete_quest(char_data *ch);
|
||||
void autoquest_trigger_check(char_data *ch, const char_data *vict, const obj_data *object, int type);
|
||||
qst_rnum real_quest(qst_vnum vnum);
|
||||
int is_complete(const struct char_data *ch, qst_vnum vnum);
|
||||
qst_vnum find_quest_by_qmnum(struct char_data *ch, mob_rnum qm, int num);
|
||||
void add_completed_quest(const struct char_data *ch, qst_vnum vnum);
|
||||
void remove_completed_quest(const struct char_data *ch, qst_vnum vnum);
|
||||
void quest_timeout(struct char_data *ch);
|
||||
int is_complete(const char_data *ch, qst_vnum vnum);
|
||||
qst_vnum find_quest_by_qmnum(char_data *ch, mob_rnum qm, int num);
|
||||
void add_completed_quest(const char_data *ch, qst_vnum vnum);
|
||||
void remove_completed_quest(const char_data *ch, qst_vnum vnum);
|
||||
void quest_timeout(char_data *ch);
|
||||
void check_timed_quests(void);
|
||||
SPECIAL(questmaster);
|
||||
ACMD(do_quest);
|
||||
/* Implemented in qedit.c */
|
||||
void qedit_parse(struct descriptor_data *d, char *arg);
|
||||
void qedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void qedit_parse(descriptor_data *d, char *arg);
|
||||
void qedit_string_cleanup(descriptor_data *d, int terminator);
|
||||
/* Implemented in genqst.c */
|
||||
int copy_quest_strings(struct aq_data *from, struct aq_data *to);
|
||||
int copy_quest(struct aq_data *from, struct aq_data *to, int free_old_strings);
|
||||
|
|
|
|||
40
src/redit.c
40
src/redit.c
|
|
@ -23,13 +23,13 @@
|
|||
#include "modify.h"
|
||||
|
||||
/* local functions */
|
||||
static void redit_setup_new(struct descriptor_data *d);
|
||||
static void redit_disp_extradesc_menu(struct descriptor_data *d);
|
||||
static void redit_disp_exit_menu(struct descriptor_data *d);
|
||||
static void redit_disp_exit_flag_menu(struct descriptor_data *d);
|
||||
static void redit_disp_flag_menu(struct descriptor_data *d);
|
||||
static void redit_disp_sector_menu(struct descriptor_data *d);
|
||||
static void redit_disp_menu(struct descriptor_data *d);
|
||||
static void redit_setup_new(descriptor_data *d);
|
||||
static void redit_disp_extradesc_menu(descriptor_data *d);
|
||||
static void redit_disp_exit_menu(descriptor_data *d);
|
||||
static void redit_disp_exit_flag_menu(descriptor_data *d);
|
||||
static void redit_disp_flag_menu(descriptor_data *d);
|
||||
static void redit_disp_sector_menu(descriptor_data *d);
|
||||
static void redit_disp_menu(descriptor_data *d);
|
||||
|
||||
/* Utils and exported functions. */
|
||||
ACMD(do_oasis_redit)
|
||||
|
|
@ -37,7 +37,7 @@ ACMD(do_oasis_redit)
|
|||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
int number = NOWHERE, save = 0, real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
|
||||
/* No building as a mob or while being forced. */
|
||||
if (IS_NPC(ch) || !ch->desc || STATE(ch->desc) != CON_PLAYING)
|
||||
|
|
@ -152,7 +152,7 @@ ACMD(do_oasis_redit)
|
|||
GET_NAME(ch), zone_table[OLC_ZNUM(d)].number, GET_OLC_ZONE(ch));
|
||||
}
|
||||
|
||||
static void redit_setup_new(struct descriptor_data *d)
|
||||
static void redit_setup_new(descriptor_data *d)
|
||||
{
|
||||
CREATE(OLC_ROOM(d), struct room_data, 1);
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ static void redit_setup_new(struct descriptor_data *d)
|
|||
OLC_VAL(d) = 0;
|
||||
}
|
||||
|
||||
void redit_setup_existing(struct descriptor_data *d, int real_num)
|
||||
void redit_setup_existing(descriptor_data *d, int real_num)
|
||||
{
|
||||
struct room_data *room;
|
||||
int counter;
|
||||
|
|
@ -231,10 +231,10 @@ void redit_setup_existing(struct descriptor_data *d, int real_num)
|
|||
SCRIPT(room) = NULL;
|
||||
}
|
||||
|
||||
void redit_save_internally(struct descriptor_data *d)
|
||||
void redit_save_internally(descriptor_data *d)
|
||||
{
|
||||
int j, room_num, new_room = FALSE;
|
||||
struct descriptor_data *dsc;
|
||||
descriptor_data *dsc;
|
||||
|
||||
if (OLC_ROOM(d)->number == NOWHERE)
|
||||
new_room = TRUE;
|
||||
|
|
@ -312,7 +312,7 @@ void free_room(struct room_data *room)
|
|||
|
||||
/* Menu functions */
|
||||
/* For extra descriptions. */
|
||||
static void redit_disp_extradesc_menu(struct descriptor_data *d)
|
||||
static void redit_disp_extradesc_menu(descriptor_data *d)
|
||||
{
|
||||
struct extra_descr_data *extra_desc = OLC_DESC(d);
|
||||
|
||||
|
|
@ -333,7 +333,7 @@ static void redit_disp_extradesc_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* For exits. */
|
||||
static void redit_disp_exit_menu(struct descriptor_data *d)
|
||||
static void redit_disp_exit_menu(descriptor_data *d)
|
||||
{
|
||||
char door_buf[24];
|
||||
/* if exit doesn't exist, alloc/create it */
|
||||
|
|
@ -377,7 +377,7 @@ static void redit_disp_exit_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* For exit flags. */
|
||||
static void redit_disp_exit_flag_menu(struct descriptor_data *d)
|
||||
static void redit_disp_exit_flag_menu(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
write_to_output(d, "%s0%s) No door\r\n"
|
||||
|
|
@ -389,7 +389,7 @@ static void redit_disp_exit_flag_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* For room flags. */
|
||||
static void redit_disp_flag_menu(struct descriptor_data *d)
|
||||
static void redit_disp_flag_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -404,7 +404,7 @@ static void redit_disp_flag_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* For sector type. */
|
||||
static void redit_disp_sector_menu(struct descriptor_data *d)
|
||||
static void redit_disp_sector_menu(descriptor_data *d)
|
||||
{
|
||||
clear_screen(d);
|
||||
column_list(d->character, 0, sector_types, NUM_ROOM_SECTORS, TRUE);
|
||||
|
|
@ -413,7 +413,7 @@ static void redit_disp_sector_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The main menu. */
|
||||
static void redit_disp_menu(struct descriptor_data *d)
|
||||
static void redit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
|
|
@ -515,7 +515,7 @@ static void redit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The main loop*/
|
||||
void redit_parse(struct descriptor_data *d, char *arg)
|
||||
void redit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int number;
|
||||
char *oldtext = NULL;
|
||||
|
|
@ -917,7 +917,7 @@ void redit_parse(struct descriptor_data *d, char *arg)
|
|||
redit_disp_menu(d);
|
||||
}
|
||||
|
||||
void redit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void redit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case REDIT_DESC:
|
||||
|
|
|
|||
44
src/sedit.c
44
src/sedit.c
|
|
@ -21,19 +21,19 @@
|
|||
#include "shop.h"
|
||||
|
||||
/* local functions */
|
||||
static void sedit_setup_new(struct descriptor_data *d);
|
||||
static void sedit_setup_new(descriptor_data *d);
|
||||
static void sedit_save_to_disk(int zone_num);
|
||||
static void sedit_products_menu(struct descriptor_data *d);
|
||||
static void sedit_compact_rooms_menu(struct descriptor_data *d);
|
||||
static void sedit_rooms_menu(struct descriptor_data *d);
|
||||
static void sedit_namelist_menu(struct descriptor_data *d);
|
||||
static void sedit_shop_flags_menu(struct descriptor_data *d);
|
||||
static void sedit_no_trade_menu(struct descriptor_data *d);
|
||||
static void sedit_types_menu(struct descriptor_data *d);
|
||||
static void sedit_disp_menu(struct descriptor_data *d);
|
||||
static void sedit_products_menu(descriptor_data *d);
|
||||
static void sedit_compact_rooms_menu(descriptor_data *d);
|
||||
static void sedit_rooms_menu(descriptor_data *d);
|
||||
static void sedit_namelist_menu(descriptor_data *d);
|
||||
static void sedit_shop_flags_menu(descriptor_data *d);
|
||||
static void sedit_no_trade_menu(descriptor_data *d);
|
||||
static void sedit_types_menu(descriptor_data *d);
|
||||
static void sedit_disp_menu(descriptor_data *d);
|
||||
|
||||
|
||||
void sedit_save_internally(struct descriptor_data *d)
|
||||
void sedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
OLC_SHOP(d)->vnum = OLC_NUM(d);
|
||||
add_shop(OLC_SHOP(d));
|
||||
|
|
@ -49,7 +49,7 @@ ACMD(do_oasis_sedit)
|
|||
{
|
||||
int number = NOWHERE, save = 0;
|
||||
shop_rnum real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char buf1[MAX_INPUT_LENGTH];
|
||||
char buf2[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -171,7 +171,7 @@ ACMD(do_oasis_sedit)
|
|||
GET_NAME(ch), zone_table[OLC_ZNUM(d)].number, GET_OLC_ZONE(ch));
|
||||
}
|
||||
|
||||
static void sedit_setup_new(struct descriptor_data *d)
|
||||
static void sedit_setup_new(descriptor_data *d)
|
||||
{
|
||||
struct shop_data *shop;
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ static void sedit_setup_new(struct descriptor_data *d)
|
|||
OLC_SHOP(d) = shop;
|
||||
}
|
||||
|
||||
void sedit_setup_existing(struct descriptor_data *d, int rshop_num)
|
||||
void sedit_setup_existing(descriptor_data *d, int rshop_num)
|
||||
{
|
||||
/* Create a scratch shop structure. */
|
||||
CREATE(OLC_SHOP(d), struct shop_data, 1);
|
||||
|
|
@ -217,7 +217,7 @@ void sedit_setup_existing(struct descriptor_data *d, int rshop_num)
|
|||
}
|
||||
|
||||
/* Menu functions */
|
||||
static void sedit_products_menu(struct descriptor_data *d)
|
||||
static void sedit_products_menu(descriptor_data *d)
|
||||
{
|
||||
struct shop_data *shop;
|
||||
int i;
|
||||
|
|
@ -241,7 +241,7 @@ static void sedit_products_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_PRODUCTS_MENU;
|
||||
}
|
||||
|
||||
static void sedit_compact_rooms_menu(struct descriptor_data *d)
|
||||
static void sedit_compact_rooms_menu(descriptor_data *d)
|
||||
{
|
||||
struct shop_data *shop;
|
||||
int i;
|
||||
|
|
@ -267,7 +267,7 @@ static void sedit_compact_rooms_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_ROOMS_MENU;
|
||||
}
|
||||
|
||||
static void sedit_rooms_menu(struct descriptor_data *d)
|
||||
static void sedit_rooms_menu(descriptor_data *d)
|
||||
{
|
||||
struct shop_data *shop;
|
||||
int i;
|
||||
|
|
@ -298,7 +298,7 @@ static void sedit_rooms_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_ROOMS_MENU;
|
||||
}
|
||||
|
||||
static void sedit_namelist_menu(struct descriptor_data *d)
|
||||
static void sedit_namelist_menu(descriptor_data *d)
|
||||
{
|
||||
struct shop_data *shop;
|
||||
int i;
|
||||
|
|
@ -322,7 +322,7 @@ static void sedit_namelist_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_NAMELIST_MENU;
|
||||
}
|
||||
|
||||
static void sedit_shop_flags_menu(struct descriptor_data *d)
|
||||
static void sedit_shop_flags_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
int i, count = 0;
|
||||
|
|
@ -339,7 +339,7 @@ static void sedit_shop_flags_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_SHOP_FLAGS;
|
||||
}
|
||||
|
||||
static void sedit_no_trade_menu(struct descriptor_data *d)
|
||||
static void sedit_no_trade_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
int i, count = 0;
|
||||
|
|
@ -356,7 +356,7 @@ static void sedit_no_trade_menu(struct descriptor_data *d)
|
|||
OLC_MODE(d) = SEDIT_NOTRADE;
|
||||
}
|
||||
|
||||
static void sedit_types_menu(struct descriptor_data *d)
|
||||
static void sedit_types_menu(descriptor_data *d)
|
||||
{
|
||||
int i, count = 0;
|
||||
|
||||
|
|
@ -372,7 +372,7 @@ static void sedit_types_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Display main menu. */
|
||||
static void sedit_disp_menu(struct descriptor_data *d)
|
||||
static void sedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
char buf2[MAX_STRING_LENGTH];
|
||||
|
|
@ -431,7 +431,7 @@ static void sedit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The GARGANTUAN event handler */
|
||||
void sedit_parse(struct descriptor_data *d, char *arg)
|
||||
void sedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
|||
126
src/shop.c
126
src/shop.c
|
|
@ -51,37 +51,37 @@ const char *shop_bits[] = {
|
|||
static void push(struct stack_data *stack, int pushval); /**< @todo Move to utils.c */
|
||||
static int top(struct stack_data *stack); /**< @todo Move to utils.c */
|
||||
static int pop(struct stack_data *stack); /**< @todo Move to utils.c */
|
||||
static char *list_object(struct obj_data *obj, int cnt, int oindex, int shop_nr, struct char_data *keeper, struct char_data *seller);
|
||||
static void sort_keeper_objs(struct char_data *keeper, int shop_nr);
|
||||
static char *list_object(obj_data *obj, int cnt, int oindex, int shop_nr, char_data *keeper, char_data *seller);
|
||||
static void sort_keeper_objs(char_data *keeper, int shop_nr);
|
||||
static char *read_shop_message(int mnum, room_vnum shr, FILE *shop_f, const char *why);
|
||||
static int read_type_list(FILE *shop_f, struct shop_buy_data *list, int new_format, int max);
|
||||
static int read_list(FILE *shop_f, struct shop_buy_data *list, int new_format, int max, int type);
|
||||
static void shopping_list(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr);
|
||||
static bool shopping_identify(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr);
|
||||
static void shopping_value(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr);
|
||||
static void shopping_sell(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr);
|
||||
static struct obj_data *get_selling_obj(struct char_data *ch, char *name, struct char_data *keeper, int shop_nr, int msg);
|
||||
static struct obj_data *slide_obj(struct obj_data *obj, struct char_data *keeper, int shop_nr);
|
||||
static void shopping_buy(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr);
|
||||
static struct obj_data *get_purchase_obj(struct char_data *ch, char *arg, struct char_data *keeper, int shop_nr, int msg);
|
||||
static struct obj_data *get_hash_obj_vis(struct char_data *ch, char *name, struct obj_data *list);
|
||||
static struct obj_data *get_slide_obj_vis(struct char_data *ch, char *name, struct obj_data *list);
|
||||
static void shopping_list(char *arg, char_data *ch, char_data *keeper, int shop_nr);
|
||||
static bool shopping_identify(char *arg, char_data *ch, char_data *keeper, int shop_nr);
|
||||
static void shopping_value(char *arg, char_data *ch, char_data *keeper, int shop_nr);
|
||||
static void shopping_sell(char *arg, char_data *ch, char_data *keeper, int shop_nr);
|
||||
static obj_data *get_selling_obj(char_data *ch, char *name, char_data *keeper, int shop_nr, int msg);
|
||||
static obj_data *slide_obj(obj_data *obj, char_data *keeper, int shop_nr);
|
||||
static void shopping_buy(char *arg, char_data *ch, char_data *keeper, int shop_nr);
|
||||
static obj_data *get_purchase_obj(char_data *ch, char *arg, char_data *keeper, int shop_nr, int msg);
|
||||
static obj_data *get_hash_obj_vis(char_data *ch, char *name, obj_data *list);
|
||||
static obj_data *get_slide_obj_vis(char_data *ch, char *name, obj_data *list);
|
||||
static char *customer_string(int shop_nr, int detailed);
|
||||
static void list_all_shops(struct char_data *ch);
|
||||
static void list_detailed_shop(struct char_data *ch, int shop_nr);
|
||||
static int is_ok_char(struct char_data *keeper, struct char_data *ch, int shop_nr);
|
||||
static int is_open(struct char_data *keeper, int shop_nr, int msg);
|
||||
static int is_ok(struct char_data *keeper, struct char_data *ch, int shop_nr);
|
||||
static void list_all_shops(char_data *ch);
|
||||
static void list_detailed_shop(char_data *ch, int shop_nr);
|
||||
static int is_ok_char(char_data *keeper, char_data *ch, int shop_nr);
|
||||
static int is_open(char_data *keeper, int shop_nr, int msg);
|
||||
static int is_ok(char_data *keeper, char_data *ch, int shop_nr);
|
||||
static void evaluate_operation(struct stack_data *ops, struct stack_data *vals);
|
||||
static int find_oper_num(char token);
|
||||
static int evaluate_expression(struct obj_data *obj, char *expr);
|
||||
static int trade_with(struct obj_data *item, int shop_nr);
|
||||
static int same_obj(struct obj_data *obj1, struct obj_data *obj2);
|
||||
static int shop_producing(struct obj_data *item, int shop_nr);
|
||||
static int evaluate_expression(obj_data *obj, char *expr);
|
||||
static int trade_with(obj_data *item, int shop_nr);
|
||||
static int same_obj(obj_data *obj1, obj_data *obj2);
|
||||
static int shop_producing(obj_data *item, int shop_nr);
|
||||
static int transaction_amt(char *arg);
|
||||
static char *times_message(struct obj_data *obj, char *name, int num);
|
||||
static int buy_price(struct obj_data *obj, int shop_nr, struct char_data *keeper, struct char_data *buyer);
|
||||
static int sell_price(struct obj_data *obj, int shop_nr, struct char_data *keeper, struct char_data *seller);
|
||||
static char *times_message(obj_data *obj, char *name, int num);
|
||||
static int buy_price(obj_data *obj, int shop_nr, char_data *keeper, char_data *buyer);
|
||||
static int sell_price(obj_data *obj, int shop_nr, char_data *keeper, char_data *seller);
|
||||
static int ok_shop_room(int shop_nr, room_vnum room);
|
||||
static int add_to_shop_list(struct shop_buy_data *list, int type, int *len, int *val);
|
||||
static int end_read_list(struct shop_buy_data *list, int len, int error);
|
||||
|
|
@ -104,7 +104,7 @@ static const char *operator_str[] = {
|
|||
} ;
|
||||
|
||||
|
||||
static int is_ok_char(struct char_data *keeper, struct char_data *ch, int shop_nr)
|
||||
static int is_ok_char(char_data *keeper, char_data *ch, int shop_nr)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ static int is_ok_char(struct char_data *keeper, struct char_data *ch, int shop_n
|
|||
return (TRUE);
|
||||
}
|
||||
|
||||
static int is_open(struct char_data *keeper, int shop_nr, int msg)
|
||||
static int is_open(char_data *keeper, int shop_nr, int msg)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
|
||||
|
|
@ -157,7 +157,7 @@ static int is_open(struct char_data *keeper, int shop_nr, int msg)
|
|||
return (FALSE);
|
||||
}
|
||||
|
||||
static int is_ok(struct char_data *keeper, struct char_data *ch, int shop_nr)
|
||||
static int is_ok(char_data *keeper, char_data *ch, int shop_nr)
|
||||
{
|
||||
if (is_open(keeper, shop_nr, TRUE))
|
||||
return (is_ok_char(keeper, ch, shop_nr));
|
||||
|
|
@ -216,7 +216,7 @@ static int find_oper_num(char token)
|
|||
return (NOTHING);
|
||||
}
|
||||
|
||||
static int evaluate_expression(struct obj_data *obj, char *expr)
|
||||
static int evaluate_expression(obj_data *obj, char *expr)
|
||||
{
|
||||
struct stack_data ops, vals;
|
||||
char *ptr, *end, name[MAX_STRING_LENGTH];
|
||||
|
|
@ -270,7 +270,7 @@ static int evaluate_expression(struct obj_data *obj, char *expr)
|
|||
return (temp);
|
||||
}
|
||||
|
||||
static int trade_with(struct obj_data *item, int shop_nr)
|
||||
static int trade_with(obj_data *item, int shop_nr)
|
||||
{
|
||||
int counter;
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ static int trade_with(struct obj_data *item, int shop_nr)
|
|||
return (OBJECT_NOTOK);
|
||||
}
|
||||
|
||||
static int same_obj(struct obj_data *obj1, struct obj_data *obj2)
|
||||
static int same_obj(obj_data *obj1, obj_data *obj2)
|
||||
{
|
||||
int aindex;
|
||||
|
||||
|
|
@ -313,7 +313,7 @@ static int same_obj(struct obj_data *obj1, struct obj_data *obj2)
|
|||
return (TRUE);
|
||||
}
|
||||
|
||||
static int shop_producing(struct obj_data *item, int shop_nr)
|
||||
static int shop_producing(obj_data *item, int shop_nr)
|
||||
{
|
||||
int counter;
|
||||
|
||||
|
|
@ -342,7 +342,7 @@ static int transaction_amt(char *arg)
|
|||
return (1);
|
||||
}
|
||||
|
||||
static char *times_message(struct obj_data *obj, char *name, int num)
|
||||
static char *times_message(obj_data *obj, char *name, int num)
|
||||
{
|
||||
static char buf[256];
|
||||
size_t len;
|
||||
|
|
@ -364,9 +364,9 @@ static char *times_message(struct obj_data *obj, char *name, int num)
|
|||
return (buf);
|
||||
}
|
||||
|
||||
static struct obj_data *get_slide_obj_vis(struct char_data *ch, char *name, struct obj_data *list)
|
||||
static obj_data *get_slide_obj_vis(char_data *ch, char *name, obj_data *list)
|
||||
{
|
||||
struct obj_data *i, *last_match = NULL;
|
||||
obj_data *i, *last_match = NULL;
|
||||
int j, number;
|
||||
char tmpname[MAX_INPUT_LENGTH];
|
||||
char *tmp;
|
||||
|
|
@ -387,9 +387,9 @@ static struct obj_data *get_slide_obj_vis(struct char_data *ch, char *name, stru
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
static struct obj_data *get_hash_obj_vis(struct char_data *ch, char *name, struct obj_data *list)
|
||||
static obj_data *get_hash_obj_vis(char_data *ch, char *name, obj_data *list)
|
||||
{
|
||||
struct obj_data *loop, *last_obj = NULL;
|
||||
obj_data *loop, *last_obj = NULL;
|
||||
int qindex;
|
||||
|
||||
if (is_number(name))
|
||||
|
|
@ -409,10 +409,10 @@ static struct obj_data *get_hash_obj_vis(struct char_data *ch, char *name, struc
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
static struct obj_data *get_purchase_obj(struct char_data *ch, char *arg, struct char_data *keeper, int shop_nr, int msg)
|
||||
static obj_data *get_purchase_obj(char_data *ch, char *arg, char_data *keeper, int shop_nr, int msg)
|
||||
{
|
||||
char name[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
one_argument(arg, name);
|
||||
do {
|
||||
|
|
@ -453,7 +453,7 @@ static struct obj_data *get_purchase_obj(struct char_data *ch, char *arg, struct
|
|||
discount beyond the basic price. That assumes they put a lot of points
|
||||
into charisma, because on the flip side they'd get 11% inflation by
|
||||
having a 3. */
|
||||
static int buy_price(struct obj_data *obj, int shop_nr, struct char_data *keeper, struct char_data *buyer)
|
||||
static int buy_price(obj_data *obj, int shop_nr, char_data *keeper, char_data *buyer)
|
||||
{
|
||||
return (int) (GET_OBJ_COST(obj) * SHOP_BUYPROFIT(shop_nr)
|
||||
* (1 + (GET_CHA(keeper) - GET_CHA(buyer)) / (float)70));
|
||||
|
|
@ -461,7 +461,7 @@ static int buy_price(struct obj_data *obj, int shop_nr, struct char_data *keeper
|
|||
|
||||
/* When the shopkeeper is buying, we reverse the discount. Also make sure
|
||||
we don't buy for more than we sell for, to prevent infinite money-making. */
|
||||
static int sell_price(struct obj_data *obj, int shop_nr, struct char_data *keeper, struct char_data *seller)
|
||||
static int sell_price(obj_data *obj, int shop_nr, char_data *keeper, char_data *seller)
|
||||
{
|
||||
float sell_cost_modifier = SHOP_SELLPROFIT(shop_nr) * (1 - (GET_CHA(keeper) - GET_CHA(seller)) / 70.0);
|
||||
float buy_cost_modifier = SHOP_BUYPROFIT(shop_nr) * (1 + (GET_CHA(keeper) - GET_CHA(seller)) / 70.0);
|
||||
|
|
@ -472,10 +472,10 @@ static int sell_price(struct obj_data *obj, int shop_nr, struct char_data *keepe
|
|||
return (int) (GET_OBJ_COST(obj) * sell_cost_modifier);
|
||||
}
|
||||
|
||||
static void shopping_buy(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr)
|
||||
static void shopping_buy(char *arg, char_data *ch, char_data *keeper, int shop_nr)
|
||||
{
|
||||
char tempstr[MAX_INPUT_LENGTH - 10], tempbuf[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj, *last_obj = NULL;
|
||||
obj_data *obj, *last_obj = NULL;
|
||||
int goldamt = 0, buynum, bought = 0;
|
||||
|
||||
if (!is_ok(keeper, ch, shop_nr))
|
||||
|
|
@ -638,10 +638,10 @@ static void shopping_buy(char *arg, struct char_data *ch, struct char_data *keep
|
|||
|
||||
}
|
||||
|
||||
static struct obj_data *get_selling_obj(struct char_data *ch, char *name, struct char_data *keeper, int shop_nr, int msg)
|
||||
static obj_data *get_selling_obj(char_data *ch, char *name, char_data *keeper, int shop_nr, int msg)
|
||||
{
|
||||
char buf[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int result;
|
||||
|
||||
if (!(obj = get_obj_in_list_vis(ch, name, NULL, ch->carrying))) {
|
||||
|
|
@ -684,9 +684,9 @@ static struct obj_data *get_selling_obj(struct char_data *ch, char *name, struct
|
|||
* is put together, and manipulating the order of the objects on the list. (But
|
||||
* since most of DIKU is not encapsulated, and information hiding is almost
|
||||
* never used, it isn't that big a deal). -JF */
|
||||
static struct obj_data *slide_obj(struct obj_data *obj, struct char_data *keeper, int shop_nr)
|
||||
static obj_data *slide_obj(obj_data *obj, char_data *keeper, int shop_nr)
|
||||
{
|
||||
struct obj_data *loop;
|
||||
obj_data *loop;
|
||||
int temp;
|
||||
|
||||
if (SHOP_SORT(shop_nr) < IS_CARRYING_N(keeper))
|
||||
|
|
@ -714,9 +714,9 @@ static struct obj_data *slide_obj(struct obj_data *obj, struct char_data *keeper
|
|||
return (obj);
|
||||
}
|
||||
|
||||
static void sort_keeper_objs(struct char_data *keeper, int shop_nr)
|
||||
static void sort_keeper_objs(char_data *keeper, int shop_nr)
|
||||
{
|
||||
struct obj_data *list = NULL, *temp;
|
||||
obj_data *list = NULL, *temp;
|
||||
|
||||
while (SHOP_SORT(shop_nr) < IS_CARRYING_N(keeper)) {
|
||||
temp = keeper->carrying;
|
||||
|
|
@ -737,10 +737,10 @@ static void sort_keeper_objs(struct char_data *keeper, int shop_nr)
|
|||
}
|
||||
}
|
||||
|
||||
static void shopping_sell(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr)
|
||||
static void shopping_sell(char *arg, char_data *ch, char_data *keeper, int shop_nr)
|
||||
{
|
||||
char tempstr[MAX_INPUT_LENGTH - 10], name[MAX_INPUT_LENGTH], tempbuf[MAX_INPUT_LENGTH]; // - 10 to make room for constants in format
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int sellnum, sold = 0, goldamt = 0;
|
||||
|
||||
if (!(is_ok(keeper, ch, shop_nr)))
|
||||
|
|
@ -814,10 +814,10 @@ static void shopping_sell(char *arg, struct char_data *ch, struct char_data *kee
|
|||
}
|
||||
}
|
||||
|
||||
static void shopping_value(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr)
|
||||
static void shopping_value(char *arg, char_data *ch, char_data *keeper, int shop_nr)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH], name[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
|
||||
if (!is_ok(keeper, ch, shop_nr))
|
||||
return;
|
||||
|
|
@ -835,7 +835,7 @@ static void shopping_value(char *arg, struct char_data *ch, struct char_data *ke
|
|||
do_tell(keeper, buf, cmd_tell, 0);
|
||||
}
|
||||
|
||||
static char *list_object(struct obj_data *obj, int cnt, int aindex, int shop_nr, struct char_data *keeper, struct char_data *ch)
|
||||
static char *list_object(obj_data *obj, int cnt, int aindex, int shop_nr, char_data *keeper, char_data *ch)
|
||||
{
|
||||
static char result[256];
|
||||
char itemname[128],
|
||||
|
|
@ -873,10 +873,10 @@ static char *list_object(struct obj_data *obj, int cnt, int aindex, int shop_nr,
|
|||
return (result);
|
||||
}
|
||||
|
||||
static void shopping_list(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr)
|
||||
static void shopping_list(char *arg, char_data *ch, char_data *keeper, int shop_nr)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH], name[MAX_INPUT_LENGTH];
|
||||
struct obj_data *obj, *last_obj = NULL;
|
||||
obj_data *obj, *last_obj = NULL;
|
||||
int cnt = 0, lindex = 0, found = FALSE, has_quest = FALSE;
|
||||
size_t len;
|
||||
/* cnt is the number of that particular object available */
|
||||
|
|
@ -942,7 +942,7 @@ static int ok_shop_room(int shop_nr, room_vnum room)
|
|||
|
||||
SPECIAL(shop_keeper)
|
||||
{
|
||||
struct char_data *keeper = (struct char_data *)me;
|
||||
char_data *keeper = (char_data *)me;
|
||||
int shop_nr;
|
||||
|
||||
for (shop_nr = 0; shop_nr <= top_shop; shop_nr++)
|
||||
|
|
@ -995,7 +995,7 @@ SPECIAL(shop_keeper)
|
|||
return (FALSE);
|
||||
}
|
||||
|
||||
int ok_damage_shopkeeper(struct char_data *ch, struct char_data *victim)
|
||||
int ok_damage_shopkeeper(char_data *ch, char_data *victim)
|
||||
{
|
||||
int sindex;
|
||||
|
||||
|
|
@ -1302,7 +1302,7 @@ static char *customer_string(int shop_nr, int detailed)
|
|||
}
|
||||
|
||||
/* END_OF inefficient */
|
||||
static void list_all_shops(struct char_data *ch)
|
||||
static void list_all_shops(char_data *ch)
|
||||
{
|
||||
const char *list_all_shops_header =
|
||||
" ## Virtual Where Keeper Buy Sell Customers\r\n"
|
||||
|
|
@ -1340,9 +1340,9 @@ static void list_all_shops(struct char_data *ch)
|
|||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
static void list_detailed_shop(struct char_data *ch, int shop_nr)
|
||||
static void list_detailed_shop(char_data *ch, int shop_nr)
|
||||
{
|
||||
struct char_data *k;
|
||||
char_data *k;
|
||||
int sindex, column, flag = 1, found = 0;
|
||||
/* char *ptrsave; */
|
||||
|
||||
|
|
@ -1489,7 +1489,7 @@ static void list_detailed_shop(struct char_data *ch, int shop_nr)
|
|||
}
|
||||
}
|
||||
|
||||
void show_shops(struct char_data *ch, char *arg)
|
||||
void show_shops(char_data *ch, char *arg)
|
||||
{
|
||||
int shop_nr;
|
||||
|
||||
|
|
@ -1558,10 +1558,10 @@ void destroy_shops(void)
|
|||
top_shop = -1;
|
||||
}
|
||||
|
||||
bool shopping_identify(char *arg, struct char_data *ch, struct char_data *keeper, int shop_nr)
|
||||
bool shopping_identify(char *arg, char_data *ch, char_data *keeper, int shop_nr)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
struct obj_data *obj;
|
||||
obj_data *obj;
|
||||
int i, found;
|
||||
|
||||
if (!is_ok(keeper, ch, shop_nr))
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
SPECIAL(shop_keeper);
|
||||
void boot_the_shops(FILE *shop_f, char *filename, int rec_count);
|
||||
void assign_the_shopkeepers(void);
|
||||
void show_shops(struct char_data *ch, char *arg);
|
||||
int ok_damage_shopkeeper(struct char_data *ch, struct char_data *victim);
|
||||
void show_shops(char_data *ch, char *arg);
|
||||
int ok_damage_shopkeeper(char_data *ch, char_data *victim);
|
||||
void destroy_shops(void);
|
||||
|
||||
struct shop_buy_data {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
/* locally defined functions of local (file) scope */
|
||||
static int compare_spells(const void *x, const void *y);
|
||||
static const char *how_good(int percent);
|
||||
static void npc_steal(struct char_data *ch, struct char_data *victim);
|
||||
static void npc_steal(char_data *ch, char_data *victim);
|
||||
|
||||
/* Special procedures for mobiles. */
|
||||
static int spell_sort_info[MAX_SKILLS + 1];
|
||||
|
|
@ -96,7 +96,7 @@ static const char *prac_types[] = {
|
|||
#define MAXGAIN(ch) (prac_params[MAX_PER_PRAC][(int)GET_CLASS(ch)])
|
||||
#define SPLSKL(ch) (prac_types[prac_params[PRAC_TYPE][(int)GET_CLASS(ch)]])
|
||||
|
||||
void list_skills(struct char_data *ch)
|
||||
void list_skills(char_data *ch)
|
||||
{
|
||||
const char *overflow = "\r\n**OVERFLOW**\r\n";
|
||||
int i, sortpos, ret;
|
||||
|
|
@ -167,7 +167,7 @@ SPECIAL(guild)
|
|||
|
||||
SPECIAL(dump)
|
||||
{
|
||||
struct obj_data *k;
|
||||
obj_data *k;
|
||||
int value = 0;
|
||||
|
||||
for (k = world[IN_ROOM(ch)].contents; k; k = world[IN_ROOM(ch)].contents) {
|
||||
|
|
@ -293,7 +293,7 @@ SPECIAL(mayor)
|
|||
|
||||
/* General special procedures for mobiles. */
|
||||
|
||||
static void npc_steal(struct char_data *ch, struct char_data *victim)
|
||||
static void npc_steal(char_data *ch, char_data *victim)
|
||||
{
|
||||
int gold;
|
||||
|
||||
|
|
@ -334,7 +334,7 @@ SPECIAL(snake)
|
|||
|
||||
SPECIAL(thief)
|
||||
{
|
||||
struct char_data *cons;
|
||||
char_data *cons;
|
||||
|
||||
if (cmd || GET_POS(ch) != POS_STANDING)
|
||||
return (FALSE);
|
||||
|
|
@ -350,7 +350,7 @@ SPECIAL(thief)
|
|||
|
||||
SPECIAL(magic_user)
|
||||
{
|
||||
struct char_data *vict;
|
||||
char_data *vict;
|
||||
|
||||
if (cmd || GET_POS(ch) != POS_FIGHTING)
|
||||
return (FALSE);
|
||||
|
|
@ -422,7 +422,7 @@ SPECIAL(magic_user)
|
|||
SPECIAL(guild_guard)
|
||||
{
|
||||
int i, direction;
|
||||
struct char_data *guard = (struct char_data *)me;
|
||||
char_data *guard = (char_data *)me;
|
||||
const char *buf = "The guard humiliates you, and blocks your way.\r\n";
|
||||
const char *buf2 = "The guard humiliates $n, and blocks $s way.";
|
||||
|
||||
|
|
@ -487,7 +487,7 @@ SPECIAL(puff)
|
|||
|
||||
SPECIAL(fido)
|
||||
{
|
||||
struct obj_data *i, *temp, *next_obj;
|
||||
obj_data *i, *temp, *next_obj;
|
||||
|
||||
if (cmd || !AWAKE(ch))
|
||||
return (FALSE);
|
||||
|
|
@ -510,7 +510,7 @@ SPECIAL(fido)
|
|||
|
||||
SPECIAL(janitor)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
|
||||
if (cmd || !AWAKE(ch))
|
||||
return (FALSE);
|
||||
|
|
@ -530,7 +530,7 @@ SPECIAL(janitor)
|
|||
|
||||
SPECIAL(cityguard)
|
||||
{
|
||||
struct char_data *tch, *evil, *spittle;
|
||||
char_data *tch, *evil, *spittle;
|
||||
int max_evil, min_cha;
|
||||
|
||||
if (cmd || !AWAKE(ch) || FIGHTING(ch))
|
||||
|
|
@ -595,7 +595,7 @@ SPECIAL(pet_shops)
|
|||
{
|
||||
char buf[MAX_STRING_LENGTH], pet_name[256];
|
||||
room_rnum pet_room;
|
||||
struct char_data *pet;
|
||||
char_data *pet;
|
||||
|
||||
/* Gross. */
|
||||
pet_room = IN_ROOM(ch) + 1;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ const char *get_spec_func_name(SPECIAL(*func));
|
|||
****************************************************************************/
|
||||
/* Utility functions */
|
||||
void sort_spells(void);
|
||||
void list_skills(struct char_data *ch);
|
||||
void list_skills(char_data *ch);
|
||||
|
||||
/* Special functions */
|
||||
SPECIAL(guild);
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@ char cast_arg2[MAX_INPUT_LENGTH];
|
|||
const char *unused_spellname = "!UNUSED!"; /* So we can get &unused_spellname */
|
||||
|
||||
/* Local (File Scope) Function Prototypes */
|
||||
static void say_spell(struct char_data *ch, int spellnum, struct char_data *tch,
|
||||
struct obj_data *tobj);
|
||||
static void say_spell(char_data *ch, int spellnum, char_data *tch,
|
||||
obj_data *tobj);
|
||||
static void spello(int spl, const char *name, int max_mana, int min_mana,
|
||||
int mana_change, int minpos, int targets, int violent, int routines,
|
||||
const char *wearoff);
|
||||
static int mag_manacost(struct char_data *ch, int spellnum);
|
||||
static int mag_manacost(char_data *ch, int spellnum);
|
||||
|
||||
/* Local (File Scope) Variables */
|
||||
struct syllable {
|
||||
|
|
@ -55,7 +55,7 @@ static struct syllable syls[] = { { " ", " " }, { "ar", "abra" },
|
|||
"t", "h" }, { "u", "e" }, { "v", "z" }, { "w", "x" }, { "x", "n" }, {
|
||||
"y", "l" }, { "z", "k" }, { "", "" } };
|
||||
|
||||
static int mag_manacost(struct char_data *ch, int spellnum) {
|
||||
static int mag_manacost(char_data *ch, int spellnum) {
|
||||
return MAX(SINFO.mana_max - (SINFO.mana_change *
|
||||
(GET_LEVEL(ch) - SINFO.min_level[(int) GET_CLASS(ch)])),
|
||||
SINFO.mana_min);
|
||||
|
|
@ -92,13 +92,13 @@ static char *obfuscate_spell(const char *unobfuscated) {
|
|||
return obfuscated;
|
||||
}
|
||||
|
||||
static void say_spell(struct char_data *ch, int spellnum, struct char_data *tch,
|
||||
struct obj_data *tobj) {
|
||||
static void say_spell(char_data *ch, int spellnum, char_data *tch,
|
||||
obj_data *tobj) {
|
||||
const char *format, *spell = skill_name(spellnum);
|
||||
char act_buf_original[256], act_buf_obfuscated[256], *obfuscated = obfuscate_spell(spell);
|
||||
|
||||
|
||||
struct char_data *i;
|
||||
char_data *i;
|
||||
|
||||
if (tch != NULL && IN_ROOM(tch) == IN_ROOM(ch)) {
|
||||
if (tch == ch)
|
||||
|
|
@ -174,8 +174,8 @@ int find_skill_num(char *name) {
|
|||
* works -- all come through this function eventually. This is also the entry
|
||||
* point for non-spoken or unrestricted spells. Spellnum 0 is legal but silently
|
||||
* ignored here, to make callers simpler. */
|
||||
int call_magic(struct char_data *caster, struct char_data *cvict,
|
||||
struct obj_data *ovict, int spellnum, int level, int casttype) {
|
||||
int call_magic(char_data *caster, char_data *cvict,
|
||||
obj_data *ovict, int spellnum, int level, int casttype) {
|
||||
int savetype;
|
||||
|
||||
if (spellnum < 1 || spellnum > TOP_SPELL_DEFINE)
|
||||
|
|
@ -304,11 +304,11 @@ int call_magic(struct char_data *caster, struct char_data *cvict,
|
|||
* potion - [0] level [1] spell num [2] spell num [3] spell num
|
||||
* Staves and wands will default to level 14 if the level is not specified; the
|
||||
* DikuMUD format did not specify staff and wand levels in the world files */
|
||||
void mag_objectmagic(struct char_data *ch, struct obj_data *obj, char *argument) {
|
||||
void mag_objectmagic(char_data *ch, obj_data *obj, char *argument) {
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
int i, k;
|
||||
struct char_data *tch = NULL, *next_tch;
|
||||
struct obj_data *tobj = NULL;
|
||||
char_data *tch = NULL, *next_tch;
|
||||
obj_data *tobj = NULL;
|
||||
|
||||
one_argument(argument, arg);
|
||||
|
||||
|
|
@ -448,8 +448,8 @@ void mag_objectmagic(struct char_data *ch, struct obj_data *obj, char *argument)
|
|||
* have the target char/obj and spell number. It checks all restrictions,
|
||||
* prints the words, etc. Entry point for NPC casts. Recommended entry point
|
||||
* for spells cast by NPCs via specprocs. */
|
||||
int cast_spell(struct char_data *ch, struct char_data *tch,
|
||||
struct obj_data *tobj, int spellnum) {
|
||||
int cast_spell(char_data *ch, char_data *tch,
|
||||
obj_data *tobj, int spellnum) {
|
||||
if (spellnum < 0 || spellnum > TOP_SPELL_DEFINE) {
|
||||
log("SYSERR: cast_spell trying to call spellnum %d/%d.", spellnum,
|
||||
TOP_SPELL_DEFINE);
|
||||
|
|
@ -503,8 +503,8 @@ int cast_spell(struct char_data *ch, struct char_data *tch,
|
|||
* the spell can be cast, checks for sufficient mana and subtracts it, and
|
||||
* passes control to cast_spell(). */
|
||||
ACMD(do_cast) {
|
||||
struct char_data *tch = NULL;
|
||||
struct obj_data *tobj = NULL;
|
||||
char_data *tch = NULL;
|
||||
obj_data *tobj = NULL;
|
||||
char *s, *t;
|
||||
int number, mana, spellnum, i, target = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ static int isname_obj(char *search, char *list)
|
|||
|
||||
ASPELL(spell_locate_object)
|
||||
{
|
||||
struct obj_data *i;
|
||||
obj_data *i;
|
||||
char name[MAX_INPUT_LENGTH];
|
||||
int j;
|
||||
|
||||
|
|
|
|||
32
src/spells.h
32
src/spells.h
|
|
@ -212,7 +212,7 @@ struct spell_info_type {
|
|||
#define SPELL_TYPE_STAFF 3
|
||||
#define SPELL_TYPE_SCROLL 4
|
||||
|
||||
#define ASPELL(spellname) void spellname(int level, struct char_data *ch, struct char_data *victim, struct obj_data *obj)
|
||||
#define ASPELL(spellname) void spellname(int level, char_data *ch, char_data *victim, obj_data *obj)
|
||||
|
||||
#define MANUAL_SPELL(spellname) spellname(level, caster, cvict, ovict);
|
||||
|
||||
|
|
@ -231,33 +231,33 @@ ASPELL(spell_detect_poison);
|
|||
|
||||
int find_skill_num(char *name);
|
||||
|
||||
int mag_damage(int level, struct char_data *ch, struct char_data *victim, int spellnum, int savetype);
|
||||
int mag_damage(int level, char_data *ch, char_data *victim, int spellnum, int savetype);
|
||||
|
||||
void mag_affects(int level, struct char_data *ch, struct char_data *victim, int spellnum, int savetype);
|
||||
void mag_affects(int level, char_data *ch, char_data *victim, int spellnum, int savetype);
|
||||
|
||||
void mag_groups(int level, struct char_data *ch, int spellnum, int savetype);
|
||||
void mag_groups(int level, char_data *ch, int spellnum, int savetype);
|
||||
|
||||
void mag_masses(int level, struct char_data *ch, int spellnum, int savetype);
|
||||
void mag_masses(int level, char_data *ch, int spellnum, int savetype);
|
||||
|
||||
void mag_areas(int level, struct char_data *ch, int spellnum, int savetype);
|
||||
void mag_areas(int level, char_data *ch, int spellnum, int savetype);
|
||||
|
||||
void mag_rooms(int level, struct char_data *ch, int spellnum);
|
||||
void mag_rooms(int level, char_data *ch, int spellnum);
|
||||
|
||||
void mag_summons(int level, struct char_data *ch, struct obj_data *obj, int spellnum, int savetype);
|
||||
void mag_summons(int level, char_data *ch, obj_data *obj, int spellnum, int savetype);
|
||||
|
||||
void mag_points(int level, struct char_data *ch, struct char_data *victim, int spellnum, int savetype);
|
||||
void mag_points(int level, char_data *ch, char_data *victim, int spellnum, int savetype);
|
||||
|
||||
void mag_unaffects(int level, struct char_data *ch, struct char_data *victim, int spellnum, int type);
|
||||
void mag_unaffects(int level, char_data *ch, char_data *victim, int spellnum, int type);
|
||||
|
||||
void mag_alter_objs(int level, struct char_data *ch, struct obj_data *obj, int spellnum, int type);
|
||||
void mag_alter_objs(int level, char_data *ch, obj_data *obj, int spellnum, int type);
|
||||
|
||||
void mag_creations(int level, struct char_data *ch, int spellnum);
|
||||
void mag_creations(int level, char_data *ch, int spellnum);
|
||||
|
||||
int call_magic(struct char_data *caster, struct char_data *cvict, struct obj_data *ovict, int spellnum, int level, int casttype);
|
||||
int call_magic(char_data *caster, char_data *cvict, obj_data *ovict, int spellnum, int level, int casttype);
|
||||
|
||||
void mag_objectmagic(struct char_data *ch, struct obj_data *obj, char *argument);
|
||||
void mag_objectmagic(char_data *ch, obj_data *obj, char *argument);
|
||||
|
||||
int cast_spell(struct char_data *ch, struct char_data *tch, struct obj_data *tobj, int spellnum);
|
||||
int cast_spell(char_data *ch, char_data *tch, obj_data *tobj, int spellnum);
|
||||
|
||||
/* other prototypes */
|
||||
void spell_level(int spell, int chclass, int level);
|
||||
|
|
@ -265,7 +265,7 @@ void init_spell_levels(void);
|
|||
const char *skill_name(int num);
|
||||
|
||||
/* From magic.c */
|
||||
int mag_savingthrow(struct char_data *ch, int type, int modifier);
|
||||
int mag_savingthrow(char_data *ch, int type, int modifier);
|
||||
void affect_update(void);
|
||||
|
||||
/* from spell_parser.c */
|
||||
|
|
|
|||
|
|
@ -1066,8 +1066,8 @@ struct descriptor_data {
|
|||
char *output; /**< ptr to the current output buffer */
|
||||
char **history; /**< History of commands, for ! mostly. */
|
||||
int history_pos; /**< Circular array position. */
|
||||
int bufptr; /**< ptr to end of current output */
|
||||
int bufspace; /**< space left in the output buffer */
|
||||
ssize_t bufptr; /**< ptr to end of current output */
|
||||
ssize_t bufspace; /**< space left in the output buffer */
|
||||
struct txt_block *large_outbuf; /**< ptr to large buffer, if we need it */
|
||||
struct txt_q input; /**< q of unprocessed input */
|
||||
struct char_data *character; /**< linked to char */
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
extern time_t motdmod;
|
||||
extern time_t newsmod;
|
||||
|
||||
void tedit_string_cleanup(struct descriptor_data *d, int terminator)
|
||||
void tedit_string_cleanup(descriptor_data *d, int terminator)
|
||||
{
|
||||
FILE *fl;
|
||||
char *storage = OLC_STORAGE(d);
|
||||
|
|
|
|||
35
src/utils.c
35
src/utils.c
|
|
@ -79,6 +79,15 @@ int MAX(int a, int b)
|
|||
return (a > b ? a : b);
|
||||
}
|
||||
|
||||
/** Return the smaller number. Original note: Be wary of sign issues with this.
|
||||
* @param a The first number.
|
||||
* @param b The second number. */
|
||||
unsigned long ULMIN(unsigned long a, unsigned long b)
|
||||
{
|
||||
return (a < b ? a : b);
|
||||
}
|
||||
|
||||
|
||||
/** Used to capitalize a string. Will not change any mud specific color codes.
|
||||
* @param txt The string to capitalize. */
|
||||
char *CAP(char *txt)
|
||||
|
|
@ -257,7 +266,7 @@ int touch(const char *path)
|
|||
void mudlog(int type, int level, int file, const char *str, ...)
|
||||
{
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
struct descriptor_data *i;
|
||||
descriptor_data *i;
|
||||
va_list args;
|
||||
|
||||
if (str == NULL)
|
||||
|
|
@ -481,7 +490,7 @@ time_t mud_time_to_secs(struct time_info_data *now)
|
|||
* @todo The minimum starting age of 17 is hardcoded in this function. Recommend
|
||||
* changing the minimum age to a property (variable) external to this function.
|
||||
* @param ch A valid player character. */
|
||||
struct time_info_data *age(struct char_data *ch)
|
||||
struct time_info_data *age(char_data *ch)
|
||||
{
|
||||
static struct time_info_data player_age;
|
||||
|
||||
|
|
@ -497,9 +506,9 @@ struct time_info_data *age(struct char_data *ch)
|
|||
* is already being lead by the character.
|
||||
* @param ch The character trying to follow.
|
||||
* @param victim The character being followed. */
|
||||
bool circle_follow(struct char_data *ch, struct char_data *victim)
|
||||
bool circle_follow(char_data *ch, char_data *victim)
|
||||
{
|
||||
struct char_data *k;
|
||||
char_data *k;
|
||||
|
||||
for (k = victim; k; k = k->master) {
|
||||
if (k == ch)
|
||||
|
|
@ -518,7 +527,7 @@ bool circle_follow(struct char_data *ch, struct char_data *victim)
|
|||
* the character will stop following the "master" they were following.
|
||||
* @param ch The character (NPC or PC) to stop from following.
|
||||
* */
|
||||
void stop_follower(struct char_data *ch)
|
||||
void stop_follower(char_data *ch)
|
||||
{
|
||||
struct follow_type *j, *k;
|
||||
|
||||
|
|
@ -561,7 +570,7 @@ void stop_follower(struct char_data *ch)
|
|||
* character (PC or NPC).
|
||||
* @param ch The character to check for charmed followers.
|
||||
*/
|
||||
int num_followers_charmed(struct char_data *ch)
|
||||
int num_followers_charmed(char_data *ch)
|
||||
{
|
||||
struct follow_type *lackey;
|
||||
int total = 0;
|
||||
|
|
@ -579,7 +588,7 @@ int num_followers_charmed(struct char_data *ch)
|
|||
* the character passed in as the argument.
|
||||
* @param ch The character (NPC or PC) to stop from following.
|
||||
* */
|
||||
void die_follower(struct char_data *ch)
|
||||
void die_follower(char_data *ch)
|
||||
{
|
||||
struct follow_type *j, *k;
|
||||
|
||||
|
|
@ -598,7 +607,7 @@ void die_follower(struct char_data *ch)
|
|||
* be following anyone, otherwise core dump.
|
||||
* @param ch The character to follow.
|
||||
* @param leader The character to be followed. */
|
||||
void add_follower(struct char_data *ch, struct char_data *leader)
|
||||
void add_follower(char_data *ch, char_data *leader)
|
||||
{
|
||||
struct follow_type *k;
|
||||
|
||||
|
|
@ -733,7 +742,7 @@ int get_filename(char *filename, size_t fbufsize, int mode, const char *orig_nam
|
|||
int num_pc_in_room(struct room_data *room)
|
||||
{
|
||||
int i = 0;
|
||||
struct char_data *ch;
|
||||
char_data *ch;
|
||||
|
||||
for (ch = room->people; ch != NULL; ch = ch->next_in_room)
|
||||
if (!IS_NPC(ch))
|
||||
|
|
@ -897,10 +906,10 @@ int levenshtein_distance(const char *s1, const char *s2)
|
|||
* @post ch is unattached from the furniture object.
|
||||
* @param ch The character to remove from the furniture object.
|
||||
*/
|
||||
void char_from_furniture(struct char_data *ch)
|
||||
void char_from_furniture(char_data *ch)
|
||||
{
|
||||
struct obj_data *furniture;
|
||||
struct char_data *tempch;
|
||||
obj_data *furniture;
|
||||
char_data *tempch;
|
||||
|
||||
if (!SITTING(ch))
|
||||
return;
|
||||
|
|
@ -957,7 +966,7 @@ void char_from_furniture(struct char_data *ch)
|
|||
list_length - So we can work with lists that don't end with /n
|
||||
show_nums - when set to TRUE, it will show a number before the list entry.
|
||||
*/
|
||||
void column_list(struct char_data *ch, int num_cols, const char **list, int list_length, bool show_nums)
|
||||
void column_list(char_data *ch, int num_cols, const char **list, int list_length, bool show_nums)
|
||||
{
|
||||
size_t max_len = 0, len = 0, temp_len;
|
||||
int num_per_col, col_width, r, c, i, offset = 0;
|
||||
|
|
|
|||
57
src/utils.h
57
src/utils.h
|
|
@ -24,7 +24,7 @@
|
|||
* to allow for easier addition of parameters to the otherwise generic and
|
||||
* static function structure. */
|
||||
#define ACMD(name) \
|
||||
void name(struct char_data *ch, char *argument, int cmd, int subcmd)
|
||||
void name(char_data *ch, char *argument, int cmd, int subcmd)
|
||||
|
||||
/* external declarations and prototypes */
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ void sprintbitarray(int bitvector[], const char *names[], int maxar, char *resul
|
|||
int get_line(FILE *fl, char *buf);
|
||||
int get_filename(char *filename, size_t fbufsize, int mode, const char *orig_name);
|
||||
time_t mud_time_to_secs(struct time_info_data *now);
|
||||
struct time_info_data *age(struct char_data *ch);
|
||||
struct time_info_data *age(char_data *ch);
|
||||
int num_pc_in_room(struct room_data *room);
|
||||
void core_dump_real(const char *who, int line);
|
||||
int count_color_chars(char *string);
|
||||
|
|
@ -57,7 +57,7 @@ int levenshtein_distance(const char *s1, const char *s2);
|
|||
struct time_info_data *real_time_passed(time_t t2, time_t t1);
|
||||
struct time_info_data *mud_time_passed(time_t t2, time_t t1);
|
||||
void prune_crlf(char *txt);
|
||||
void column_list(struct char_data *ch, int num_cols, const char **list, int list_length, bool show_nums);
|
||||
void column_list(char_data *ch, int num_cols, const char **list, int list_length, bool show_nums);
|
||||
int get_flag_by_name(const char *flag_list[], char *flag_name);
|
||||
int file_head(FILE *file, char *buf, size_t bufsize, int lines_to_read);
|
||||
int file_tail(FILE *file, char *buf, size_t bufsize, int lines_to_read);
|
||||
|
|
@ -107,43 +107,44 @@ unsigned long circle_random(void);
|
|||
|
||||
int MAX(int a, int b);
|
||||
int MIN(int a, int b);
|
||||
unsigned long ULMIN(unsigned long a, unsigned long b);
|
||||
char *CAP(char *txt);
|
||||
|
||||
/* Followers */
|
||||
int num_followers_charmed(struct char_data *ch);
|
||||
void die_follower(struct char_data *ch);
|
||||
void add_follower(struct char_data *ch, struct char_data *leader);
|
||||
void stop_follower(struct char_data *ch);
|
||||
bool circle_follow(struct char_data *ch, struct char_data *victim);
|
||||
int num_followers_charmed(char_data *ch);
|
||||
void die_follower(char_data *ch);
|
||||
void add_follower(char_data *ch, char_data *leader);
|
||||
void stop_follower(char_data *ch);
|
||||
bool circle_follow(char_data *ch, char_data *victim);
|
||||
|
||||
/* in act.informative.c */
|
||||
void look_at_room(struct char_data *ch, int mode);
|
||||
void add_history(struct char_data *ch, char *msg, int type);
|
||||
void look_at_room(char_data *ch, int mode);
|
||||
void add_history(char_data *ch, char *msg, int type);
|
||||
|
||||
/* in act.movmement.c */
|
||||
int do_simple_move(struct char_data *ch, int dir, int following);
|
||||
int perform_move(struct char_data *ch, int dir, int following);
|
||||
int do_simple_move(char_data *ch, int dir, int following);
|
||||
int perform_move(char_data *ch, int dir, int following);
|
||||
|
||||
/* in limits.c */
|
||||
int mana_gain(struct char_data *ch);
|
||||
int hit_gain(struct char_data *ch);
|
||||
int move_gain(struct char_data *ch);
|
||||
void set_title(struct char_data *ch, char *title);
|
||||
void gain_exp(struct char_data *ch, int gain);
|
||||
void gain_exp_regardless(struct char_data *ch, int gain);
|
||||
void gain_condition(struct char_data *ch, int condition, int value);
|
||||
int mana_gain(char_data *ch);
|
||||
int hit_gain(char_data *ch);
|
||||
int move_gain(char_data *ch);
|
||||
void set_title(char_data *ch, char *title);
|
||||
void gain_exp(char_data *ch, int gain);
|
||||
void gain_exp_regardless(char_data *ch, int gain);
|
||||
void gain_condition(char_data *ch, int condition, int value);
|
||||
void point_update(void);
|
||||
void update_pos(struct char_data *victim);
|
||||
void update_pos(char_data *victim);
|
||||
void run_autowiz(void);
|
||||
int increase_gold(struct char_data *ch, int amt);
|
||||
int decrease_gold(struct char_data *ch, int amt);
|
||||
int increase_bank(struct char_data *ch, int amt);
|
||||
int decrease_bank(struct char_data *ch, int amt);
|
||||
int increase_gold(char_data *ch, int amt);
|
||||
int decrease_gold(char_data *ch, int amt);
|
||||
int increase_bank(char_data *ch, int amt);
|
||||
int decrease_bank(char_data *ch, int amt);
|
||||
|
||||
/* in class.c */
|
||||
void advance_level(struct char_data *ch);
|
||||
void advance_level(char_data *ch);
|
||||
|
||||
void char_from_furniture(struct char_data *ch);
|
||||
void char_from_furniture(char_data *ch);
|
||||
/** What ch is currently sitting on. */
|
||||
#define SITTING(ch) ((ch)->char_specials.furniture)
|
||||
/** Who is sitting next to ch, if anyone. */
|
||||
|
|
@ -220,7 +221,7 @@ void char_from_furniture(struct char_data *ch);
|
|||
|
||||
/** A calloc based memory allocation macro.
|
||||
* @param result Pointer to created memory.
|
||||
* @param type The type of memory (int, struct char_data, etc.).
|
||||
* @param type The type of memory (int, char_data, etc.).
|
||||
* @param number How many of type to make. */
|
||||
#define CREATE(result, type, number) do {\
|
||||
if ((number) * sizeof(type) <= 0) \
|
||||
|
|
@ -231,7 +232,7 @@ void char_from_furniture(struct char_data *ch);
|
|||
/** A realloc based memory reallocation macro. Reminder: realloc can reduce
|
||||
* the size of an array as well as increase it.
|
||||
* @param result Pointer to created memory.
|
||||
* @param type The type of memory (int, struct char_data, etc.).
|
||||
* @param type The type of memory (int, char_data, etc.).
|
||||
* @param number How many of type to make. */
|
||||
#define RECREATE(result, type, number) do {\
|
||||
if (!((result) = (type *) realloc ((result), sizeof(type) * (number))))\
|
||||
|
|
|
|||
48
src/zedit.c
48
src/zedit.c
|
|
@ -24,21 +24,21 @@
|
|||
#define MAX_DUPLICATES 100
|
||||
|
||||
/* local functions */
|
||||
static int start_change_command(struct descriptor_data *d, int pos);
|
||||
static void zedit_setup(struct descriptor_data *d, int room_num);
|
||||
static void zedit_new_zone(struct char_data *ch, zone_vnum vzone_num, room_vnum bottom, room_vnum top);
|
||||
static void zedit_save_internally(struct descriptor_data *d);
|
||||
static int start_change_command(descriptor_data *d, int pos);
|
||||
static void zedit_setup(descriptor_data *d, int room_num);
|
||||
static void zedit_new_zone(char_data *ch, zone_vnum vzone_num, room_vnum bottom, room_vnum top);
|
||||
static void zedit_save_internally(descriptor_data *d);
|
||||
static void zedit_save_to_disk(int zone_num);
|
||||
static void zedit_disp_menu(struct descriptor_data *d);
|
||||
static void zedit_disp_comtype(struct descriptor_data *d);
|
||||
static void zedit_disp_arg1(struct descriptor_data *d);
|
||||
static void zedit_disp_arg2(struct descriptor_data *d);
|
||||
static void zedit_disp_arg3(struct descriptor_data *d);
|
||||
static void zedit_disp_menu(descriptor_data *d);
|
||||
static void zedit_disp_comtype(descriptor_data *d);
|
||||
static void zedit_disp_arg1(descriptor_data *d);
|
||||
static void zedit_disp_arg2(descriptor_data *d);
|
||||
static void zedit_disp_arg3(descriptor_data *d);
|
||||
|
||||
ACMD(do_oasis_zedit)
|
||||
{
|
||||
int number = NOWHERE, save = 0, real_num;
|
||||
struct descriptor_data *d;
|
||||
descriptor_data *d;
|
||||
char *stop;
|
||||
char sbot[MAX_STRING_LENGTH];
|
||||
char buf1[MAX_STRING_LENGTH];
|
||||
|
|
@ -187,7 +187,7 @@ ACMD(do_oasis_zedit)
|
|||
GET_NAME(ch), zone_table[OLC_ZNUM(d)].number, GET_OLC_ZONE(ch));
|
||||
}
|
||||
|
||||
static void zedit_setup(struct descriptor_data *d, int room_num)
|
||||
static void zedit_setup(descriptor_data *d, int room_num)
|
||||
{
|
||||
struct zone_data *zone;
|
||||
int subcmd = 0, count = 0, cmd_room = NOWHERE, i;
|
||||
|
|
@ -248,11 +248,11 @@ static void zedit_setup(struct descriptor_data *d, int room_num)
|
|||
}
|
||||
|
||||
/* Create a new zone. */
|
||||
static void zedit_new_zone(struct char_data *ch, zone_vnum vzone_num, room_vnum bottom, room_vnum top)
|
||||
static void zedit_new_zone(char_data *ch, zone_vnum vzone_num, room_vnum bottom, room_vnum top)
|
||||
{
|
||||
int result;
|
||||
const char *error;
|
||||
struct descriptor_data *dsc;
|
||||
descriptor_data *dsc;
|
||||
|
||||
if ((result = create_new_zone(vzone_num, bottom, top, &error)) == NOWHERE) {
|
||||
write_to_output(ch->desc, "%s", error);
|
||||
|
|
@ -285,7 +285,7 @@ static void zedit_new_zone(struct char_data *ch, zone_vnum vzone_num, room_vnum
|
|||
|
||||
/* Save all the information in the player's temporary buffer back into
|
||||
* the current zone table. */
|
||||
static void zedit_save_internally(struct descriptor_data *d)
|
||||
static void zedit_save_internally(descriptor_data *d)
|
||||
{
|
||||
int mobloaded = FALSE,
|
||||
objloaded = FALSE,
|
||||
|
|
@ -360,7 +360,7 @@ static void zedit_save_to_disk(int zone)
|
|||
}
|
||||
|
||||
/* Error check user input and then setup change */
|
||||
static int start_change_command(struct descriptor_data *d, int pos)
|
||||
static int start_change_command(descriptor_data *d, int pos)
|
||||
{
|
||||
if (pos < 0 || pos >= count_commands(OLC_ZONE(d)->cmd))
|
||||
return 0;
|
||||
|
|
@ -371,7 +371,7 @@ static int start_change_command(struct descriptor_data *d, int pos)
|
|||
}
|
||||
|
||||
/*------------------------------------------------------------------*/
|
||||
static void zedit_disp_flag_menu(struct descriptor_data *d)
|
||||
static void zedit_disp_flag_menu(descriptor_data *d)
|
||||
{
|
||||
char bits[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
@ -385,7 +385,7 @@ static void zedit_disp_flag_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/*------------------------------------------------------------------*/
|
||||
static bool zedit_get_levels(struct descriptor_data *d, char *buf)
|
||||
static bool zedit_get_levels(descriptor_data *d, char *buf)
|
||||
{
|
||||
/* Create a string for the recommended levels for this zone. */
|
||||
if ((OLC_ZONE(d)->min_level == -1) && (OLC_ZONE(d)->max_level == -1)) {
|
||||
|
|
@ -410,7 +410,7 @@ static bool zedit_get_levels(struct descriptor_data *d, char *buf)
|
|||
/*------------------------------------------------------------------*/
|
||||
/* Menu functions */
|
||||
/* the main menu */
|
||||
static void zedit_disp_menu(struct descriptor_data *d)
|
||||
static void zedit_disp_menu(descriptor_data *d)
|
||||
{
|
||||
int subcmd = 0, counter = 0;
|
||||
char buf1[MAX_STRING_LENGTH], lev_string[50];
|
||||
|
|
@ -549,7 +549,7 @@ static void zedit_disp_menu(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* Print the command type menu and setup response catch. */
|
||||
static void zedit_disp_comtype(struct descriptor_data *d)
|
||||
static void zedit_disp_comtype(descriptor_data *d)
|
||||
{
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
|
@ -570,7 +570,7 @@ static void zedit_disp_comtype(struct descriptor_data *d)
|
|||
|
||||
/* Print the appropriate message for the command type for arg1 and set
|
||||
up the input catch clause */
|
||||
static void zedit_disp_arg1(struct descriptor_data *d)
|
||||
static void zedit_disp_arg1(descriptor_data *d)
|
||||
{
|
||||
write_to_output(d, "\r\n");
|
||||
|
||||
|
|
@ -608,7 +608,7 @@ static void zedit_disp_arg1(struct descriptor_data *d)
|
|||
|
||||
/* Print the appropriate message for the command type for arg2 and set
|
||||
up the input catch clause. */
|
||||
static void zedit_disp_arg2(struct descriptor_data *d)
|
||||
static void zedit_disp_arg2(descriptor_data *d)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -649,7 +649,7 @@ static void zedit_disp_arg2(struct descriptor_data *d)
|
|||
|
||||
/* Print the appropriate message for the command type for arg3 and set
|
||||
up the input catch clause. */
|
||||
static void zedit_disp_arg3(struct descriptor_data *d)
|
||||
static void zedit_disp_arg3(descriptor_data *d)
|
||||
{
|
||||
|
||||
write_to_output(d, "\r\n");
|
||||
|
|
@ -688,7 +688,7 @@ static void zedit_disp_arg3(struct descriptor_data *d)
|
|||
/*
|
||||
* Print the recommended levels menu and setup response catch.
|
||||
*/
|
||||
static void zedit_disp_levels(struct descriptor_data *d)
|
||||
static void zedit_disp_levels(descriptor_data *d)
|
||||
{
|
||||
char lev_string[50];
|
||||
bool levels_set = FALSE;
|
||||
|
|
@ -710,7 +710,7 @@ static void zedit_disp_levels(struct descriptor_data *d)
|
|||
}
|
||||
|
||||
/* The event handler */
|
||||
void zedit_parse(struct descriptor_data *d, char *arg)
|
||||
void zedit_parse(descriptor_data *d, char *arg)
|
||||
{
|
||||
int pos, number;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue