Esempio n. 1
0
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;
}
Esempio n. 2
0
	    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;
}
Esempio n. 3
0
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;
}