void do_wizlist(CHAR_DATA *ch, char *argument) { char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char arg3[MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; char title[MAX_STRING_LENGTH]; BUFFER *buffer; int level; WIZ_DATA *pwiz; int lngth; int amt; bool found; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); argument = one_argument( argument, arg3 ); /* * Uncomment the following to use the old method of having * a fixed wizlist in the rot.are file. */ /* do_help(ch,"wizlist"); return; */ if ((arg1[0] != '\0') && (ch->level == MAX_LEVEL)) { if ( !str_prefix( arg1, "add" ) ) { if ( !is_number( arg2 ) || ( arg3[0] == '\0' ) ) { send_to_char( "Syntax: wizlist add <level> <name>\n\r", ch ); return; } level = atoi(arg2); change_wizlist( ch, TRUE, level, arg3 ); return; } if ( !str_prefix( arg1, "delete" ) ) { if ( arg2[0] == '\0' ) { send_to_char( "Syntax: wizlist delete <name>\n\r", ch ); return; } change_wizlist( ch, FALSE, 0, arg2 ); return; } send_to_char( "Syntax:\n\r", ch ); send_to_char( " wizlist delete <name>\n\r", ch ); send_to_char( " wizlist add <level> <name>\n\r", ch ); return; } if (wiz_list == NULL) { send_to_char("No immortals listed at this time.\n\r",ch); return; } buffer = new_buf(); xprintf(title," #WThe Gods of Mindcloud#0"); xprintf(buf,"#0 ___________________________________________________________________________\n\r"); add_buf(buffer,buf); xprintf(buf," /\\_\\%70s\\_\\\n\r", " "); add_buf(buffer,buf); lngth = (70 - strlen(title))/2; for( ; lngth >= 0; lngth--) { strcat(title, " "); } xprintf(buf,"|/\\\\_\\ %70s \\_\\\n\r", title); add_buf(buffer,buf); xprintf(buf,"#0\\_/_|_|%69s#0|_|#0\n\r", " "); add_buf(buffer,buf); for (level = 12; level > 5; level--) { found = FALSE; amt = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { amt++; found = TRUE; } } if (!found) { if (level == 6) { xprintf(buf,"#0 ___|_|%69s|_|\n\r", " "); add_buf(buffer,buf); } continue; } xprintf(buf,"#0 |_|#R%40s #w%28s#0|_|#0\n\r", wiz_titles[12-level], " "); add_buf(buffer,buf); xprintf(buf,"#0 |_|#W%25s******************#w%26s#0|_|#0\n\r", " ", " "); add_buf(buffer,buf); lngth = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { if (lngth == 0) { if (amt > 2) { xprintf(buf, "#0 |_|#B%12s%-17s #B", " ", pwiz->name); add_buf(buffer, buf); lngth = 1; } else if (amt > 1) { xprintf(buf, "#0 |_|#B%21s%-17s #B", " ", pwiz->name); add_buf(buffer, buf); lngth = 1; } else { xprintf(buf, "#0 |_|#B%30s%-39s#0|_|\n\r", " ", pwiz->name); add_buf(buffer, buf); lngth = 0; } } else if (lngth == 1) { if (amt > 2) { xprintf(buf, "%-17s ", pwiz->name); add_buf(buffer, buf); lngth = 2; } else { xprintf(buf, "%-30s#0|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; } } else { xprintf(buf, "%-21s#0|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; amt -= 3; } } } if (level == 6) { xprintf(buf,"#0 ___|_|%69s#0|_|\n\r", " "); } else { xprintf(buf,"#0 |_|%69s#0|_|\n\r", " "); } add_buf(buffer,buf); } xprintf(buf,"#0/ \\ |_|%69s#0|_|\n\r", " "); add_buf(buffer,buf); xprintf(buf,"#0|\\//_/%70s#0/_/\n\r", " "); add_buf(buffer,buf); xprintf(buf,"#0 \\/_/______________________________________________________________________/_/#n\n\r"); add_buf(buffer,buf); send_to_char( buf_string(buffer), ch ); free_buf(buffer); return; }
wiz_last->next = pwiz; wiz_last = pwiz; } } void do_wizlist(CHAR_DATA *ch, char *argument) { char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char arg3[MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; char title[MAX_STRING_LENGTH]; BUFFER *buffer; int level; WIZ_DATA *pwiz; int lngth; int amt; bool found; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); argument = one_argument( argument, arg3 ); /* * Uncomment the following to use the old method of having * a fixed wizlist in the rot.are file. */ /* do_help(ch,"wizlist"); return; */ if ((arg1[0] != '\0') && (ch->level == MAX_LEVEL)) { if ( !str_prefix( arg1, "add" ) ) { if ( !is_number( arg2 ) || ( arg3[0] == '\0' ) ) { send_to_char( "Syntax: wizlist add <level> <name>\n\r", ch ); return; } level = atoi(arg2); change_wizlist( ch, TRUE, level, arg3 ); return; } if ( !str_prefix( arg1, "delete" ) ) { if ( arg2[0] == '\0' ) { send_to_char( "Syntax: wizlist delete <name>\n\r", ch ); return; } change_wizlist( ch, FALSE, 0, arg2 ); return; } send_to_char( "Syntax:\n\r", ch ); send_to_char( " wizlist delete <name>\n\r", ch ); send_to_char( " wizlist add <level> <name>\n\r", ch ); return; } if (wiz_list == NULL) { send_to_char("No immortals listed at this time.\n\r",ch); return; } buffer = new_buf(); sprintf(title,"The Gods of Realms of Thoth"); sprintf(buf,"{x ___________________________________________________________________________\n\r"); add_buf(buffer,buf); sprintf(buf,"{x /\\_\\%70s\\_\\\n\r", " "); add_buf(buffer,buf); lngth = (70 - strlen(title))/2; for( ; lngth >= 0; lngth--) { strcat(title, " "); } sprintf(buf,"|/\\\\_\\{W%70s{x\\_\\\n\r", title); add_buf(buffer,buf); sprintf(buf,"{x\\_/_|_|%69s|_|\n\r", " "); add_buf(buffer,buf); for (level = IMPLEMENTOR; level > HERO; level--) { found = FALSE; amt = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { amt++; found = TRUE; } } if (!found) { if (level == HERO+1) { sprintf(buf,"{x ___|_|%69s|_|\n\r", " "); add_buf(buffer,buf); } continue; } sprintf(buf,"{x |_|{R%37s {B[%d]{x%26s|_|\n\r", wiz_titles[IMPLEMENTOR-level], level, " "); add_buf(buffer,buf); sprintf(buf,"{x |_|{Y%25s******************{x%26s|_|\n\r", " ", " "); add_buf(buffer,buf); lngth = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { if (lngth == 0) { if (amt > 2) { sprintf(buf, "{x |_|{%s%12s%-17s ", level >= DEMI ? "G" : "C", " ", pwiz->name); add_buf(buffer, buf); lngth = 1; } else if (amt > 1) { sprintf(buf, "{x |_|{%s%21s%-17s ", level >= DEMI ? "G" : "C", " ", pwiz->name); add_buf(buffer, buf); lngth = 1; } else { sprintf(buf, "{x |_|{%s%30s%-39s{x|_|\n\r", level >= DEMI ? "G" : "C", " ", pwiz->name); add_buf(buffer, buf); lngth = 0; } } else if (lngth == 1) { if (amt > 2) { sprintf(buf, "%-17s ", pwiz->name); add_buf(buffer, buf); lngth = 2; } else { sprintf(buf, "%-30s{x|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; } } else { sprintf(buf, "%-21s{x|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; amt -= 3; } } } if (level == HERO+1) { sprintf(buf,"{x ___|_|%69s|_|\n\r", " "); } else { sprintf(buf,"{x |_|%69s|_|\n\r", " "); } add_buf(buffer,buf); } sprintf(buf,"{x/ \\ |_|%69s|_|\n\r", " "); add_buf(buffer,buf); sprintf(buf,"{x|\\//_/%70s/_/\n\r", " "); add_buf(buffer,buf); sprintf(buf,"{x \\/_/______________________________________________________________________/_/\n\r"); add_buf(buffer,buf); page_to_char( buf_string(buffer), ch ); free_buf(buffer); return; }
void do_wizlist(CHAR_DATA *ch, char *argument) { char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char arg3[MAX_INPUT_LENGTH]; char buf[MSL]={'\0'}; char title[MSL]={'\0'}; BUFFER *buffer; int level = 0; WIZ_DATA *pwiz; int lngth = 0; int amt = 0; bool found; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); argument = one_argument( argument, arg3 ); if ((arg1[0] != '\0') && (ch->level == MAX_LEVEL)) { if ( !str_prefix( arg1, "add" ) ) { if ( !is_number( arg2 ) || ( arg3[0] == '\0' ) ) { send_to_char( "Syntax: wizlist add <level> <name>\n\r", ch ); return; } level = atoi(arg2); change_wizlist( ch, TRUE, level, arg3 ); return; } if ( !str_prefix( arg1, "delete" ) ) { if ( arg2[0] == '\0' ) { send_to_char( "Syntax: wizlist delete <name>\n\r", ch ); return; } change_wizlist( ch, FALSE, 0, arg2 ); return; } send_to_char( "Syntax:\n\r", ch ); send_to_char( " wizlist delete <name>\n\r", ch ); send_to_char( " wizlist add <level> <name>\n\r", ch ); return; } if (wiz_list == NULL) { send_to_char("No immortals listed at this time.\n\r",ch); return; } buffer = new_buf(); sprintf(title,"The Gods of Dungeon World"); sprintf(buf,"___________________________________________________________________________\n\r"); add_buf(buffer,buf); sprintf(buf," /\\_\\%70s\\_\\\n\r", " "); add_buf(buffer,buf); lngth = (70 - strlen(title))/2; for( ; lngth >= 0; lngth--) { strcat(title, " "); } sprintf(buf,"|/\\\\_\\\tW%70s\tn\\_\\\n\r", title); add_buf(buffer,buf); sprintf(buf,"\\_/_|_|%69s|_|\n\r", " "); add_buf(buffer,buf); for (level = IMPLEMENTOR; level > HERO; level--) { found = FALSE; amt = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { amt++; found = TRUE; } } if (!found) { if (level == HERO+1) { sprintf(buf," ___|_|%69s|_|\n\r", " "); add_buf(buffer,buf); } continue; } sprintf(buf," |_|%37s [%d]%30s|_|\n\r", wiz_titles[IMPLEMENTOR-level], level, " "); add_buf(buffer,buf); sprintf(buf," |_|\tY%25s******************\tn%29s|_|\n\r", " ", " "); add_buf(buffer,buf); lngth = 0; for (pwiz = wiz_list;pwiz != NULL;pwiz = pwiz->next) { if (pwiz->level == level) { if (lngth == 0) { if (amt > 2) { sprintf(buf, " |_|%12s%-23s ", pwiz->name, " "); add_buf(buffer, buf); lngth = 1; } else if (amt > 1) { sprintf(buf, " |_|%21s%-23s ", pwiz->name, " "); add_buf(buffer, buf); lngth = 1; } else { sprintf(buf, " |_|%30s%-42s|_|\n\r", pwiz->name, " "); add_buf(buffer, buf); lngth = 0; } } else if (lngth == 1) { if (amt > 2) { sprintf(buf, "%-23s ", pwiz->name); add_buf(buffer, buf); lngth = 2; } else { sprintf(buf, "%-30s|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; } } else { sprintf(buf, "%-21s|_|\n\r", pwiz->name); add_buf(buffer, buf); lngth = 0; amt -= 3; } } } if (level == HERO+1) { sprintf(buf," ___|_|%72s|_|\n\r", " "); } else { sprintf(buf," |_|%72s|_|\n\r", " "); } add_buf(buffer,buf); } sprintf(buf,"/ \\ |_|%69s|_|\n\r", " "); add_buf(buffer,buf); sprintf(buf,"|\\//_/%70s/_/\n\r", " "); add_buf(buffer,buf); sprintf(buf," \\/_/______________________________________________________________________/_/\n\r"); add_buf(buffer,buf); page_to_char( buf_string(buffer), ch ); free_buf(buffer); return; }