rm6/
rm6/clans/
rm6/councils/
rm6/deity/
rm6/doc/mudprogs/
rm6/exchange/
rm6/gods/
rm6/homes/
rm6/nations/
rm6/player/
rm6/player/a/
rm6/src/RCS/
rm6/src/dmalloc/
rm6/src/dmalloc/bin/
rm6/src/dmalloc/include/
rm6/src/dmalloc/lib/
rm6/src/scripts/
rm6/src/utils/
act_comm.c: * -----------------------------------------------------------|   (0...0)   *
act_comm.c: * -----------------------------------------------------------|    {o o}    *
act_comm.c: * ------------------------------------------------------------------------ *
act_comm.c: * ------------------------------------------------------------------------ *
act_comm.c:/* mobchat.c -- Scion */
act_comm.c:    { -1,               "&W[&c%s&W] &c%s&w", "&W[&c%s&W] &w$n&W: &c$t&w", "&W[&c%s&W] &wYou&W: &c%s&w\n\r", AT_CHAN_DEFAULT,   1 }
act_comm.c:    ROOM_INDEX_DATA *room = ch->in_room;
act_comm.c:    if ( IS_SET( room->room_flags, ROOM_SILENCE ) )
act_comm.c:    /* if ( xIS_SET( room->affected_by, ROOM_AFF_SILENCE ) )
act_comm.c:/* Text scrambler -- Altrag */
act_comm.c:	    	conversion = -conversion + position - modifier + argument[position] - 'A';
act_comm.c:	    	conversion = number_range( conversion - 5, conversion + 5 );
act_comm.c:	    		conversion -= 26;
act_comm.c:	    	conversion = -conversion + position - modifier + argument[position] - 'a';
act_comm.c:	    	conversion = number_range( conversion - 5, conversion + 5 );
act_comm.c:	    		conversion -= 26;
act_comm.c:	    	conversion = -conversion + position - modifier + argument[position] - '0';
act_comm.c:	    	conversion = number_range( conversion - 2, conversion + 2 );
act_comm.c:	    		conversion -= 10;
act_comm.c:/* I'll rewrite this later if its still needed.. -- Altrag
act_comm.c:    for (lng = first_lang; lng; lng = lng->next)
act_comm.c:	if (!str_cmp(lng->name, name))
act_comm.c:	for (cnv = lng->first_precnv; cnv; cnv = cnv->next)
act_comm.c:	    if (!str_prefix(cnv->old, pbuf))
act_comm.c:		    strncpy(pbuf2, pbuf, cnv->olen);
act_comm.c:		    pbuf2[cnv->olen] = '\0';
act_comm.c:		    pbuf2 += cnv->olen;
act_comm.c:		    strcpy(pbuf2, cnv->new);
act_comm.c:		    pbuf2 += cnv->nlen;
act_comm.c:		pbuf += cnv->olen;
act_comm.c:		*pbuf2 = lng->alphabet[LOWER(*pbuf) - 'a'];
act_comm.c:	for (cnv = lng->first_cnv; cnv; cnv = cnv->next)
act_comm.c:	    if (!str_prefix(cnv->old, pbuf))
act_comm.c:		strcpy(pbuf2, cnv->new);
act_comm.c:		pbuf += cnv->olen;
act_comm.c:		pbuf2 += cnv->nlen;
act_comm.c:  if ( IS_NPC( ch ) || !ch->pcdata ) return (char *) argument;
act_comm.c:  drunk = ch->pcdata->condition[COND_DRUNK];
act_comm.c:	    txt1--;
act_comm.c:	  *txt++ = '-';
act_comm.c: * An attempt to reduce redundancy                 - Tagith
act_comm.c:    if(!d) return FALSE; /* catch the link dead - shogar */
act_comm.c:    vch = d->character;
act_comm.c:    if ( IS_SET( och->deaf, channel ) )
act_comm.c:      && (!str_cmp( och->pcdata->council_name, "Newbie Council" )
act_comm.c:      ||  !str_cmp( och->pcdata->council2_name, "Newbie Council" ) ) ) )
act_comm.c:    &&   vch->in_room->area != ch->in_room->area )
act_comm.c:       	if ( vch->pcdata->clan != ch->pcdata->clan )
act_comm.c:       	if (vch->pcdata->guild != ch->pcdata->guild )
act_comm.c:        if (( vch->pcdata->council != ch->pcdata->council 
act_comm.c:	 && vch->pcdata->council2 != ch->pcdata->council ))
act_comm.c:	if (( vch->pcdata->council != ch->pcdata->council2
act_comm.c:	&& vch->pcdata->council2 != ch->pcdata->council2 ))
act_comm.c: * Allows people to do socials, even targeted, over channels	   - Tagith
act_comm.c:    if ( !IS_NPC(ch) && xIS_SET( ch->act, PLR_NO_EMOTE ) )
act_comm.c:	send_to_char( "You are anti-social!\n\r", ch );
act_comm.c:	position = ch->position;
act_comm.c:	ch->position = POS_STANDING;
act_comm.c:	sprintf( buf, "[%s] %s", verb, social->char_no_arg );
act_comm.c:	ch->position = position;
act_comm.c:	if( social->others_no_arg && social->others_no_arg[0] != '\0' )
act_comm.c:	    sprintf( otherbuf, "[%s] %s", verb, social->others_no_arg );
act_comm.c:	sprintf( buf, "[%s] %s", verb, social->char_auto );
act_comm.c:	position = ch->position;
act_comm.c:	ch->position = POS_STANDING;
act_comm.c:	ch->position = position;
act_comm.c:	if ( social->others_auto && social->others_auto[0] != '\0' )
act_comm.c:	    sprintf( otherbuf, "[%s] %s", verb, social->others_auto );
act_comm.c:	sprintf( buf, "[%s] %s", verb, social->char_found );
act_comm.c:	position = ch->position;
act_comm.c:	ch->position = POS_STANDING;
act_comm.c:	ch->position = position;
act_comm.c:	if ( social->vict_found
act_comm.c:	&&   social->vict_found[0] != '\0'
act_comm.c:	&&   can_see_chan( ch, victim->desc, channel ) )
act_comm.c:	    sprintf( buf, "[%s] %s", verb, social->vict_found );
act_comm.c:	    position = victim->position;
act_comm.c:	    victim->position = POS_STANDING;
act_comm.c:	    victim->position = position;
act_comm.c:	if ( social->others_found && social->others_found[0] != '\0' )
act_comm.c:	    sprintf( otherbuf, "[%s] %s", verb, social->others_found );
act_comm.c:    for ( d = first_descriptor; d; d = d->next )
act_comm.c:	CHAR_DATA *vch = d->character;
act_comm.c:	if ( d->connected == CON_PLAYING
act_comm.c: * March 19, 1999   Adding AaernMUD Talk_Channel code to UCMM --Justice
act_comm.c:    int speaking = -1, lang;
act_comm.c:        if ( ch->speaking & lang_array[lang] )
act_comm.c: * NOTE: The line containing -1 as the channel flag should always be the last channel, any *
act_comm.c:    || ((IS_AFFECTED(ch, AFF_CHARM) && !xIS_SET(ch->act, ACT_PET))
act_comm.c:    || (xIS_SET(ch->act, PLR_SILENCE) && !IS_NPC(ch))
act_comm.c:    || IS_SET(ch->in_room->room_flags, ROOM_SILENCE)))
act_comm.c:        if ( ch->master )
act_comm.c:            ch_printf( ch->master, "A mystical force prevents %s from speaking.\n\r", IS_NPC( ch ) ?
act_comm.c:                       ch->short_descr : capitalize( ch->name ) );
act_comm.c:    REMOVE_BIT( ch->deaf, channel );
act_comm.c:    for ( i = 0; local_cfields[i].channel != -1; i++ )
act_comm.c:        if( local_cfields[i].channel == -1 || channel == CHANNEL_CLAN )
act_comm.c:                        || xIS_SET( ch->act, PLR_HOLYLIGHT ) )
act_comm.c:    if ( argument[0] == '@' ) /* was '@@', not sure whether it's bad or not -- Scion */
act_comm.c:                    sprintf( soc_char, local_cfields[i].prefix, capitalize( verb ), social->char_auto );
act_comm.c:                    sprintf( soc_others, local_cfields[i].prefix, capitalize( verb ), social->others_auto );
act_comm.c:                    sprintf( soc_char, local_cfields[i].prefix, capitalize( verb ), social->char_found );
act_comm.c:                    sprintf( soc_vict, local_cfields[i].prefix, capitalize( verb ), social->vict_found );
act_comm.c:                    sprintf( soc_others, local_cfields[i].prefix, capitalize( verb ), social->others_found );
act_comm.c:                sprintf( soc_char, local_cfields[i].prefix, capitalize( verb ), social->char_no_arg );
act_comm.c:                sprintf( soc_others, local_cfields[i].prefix, capitalize( verb ), social->others_no_arg );
act_comm.c:        sprintf( emotetxt, "%s %s", capitalize( ch->name ), argument+1 );
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:        sprintf( buf2, "%s: %s (%s)", IS_NPC( ch ) ? ch->short_descr : capitalize( ch->name ),
act_comm.c:                        IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:              original = puff->in_room;
act_comm.c://    sprintf( logbuf, "&G%s&w %sed&W: &G%s", ch->name, verb, argument );
act_comm.c:    if( local_cfields[i].channel != -1 || channel == CHANNEL_CLAN )
act_comm.c:                if( xIS_SET( ch->act, PLR_WIZINVIS ) )
act_comm.c:                        local_cfields[i].history[x][0] = str_dup( ch->short_descr );
act_comm.c:                        local_cfields[i].history[x][0] = str_dup( ch->name );
act_comm.c:                        int z = y-1;
act_comm.c:                        local_cfields[i].history[x][0] = str_dup( ch->short_descr );
act_comm.c:                        local_cfields[i].history[x][0] = str_dup( ch->name );
act_comm.c:    for ( d = first_descriptor; d; d = d->next )
act_comm.c:        och = d->original ? d->original : d->character;
act_comm.c:        vch = d->character;
act_comm.c:        if ( d->connected == CON_PLAYING && vch != ch && !IS_SET( och->deaf, channel ) )
act_comm.c:            ||   ( channel == CHANNEL_YELL && vch->in_room->area != ch->in_room->area )
act_comm.c:            &&     !( och->pcdata->council && !str_cmp( och->pcdata->council->name, "Newbie Council" ) )
act_comm.c:		|| !( och->pcdata->council2 && !str_cmp( och->pcdata->council2_name, "Newbie Council") ) ) )
act_comm.c:            &&     ( IS_NPC( vch ) || vch->pcdata->clan != ch->pcdata->clan ) )
act_comm.c:            ||   ( ( channel == CHANNEL_RACETALK ) && ( vch->race != ch->race ) )
act_comm.c:            ||    !( (vch->pcdata->council && vch->pcdata->council == ch->pcdata->council)
act_comm.c:	    ||	   (vch->pcdata->council2 && vch->pcdata->council2 == ch->pcdata->council) ) ) )
act_comm.c:            ||    !( (vch->pcdata->council && vch->pcdata->council == ch->pcdata->council2)
act_comm.c:            ||     (vch->pcdata->council2 && vch->pcdata->council2 == ch->pcdata->council2) ) ) )      
act_comm.c:            if ( xIS_SET(ch->act, PLR_WIZINVIS) &&
act_comm.c:                sprintf(lbuf, "(%d) ", (!IS_NPC(ch))?ch->pcdata->wizinvis
act_comm.c:                        :ch->mobinvis);
act_comm.c:            position            = vch->position;
act_comm.c:                vch->position   = POS_STANDING;
act_comm.c:            if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:                int speakswell = UMIN(knows_language(vch, ch->speaking, ch),
act_comm.c:                                      knows_language(ch, ch->speaking, vch));
act_comm.c:            if ( !knows_language(vch, ch->speaking, ch)
act_comm.c:            &&  (!IS_NPC(ch) || ch->speaking != 0) )
act_comm.c:                sbuf = scramble(argument, ch->speaking);
act_comm.c:            if ( !IS_NPC(ch) && ch->pcdata->nuisance
act_comm.c:            &&   ch->pcdata->nuisance->flags > 7
act_comm.c:            &&  (number_percent()<((ch->pcdata->nuisance->flags-7)*10*
act_comm.c:                ch->pcdata->nuisance->power)))
act_comm.c:            if ( !IS_NPC(vch) && vch->pcdata->nuisance &&
act_comm.c:                vch->pcdata->nuisance->flags > 7
act_comm.c:                 &&(number_percent()<((vch->pcdata->nuisance->flags-7)*10*
act_comm.c:                 vch->pcdata->nuisance->power)))
act_comm.c:            vch->position = position;
act_comm.c:    for ( d = first_descriptor; d; d = d->next )
act_comm.c:	och = d->original ? d->original : d->character;
act_comm.c:	vch = d->character;
act_comm.c:	if ( d->connected == CON_PLAYING
act_comm.c:	&&  !IS_SET(och->deaf, channel)
act_comm.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan 
act_comm.c:    ||   ch->pcdata->clan->clan_type == CLAN_ORDER
act_comm.c:    ||   ch->pcdata->clan->clan_type == CLAN_GUILD )
act_comm.c:       && !( ch->pcdata->council && 
act_comm.c:          !str_cmp( ch->pcdata->council->name, "Newbie Council" ) ) ) )
act_comm.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan 
act_comm.c:         || ch->pcdata->clan->clan_type != CLAN_ORDER )
act_comm.c:    if ( IS_NPC( ch ) || !ch->pcdata->council )
act_comm.c:    if ( IS_NPC( ch ) || !ch->pcdata->council2 )
act_comm.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan || ch->pcdata->clan->clan_type != CLAN_GUILD )
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    actflags = ch->act;
act_comm.c:	xREMOVE_BIT( ch->act, ACT_SECRETIVE );
act_comm.c:    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
act_comm.c:        if (found==TRUE && !str_cmp(argbuf, vch->name)) {
act_comm.c:				" are unable to do so.\n\r", ch->name);
act_comm.c:	if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:	    int speakswell = UMIN(knows_language(vch, ch->speaking, ch),
act_comm.c:				      knows_language(ch, ch->speaking, vch));
act_comm.c:	if ( !knows_language(vch, ch->speaking, ch)
act_comm.c:		&&  (!IS_NPC(ch) || ch->speaking != 0) )
act_comm.c:		sbuf = scramble(argument, ch->speaking);
act_comm.c:	if(found && str_cmp(argbuf, vch->name) && ch != NULL && tmp != NULL){
act_comm.c:	        sprintf(buf2, "%s '%s'", tmp->name, sbuf);
act_comm.c:	else if(found && !str_cmp(argbuf, vch->name) && ch!=NULL && tmp!=NULL)
act_comm.c:    ch->act = actflags;
act_comm.c:    	sprintf(buf2, "%s '%s'", tmp->name, drunk_speech( argument, ch ));
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:	sprintf( buf, "%s: %s", IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:	/* Yakkov's amplify request - shogar */
act_comm.c:    if ( ch->in_room && IS_SET( ch->in_room->room_flags, ROOM_AMPLIFY ) )
act_comm.c:	actflags = ch->act;
act_comm.c:	xREMOVE_BIT(ch->act, ACT_SECRETIVE);
act_comm.c:	was_in_room = ch->in_room;
act_comm.c:	for ( pexit = was_in_room->first_exit; pexit; pexit = pexit->next )
act_comm.c:		if ( pexit->to_room
act_comm.c:		    &&   pexit->to_room != was_in_room )
act_comm.c:			ch->in_room = pexit->to_room;
act_comm.c:	ch->act = actflags;
act_comm.c:	ch->in_room = was_in_room;
act_comm.c:    /* Various tables for randomness -- Kratas */
act_comm.c:    int speaking = -1, lang;
act_comm.c:        if ( ch->speaking & lang_array[lang] )
act_comm.c:            if( ch->pcdata->say_history[x] == NULL )
act_comm.c:            sprintf( buffer, " &c%s&w\n\r", ch->pcdata->say_history[x] );
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    actflags = ch->act;
act_comm.c:        xREMOVE_BIT( ch->act, ACT_SECRETIVE );
act_comm.c:    arglen = strlen( argument ) - 1;
act_comm.c:        --arglen;
act_comm.c:        if( argument[arglen-1] == '.' && argument[arglen-2] == '.' )
act_comm.c:    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
act_comm.c:                          " are unable to do so.\n\r", ch->name);
act_comm.c:        if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:            int speakswell = UMIN(knows_language(vch, ch->speaking, ch),
act_comm.c:                                  knows_language(ch, ch->speaking, vch));
act_comm.c:        if ( !knows_language(vch, ch->speaking, ch)
act_comm.c:             &&  (!IS_NPC(ch) || ch->speaking != 0) )
act_comm.c:            sbuf = scramble(argument, ch->speaking);
act_comm.c:                if( vch->pcdata->say_history[x] == '\0' )
act_comm.c:                    vch->pcdata->say_history[x] = strdup( tmpbuf );
act_comm.c:                        DISPOSE( vch->pcdata->say_history[i-1] );
act_comm.c:                        vch->pcdata->say_history[i-1] = strdup( vch->pcdata->say_history[i] );
act_comm.c:                    DISPOSE( vch->pcdata->say_history[x] );
act_comm.c:                    vch->pcdata->say_history[x] = strdup( tmpbuf );
act_comm.c:    ch->act = actflags;
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:        sprintf( buf, "%s: %s", IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:    int speaking = -1, lang;
act_comm.c:        if ( ch->speaking & lang_array[lang] )
act_comm.c:              && victim->in_room != ch->in_room )
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    actflags = ch->act;
act_comm.c:        xREMOVE_BIT( ch->act, ACT_SECRETIVE );
act_comm.c:    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
act_comm.c:                          " are unable to do so.\n\r", ch->name);
act_comm.c:        if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:            int speakswell = UMIN(knows_language(vch, ch->speaking, ch),
act_comm.c:                                  knows_language(ch, ch->speaking, vch));
act_comm.c:        if ( !knows_language(vch, ch->speaking, ch)
act_comm.c:        &&  (!IS_NPC(ch) || ch->speaking != 0) )
act_comm.c:            sbuf = scramble(argument, ch->speaking);
act_comm.c:    ch->act = actflags;
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:        sprintf( buf, "%s: %s", IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:    REMOVE_BIT( ch->deaf, CHANNEL_WHISPER );
act_comm.c:    if ( !IS_NPC( victim ) && ( victim->switched ) 
act_comm.c:	&& !IS_AFFECTED(victim->switched, AFF_POSSESS) )
act_comm.c:   else if ( !IS_NPC( victim ) && ( !victim->desc ) )
act_comm.c:      send_to_char( "That player is link-dead.\n\r", ch );
act_comm.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_AFK) )
act_comm.c:    if ( IS_SET( victim->deaf, CHANNEL_WHISPER ) 
act_comm.c:    if ( !IS_NPC(victim) &&  xIS_SET(victim->act, PLR_SILENCE) )
act_comm.c:    if ( victim->desc		/* make sure desc exists first  -Thoric */
act_comm.c:    && (  victim->desc->connected == CON_EDITING
act_comm.c:    || ( victim->desc->connected >= CON_NOTE_TO
act_comm.c:    &&   victim->desc->connected <= CON_NOTE_FINISH))
act_comm.c:			victim->name);
act_comm.c:			"are unable to do so.\n\r", ch->name);
act_comm.c:    position		= victim->position;
act_comm.c:    victim->position	= POS_STANDING;
act_comm.c:    if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:	int speakswell = UMIN(knows_language(victim, ch->speaking, ch),
act_comm.c:			      knows_language(ch, ch->speaking, victim));
act_comm.c:    if ( !knows_language(vch, ch->speaking, ch ) &&
act_comm.c:		( !IS_NPC(ch) || ch->speaking != 0) ) {
act_comm.c:    if ( !IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    victim->position	= position;
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:		 IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:		 IS_NPC( victim ) ? victim->short_descr : victim->name );
act_comm.c:        /* NPC check added by Samson 2-15-98 */
act_comm.c:        /* PCFLAG_NOBEEP check added by Samson 2-15-98 */
act_comm.c:        if ( IS_SET(victim->pcdata->flags, PCFLAG_NOBEEP) )
act_comm.c:    victim->name );
act_comm.c:	        ch_printf(victim, "&W^z%s beeps you from '%s'^x&w\a\n\r", PERS(ch, victim), ch->in_room->name);
act_comm.c:            if( ch->pcdata->tell_histories[x] == NULL )
act_comm.c:                ch->pcdata->tell_histories[x] = str_dup( arg );
act_comm.c:                    DISPOSE( ch->pcdata->tell_histories[i-1] );
act_comm.c:                    ch->pcdata->tell_histories[i-1] = str_dup(ch->pcdata->tell_histories[i]);
act_comm.c:                ch->pcdata->tell_histories[x] = str_dup( arg );
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:        REMOVE_BIT( ch->deaf, CHANNEL_TELLS );
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    && ( xIS_SET(ch->act, PLR_SILENCE)
act_comm.c:    ||   xIS_SET(ch->act, PLR_NO_TELL) ) )
act_comm.c:            if( ch->pcdata->tell_histories[x] == NULL )
act_comm.c:            sprintf(buf+strlen(buf), "%s\n\r", ch->pcdata->tell_histories[x] );
act_comm.c:       || ( IS_NPC(victim) && victim->in_room != ch->in_room ) 
act_comm.c:    if ( !IS_NPC( victim ) && ( victim->switched ) 
act_comm.c:	&& !IS_AFFECTED(victim->switched, AFF_POSSESS) )
act_comm.c:    else if ( !IS_NPC( victim ) && ( victim->switched )
act_comm.c:              &&  IS_AFFECTED(victim->switched, AFF_POSSESS) )
act_comm.c:        switched_victim = victim->switched;
act_comm.c:    else if ( !IS_NPC( victim ) && ( !victim->desc ) )
act_comm.c:        send_to_char( "That player is link-dead.\n\r", ch );
act_comm.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_AFK) )
act_comm.c:    if ( IS_SET( victim->deaf, CHANNEL_TELLS ) 
act_comm.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_SILENCE) )
act_comm.c:    || (!IS_NPC(victim)&&IS_SET(victim->in_room->room_flags, ROOM_SILENCE ) ) )
act_comm.c:    if ( victim->desc		/* make sure desc exists first  -Thoric */
act_comm.c:    && ( victim->desc->connected == CON_EDITING
act_comm.c:    || ( victim->desc->connected >= CON_NOTE_TO
act_comm.c:    &&   victim->desc->connected <= CON_NOTE_FINISH))
act_comm.c:                      victim->name);
act_comm.c:                      "are unable to do so.\n\r", ch->name);
act_comm.c:    ch->retell = victim;
act_comm.c:    if(!IS_NPC(victim) && IS_IMMORTAL(victim) && victim->pcdata->tell_history &&
act_comm.c:    	isalpha(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0]))
act_comm.c:		capitalize(IS_NPC(ch) ? ch->short_descr : ch->name),
act_comm.c:	victim->pcdata->lt_index =
act_comm.c:		tolower(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0]) - 'a';
act_comm.c:	if(victim->pcdata->tell_history[victim->pcdata->lt_index])
act_comm.c:		STRFREE(victim->pcdata->tell_history[victim->pcdata->lt_index]);
act_comm.c:	victim->pcdata->tell_history[victim->pcdata->lt_index] =
act_comm.c:    position		= victim->position;
act_comm.c:    victim->position	= POS_STANDING;
act_comm.c:    if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:	int speakswell = UMIN(knows_language(victim, ch->speaking, ch),
act_comm.c:			      knows_language(ch, ch->speaking, victim));
act_comm.c:    /* mobs can talk! -- Scion */
act_comm.c:    victim->position	= position;
act_comm.c:    victim->reply	= ch;
act_comm.c:            capitalize(IS_NPC(ch) ? ch->short_descr : ch->name),
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:		 IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:		 IS_NPC( victim ) ? victim->short_descr : victim->name );
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:	    REMOVE_BIT( ch->deaf, CHANNEL_TELLS );
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SILENCE ) )
act_comm.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_SILENCE) )
act_comm.c:    if ( ( victim = ch->reply ) == NULL )
act_comm.c:    if ( !IS_NPC( victim ) && ( victim->switched )
act_comm.c:   else if ( !IS_NPC( victim ) && ( !victim->desc ) )
act_comm.c:      send_to_char( "That player is link-dead.\n\r", ch );
act_comm.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_AFK) )
act_comm.c:    if ( IS_SET( victim->deaf, CHANNEL_TELLS ) 
act_comm.c:    || ( !IS_NPC(victim) && IS_SET( victim->in_room->room_flags, ROOM_SILENCE ) ) )
act_comm.c:    if ( victim->desc		/* make sure desc exists first  -Thoric */
act_comm.c:    && ( victim->desc->connected == CON_EDITING
act_comm.c:    || ( victim->desc->connected >= CON_NOTE_TO
act_comm.c:    &&   victim->desc->connected <= CON_NOTE_FINISH))
act_comm.c:    			victim->name);
act_comm.c:    			"are unable to do so.\n\r", ch->name);
act_comm.c:    position		= victim->position;
act_comm.c:    victim->position	= POS_STANDING;
act_comm.c:    if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:	int speakswell = UMIN(knows_language(victim, ch->speaking, ch),
act_comm.c:			      knows_language(ch, ch->speaking, victim));
act_comm.c:    if ( knows_language( victim, ch->speaking, ch ) ||
act_comm.c:         (IS_NPC(ch) && !ch->speaking) )
act_comm.c:        act( AT_TELL, "$n tells you '$t'", ch, scramble(argument, ch->speaking), victim, TO_VICT );
act_comm.c:            capitalize(IS_NPC(ch) ? ch->short_descr : ch->name),
act_comm.c:    victim->position	= position;
act_comm.c:    victim->reply	= ch;
act_comm.c:    ch->retell		= victim;
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:		 IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:		 IS_NPC( victim ) ? victim->short_descr : victim->name );
act_comm.c:    if(!IS_NPC(victim) && IS_IMMORTAL(victim) && victim->pcdata->tell_history &&
act_comm.c:    	isalpha(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0]))
act_comm.c:    		capitalize(IS_NPC(ch) ? ch->short_descr : ch->name),
act_comm.c:    	victim->pcdata->lt_index =
act_comm.c:    		tolower(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0]) - 'a';
act_comm.c:    	if(victim->pcdata->tell_history[victim->pcdata->lt_index])
act_comm.c:    		STRFREE(victim->pcdata->tell_history[victim->pcdata->lt_index]);
act_comm.c:    	victim->pcdata->tell_history[victim->pcdata->lt_index] =
act_comm.c:	int speaking = -1, lang;
act_comm.c:	    if ( ch->speaking & lang_array[lang] )
act_comm.c:			REMOVE_BIT(ch->deaf, CHANNEL_TELLS);
act_comm.c:	if(IS_SET(ch->in_room->room_flags, ROOM_SILENCE))
act_comm.c:	if ( !IS_NPC(ch) && (xIS_SET(ch->act, PLR_SILENCE)
act_comm.c:	||   xIS_SET(ch->act, PLR_NO_TELL)) )
act_comm.c:	victim = ch->retell;
act_comm.c:	if(!IS_NPC(victim) && (victim->switched) &&
act_comm.c:		!IS_AFFECTED(victim->switched, AFF_POSSESS))
act_comm.c:	else if(!IS_NPC(victim) && (victim->switched) &&
act_comm.c:		IS_AFFECTED(victim->switched, AFF_POSSESS))
act_comm.c:		switched_victim = victim->switched;
act_comm.c:	else if(!IS_NPC(victim) &&(!victim->desc))
act_comm.c:		send_to_char("That player is link-dead.\n\r", ch);
act_comm.c:	if(!IS_NPC(victim) && xIS_SET(victim->act, PLR_AFK) )
act_comm.c:	if(IS_SET(victim->deaf, CHANNEL_TELLS) &&
act_comm.c:	if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_SILENCE) )
act_comm.c:		IS_SET(victim->in_room->room_flags, ROOM_SILENCE)))
act_comm.c:        if( victim->desc
act_comm.c:        && ( victim->desc->connected == CON_EDITING
act_comm.c:        || ( victim->desc->connected >= CON_NOTE_TO
act_comm.c:        &&   victim->desc->connected <= CON_NOTE_FINISH))
act_comm.c:				victim->name);
act_comm.c:				"are unable to do so.\n\r", ch->name);
act_comm.c:	if(!IS_NPC(victim) && IS_IMMORTAL(victim) && victim->pcdata->tell_history &&
act_comm.c:		isalpha(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0]))
act_comm.c:			capitalize(IS_NPC(ch) ? ch->short_descr : ch->name),
act_comm.c:		victim->pcdata->lt_index =
act_comm.c:			tolower(IS_NPC(ch) ? ch->short_descr[0] : ch->name[0])
act_comm.c:			 - 'a';
act_comm.c:		if(victim->pcdata->tell_history[victim->pcdata->lt_index])
act_comm.c:			STRFREE(victim->pcdata->tell_history[victim->pcdata->lt_index]);
act_comm.c:		victim->pcdata->tell_history[victim->pcdata->lt_index] =
act_comm.c:	position = victim->position;
act_comm.c:	victim->position = POS_STANDING;
act_comm.c:	if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:	    int speakswell = UMIN(knows_language(victim, ch->speaking, ch),
act_comm.c:			      knows_language(ch, ch->speaking, victim));
act_comm.c:	if(knows_language(victim, ch->speaking, ch) ||
act_comm.c:		(IS_NPC(ch) && !ch->speaking))
act_comm.c:			scramble(argument, ch->speaking), victim, TO_VICT);
act_comm.c:	victim->position = position;
act_comm.c:	victim->reply = ch;
act_comm.c:	if(IS_SET(ch->in_room->room_flags, ROOM_LOGSPEECH))
act_comm.c:			IS_NPC(ch) ? ch->short_descr : ch->name,
act_comm.c:			IS_NPC(victim) ? victim->short_descr : victim->name);
act_comm.c:	if(IS_NPC(ch) || !IS_IMMORTAL(ch) || !ch->pcdata->tell_history)
act_comm.c:		index = ch->pcdata->lt_index;
act_comm.c:		index = tolower(argument[0]) - 'a';
act_comm.c:	if(ch->pcdata->tell_history[index])
act_comm.c:		ch_printf(ch, ch->pcdata->tell_history[index]);
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_NO_EMOTE) )
act_comm.c:    actflags = ch->act;
act_comm.c:	xREMOVE_BIT( ch->act, ACT_SECRETIVE );
act_comm.c:    if ( isalpha(plast[-1]) )
act_comm.c:	for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
act_comm.c:					" are unable to do so.\n\r", ch->name);
act_comm.c:		if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:		    int speakswell = UMIN(knows_language(vch, ch->speaking, ch),
act_comm.c:					  knows_language(ch, ch->speaking, vch));
act_comm.c:		if ( !knows_language( vch, ch->speaking, ch ) &&
act_comm.c:			 (!IS_NPC(ch) && ch->speaking != 0) )
act_comm.c:			sbuf = scramble(buf, ch->speaking);
act_comm.c:    ch->act = actflags;
act_comm.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_LOGSPEECH ) )
act_comm.c:	sprintf( buf, "%s %s (emote)", IS_NPC( ch ) ? ch->short_descr : ch->name,
act_comm.c:    sprintf( buf, "(%-2.2d/%-2.2d):  %s",
act_comm.c:	t->tm_mon+1, t->tm_mday, argument );
act_comm.c:    if ( ch->position == POS_FIGHTING
act_comm.c:       || ch->position ==  POS_EVASIVE
act_comm.c:       || ch->position ==  POS_DEFENSIVE
act_comm.c:       || ch->position ==  POS_AGGRESSIVE
act_comm.c:       || ch->position ==  POS_BERSERK
act_comm.c:    if ( ch->position  < POS_STUNNED  )
act_comm.c:    if ( auction->item != NULL && ((ch == auction->buyer) || (ch == auction->seller) ) )
act_comm.c:    if ( IS_PKILL( ch ) && ch->wimpy > (int) ch->max_hit / 2.25 )
act_comm.c:	/* Make them lose artifact items. Can't leave the game with those! -- Scion */
act_comm.c:	drop_artifacts(ch, ch->last_carrying);
act_comm.c:	/* Get 'em dismounted until we finish mount saving -- Blodkai, 4/97 */
act_comm.c:    if ( ch->position == POS_MOUNTED )
act_comm.c:    sprintf( log_buf, "%s has quit (Room %d).", ch->name, 
act_comm.c:	( ch->in_room ? ch->in_room->vnum : -1 ) );
act_comm.c:    if ( sysdata.save_pets && ch->pcdata->pet )
act_comm.c:		ch->pcdata->pet, TO_ROOM );
act_comm.c:       extract_char( ch->pcdata->pet, TRUE );
act_comm.c:    /* Synch clandata up only when clan member quits now. --Shaddai
act_comm.c:    if ( ch->pcdata->clan )
act_comm.c:        save_clan( ch->pcdata->clan );     
act_comm.c:    if ( ch->level >= 1 )
act_comm.c:        for ( vch = first_char; vch; vch = vch->next )
act_comm.c:/*	Don't really need this.. just annoys me :)   -- Scion */
act_comm.c:   Make them drop artifact items. Can't leave the game with those! -- Scion */
act_comm.c:	/* Expecting a ch->last_carrying or an obj->last_content
act_comm.c:		if (obj->last_content)
act_comm.c:			drop_artifacts(ch, obj->last_content);
act_comm.c:			obj=obj->prev_content;
act_comm.c:			if (tobj->in_obj)
act_comm.c:			if (tobj->carried_by)
act_comm.c:			obj_to_room(tobj, ch->in_room);
act_comm.c:			obj = obj->prev_content;
act_comm.c:      write_to_buffer(ch->desc,BUFF,num);
act_comm.c:      write_to_buffer(ch->desc,BUFF,num);
act_comm.c:      write_to_buffer(ch->desc,BUFF,num);
act_comm.c:      write_to_buffer(ch->desc,BUFF,num);
act_comm.c:    /* looks like the menus keep crashing, lets log them - shogar */
act_comm.c:    sprintf(arg1,"%s: omenu %s",ch->name,argument);
act_comm.c:        send_to_char( "            and  <page>  is an optional letter to select menu-pages\n\r",     ch );
act_comm.c:    ch->inter_type = OBJ_TYPE;
act_comm.c:    ch->inter_substate = SUB_NORTH;
act_comm.c:    if( ch->inter_editing != NULL) DISPOSE(ch->inter_editing);
act_comm.c:    ch->inter_editing      =  str_dup(obj->pIndexData->name);
act_comm.c:    sscanf(ch->inter_editing,"%s",ch->inter_editing);  /*one-arg*/
act_comm.c:    ch->inter_editing_vnum =  obj->pIndexData->vnum;
act_comm.c:    send_obj_page_to_char(ch, obj->pIndexData, arg2[0]);   
act_comm.c:    /* looks like the menus keep crashing, lets log them - shogar */
act_comm.c:    sprintf(arg1,"%s: rmenu %s",ch->name,argument);
act_comm.c:    idx = ch->in_room;
act_comm.c:    ch->inter_type = ROOM_TYPE;
act_comm.c:    ch->inter_substate = SUB_NORTH;
act_comm.c:    if( ch->inter_editing != NULL) DISPOSE(ch->inter_editing);
act_comm.c:    ch->inter_editing      =  str_dup(idx->name);  
act_comm.c:    sscanf(ch->inter_editing,"%s",ch->inter_editing);  /*one-arg*/
act_comm.c:    ch->inter_editing_vnum =  idx->vnum;
act_comm.c:    /* looks like the menus keep crashing, lets log them - shogar */
act_comm.c:    sprintf(arg1,"%s: cmenu %s",ch->name,argument);
act_comm.c:    ch->inter_type = CONTROL_TYPE;
act_comm.c:    if( ch->inter_editing != NULL) DISPOSE(ch->inter_editing);
act_comm.c:    ch->inter_editing      =  str_dup("Control Panel");  
act_comm.c:    sscanf(ch->inter_editing,"%s",ch->inter_editing);  /*one-arg*/
act_comm.c:    /* looks like the menus keep crashing, lets log them - shogar */
act_comm.c:    sprintf(arg1,"%s: mmenu %s",ch->name,argument);
act_comm.c:        send_to_char( "            and  <page>  is an optional letter to select menu-pages\n\r",     ch );
act_comm.c:    ch->inter_type = MOB_TYPE;
act_comm.c:    if( ch->inter_editing != NULL) DISPOSE(ch->inter_editing);
act_comm.c:    ch->inter_editing      =  str_dup(arg1);
act_comm.c:    sscanf(ch->inter_editing,"%s",ch->inter_editing);  /*one-arg*/
act_comm.c:    ch->inter_editing_vnum =  victim->pIndexData->vnum;
act_comm.c:    send_page_to_char(ch, victim->pIndexData, arg2[0]);   
act_comm.c:	xSET_BIT(ch->act,PLR_RIP);
act_comm.c:	xSET_BIT(ch->act,PLR_ANSI);
act_comm.c:	xREMOVE_BIT(ch->act,PLR_RIP);
act_comm.c:	xSET_BIT(ch->act,PLR_ANSI);
act_comm.c:	xREMOVE_BIT(ch->act,PLR_ANSI);
act_comm.c:    if ( ch->level < 2 && ch->level2 == -1 )
act_comm.c:    WAIT_STATE( ch, 2 ); /* For big muds with save-happy players, like RoD */
act_comm.c: * (Which exists in many maze areas)			-Thoric
act_comm.c:    for ( tmp = victim; tmp; tmp = tmp->master )
act_comm.c:    && ( victim->master == ch ) )
act_comm.c:    if ( IS_AFFECTED(ch, AFF_CHARM) && ch->master )
act_comm.c:	act( AT_PLAIN, "But you'd rather follow $N!", ch, NULL, ch->master, TO_CHAR );
act_comm.c:	if ( !ch->master )
act_comm.c:    if ( ( ch->level - victim->level < -10 || ch->level - victim->level >  10 )
act_comm.c:    &&   !IS_HERO(ch) && !(ch->level < 15 && !IS_NPC(victim) 
act_comm.c:    && victim->pcdata->council 
act_comm.c:    && !str_cmp(victim->pcdata->council->name,"Newbie Council")))
act_comm.c:-- Screw this, level restrictions on following are stupid. -- Scion */
act_comm.c:    if ( ch->master )
act_comm.c:    if ( ch->master )
act_comm.c:	bug( "Add_follower: non-null master.", 0 );
act_comm.c:    ch->master        = master;
act_comm.c:    ch->leader        = NULL;
act_comm.c:    /* Support for saving pets --Shaddai */
act_comm.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_PET) && !IS_NPC(master) )
act_comm.c:	master->pcdata->pet = ch;
act_comm.c:    if ( !ch->master )
act_comm.c:    if ( IS_NPC(ch) && !IS_NPC(ch->master) && ch->master->pcdata->pet == ch )
act_comm.c:	ch->master->pcdata->pet = NULL;
act_comm.c:	xREMOVE_BIT( ch->affected_by, AFF_CHARM );
act_comm.c:    if ( can_see( ch->master, ch ) )
act_comm.c:	if (!(!IS_NPC(ch->master) && IS_IMMORTAL(ch) && !IS_IMMORTAL(ch->master)))
act_comm.c:	    act( AT_ACTION, "$n stops following you.",     ch, NULL, ch->master, TO_VICT  );
act_comm.c:    act( AT_ACTION, "You stop following $N.",      ch, NULL, ch->master, TO_CHAR    );
act_comm.c:    ch->master = NULL;
act_comm.c:    ch->leader = NULL;
act_comm.c:    if ( ch->master )
act_comm.c:    ch->leader = NULL;
act_comm.c:    for ( fch = first_char; fch; fch = fch->next )
act_comm.c:	if ( fch->master == ch )
act_comm.c:	if ( fch->leader == ch )
act_comm.c:	    fch->leader = fch;
act_comm.c:	if ( !IS_AFFECTED(victim, AFF_CHARM) || victim->master != ch )
act_comm.c:    for ( och = ch->in_room->first_person; och; och = och_next )
act_comm.c:	och_next = och->next_in_room;
act_comm.c:	if ( IS_AFFECTED(och, AFF_CHARM) && och->master == ch 
act_comm.c:        sprintf( log_buf, "%s: order %s.", ch->name, argbuf );
act_comm.c:        log_string_plus( log_buf, LOG_NORMAL, ch->level );
act_comm.c:/* Overhauled 2/97 -- Blodkai */
act_comm.c:	leader = ch->leader ? ch->leader : ch;
act_comm.c:        ch_printf( ch, "\n\rFollowing %-12.12s     [hitpnts]   [ magic ] [mst] [mvs] [race]%s\n\r",
act_comm.c:		ch->level < LEVEL_AVATAR ? " [to lvl]" : "" );
act_comm.c:	for ( gch = first_char; gch; gch = gch->next )
act_comm.c:		if (IS_AFFECTED(gch, AFF_POSSESS) || IS_SET( ch->pcdata->flags, PCFLAG_ANONYMOUS))
act_comm.c:                             "[%2d %s] %-16s ????/???? hp ????/???? %s ????/???? mv ????? xp\n\r",
act_comm.c:                             gch->level,
act_comm.c:              	    if      ( gch->alignment >  750 ) sprintf(buf, " A");
act_comm.c:                    else if ( gch->alignment >  350 ) sprintf(buf, "-A");
act_comm.c:                    else if ( gch->alignment >  150 ) sprintf(buf, "+N");
act_comm.c:                    else if ( gch->alignment > -150 ) sprintf(buf, " N");
act_comm.c:                    else if ( gch->alignment > -350 ) sprintf(buf, "-N");
act_comm.c:                    else if ( gch->alignment > -750 ) sprintf(buf, "+S");
act_comm.c:		    ch_printf( ch, "%-2d %2.2s %3.3s",
act_comm.c:                               gch->level,
act_comm.c:                               /* IS_NPC(gch) ? "Mob" : class_table[gch->class]->who_name */
act_comm.c:                    ch_printf( ch, "%-12.12s ",
act_comm.c:                    if ( gch->hit < gch->max_hit/4 )
act_comm.c:                    else if ( gch->hit < gch->max_hit/2.5 )
act_comm.c:                    ch_printf( ch, "%5d", gch->hit );
act_comm.c:                    ch_printf( ch, "/%-5d ", gch->max_hit );
act_comm.c:                      ch_printf( ch, "%5d/%-5d ",
act_comm.c:			IS_VAMPIRE(gch) ? gch->pcdata->condition[COND_BLOODTHIRST] : gch->mana,
act_comm.c:                        IS_VAMPIRE(gch) ? 10 + gch->level : gch->max_mana );
act_comm.c:		    if ( gch->mental_state < -25 || gch->mental_state > 25 )
act_comm.c:                        gch->mental_state > 75  ? "+++" :
act_comm.c:                        gch->mental_state > 50  ? "=++" :
act_comm.c:                        gch->mental_state > 25  ? "==+" :
act_comm.c:                        gch->mental_state > -25 ? "===" :
act_comm.c:                        gch->mental_state > -50 ? "-==" :
act_comm.c:                        gch->mental_state > -75 ? "--=" :
act_comm.c:                                                  "---" );
act_comm.c:                        gch->move );
act_comm.c:		    ch_printf( ch, "%6s ", npc_race[gch->race]);
act_comm.c:		    if ( gch->level < LEVEL_AVATAR )
act_comm.c:			exp_level( gch, gch->level+1) - gch->exp );
act_comm.c:	if ( ch->leader || ch->master )
act_comm.c:	for ( gch = first_char; gch; gch = gch->next )
act_comm.c:		gch->leader = NULL;
act_comm.c:		gch->master = NULL;
act_comm.c:        for ( rch = ch->in_room->first_person; rch; rch = rch->next_in_room )
act_comm.c:	   &&   rch->master == ch
act_comm.c:	   &&   !ch->master
act_comm.c:	   &&   !ch->leader
act_comm.c:/*    	   &&   abs( ch->level - rch->level ) < 8  Level restrict on groups is stupid -- Scion */
act_comm.c:		rch->leader = ch;
act_comm.c:    if ( ch->master || ( ch->leader && ch->leader != ch ) )
act_comm.c:    if ( victim->master != ch && ch != victim )
act_comm.c:	victim->leader = NULL;
act_comm.c:    if ( ch->level - victim->level < -8
act_comm.c:    ||   ch->level - victim->level >  8 
act_comm.c:    victim->leader = ch;
act_comm.c:    if ( ch->gold < amount )
act_comm.c:    for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
act_comm.c:    if ( xIS_SET(ch->act, PLR_AUTOGOLD) && members < 2 )
act_comm.c:    ch->gold -= amount;
act_comm.c:    ch->gold += share + extra;
act_comm.c:    for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
act_comm.c:	    gch->gold += share;
act_comm.c:    int speaking = -1, lang;
act_comm.c:	if ( ch->speaking & lang_array[lang] )
act_comm.c:    if ( xIS_SET(ch->act, PLR_NO_TELL) )
act_comm.c:/*    sprintf( buf, "%s tells the group '%s'.\n\r", ch->name, argument );*/
act_comm.c:    for ( gch = first_char; gch; gch = gch->next )
act_comm.c:		   still garble though. -- Altrag */
act_comm.c:	    if ( speaking != -1 && (!IS_NPC(ch) || ch->speaking) )
act_comm.c:		int speakswell = UMIN(knows_language(gch, ch->speaking, ch),
act_comm.c:				      knows_language(ch, ch->speaking, gch));
act_comm.c:		    ch_printf( gch, "%s tells the group '%s'.\n\r", ch->name, translate(speakswell, argument, lang_names[speaking]) );
act_comm.c:		    ch_printf( gch, "%s tells the group '%s'.\n\r", ch->name, argument );
act_comm.c:		ch_printf( gch, "%s tells the group '%s'.\n\r", ch->name, argument );
act_comm.c:	    if ( knows_language( gch, ch->speaking, gch )
act_comm.c:	    ||  (IS_NPC(ch) && !ch->speaking) )
act_comm.c:		ch_printf( gch, "%s tells the group '%s'.\n\r", ch->name, argument );
act_comm.c:		ch_printf( gch, "%s tells the group '%s'.\n\r", ch->name, scramble(argument, ch->speaking) );
act_comm.c:    if ( ach->leader ) ach = ach->leader;
act_comm.c:    if ( bch->leader ) bch = bch->leader;
act_comm.c:    for (d = first_descriptor; d; d = d->next)
act_comm.c:        original = d->original ? d->original : d->character; /* if switched */
act_comm.c:        if ((d->connected == CON_PLAYING) && !IS_SET(original->deaf,CHANNEL_AUCTION) 
act_comm.c:        && !IS_SET(original->in_room->room_flags, ROOM_SILENCE) && !NOT_AUTHED(original))
act_comm.c: * Language support functions. -- Altrag
act_comm.c: * Modified to return how well the language is known 04/04/98 - Thoric
act_comm.c: * a number based on player's wisdom (maybe 50+((25-wisdom)*2) ?)
act_comm.c:	if ( IS_NPC(ch) && !ch->speaks ) /* No langs = knows nothing for npcs */
act_comm.c:	if ( IS_NPC(ch) && IS_SET(ch->speaks, (language & ~LANG_CLAN)) )
act_comm.c:		return (50+(25 - ch->mod_int)*2);
act_comm.c:		return (50+(25 - ch->int)*2);
act_comm.c:	 Clan = common for mobs.. snicker.. -- Altrag
act_comm.c:			return (50+(25 - ch->int)*2);
act_comm.c:		if ( ch->pcdata->clan == cch->pcdata->clan &&
act_comm.c:			 ch->pcdata->clan != NULL )
act_comm.c:			return (50+(25 - ch->int)*2);
act_comm.c:	    if ( IS_SET(race_table[ch->race]->language, language) )
act_comm.c:			return ((65+(25 - ch->mod_int)*2)<=100 ? (65+(25 - ch->mod_int)*2) : 100);
act_comm.c:	      	   IS_SET(ch->speaks, lang_array[lang]) )
act_comm.c:		  if ( (sn = skill_lookup(lang_names[lang])) != -1 )
act_comm.c:		    return ch->pcdata->learned[sn];
act_comm.c:	if ( race_table[ch->race]->language & language )
act_comm.c:	if ( ch->speaks & language )
act_comm.c:				if ( ch->pcdata->learned[sn] >= 99 )
act_comm.c:		ch->speaking = ~LANG_CLAN;
act_comm.c:					(IS_NPC(ch) || !ch->pcdata->clan) )
act_comm.c:				ch->speaking = lang_array[langs];
act_comm.c:		if ( race_table[ch->race]->language & lang_array[lang] ||
act_comm.c:			 ch->pcdata->learned[sn] >= 99 )
act_comm.c:		for ( sch = ch->in_room->first_person; sch; sch = sch->next )
act_comm.c:			if ( IS_NPC(sch) && xIS_SET(sch->act, ACT_SCHOLAR)
act_comm.c:			&&   knows_language( sch, ch->speaking, ch )
act_comm.c:			&& (!sch->speaking || knows_language( ch, sch->speaking, sch )) )
act_comm.c:		if ( countlangs(ch->speaks) >= (ch->level / 10) &&
act_comm.c:			 ch->pcdata->learned[sn] <= 0 )
act_comm.c:		/* 0..16 cha = 2 pracs, 17..25 = 1 prac. -- Altrag */
act_comm.c:		prac = 2 - (get_curr_cha(ch) / 17);
act_comm.c:		if ( ch->practice < prac )
act_comm.c:		ch->practice -= prac;
act_comm.c:		/* Max 12% (5 + 4 + 3) at 24+ int and 21+ wis. -- Altrag */
act_comm.c:		ch->pcdata->learned[sn] += prct;
act_comm.c:		ch->pcdata->learned[sn] = UMIN(ch->pcdata->learned[sn], 99);
act_comm.c:		SET_BIT( ch->speaks, lang_array[lang] );
act_comm.c:		if ( ch->pcdata->learned[sn] == prct )
act_comm.c:		else if ( ch->pcdata->learned[sn] < 60 )
act_comm.c:		else if ( ch->pcdata->learned[sn] < 60 + prct )
act_comm.c:		else if ( ch->pcdata->learned[sn] < 99 )
act_comm.c:			if ( ch->speaking & lang_array[lang] ||
act_comm.c:				(IS_NPC(ch) && !ch->speaking) )
act_comm.c:      _word[j]='-'; j++;
act_comm.c:      _word[j]='@'; j++; /* Was @@ -- Scion */
act_info.c: * -----------------------------------------------------------|   (0...0)   *
act_info.c: * -----------------------------------------------------------|    {o o}    *
act_info.c: * ------------------------------------------------------------------------ *
act_info.c: * ------------------------------------------------------------------------ *
act_info.c:#include "imc-mercbase.h"
act_info.c:	ch_printf( ch, "&C> &wFor All:\n\r&C> &w%-12s %-12s %-12s\n\r", "Offender", "Victim", "Date" );
act_info.c:	ch_printf( ch, "&C> &wFor %s:\n\r&C> &w%-12s %-12s\n\r", victim->name, "Victim", "Date" );
act_info.c:        for ( illegal_pkill = first_pk; illegal_pkill; illegal_pkill = illegal_pkill->next )
act_info.c:                ch_printf( ch, "&C> &z&R%-12s &Y%-12s &G%-12s&w", illegal_pkill->name, illegal_pkill->vict,
act_info.c:                           illegal_pkill->date );
act_info.c:            else if (victim->name == illegal_pkill->name && victim)
act_info.c:                ch_printf( ch, "&C> &z&Y%-12s &G%-12s&w", illegal_pkill->vict, illegal_pkill->date );
act_info.c:    /* Sharpen skill --Cronel */
act_info.c:    if( obj->item_type == ITEM_WEAPON 
act_info.c:    && obj->value[5] == 1 )
act_info.c:          strcat( buf, "(Smouldering Red-Grey) "  );
act_info.c:          strcat( buf, "(Smouldering Red-White) "  );
act_info.c:          strcat( buf, "(Smouldering Grey-White) "  );
act_info.c:	if ( obj->short_descr )
act_info.c:	    strcat( buf, obj->short_descr );
act_info.c:	if ( obj->description )
act_info.c:	    strcat( buf, obj->description );
act_info.c: * Some increasingly freaky hallucinated objects		-Thoric
act_info.c:    switch( number_range( 6-URANGE(1,sms/2,5), sms ) )
act_info.c:    switch( number_range( 6-URANGE(1,sms/2,5), sms ) )
act_info.c:    if ( !ch->desc )
act_info.c:     * if there's no list... then don't do all this crap!  -Thoric
act_info.c:	   if ( IS_NPC(ch) || xIS_SET(ch->act, PLR_COMBINE) )
act_info.c:    for ( obj = list; obj; obj = obj->next_content )
act_info.c:    ms  = (ch->mental_state ? ch->mental_state : 1)
act_info.c:	* (IS_NPC(ch) ? 1 : (ch->pcdata->condition[COND_DRUNK] ? (ch->pcdata->condition[COND_DRUNK]/12) : 1));
act_info.c:	offcount = URANGE( -(count), (count * ms) / 100, count*2 );
act_info.c:	  offcount -= number_range(0, offcount);
act_info.c:	   if ( IS_NPC(ch) || xIS_SET(ch->act, PLR_COMBINE) )
act_info.c:    for ( obj = list; obj; obj = obj->next_content )
act_info.c:	    --tmp;
act_info.c:	if ( obj->wear_loc == WEAR_NONE
act_info.c:	&& (obj->item_type != ITEM_TRAP || IS_AFFECTED(ch, AFF_DETECTTRAPS) ) )
act_info.c:	    if ( IS_NPC(ch) || xIS_SET(ch->act, PLR_COMBINE) )
act_info.c:		for ( iShow = nShow - 1; iShow >= 0; iShow-- )
act_info.c:			prgnShow[iShow] += obj->count;
act_info.c:	    pitShow[nShow] = obj->item_type;
act_info.c:		prgnShow    [nShow] = obj->count;
act_info.c:     * Output the formatted list.		-Color support by Thoric
act_info.c:/*	if ( IS_NPC(ch) || xIS_SET(ch->act, PLR_COMBINE) ) */
act_info.c:	if ( IS_NPC(ch) || xIS_SET(ch->act, PLR_COMBINE) )
act_info.c: * Show fancy descriptions for certain spell affects		-Thoric
act_info.c:      strcpy( name, victim->short_descr );
act_info.c:      strcpy( name, victim->name);
act_info.c:	ch_printf( ch, "%s wanders in a dazed, zombie-like state.\n\r", name );
act_info.c:    if ( !IS_NPC(victim) && !victim->desc
act_info.c:    &&    victim->switched && IS_AFFECTED(victim->switched, AFF_POSSESS) )
act_info.c:    if (IS_NPC(victim) &&ch->questmob > 0 && victim->pIndexData->vnum == ch->questmob)
act_info.c:    if ( !IS_NPC(victim) && victim->bounty > 0 )
act_info.c:    if ( !IS_NPC(victim) && victim->pcdata->team == 2 )
act_info.c:    if ( !IS_NPC(victim) && victim->pcdata->team == 1 )
act_info.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_TAGGED))
act_info.c:    if ( !IS_NPC(victim) && !victim->desc )
act_info.c:        if ( !victim->switched )
act_info.c:         && victim->desc )
act_info.c:        sprintf( buf1, "(%s)",victim->desc->original->name );
act_info.c:         &&   xIS_SET(victim->act, PLR_AFK) )
act_info.c:    if ( (!IS_NPC(victim) && xIS_SET(victim->act, PLR_WIZINVIS))
act_info.c:         || (IS_NPC(victim) && xIS_SET(victim->act, ACT_MOBINVIS)) )
act_info.c:            sprintf( buf1,"(Invis %d) ", victim->pcdata->wizinvis );
act_info.c:            sprintf( buf1,"(Mobinvis %d) ", victim->mobinvis);
act_info.c:    &&   victim->pcdata->clan
act_info.c:    &&   victim->pcdata->clan->badge )
act_info.c:        ch_printf_color( ch, "%s ", victim->pcdata->clan->badge );
act_info.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
act_info.c:            sprintf(buf+strlen(buf),"[%d] ",victim->pIndexData->vnum);
act_info.c:        strcat( buf, "(Wild-eyed) "  );
act_info.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_ATTACKER ) )
act_info.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_KILLER ) )
act_info.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_THIEF  ) )
act_info.c:    if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_LITTERBUG  ) )
act_info.c:         && xIS_SET(victim->act, ACT_PROTOTYPE) )
act_info.c:    if ( IS_NPC(victim) && ch->mount && ch->mount == victim
act_info.c:         && ch->in_room == ch->mount->in_room )
act_info.c:    if ( victim->desc
act_info.c:    && ( victim->desc->connected == CON_EDITING
act_info.c:    || ( victim->desc->connected >= CON_NOTE_TO
act_info.c:    &&   victim->desc->connected <= CON_NOTE_FINISH)))
act_info.c:    if ( victim->morph != NULL )
act_info.c:    if ((victim->position == victim->defposition && victim->long_descr[0] != '\0')
act_info.c:    || ( victim->morph && victim->morph->morph
act_info.c:    && victim->morph->morph->defpos == victim->position ) )
act_info.c:        if ( victim->morph != NULL )
act_info.c:                if ( victim->morph->morph != NULL)
act_info.c:                    strcat ( buf, victim->morph->morph->long_desc );
act_info.c:                    strcat ( buf, victim->long_descr );
act_info.c:                if ( !IS_NPC(victim) && !xIS_SET(ch->act, PLR_BRIEF) )
act_info.c:                    strcat( buf, victim->pcdata->title );
act_info.c:            strcat (buf, victim->long_descr);
act_info.c:        if ( victim->morph != NULL && victim->morph->morph != NULL &&
act_info.c:    if ( !IS_NPC(victim) && !xIS_SET(ch->act, PLR_BRIEF) )
act_info.c:        strcat( name, victim->pcdata->lastname ? victim->pcdata->lastname : "" );
act_info.c:        /*        strcat( buf, victim->pcdata->title ); */
act_info.c:    switch ( victim->position )
act_info.c:        if (ch->position == POS_SITTING
act_info.c:        ||  ch->position == POS_RESTING )
act_info.c:        if (ch->position == POS_RESTING)
act_info.c:        else if (ch->position == POS_MOUNTED)
act_info.c:        if (ch->position == POS_SITTING)
act_info.c:        else if (ch->position == POS_RESTING)
act_info.c:	else if ( ( victim->in_room->sector_type == SECT_UNDERWATER )
act_info.c:	else if ( victim->in_room->sector_type == SECT_UNDERWATER )
act_info.c:	else if ( ( victim->in_room->sector_type == SECT_OCEANFLOOR )
act_info.c:	else if ( victim->in_room->sector_type == SECT_OCEANFLOOR )
act_info.c:	if ( !victim->mount )
act_info.c:	if ( victim->mount == ch )
act_info.c:	if ( victim->in_room == victim->mount->in_room )
act_info.c:	    strcat( buf2, PERS( victim->mount, ch ) );
act_info.c:	if ( !victim->fighting ) 
act_info.c:            /* some bug somewhere.... kinda hackey fix -h */
act_info.c:            if(!victim->mount)
act_info.c:               victim->position = POS_STANDING;
act_info.c:               victim->position = POS_MOUNTED;
act_info.c:	else if ( victim->in_room == victim->fighting->who->in_room )
act_info.c:	    strcat( buf2, PERS( victim->fighting->who, ch ) );
act_info.c:    if (victim->fur_pos > FURNITURE_NONE)
act_info.c:        sprintf( buf3, "%s", victim->pcdata->lastname );
act_info.c:        if (victim->on)
act_info.c:                     victim->pcdata->lastname ? buf3 : "",
act_info.c:                     fur_pos_string(victim->fur_pos),
act_info.c:                     victim->on->short_descr );
act_info.c:    if ( can_see( victim, ch ) && !IS_NPC( ch ) && !xIS_SET( ch->act, PLR_WIZINVIS ) )
act_info.c:    if ( victim->description != NULL )
act_info.c:      if ( victim->morph != NULL && victim->morph->morph != NULL)
act_info.c:        send_to_char ( victim->morph->morph->description , ch );
act_info.c:        send_to_char (victim->description, ch);
act_info.c:        if ( victim->morph != NULL && victim->morph->morph != NULL)
act_info.c:           send_to_char ( victim->morph->morph->description , ch );
act_info.c:    if (victim->fur_pos > FURNITURE_NONE)
act_info.c:	if (victim->on)
act_info.c:			victim->name, pos_string(victim),
act_info.c:			fur_pos_string(victim->fur_pos),
act_info.c:			victim->on->short_descr );
act_info.c:            if( (!IS_NPC(victim)) && (victim->race>0) && (victim->race<MAX_RACE))
act_info.c:		send_to_char(race_table[victim->race]->where_name[iWear], ch);
act_info.c:                       victim->pIndexData->vnum,
act_info.c:                       victim->name );
act_info.c:            ch_printf( ch, "\n\r%s ", victim->name );
act_info.c:                   victim->level,
act_info.c:                   victim->race < MAX_NPC_RACE && victim->race >= 0 ?
act_info.c:                   npc_race[victim->race] : "unknown",
act_info.c:                   victim->class < MAX_NPC_CLASS && victim->class >= 0 ?
act_info.c:                   npc_class[victim->class] : "unknown",
act_info.c:                   victim->level2,
act_info.c:                   victim->class2 < MAX_NPC_CLASS && victim->class2 >= 0 ?
act_info.c:                   npc_class[victim->class2] : "unknown" );
act_info.c:	  victim->sex == 1 ? "his" : victim->sex == 2 ? "her" : "its" );
act_info.c:	show_list_to_char( victim->first_carrying, ch, TRUE, TRUE );
act_info.c:      if ( ch->pcdata->learned[gsn_peek] > 0 )
act_info.c:    for ( rch = list; rch; rch = rch->next_in_room )
act_info.c:	else if ( room_is_dark( ch->in_room )
act_info.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
act_info.c: * Returns classical DIKU door direction based on text in arg	-Thoric
act_info.c:    else door = -1;
act_info.c:    if( room->compress )
act_info.c:    if( IS_SET( room->room_flags, ROOM_WILDERNESS ) )
act_info.c:        ch_printf( ch, "%s", room->description );
act_info.c:        STRFREE( ch->in_room->name );
act_info.c:        DISPOSE( ch->in_room->description );
act_info.c:    ch_printf( ch, "%s", room->description );
act_info.c:    if( !room->compress )
act_info.c:        ch_printf( ch, "%s", room->description );
act_info.c:    else if (xIS_SET(ch->act, PLR_HOLYLIGHT))
act_info.c:        ch_printf( ch, "&z&WCompressed&w -\n\r%s", room->uncomp_desc );
act_info.c:        DISPOSE( room->uncomp_desc );
act_info.c:        ch_printf( ch, "%s", room->uncomp_desc );
act_info.c:        DISPOSE( room->uncomp_desc );
act_info.c:    if ( !ch->desc )
act_info.c:    if ( ch->position < POS_SLEEPING )
act_info.c:    if ( ch->position == POS_SLEEPING )
act_info.c:    &&   !xIS_SET(ch->act, PLR_HOLYLIGHT)
act_info.c:    &&   room_is_dark( ch->in_room ) )
act_info.c:	show_char_to_char( ch->in_room->first_person, ch );
act_info.c:        switch ( ch->inter_page )    /* rmenu */
act_info.c:        /* make life easier - shogar */
act_info.c:        switch( ch->in_room->sector_type )
act_info.c:        troom = ch->in_room;
act_info.c:        tarea = troom->area;
act_info.c:        if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
act_info.c:             ch_printf(ch,"&Y[&W %d",troom->vnum);
act_info.c:             ch_printf(ch,"&Y |&W %s",tarea->filename);
act_info.c:             if (str_cmp(flag_string(tarea->flags, area_flags), ""))
act_info.c:             ch_printf(ch,"&Y |&G %s",flag_string(tarea->flags, area_flags));
act_info.c:             if (str_cmp(flag_string(troom->room_flags,r_flags), ""))
act_info.c:             ch_printf(ch,"&Y |&G %s&Y ]&W\n\r",flag_string(troom->room_flags,r_flags));
act_info.c:             send_to_char( ch->in_room->name, ch );
act_info.c:            ch_printf( ch, "&c[ &W%s ", tarea->filename );
act_info.c:            if( str_cmp( flag_string( tarea->flags, area_flags ), "" ) )
act_info.c:                           flag_string( tarea->flags, area_flags ) );
act_info.c:            if( str_cmp( flag_string( troom->room_flags, r_flags ), "" ) )
act_info.c:                if( troom->compress )
act_info.c:                           flag_string( troom->room_flags, r_flags ) );
act_info.c:            else if( troom->compress )
act_info.c:            ch_printf( ch, "&c[ &W%d &c] &W%s\n\r", troom->vnum, troom->name );
act_info.c:            ch_printf( ch, "%s\n\r", troom->name );
act_info.c:             || ( !IS_NPC(ch) && !xIS_SET(ch->act, PLR_BRIEF) ) )
act_info.c:            showRoom( ch, ch->in_room );
act_info.c:            if( !ch->in_room->compress )
act_info.c:                ch_printf( ch, "%s", ch->in_room->description );
act_info.c:            else if (xIS_SET(ch->act, PLR_HOLYLIGHT))
act_info.c:                decompressRoom( ch->in_room );
act_info.c:                ch_printf( ch, "&z&WCompressed&w -\n\r%s", ch->in_room->uncomp_desc );
act_info.c:		DISPOSE( ch->in_room->uncomp_desc );
act_info.c:		decompressRoom( ch->in_room );
act_info.c:		ch_printf( ch, "%s", ch->in_room->uncomp_desc );
act_info.c:                DISPOSE( ch->in_room->uncomp_desc );
act_info.c:/*	if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOMAP) ) */   /* maps */
act_info.c:	    if(ch->in_room->map != NULL)
act_info.c:	if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOEXIT) )
act_info.c:	show_list_to_char( ch->in_room->first_content, ch, FALSE, FALSE );
act_info.c:	show_char_to_char( ch->in_room->first_person,  ch );
act_info.c:	if ( !CAN_WEAR( obj, ITEM_TAKE ) && ch->level < sysdata.level_getobjnotake )
act_info.c:	if ( ch->carry_weight + obj->weight > can_carry_w( ch ) )
act_info.c:	count = obj->count;
act_info.c:	obj->count = 1;
act_info.c:	obj->count = count;
act_info.c:	   show_list_to_char( obj->first_content, ch, TRUE, TRUE );
act_info.c:	switch ( obj->item_type )
act_info.c:	    if ( obj->value[1] <= 0 )
act_info.c:		obj->value[1] <     obj->value[0] / 4
act_info.c:		obj->value[1] < 3 * obj->value[0] / 4
act_info.c:		liq_table[obj->value[2]].liq_color
act_info.c:	    for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_info.c:		if ( pexit->vdir == DIR_PORTAL
act_info.c:		&&   IS_SET(pexit->exit_info, EX_PORTAL) )
act_info.c:		    if ( room_is_private( pexit->to_room )
act_info.c:		    original = ch->in_room;
act_info.c:		    char_to_room( ch, pexit->to_room );
act_info.c:	    if ( IS_SET(obj->value[1], CONT_CLOSED) )
act_info.c:	    count = obj->count;
act_info.c:	    obj->count = 1;
act_info.c:	    if ( obj->item_type == ITEM_CONTAINER )
act_info.c:	    obj->count = count;
act_info.c:	    show_list_to_char( obj->first_content, ch, TRUE, TRUE );
act_info.c:    if ( (pdesc=get_extra_descr(arg1, ch->in_room->first_extradesc)) != NULL )
act_info.c:	if ( IS_SET(pexit->exit_info, EX_CLOSED)
act_info.c:	&&  !IS_SET(pexit->exit_info, EX_WINDOW) )
act_info.c:	    if ( (IS_SET(pexit->exit_info, EX_SECRET)
act_info.c:	    ||    IS_SET(pexit->exit_info, EX_DIG)) && door != -1 )
act_info.c:		act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
act_info.c:	if ( IS_SET( pexit->exit_info, EX_BASHED ) )
act_info.c:	    act(AT_RED, "The $d has been bashed from its hinges!",ch, NULL, pexit->keyword, TO_CHAR);
act_info.c:	if ( pexit->description && pexit->description[0] != '\0' )
act_info.c:	    send_to_char( pexit->description, ch );
act_info.c:	 * Ability to look into the next room			-Thoric
act_info.c:	if ( pexit->to_room
act_info.c:	||   IS_SET( pexit->exit_info, EX_xLOOK )
act_info.c:	    if ( !IS_SET( pexit->exit_info, EX_xLOOK )
act_info.c:			    percent = 55;	/* 95 was too good -Thoric */
act_info.c:	    if ( room_is_private( pexit->to_room )
act_info.c:	    original = ch->in_room;
act_info.c:	    char_to_room( ch, pexit->to_room );
act_info.c:    if ( door != -1 )
act_info.c:    /* finally fixed the annoying look 2.obj desc bug	-Thoric */
act_info.c:    for ( cnt = 0, obj = ch->last_carrying; obj; obj = obj->prev_content )
act_info.c:	/* hiscore shtuff -- Scion */
act_info.c:	} /* end hiscore shtuff -- Scion */
act_info.c:	    if ( (pdesc=get_extra_descr(arg, obj->first_extradesc)) != NULL )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:	    if ( (pdesc=get_extra_descr(arg, obj->pIndexData->first_extradesc)) != NULL )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:	    if ( nifty_is_name_prefix( arg, obj->name ) )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:		pdesc = get_extra_descr( obj->name, obj->pIndexData->first_extradesc );
act_info.c:		  pdesc = get_extra_descr( obj->name, obj->first_extradesc );
act_info.c:    for ( obj = ch->in_room->last_content; obj; obj = obj->prev_content )
act_info.c:	/* hiscore shtuff -- Scion */
act_info.c:	    if ( (pdesc=get_extra_descr(arg, obj->first_extradesc)) != NULL )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:	    if ( (pdesc=get_extra_descr(arg, obj->pIndexData->first_extradesc)) != NULL )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:	    if ( nifty_is_name_prefix( arg, obj->name ) )
act_info.c:		if ( (cnt += obj->count) < number )
act_info.c:		pdesc = get_extra_descr( obj->name, obj->pIndexData->first_extradesc );
act_info.c:		  pdesc = get_extra_descr( obj->name, obj->first_extradesc );
act_info.c:        feet =  victim->height / 12;
act_info.c:        inches = victim->height % 12;
act_info.c:        sprintf( buf, "%s is %d'%d\" and weighs %d pounds.\n\r", PERS(victim, ch), feet, inches, victim->weight );
act_info.c:        sprintf(buf, "%s is %s, %s, %s %s haired with %s eyes and %s skin.\n\r", victim->sex == 0
act_info.c:                ? "It" : victim->sex == 1 ? "He" : "She", victim->pcdata->ch_height,
act_info.c:                victim->pcdata->ch_build, victim->pcdata->hair_length, victim->pcdata->hair_color,
act_info.c:                victim->pcdata->eye_color, victim->pcdata->skin_tone);
act_info.c:        feet =  victim->height / 12;
act_info.c:        inches = victim->height % 12;
act_info.c:        sprintf( buf, "You are %d'%d\" and weigh %d pounds.\n\r",  feet, inches, victim->weight );
act_info.c:    if ( victim->max_hit > 0 )
act_info.c:        percent = ( 100 * victim->hit ) / victim->max_hit;
act_info.c:        percent = -1;
act_info.c:-- Narn, winter '96
act_info.c:    if ( !ch->desc )
act_info.c:    if ( ch->position < POS_SLEEPING )
act_info.c:    if ( ch->position == POS_SLEEPING )
act_info.c:        if ( xIS_SET(ch->act, PLR_BRIEF) )
act_info.c:        xSET_BIT( ch->act, PLR_BRIEF );
act_info.c:            xREMOVE_BIT(ch->act, PLR_BRIEF);
act_info.c:                           victim->pIndexData->vnum, victim->name );
act_info.c:                ch_printf( ch, "%s ", victim->name );
act_info.c:                       victim->level,
act_info.c:                       victim->race < MAX_NPC_RACE && victim->race >= 0 ?
act_info.c:                       npc_race[victim->race] : "unknown",
act_info.c:                       victim->class < MAX_NPC_CLASS && victim->class >= 0 ?
act_info.c:                       npc_class[victim->class] : "unknown",
act_info.c:                       victim->level2,
act_info.c:                       victim->class2 < MAX_NPC_CLASS && victim->class2 >= 0 ?
act_info.c:                       npc_class[victim->class2] : "unknown" );
act_info.c:	    if ( board->num_posts )
act_info.c:		ch_printf( ch, "There are about %d notes posted here.  Type 'note list' to list them.\n\r", board->num_posts );
act_info.c:	switch ( obj->item_type )
act_info.c:	    if ( obj->value[1] == 0 )
act_info.c:	      obj->value[1] = obj->value[0];
act_info.c:	    if ( obj->value[1] == 0 )
act_info.c:	      obj->value[1] = 1;
act_info.c:	    dam = (sh_int) ((obj->value[0] * 10) / obj->value[1]);
act_info.c:	    dam = INIT_WEAPON_CONDITION - obj->value[0];
act_info.c:	    dam = obj->value[2];
act_info.c:	    if ( obj->timer > 0 && obj->value[1] > 0 )
act_info.c:	      dam = (obj->timer * 10) / obj->value[1];
act_info.c:	    if ( obj->item_type == ITEM_FOOD )	
act_info.c:	    if ( IS_SET( obj->value[0], TRIG_UP ) )
act_info.c:	    if ( IS_SET( obj->value[0], TRIG_UP ) )
act_info.c:		sh_int timerfrac = obj->timer;
act_info.c:		if ( obj->item_type == ITEM_CORPSE_PC )
act_info.c:		timerfrac = (int)obj->timer / 8 + 1; 
act_info.c:    for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_info.c:        if( !IS_NPC( ch ) && xIS_SET( ch->act, PLR_HOLYLIGHT ) )
act_info.c:            if( pexit->to_room )
act_info.c:                if(  IS_SET( pexit->exit_info, EX_CLOSED) &&
act_info.c:                  (  IS_SET( pexit->exit_info, EX_WINDOW) ||
act_info.c:                     IS_SET(pexit->exit_info, EX_ISDOOR)))
act_info.c:                    sprintf( buf+strlen(buf), " %s&c[ &W%-5d &c| &W(%-9s) &c] - %s\n\r",
act_info.c:                             pexit->to_room->vnum,
act_info.c:                             capitalize( dir_name[pexit->vdir] ),
act_info.c:                             pexit->to_room->name );
act_info.c:                    sprintf( buf+strlen(buf), " %s&c[ &W%-5d &c| &W%-11s &c] - %s\n\r",
act_info.c:                             pexit->to_room->vnum,
act_info.c:                             capitalize( dir_name[pexit->vdir] ),
act_info.c:                             pexit->to_room->name );
act_info.c:            /* make life easier - shogar */
act_info.c:            if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
act_info.c:                sprintf(buf+strlen(buf),"[%d]-",pexit->to_room->vnum); */
act_info.c:        else if( !IS_NPC( ch ) && IS_SET( ch->in_room->area->flags, AFLAG_EXIT_NAMES )
act_info.c:                 && !xIS_SET(ch->act, PLR_BRIEF) )
act_info.c:            if ( pexit->to_room )
act_info.c:                if( !IS_SET(pexit->exit_info, EX_CLOSED)
act_info.c:                && (!IS_SET(pexit->exit_info, EX_WINDOW)
act_info.c:                ||   IS_SET(pexit->exit_info, EX_ISDOOR))
act_info.c:                &&  !IS_SET(pexit->exit_info, EX_HIDDEN) )
act_info.c:                    sprintf( buf+strlen(buf), " %s&c[ &W%-5d &c| &W(%-9s) &c] - %s\n\r",
act_info.c:                             pexit->to_room->vnum,
act_info.c:                             capitalize( dir_name[pexit->vdir] ),
act_info.c:                             pexit->to_room->name );
act_info.c:                    sprintf( buf+strlen(buf), " %s&c[ &W%-5d &c| &W%-11s &c] - %s\n\r",
act_info.c:                             pexit->to_room->vnum,
act_info.c:                             capitalize( dir_name[pexit->vdir] ),
act_info.c:                             pexit->to_room->name );
act_info.c:            if ( pexit->to_room
act_info.c:            &&  !IS_SET(pexit->exit_info, EX_CLOSED)
act_info.c:            && (!IS_SET(pexit->exit_info, EX_WINDOW)
act_info.c:            ||   IS_SET(pexit->exit_info, EX_ISDOOR))
act_info.c:            &&  !IS_SET(pexit->exit_info, EX_HIDDEN) )
act_info.c:                    strcat( buf, dir_name[pexit->vdir] );
act_info.c:                    sprintf( buf + strlen(buf), "%-5s - %s\n\r",
act_info.c:                             capitalize( dir_name[pexit->vdir] ),
act_info.c:                             room_is_dark( pexit->to_room )
act_info.c:                             : pexit->to_room->name );
act_info.c:    else if ( fAuto && !xIS_SET( ch->act, PLR_HOLYLIGHT ) )
act_info.c: *		<combo-phrase> and <single-phrase>.
act_info.c: * Where the combo-phrase describes either the precipitation and
act_info.c: * temperature or the wind and temperature. The single-phrase
act_info.c: * combo-phrase.
act_info.c: * Fireblade - Under Construction
act_info.c:	temp = (ch->in_room->area->weather->temp + 3*weath_unit - 1)/
act_info.c:	precip = (ch->in_room->area->weather->precip + 3*weath_unit - 1)/
act_info.c:	wind = (ch->in_room->area->weather->wind + 3*weath_unit - 1)/
act_info.c: * ie: online help editing				-Thoric
act_info.c:	lev = -2;
act_info.c:    for ( pHelp = first_help; pHelp; pHelp = pHelp->next )
act_info.c:	if ( pHelp->level > get_trust( ch ) )
act_info.c:	if ( lev != -2 && pHelp->level != lev )
act_info.c:	if ( is_name( argall, pHelp->keyword ) )
act_info.c:    /* Make newbies do a help start. --Shaddai */ 
act_info.c:	SET_BIT(ch->pcdata->flags, PCFLAG_HELPSTART);
act_info.c:    if ( pHelp->level >= 0 && str_cmp( argument, "imotd" ) )
act_info.c:	pager_printf( ch, "&c[ &wKeyword(s): &G%s &c| &wLevel: &G%d &c]", pHelp->keyword, pHelp->level );
act_info.c:	if ( pHelp->text[0] == '.' )
act_info.c:	send_to_pager_color( pHelp->text+1, ch );
act_info.c:	send_to_pager_color( pHelp->text  , ch );
act_info.c: * Help editor							-Thoric
act_info.c:    if ( !ch->desc )
act_info.c:    switch( ch->substate )
act_info.c:	  if ( (pHelp = ch->dest_buf) == NULL )
act_info.c:		bug( "hedit: sub_help_edit: NULL ch->dest_buf", 0 );
act_info.c:	  if ( help_greeting == pHelp->text )
act_info.c:	  STRFREE( pHelp->text );
act_info.c:	  pHelp->text = copy_buffer( ch );
act_info.c:		help_greeting = pHelp->text;
act_info.c:	pHelp->keyword = STRALLOC( strupper(argument) );
act_info.c:	pHelp->text    = STRALLOC( "" );
act_info.c:	pHelp->level   = lev;
act_info.c:    ch->substate = SUB_HELP_EDIT;
act_info.c:    ch->dest_buf = pHelp;
act_info.c:    start_editing( ch, pHelp->text );
act_info.c: * Stupid leading space muncher fix				-Thoric
act_info.c:	for ( pHelp = first_help; pHelp; pHelp = pHelp->next )
act_info.c:		pHelp->level, pHelp->keyword, help_fix(pHelp->text) );
act_info.c:	STRFREE( pHelp->text );
act_info.c:	STRFREE( pHelp->keyword );
act_info.c:	pHelp->level = atoi( arg2 );
act_info.c:	STRFREE( pHelp->keyword );
act_info.c:	pHelp->keyword = STRALLOC( strupper(arg2) );
act_info.c: * Show help topics in a level range				-Thoric
act_info.c:    minlimit = maxlimit >= LEVEL_GREATER ? -1 : 0;
act_info.c:    for ( cnt = 0, help = first_help; help; help = help->next )
act_info.c:	if ( help->level >= min && help->level <= max
act_info.c:	&&  (!idx || nifty_is_name_prefix(idx, help->keyword)) )
act_info.c:	    pager_printf( ch, "&c  %3d &w%s\n\r", help->level, help->keyword );
act_info.c:    imc_whoreply_start(from->name);
act_info.c:    for (d = descriptor_list; d; d = d->next)
act_info.c:        victim = ( d->original ) ? d->original : d->character;
act_info.c:        if (d->connected != CON_PLAYING || !imc_visible(from, imc_getdata(victim)) ||
act_info.c:        sprintf( class_text, "%s%2d %s", NOT_AUTHED(victim) ? "N" : " ", victim->level,
act_info.c:                 class_table[victim->class]->who_name );
act_info.c:        switch ( victim->level )
act_info.c:        case MAX_LEVEL -  0: class = "Owner";        break;
act_info.c:        case MAX_LEVEL -  1: class = "Admin";        break;
act_info.c:        case MAX_LEVEL -  2: class = "Eternal       ";  break;
act_info.c:        case MAX_LEVEL -  3: class = "Ancient";         break;
act_info.c:        case MAX_LEVEL -  4: class = "Exalted God";     break;
act_info.c:        case MAX_LEVEL -  5: class = "Ascendant God";   break;
act_info.c:        case MAX_LEVEL -  6: class = "Greater God";     break;
act_info.c:        case MAX_LEVEL -  7: class = "God";             break;
act_info.c:        case MAX_LEVEL -  8: class = "Lesser God";      break;
act_info.c:        case MAX_LEVEL -  9: class = "Immortal";        break;
act_info.c:        case MAX_LEVEL - 10: class = "Demi God";        break;
act_info.c:        case MAX_LEVEL - 11: class = "Savior";          break;
act_info.c:        case MAX_LEVEL - 12: class = "Creator";         break;
act_info.c:        case MAX_LEVEL - 13: class = "Acolyte";         break;
act_info.c:        case MAX_LEVEL - 14: class = "Neophyte";        break;
act_info.c:        case MAX_LEVEL - 15: class = "Avatar";          break;
act_info.c:        if ( !str_cmp( victim->name, sysdata.guild_overseer ) )
act_info.c:        else if ( !str_cmp( victim->name, sysdata.guild_advisor ) )
act_info.c:        else if ( victim->pcdata->rank && victim->pcdata->rank[0] != '\0' )
act_info.c:            class = victim->pcdata->rank;
act_info.c:        if ( victim->pcdata->clan )
act_info.c:            CLAN_DATA *pclan = victim->pcdata->clan;
act_info.c:            if ( pclan->clan_type == CLAN_GUILD )
act_info.c:            if ( pclan->clan_type == CLAN_ORDER )
act_info.c:                if ( !str_cmp( victim->name, pclan->deity ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:            else if ( pclan->clan_type == CLAN_GUILD )
act_info.c:                if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:                if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:                if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:                if ( !str_cmp( victim->name, pclan->deity ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:                else if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:            strcat( clan_name, pclan->name );
act_info.c:            if ( pclan->clan_type == CLAN_GUILD )
act_info.c:        if ( victim->pcdata->council )
act_info.c:            if (  victim->pcdata->council->head2 == NULL )
act_info.c:                if (!str_cmp (victim->name, victim->pcdata->council->head))
act_info.c:                if (!str_cmp (victim->name, victim->pcdata->council->head)
act_info.c:                    || !str_cmp ( victim->name, victim->pcdata->council->head2) )
act_info.c:                    strcat (council_name, "Co-Head of ");
act_info.c:            strcat( council_name, victim->pcdata->council_name );
act_info.c:        if ( victim->pcdata->council2 )
act_info.c:            if (  victim->pcdata->council2->head2 == NULL )
act_info.c:                if (!str_cmp (victim->name, victim->pcdata->council2->head))
act_info.c:                if (!str_cmp (victim->name, victim->pcdata->council2->head)
act_info.c:                    || !str_cmp ( victim->name, victim->pcdata->council2->head2) )
act_info.c:                    strcat (council2_name, "Co-Head of ");
act_info.c:            strcat( council2_name, victim->pcdata->council2_name );
act_info.c: if ( xIS_SET victim->act, PLR_WIZINVIS) )
act_info.c:	  sprintf( invis_str, "&R(&W%d&R) &w", victim->pcdata->wizinvis );
act_info.c:	  (fGroup ? whogr->indent : 0), "",
act_info.c:		  wch->pcdata->extraname,
act_info.c:		  wch->pcdata->lastname,
act_info.c:          wch->pcdata->title,
act_info.c:          (wch->desc && wch->desc->connected) ? " &Y[&WWRITING&Y]&G " : "",
act_info.c:          xIS_SET(wch->act, PLR_AFK) ? " &Y[&WAWAY&Y]&G " : "",
act_info.c:          xIS_SET(wch->act, PLR_ATTACKER) ? " &R(&W^zATTACKER^x&R)&G " : "",
act_info.c:          xIS_SET(wch->act, PLR_KILLER) ? " &R(&W^zKILLER^x&R)&G " : "",
act_info.c:          xIS_SET(wch->act, PLR_THIEF)  ? " &R(&W^zTHIEF^x&R)&G "  : ""
act_info.c:          (victim->desc && victim->desc->connected) ? "&B[&WWRITING&B]&w " : "",
act_info.c:          xIS_SET(victim->act, PLR_AFK) ? "&B[&WAFK&B]&w " : "",
act_info.c:                 victim->pcdata->extraname ? victim->pcdata->extraname : "",
act_info.c:                 victim->pcdata->lastname ? victim->pcdata->lastname : "",
act_info.c:                 victim->pcdata->title,
act_info.c:          xIS_SET(victim->act, PLR_ATTACKER) ? " &R(&WATTACKER&R)&w" : "",
act_info.c:          xIS_SET(victim->act, PLR_KILLER) ? " &R(&WKILLER&R)&w" : "",
act_info.c:          xIS_SET(victim->act, PLR_THIEF)  ? " &R(&WTHIEF&R)&w"  : "" );
act_info.c:                 (victim->desc && victim->desc->connected) ? " &Y[&WWRITING&Y]&G" : "",
act_info.c:                 xIS_SET(victim->act, PLR_AFK) ? " &Y[&WAWAY&Y]&G " : "",
act_info.c:                 xIS_SET(victim->act, PLR_ATTACKER) ? " &R(&W^zATTACKER^x&R)&G " : "",
act_info.c:                 xIS_SET(victim->act, PLR_KILLER) ? " &R(&W^zKILLER^x&R)&G " : "",
act_info.c:                 xIS_SET(victim->act, PLR_THIEF)  ? " &R(&W^zTHIEF^x&R)&G "  : ""
act_info.c: * New do_who with WHO REQUEST, clan, race and homepage support.  -Thoric
act_info.c: * different lists for morts and imms -- Scion
act_info.c:  for (whogr = first; whogr; whogr = whogr->next)
act_info.c:    if (whogr->d == d)
act_info.c:    else if (whogr->follower && (whogr_t = find_whogr(d, whogr->follower)))
act_info.c:  for ( ; whogr; whogr = whogr->next )
act_info.c:    if (whogr->follower)
act_info.c:          (whogr->d->original ? whogr->d->original : whogr->d->character);
act_info.c:      indent_whogr(looker, whogr->follower, nlev);
act_info.c:    whogr->indent = ilev;
act_info.c:/* This a great big mess to backwards-structure the ->leader character
act_info.c:        first_whogr = whogr->next;
act_info.c:    for (d = last_descriptor; d; d = d->prev)
act_info.c:        if((d->connected != CON_PLAYING
act_info.c:        &&  d->connected != CON_EDITING)
act_info.c:        || (d->connected <= CON_NOTE_TO
act_info.c:        &&  d->connected >= CON_NOTE_FINISH))
act_info.c:        wch = (d->original ? d->original : d->character);
act_info.c:        if (!wch->leader || wch->leader == wch || !wch->leader->desc ||
act_info.c:            IS_NPC(wch->leader) || IS_IMMORTAL(wch) || IS_IMMORTAL(wch->leader))
act_info.c:                last_whogr->next = whogr;
act_info.c:            whogr->next = NULL;
act_info.c:            whogr->follower = whogr->l_follow = NULL;
act_info.c:            whogr->d = d;
act_info.c:            whogr->indent = 0;
act_info.c:        for (d = last_descriptor; d; d = d->prev)
act_info.c:            if((d->connected != CON_PLAYING
act_info.c:            &&  d->connected != CON_EDITING)
act_info.c:            || ( d->connected <= CON_NOTE_TO
act_info.c:            &&   d->connected >= CON_NOTE_FINISH))
act_info.c:            wch = (d->original ? d->original : d->character);
act_info.c:            if (wch->leader && wch->leader != wch && wch->leader->desc &&
act_info.c:                !IS_NPC(wch->leader) && !IS_IMMORTAL(wch) &&
act_info.c:                !IS_IMMORTAL(wch->leader) &&
act_info.c:                (whogr_t = find_whogr(wch->leader->desc, first_whogr)))
act_info.c:                if (!whogr_t->l_follow)
act_info.c:                    whogr_t->follower = whogr_t->l_follow = whogr;
act_info.c:                    whogr_t->l_follow->next = whogr;
act_info.c:                    whogr_t->l_follow = whogr;
act_info.c:                whogr->next = NULL;
act_info.c:                whogr->follower = whogr->l_follow = NULL;
act_info.c:                whogr->d = d;
act_info.c:                whogr->indent = 0;
act_info.c:        if (whogr->l_follow)
act_info.c:            whogr->l_follow->next = whogr;
act_info.c:            whogr->l_follow = NULL;
act_info.c:                whogr_t->next = whogr = whogr->follower;
act_info.c:                first_whogr = whogr = whogr->follower;
act_info.c:            whogr = whogr->next;
act_info.c:     * types "who" with no arguments.           --Gorog
act_info.c:                    if( !str_cmp( arg, class_table[iClass]->who_name ) )
act_info.c:		    if ( !str_cmp( arg, race_table[iRace]->race_name ) )
act_info.c:        d = whogr->d;
act_info.c:    for ( ; d; whogr_p = whogr, whogr = (fGroup ? whogr->next : NULL),
act_info.c:    d = (fGroup ? (whogr ? whogr->d : NULL) : d->prev))
act_info.c:        if(((d->connected != CON_PLAYING
act_info.c:        &&   d->connected != CON_EDITING)
act_info.c:        ||  (d->connected <= CON_NOTE_TO
act_info.c:        &&   d->connected >= CON_NOTE_FINISH))
act_info.c:	||   !can_see( ch, d->character ) || d->original)
act_info.c:	wch   = d->original ? d->original : d->character;
act_info.c:	if ( wch->level < iLevelLower
act_info.c:	||   wch->level > iLevelUpper
act_info.c:	|| ( fImmortalOnly  && wch->level < LEVEL_IMMORTAL )
act_info.c:        || ( fClassRestrict && !rgfClass[wch->class] )
act_info.c:        || ( fClassRestrict && !rgfClass[wch->class2] )
act_info.c:	|| ( fRaceRestrict && !rgfRace[wch->race] )
act_info.c:	|| ( fClanMatch && ( pClan != wch->pcdata->clan ))  /* SB */
act_info.c:        || (( fCouncilMatch && ( pCouncil != wch->pcdata->council )) /* SB */ 
act_info.c:	&& ( fCouncilMatch && ( pCouncil != wch->pcdata->council2 )))/*RTD*/
act_info.c:	|| ( fDeityMatch && ( pDeity != wch->pcdata->deity )) )
act_info.c:        if ( fLeader && !(wch->pcdata->council &&
act_info.c:	     ((wch->pcdata->council->head2 &&
act_info.c:	     !str_cmp(wch->pcdata->council->head2, wch->name)) ||
act_info.c:	     (wch->pcdata->council->head &&
act_info.c:	     !str_cmp(wch->pcdata->council->head, wch->name)))) &&
act_info.c:	     !(wch->pcdata->clan && ((wch->pcdata->clan->deity &&
act_info.c:	     !str_cmp(wch->pcdata->clan->deity,wch->name) )
act_info.c:	     || (wch->pcdata->clan->leader
act_info.c:	     && !str_cmp(wch->pcdata->clan->leader, wch->name ) )
act_info.c:	     || (wch->pcdata->clan->number1
act_info.c:	     && !str_cmp(wch->pcdata->clan->number1, wch->name ) )
act_info.c:	     || (wch->pcdata->clan->number2 
act_info.c:	     && !str_cmp(wch->pcdata->clan->number2, wch->name )))))
act_info.c:	if (fGroup && !wch->leader &&
act_info.c:	   !IS_SET(wch->pcdata->flags, PCFLAG_GROUPWHO) &&
act_info.c:	   (!whogr_p || !whogr_p->indent))
act_info.c:        &&   wch->pcdata->homepage
act_info.c:        &&   wch->pcdata->homepage[0] != '\0' )
act_info.c:                     show_tilde( wch->pcdata->homepage ), wch->name );
act_info.c:            strcpy( char_name, wch->name );
act_info.c:        if( wch->level2 == -1 )
act_info.c:            sprintf( class_text, "%3d %3.3s", wch->level,
act_info.c:                     !str_cmp( class_table[wch->class]->who_name, "Assassin" )
act_info.c:                     ? "Asn" : class_table[wch->class]->who_name );
act_info.c:                     wch->level,
act_info.c:                     !str_cmp( class_table[wch->class]->who_name, "Assassin" )
act_info.c:                     ? "Asn" : class_table[wch->class]->who_name,
act_info.c:                     wch->level2,
act_info.c:                     !str_cmp( class_table[wch->class2]->who_name, "Assassin" )
act_info.c:                     ? "Asn" : class_table[wch->class2]->who_name );
act_info.c:	switch ( wch->level )
act_info.c:	case MAX_LEVEL -  0: class = "&ROwner";	          break;
act_info.c:	case MAX_LEVEL -  1: class = "&RHead Imp.";	  break;
act_info.c:	case MAX_LEVEL -  2: class = "&RImplementor";	  break;
act_info.c:	case MAX_LEVEL -  3: class = "&RAsst. Imp.";	  break;
act_info.c:	case MAX_LEVEL -  4: class = "&RAdmin.";  	  break;
act_info.c:	case MAX_LEVEL -  5: class = "&cCoder";		  break;
act_info.c:	case MAX_LEVEL -  6: class = "&cAdmin Rep.";	  break;
act_info.c:	case MAX_LEVEL -  7: class = "&cMaster Bldr";	  break;
act_info.c:	case MAX_LEVEL -  8: class = "&cGreater Bldr";	  break;
act_info.c:	case MAX_LEVEL -  9: class = "&cBuilder";	  break;
act_info.c:	case MAX_LEVEL - 10: class = "&cLesser Bldr";	  break;
act_info.c:	case MAX_LEVEL - 11: class = "&cNew Builder";	  break;
act_info.c:	case MAX_LEVEL - 12: class = "&cGeneral Staff";	  break;
act_info.c:	case MAX_LEVEL - 13: class = "&BImm Family";	  break;
act_info.c:	case MAX_LEVEL - 14: class = "&BMUD Guest";       break;
act_info.c:	case MAX_LEVEL - 15: class = "&BAmbassador";  	  break;
act_info.c:	case MAX_LEVEL - 16: class = "&YDemi-God";	  break;
act_info.c:        if ( !str_cmp( wch->name, sysdata.guild_overseer ) )
act_info.c:        else if ( !str_cmp( wch->name, sysdata.guild_advisor ) )
act_info.c:	else if ( wch->pcdata->rank && wch->pcdata->rank[0] != '\0' )
act_info.c:            class = wch->pcdata->rank;
act_info.c:	if( IS_SET( wch->pcdata->flags, PCFLAG_ANONYMOUS) && !IS_IMMORTAL(ch) )
act_info.c:	if ( wch->pcdata->clan )
act_info.c:            CLAN_DATA *pclan = wch->pcdata->clan;
act_info.c:            if ( pclan->clan_type == CLAN_GUILD )
act_info.c:            else if ( pclan->clan_type == CLAN_ORDER )
act_info.c:            if ( pclan->clan_type == CLAN_ORDER )
act_info.c:                if ( !str_cmp( wch->name, pclan->deity ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->leader ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->number1 ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->number2 ) )
act_info.c:            else if ( pclan->clan_type == CLAN_GUILD )
act_info.c:                if ( !str_cmp( wch->name, pclan->leader ) )
act_info.c:                if ( !str_cmp( wch->name, pclan->number1 ) )
act_info.c:                if ( !str_cmp( wch->name, pclan->number2 ) )
act_info.c:                if ( !str_cmp( wch->name, pclan->deity ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->leader ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->number1 ) )
act_info.c:                else if ( !str_cmp( wch->name, pclan->number2 ) )
act_info.c:            strcat( clan_name, pclan->name );
act_info.c:            if ( pclan->clan_type == CLAN_GUILD )
act_info.c:            else if ( pclan->clan_type == CLAN_ORDER )
act_info.c:        if ( wch->pcdata->council )
act_info.c:            if ( wch->pcdata->council->head2 == NULL ||
act_info.c:                 wch->pcdata->council->head2[0] == '\0' )
act_info.c:                if (!str_cmp (wch->name, wch->pcdata->council->head))
act_info.c:                if (!str_cmp (wch->name, wch->pcdata->council->head)
act_info.c:                    || !str_cmp ( wch->name, wch->pcdata->council->head2) )
act_info.c:                    strcat (council_name, "Co-Head of ");
act_info.c:            strcat( council_name, wch->pcdata->council_name );
act_info.c:        if ( wch->pcdata->council2 )
act_info.c:            if ( wch->pcdata->council2->head2 == NULL ||
act_info.c:                 wch->pcdata->council2->head2[0] == '\0' )
act_info.c:                if (!str_cmp (wch->name, wch->pcdata->council2->head))
act_info.c:                if (!str_cmp (wch->name, wch->pcdata->council2->head)
act_info.c:                    || !str_cmp ( wch->name, wch->pcdata->council2->head2) )
act_info.c:                    strcat (council2_name, "Co-Head of ");
act_info.c:            strcat( council2_name, wch->pcdata->council2_name );
act_info.c:        if ( xIS_SET(wch->act, PLR_WIZINVIS) )
act_info.c:            sprintf( invis_str, " &R(&W%d&R)&w", wch->pcdata->wizinvis );
act_info.c:            for( dcheck = first_descriptor ; dcheck ; dcheck = dcheck->next )
act_info.c:                if( dcheck->character && wch->desc
act_info.c:                && dcheck->host == wch->desc->host )
act_info.c:                     IS_SET( wch->pcdata->flags, PCFLAG_DEADLY ) ? "&WP" : "-",
act_info.c:                     (wch->fighting ? "&gF&W" : "-"),
act_info.c:                     (multi ? "&RM&W" : "-"),
act_info.c:                     (wch->position == POS_INCAP) ? "&bI&W" : "-",
act_info.c:                     (wch->pcdata->extraname ? wch->pcdata->extraname : ""),
act_info.c:                     (wch->pcdata->lastname ? wch->pcdata->lastname : "" ),
act_info.c:                     (wch->pcdata->afkmsg)  ? wch->pcdata->afkmsg : wch->pcdata->title,
act_info.c:                     (wch->bounty > 0)                   ? " &W(&RBOUNTY&W)&w "       : "",
act_info.c:                     xIS_SET(wch->act, PLR_MARRIED)      ? " &Y[&WWED&Y]&w "          : "",
act_info.c:                     (wch->desc && wch->desc->connected) ? " &Y[&WWRITING&Y]&w "      : "",
act_info.c:                     xIS_SET(wch->act, PLR_AFK)          ? " &Y[&WAWAY&Y]&w "         : "",
act_info.c:                     xIS_SET(wch->act, PLR_ATTACKER)     ? " &R(&W^zATTACKER^x&R)&w " : "",
act_info.c:                     xIS_SET(wch->act, PLR_KILLER)       ? " &R(&W^zKILLER^x&R)&w "   : "",
act_info.c:                     xIS_SET(wch->act, PLR_THIEF)        ? " &R(&W^zTHIEF^x&R)&w "    : ""
act_info.c:                     IS_SET( wch->pcdata->flags, PCFLAG_DEADLY ) ? "&WPK" : "&W--",
act_info.c:                     (wch->pcdata->extraname ? wch->pcdata->extraname : ""),
act_info.c:                     (wch->pcdata->lastname ? wch->pcdata->lastname : "" ),
act_info.c:                     (wch->pcdata->afkmsg)  ? wch->pcdata->afkmsg : wch->pcdata->title,
act_info.c:                     (wch->bounty > 0)                   ? " &W(&RBOUNTY&W)&w "       : "",
act_info.c:                     xIS_SET(wch->act, PLR_MARRIED)      ? " &Y[&WWED&Y]&w "          : "",
act_info.c:                     (wch->desc && wch->desc->connected) ? " &Y[&WWRITING&Y]&w "      : "",
act_info.c:                     xIS_SET(wch->act, PLR_AFK)          ? " &Y[&WAWAY&Y]&w "         : "",
act_info.c:                     xIS_SET(wch->act, PLR_ATTACKER)     ? " &R(&W^zATTACKER^x&R)&w " : "",
act_info.c:                     xIS_SET(wch->act, PLR_KILLER)       ? " &R(&W^zKILLER^x&R)&w "   : "",
act_info.c:                     xIS_SET(wch->act, PLR_THIEF)        ? " &R(&W^zTHIEF^x&R)&w "    : ""
act_info.c:        cur_who->text = str_dup( buf );
act_info.c:                cur_who->type = WT_GUEST;
act_info.c:             cur_who->type = WT_STAFF;
act_info.c:                 cur_who->type = WT_ADMIN;
act_info.c:            if ( wch->leader || (whogr_p && whogr_p->indent) )
act_info.c:                cur_who->type = WT_GROUPED;
act_info.c:                cur_who->type = WT_GROUPWHO;
act_info.c:            cur_who->type = WT_DEADLY;
act_info.c:            cur_who->type = WT_MORTAL;
act_info.c:        switch ( cur_who->type )
act_info.c:            cur_who->next = first_mortal;
act_info.c:            cur_who->next = first_deadly;
act_info.c:            cur_who->next = first_grouped;
act_info.c:            cur_who->next = first_groupwho;
act_info.c:            cur_who->next = first_guest;
act_info.c:             cur_who->next = first_staff;
act_info.c:            cur_who->next = first_admin;
act_info.c:     * Two extras now for grouped and groupwho (wanting group). -- Alty
act_info.c:            amount = 78-strlen_color( buf ); /* Determine amount to put in
act_info.c:            send_to_pager_color( "&O-----------------------------{-=-[ ",ch);
act_info.c:            send_to_pager_color("&O]-=-}------------------------------&w\n\r\n\r",ch);
act_info.c:            send_to_pager_color( "&O-----------------------------{-=-[ &WMortals &O]-=-}------------------------------&w\n\r\n\r",ch);
act_info.c:            fprintf( whoout, cur_who->text );
act_info.c:            send_to_pager( cur_who->text, ch );
act_info.c:        next_who = cur_who->next;
act_info.c:        DISPOSE( cur_who->text );
act_info.c: *							--Callidyrr
act_info.c:        fprintf( whoout, "\n\r&r----------------------------{-=-[&W Deadly Mortals &r]-=-}------------------------\n\r\n\r" );
act_info.c:        send_to_pager_color( "\n\r&r--------------------------{-=-[ ",ch);
act_info.c:        send_to_pager_color("&r]-=-}--------------------------&w\n\r\n\r",ch );
act_info.c:            fprintf( whoout, cur_who->text );
act_info.c:            send_to_pager( cur_who->text, ch );
act_info.c:        next_who = cur_who->next;
act_info.c:        DISPOSE( cur_who->text );
act_info.c:        fprintf( whoout, "\n\r-------------------------{-=-[ GROUPED CHARACTERS ]-=-}-----------------------\n\r\n\r" );
act_info.c:        send_to_pager( "\n\r-------------------------{-=-[ GROUPED CHARACTERS ]-=-}-----------------------\n\r\n\r", ch );
act_info.c:         fprintf( whoout, cur_who->text );
act_info.c:        send_to_pager( cur_who->text, ch );
act_info.c:        next_who = cur_who->next;
act_info.c:        DISPOSE( cur_who->text );
act_info.c:            fprintf( whoout, "\n\r&Y---------------------------{-=-[&W WANTING GROUP &Y]-=-}--------------------------\n\r\n\r" );
act_info.c:            send_to_pager_color( "\n\r&Y---------------------------{-=-[",ch);
act_info.c:            send_to_pager_color("^x&Y]-=-}--------------------------&w\n\r\n\r",ch );
act_info.c:            fprintf( whoout, cur_who->text );
act_info.c:            send_to_pager( cur_who->text, ch );
act_info.c:        next_who = cur_who->next;
act_info.c:        DISPOSE( cur_who->text );
act_info.c:            fprintf( whoout, "\n\r&B-----------------------------{-=-[&W  Guests &B]-=-}-------------------------------\n\r\n\r" );
act_info.c:            send_to_pager_color( "\n\r&B------------------------------{-=-[",ch);
act_info.c:            send_to_pager_color("&B]-=-}------------------------------&w\n\r\n\r",ch );
act_info.c:            fprintf( whoout, cur_who->text );
act_info.c:	    send_to_pager( cur_who->text, ch );
act_info.c:        next_who = cur_who->next;
act_info.c:        DISPOSE( cur_who->text );
act_info.c:	    fprintf( whoout, "\n\r&c------------------------------[&W Resident Staff &c]------------------------------\n\r\n\r" );
act_info.c:	    send_to_pager_color( "\n\r&c------------------------------[",ch);
act_info.c:		send_to_pager_color("&c]------------------------------&w\n\r\n\r", ch );
act_info.c:	    fprintf( whoout, cur_who->text );
act_info.c:	    send_to_pager( cur_who->text, ch );
act_info.c:	next_who = cur_who->next;
act_info.c:	DISPOSE( cur_who->text );
act_info.c:            fprintf( whoout, "\n\r&R----------------------------{-=-[ &WImmortals &R]-=-}-----------------------------\n\r\n\r" );
act_info.c:            send_to_pager_color( "\n\r&R----------------------------{-=-[",ch);
act_info.c:            send_to_pager_color("&R]-=-}-----------------------------&w\n\r\n\r", ch );
act_info.c:	    fprintf( whoout, cur_who->text );
act_info.c:	    send_to_pager( cur_who->text, ch );
act_info.c:	next_who = cur_who->next;
act_info.c:	DISPOSE( cur_who->text );
act_info.c:/* This command SUCKS! It's misleading enough to be dangerous to morts. -- Scion
act_info.c:	for ( obj2 = ch->first_carrying; obj2; obj2 = obj2->next_content )
act_info.c:	    if ( obj2->wear_loc != WEAR_NONE
act_info.c:	    &&   obj1->item_type == obj2->item_type
act_info.c:	    && ( obj1->wear_flags & obj2->wear_flags & ~ITEM_TAKE) != 0 )
act_info.c:    else if ( obj1->item_type != obj2->item_type )
act_info.c:	switch ( obj1->item_type )
act_info.c:	    value1 = obj1->value[0];
act_info.c:	    value2 = obj2->value[0];
act_info.c:	    value1 = obj1->value[1] + obj1->value[2];
act_info.c:	    value2 = obj2->value[1] + obj2->value[2];
act_info.c:        pager_printf( ch, "\n\rPlayers near you in %s:\n\r", ch->in_room->area->name );
act_info.c:	for ( d = first_descriptor; d; d = d->next )
act_info.c:            if ( (d->connected == CON_PLAYING || d->connected == CON_EDITING
act_info.c:            || ( d->connected >= CON_NOTE_TO
act_info.c:            &&   d->connected <= CON_NOTE_FINISH))
act_info.c:	    && ( victim = d->character ) != NULL
act_info.c:	    &&   victim->in_room
act_info.c:	    &&   victim->in_room->area == ch->in_room->area
act_info.c:		pager_printf_color( ch, "&P%-13s  ", victim->name );
act_info.c:		if ( CAN_PKILL( victim ) && victim->pcdata->clan )
act_info.c:		  pager_printf_color( ch, "%-18s\t", victim->pcdata->clan->badge );
act_info.c:		pager_printf_color( ch, "&P%s\n\r", victim->in_room->name );
act_info.c:	for ( victim = first_char; victim; victim = victim->next )
act_info.c:	    if ( victim->in_room
act_info.c:	    &&   victim->in_room->area == ch->in_room->area
act_info.c:	    &&   is_name( arg, victim->name ) )
act_info.c:		pager_printf( ch, "%-28s %s\n\r",
act_info.c:		    PERS(victim, ch), victim->in_room->name );
act_info.c:    diff = victim->level - ch->level;
act_info.c:	 if ( diff <= -10 ) msg = "You are far more experienced than $N.";
act_info.c:    else if ( diff <=  -5 ) msg = "$N is not nearly as experienced as you.";
act_info.c:    else if ( diff <=  -2 ) msg = "You are more experienced than $N.";
act_info.c:    diff = (int) (victim->max_hit - ch->max_hit) / 6;
act_info.c:	 if ( diff <= -200) msg = "$N looks like a feather!";
act_info.c:    else if ( diff <= -150) msg = "You could kill $N with your hands tied!";
act_info.c:    else if ( diff <= -100) msg = "Hey! Where'd $N go?";
act_info.c:    else if ( diff <=  -50) msg = "$N is a wimp.";
act_info.c: * (Uses an is_name check). -- Altrag
act_info.c:    if ( ch->level < 2 )
act_info.c:	    if ( !skill_table[sn]->name )
act_info.c:	    if ( strcmp(skill_table[sn]->name, "reserved") == 0
act_info.c:                send_to_pager_color( " &c---------------------------------[&W Practice &c]---------------------------------&w\n\r", ch);
act_info.c:	    if ( skill_table[sn]->type != lasttype )
act_info.c:		pager_printf_color( ch, " &c---------------------------------- &W%ss&c ----------------------------------&w\n\r",
act_info.c:			 skill_tname[skill_table[sn]->type]);
act_info.c:	    lasttype = skill_table[sn]->type;
act_info.c:	    && ( skill_table[sn]->guild != CLASS_NONE 
act_info.c:	    || (ch->pcdata->clan->class != skill_table[sn]->guild) ) ) )
act_info.c:            if( ch->level2 == -1 )
act_info.c:                if( ch->level < skill_table[sn]->skill_level[ch->class]
act_info.c:                || (!IS_IMMORTAL(ch) && skill_table[sn]->skill_level[ch->class] == 0 ))
act_info.c:                if( (ch->level < skill_table[sn]->skill_level[ch->class]
act_info.c:                &&   ch->level < skill_table[sn]->skill_level[ch->class2] )
act_info.c:                || (!IS_IMMORTAL(ch) && (skill_table[sn]->skill_level[ch->class] == 0
act_info.c:                && skill_table[sn]->skill_level[ch->class2] == 0)))
act_info.c:	    if ( ch->pcdata->learned[sn] <= 0
act_info.c:	    if ( ch->pcdata->learned[sn] == 0)
act_info.c:                pager_printf( ch, "&W%20.20s", skill_table[sn]->name );
act_info.c:            else if ( ch->pcdata->learned[sn] > 0
act_info.c:            && (ch->pcdata->learned[sn] < skill_table[sn]->skill_adept[ch->class]
act_info.c:            || ch->pcdata->learned[sn] < skill_table[sn]->skill_adept[ch->class2]))
act_info.c:                pager_printf( ch, "&Y%20.20s", skill_table[sn]->name );
act_info.c:            else if ( ch->pcdata->learned[sn] > 0)
act_info.c:                pager_printf( ch, "&R%20.20s", skill_table[sn]->name );
act_info.c:	    if ( ch->pcdata->learned[sn] > 0 )
act_info.c:            pager_printf( ch, " &W%3d%%&w ", ch->pcdata->learned[sn] );
act_info.c:	    ch->practice );
act_info.c:	for ( mob = ch->in_room->first_person; mob; mob = mob->next_in_room )
act_info.c:	    if ( IS_NPC(mob) && xIS_SET(mob->act, ACT_PRACTICE) )
act_info.c:	if ( ch->practice <= 0 )
act_info.c:        if( ch->level2 == -1 )
act_info.c:            && ( ( sn == -1 )
act_info.c:            && ch->level < skill_table[sn]->skill_level[ch->class]
act_info.c:            /* OUT FOR THIS PORT -SHADDAI
act_info.c:            &&  ch->level < skill_table[sn]->race_level[ch->race]
act_info.c:            && ( ( sn == -1 )
act_info.c:            && (ch->level < skill_table[sn]->skill_level[ch->class]
act_info.c:            &&  ch->level < skill_table[sn]->skill_level[ch->class2])
act_info.c:            /* OUT FOR THIS PORT -SHADDAI
act_info.c:             &&  ch->level < skill_table[sn]->race_level[ch->race]
act_info.c:	if ( is_name( skill_tname[skill_table[sn]->type], CANT_PRAC ) )
act_info.c:	if ( skill_table[sn]->teachers && skill_table[sn]->teachers[0] != '\0' )
act_info.c:	    sprintf( buf, "%d", mob->pIndexData->vnum );
act_info.c:	    if ( !is_name( buf, skill_table[sn]->teachers ) )
act_info.c: * Guild checks - right now, cant practice guild skills - done on 
act_info.c:	&&    skill_table[sn]->guild != CLASS_NONE)
act_info.c:	if ( !IS_NPC(ch) && skill_table[sn]->guild != CLASS_NONE 
act_info.c:	     && ch->pcdata->clan->class != skill_table[sn]->guild )
act_info.c:	if ( !IS_NPC(ch) && skill_table[sn]->guild != CLASS_NONE)
act_info.c:	if ( mob->level < skill_table[sn]->skill_level[ch->class]
act_info.c:	||   mob->level < skill_table[sn]->skill_level[mob->class] )
act_info.c:	adept = class_table[ch->class]->skill_adept * 0.2;
act_info.c:	if ( ch->pcdata->learned[sn] >= adept )
act_info.c:		skill_table[sn]->name );
act_info.c:	    ch->practice--;
act_info.c:	    ch->pcdata->learned[sn] += int_app[get_curr_int(ch)].learn;
act_info.c:		    ch, NULL, skill_table[sn]->name, TO_CHAR );
act_info.c:		    ch, NULL, skill_table[sn]->name, TO_ROOM );
act_info.c:	    if ( ch->pcdata->learned[sn] >= adept )
act_info.c:		ch->pcdata->learned[sn] = adept;
act_info.c:	wimpy = (int) ch->max_hit / 2.25;
act_info.c:	wimpy = (int) ch->max_hit / 1.2;
act_info.c:      wimpy = (int) ch->max_hit / 5;
act_info.c:    if ( IS_PKILL( ch ) && wimpy > (int) ch->max_hit / 2.25 )
act_info.c:    else if ( wimpy > (int) ch->max_hit / 1.2 )
act_info.c:    ch->wimpy	= wimpy;
act_info.c:    if ( strcmp( crypt( arg1, ch->pcdata->pwd ), ch->pcdata->pwd ) )
act_info.c:/* This should stop all the mistyped password problems --Shaddai */
act_info.c:    pwdnew = crypt( arg2, ch->name );
act_info.c:    DISPOSE( ch->pcdata->pwd );
act_info.c:    ch->pcdata->pwd = str_dup( pwdnew );
act_info.c:	for ( social = social_index[iHash]; social; social = social->next )
act_info.c:	    pager_printf( ch, "%-12s", social->name );
act_info.c:	    for ( command = command_hash[hash]; command; command = command->next )
act_info.c:		if ( command->level <  LEVEL_HERO
act_info.c:		&&   command->level <= get_trust( ch )
act_info.c:		&&  (command->name[0] != 'm'
act_info.c:		&&   command->name[1] != 'p') )
act_info.c:		    pager_printf( ch, "%-12s", command->name );
act_info.c:	    for ( command = command_hash[hash]; command; command = command->next )
act_info.c:		if ( command->level <  LEVEL_HERO
act_info.c:		&&   command->level <= get_trust( ch )
act_info.c:		&&  !str_prefix(argument, command->name)
act_info.c:		&&  (command->name[0] != 'm'
act_info.c:		&&   command->name[1] != 'p') )
act_info.c:		    pager_printf( ch, "%-12s", command->name );
act_info.c:        if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_SILENCE) )
act_info.c:	/* Channels everyone sees regardless of affiliation --Blodkai */
act_info.c:	ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_RACETALK )?
act_info.c:						" &g-racetalk" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_CHAT )    ?
act_info.c:						" &g-chat" );
act_info.c:          ch_printf_color( ch, "%s", !IS_SET( ch->deaf, CHANNEL_AUCTION ) ?
act_info.c:						" &g-auction" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_QUEST )   ?
act_info.c:						" &g-quest" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_WARTALK ) ?
act_info.c:						" &g-wartalk" );
act_info.c:          ch_printf_color( ch, "%s", !IS_SET( ch->deaf, CHANNEL_AVTALK )  ?
act_info.c:						" &g-avatar" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_MUSIC )   ?
act_info.c:						" &g-music" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_ASK )     ?
act_info.c:						" &g-ask" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_SHOUT )   ?
act_info.c:						" &g-shout" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_YELL )    ?
act_info.c:						" &g-yell" );
act_info.c:	ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_GRATZ )   ?
act_info.c:                                                " \n\r&g-gratz" );
act_info.c:        ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_TELLS )   ?
act_info.c:                                                "  &g-tells" );
act_info.c:        ch_printf_color( ch, "%s", !IS_SET( ch->deaf, CHANNEL_WHISPER )   ?
act_info.c:						" &g-whisper" );
act_info.c:        if ( !IS_NPC( ch ) && ch->pcdata->clan )
act_info.c:          if ( ch->pcdata->clan->clan_type == CLAN_ORDER )
act_info.c:	    send_to_char_color( !IS_SET( ch->deaf, CHANNEL_ORDER ) ?
act_info.c:		" &G+ORDER"	:	" &g-order", ch );
act_info.c:          else if ( ch->pcdata->clan->clan_type == CLAN_GUILD )
act_info.c:	    send_to_char_color( !IS_SET( ch->deaf, CHANNEL_GUILD ) ?
act_info.c:		" &G+GUILD"	:	" &g-guild", ch );
act_info.c:	    send_to_char_color( !IS_SET( ch->deaf, CHANNEL_CLAN )  ?
act_info.c:		" &G+CLAN"	:	" &g-clan", ch );
act_info.c:        if ( IS_IMMORTAL(ch) || ( ch->pcdata->council
act_info.c:	&&   !str_cmp( ch->pcdata->council->name, "Newbie Council" ) ) )
act_info.c:          ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_NEWBIE) ?
act_info.c:						" &g-newbie" );
act_info.c:        if ( IS_IMMORTAL(ch) || ( ch->pcdata->council2
act_info.c:	&&   !str_cmp( ch->pcdata->council2->name, "Newbie Council" ) ) )
act_info.c:            ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_NEWBIE2) ?
act_info.c:                             " &g-newbie2" );
act_info.c:        if ( !IS_NPC( ch ) && ch->pcdata->council)
act_info.c:          ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_COUNCIL)?
act_info.c:						" &g-council" );
act_info.c:        if ( !IS_NPC( ch ) && ch->pcdata->council2)
act_info.c:          ch_printf_color( ch, "%s",   !IS_SET( ch->deaf, CHANNEL_COUNCIL2)?
act_info.c:                                                " &g-council2" );   
act_info.c:            send_to_char_color( !IS_SET( ch->deaf, CHANNEL_IMMTALK )    ?
act_info.c:		" &G+IMMTALK"	:	" &g-immtalk", ch );
act_info.c:/*          send_to_char_color( !IS_SET( ch->deaf, CHANNEL_PRAY )       ?
act_info.c:		" &G+PRAY"	:	" &g-pray", ch ); */
act_info.c:              send_to_char_color( !IS_SET( ch->deaf, CHANNEL_HIGHGOD )  ?
act_info.c:		" &G+STAFF"	:	" &g-staff", ch );
act_info.c:            send_to_char_color( !IS_SET( ch->deaf, CHANNEL_MONITOR )    ?
act_info.c:		" &G+MONITOR"	:	" &g-monitor", ch );
act_info.c:	    send_to_char_color( !IS_SET( ch->deaf, CHANNEL_AUTH )	?
act_info.c:	       " &G+AUTH"	:	" &g-auth", ch );	
act_info.c:            send_to_char_color( !IS_SET( ch->deaf, CHANNEL_LOG ) 	?
act_info.c:		" &G+LOG"	:	" &g-log", ch);
act_info.c:            send_to_char_color( !IS_SET( ch->deaf, CHANNEL_BUILD)       ?
act_info.c:		" &G+BUILD"	:	" &g-build", ch );
act_info.c:            send_to_char_color( !IS_SET( ch->deaf, CHANNEL_COMM ) 	?
act_info.c:		" &G+COMM"	:	" &g-comm", ch );
act_info.c:            send_to_char_color( !IS_SET (ch->deaf, CHANNEL_WARN)
act_info.c:                        ? " &G+WARN" : " &g-warn", ch);
act_info.c:              send_to_char_color( !IS_SET( ch->deaf, CHANNEL_HIGH ) 	?
act_info.c:		" &G+HIGH"	:	" &g-high", ch );
act_info.c:	else if ( arg[0] == '-' ) fClear = FALSE;
act_info.c:	    send_to_char( "Channels -channel or +channel?\n\r", ch );
act_info.c:	    REMOVE_BIT (ch->deaf, CHANNEL_RACETALK);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_AUCTION);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_CHAT);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_QUEST);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_WARTALK);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_PRAY);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_MUSIC);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_ASK);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_SHOUT);
act_info.c:            REMOVE_BIT (ch->deaf, CHANNEL_YELL);
act_info.c:	    REMOVE_BIT (ch->deaf, CHANNEL_GRATZ);
act_info.c:       /*     if (ch->pcdata->clan)
act_info.c:              REMOVE_BIT (ch->deaf, CHANNEL_CLAN);
act_info.c:	    if (ch->pcdata->council)
act_info.c:	      REMOVE_BIT (ch->deaf, CHANNEL_COUNCIL);
act_info.c:            if (ch->pcdata->guild)
act_info.c:              REMOVE_BIT (ch->deaf, CHANNEL_GUILD);
act_info.c:            if (ch->level >= LEVEL_IMMORTAL)
act_info.c:              REMOVE_BIT (ch->deaf, CHANNEL_AVTALK);
act_info.c:	    if (ch->level >= sysdata.log_level )
act_info.c:	      REMOVE_BIT (ch->deaf, CHANNEL_COMM);
act_info.c:	    SET_BIT (ch->deaf, CHANNEL_RACETALK);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_AUCTION);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_CHAT);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_QUEST);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_PRAY);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_MUSIC);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_ASK);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_SHOUT);
act_info.c:	    SET_BIT (ch->deaf, CHANNEL_WARTALK);
act_info.c:            SET_BIT (ch->deaf, CHANNEL_YELL);
act_info.c:	    SET_BIT (ch->deaf, CHANNEL_GRATZ);
act_info.c:       /*     if (ch->pcdata->clan)
act_info.c:              SET_BIT (ch->deaf, CHANNEL_CLAN);
act_info.c:	    if (ch->pcdata->council)
act_info.c:	      SET_BIT (ch->deaf, CHANNEL_COUNCIL);
act_info.c:              SET_BIT (ch->deaf, CHANNEL_GUILD);
act_info.c:            if (ch->level >= LEVEL_IMMORTAL)
act_info.c:              SET_BIT (ch->deaf, CHANNEL_AVTALK);
act_info.c:	    if (ch->level >= sysdata.log_level)
act_info.c:	      SET_BIT (ch->deaf, CHANNEL_COMM);
act_info.c:	    REMOVE_BIT (ch->deaf, bit);
act_info.c:	    SET_BIT    (ch->deaf, bit);
act_info.c: * display WIZLIST file						-Thoric
act_info.c: * Display guestlist -- Kratas
act_info.c: * Display completely overhauled, 2/97 -- Blodkai
act_info.c:      send_to_char( "(use 'config +/- <keyword>' to toggle, see 'help config')\n\r\n\r", ch );
act_info.c:      ch_printf( ch, "%-12s   %-12s   %-12s   %-12s\n\r           %-12s   %-12s   %-12s   %-12s\n\r           %-12s   %-12s   %-12s",
act_info.c:        IS_SET( ch->pcdata->flags, PCFLAG_PAGERON ) 	? "[+] PAGER"
act_info.c:                                                    	: "[-] pager",
act_info.c:        IS_SET( ch->pcdata->flags, PCFLAG_GAG )     	? "[+] GAG"
act_info.c:                                                    	: "[-] gag",
act_info.c:        xIS_SET(ch->act, PLR_BRIEF )                	? "[+] BRIEF"
act_info.c:                                                    	: "[-] brief",
act_info.c:        xIS_SET(ch->act, PLR_COMBINE )              	? "[+] COMBINE"
act_info.c:                                                    	: "[-] combine",
act_info.c:        xIS_SET(ch->act, PLR_BLANK )                	? "[+] BLANK"
act_info.c:                                                    	: "[-] blank",
act_info.c:        xIS_SET(ch->act, PLR_PROMPT )               	? "[+] PROMPT"
act_info.c:                                                    	: "[-] prompt",
act_info.c:        xIS_SET(ch->act, PLR_ANSI )                 	? "[+] ANSI"
act_info.c:                                                    	: "[-] ansi",
act_info.c:        xIS_SET(ch->act, PLR_RIP )                  	? "[+] RIP"
act_info.c:                                                    	: "[-] rip",
act_info.c:	xIS_SET(ch->act, PLR_NOMENU )			? "[+] NOMENU"
act_info.c:      							: "[-] nomenu",
act_info.c:	IS_SET( ch->pcdata->flags, PCFLAG_NOBEEP )      ? "[+] NOBEEP"
act_info.c:							: "[-] nobeep",
act_info.c:	IS_SET( ch->pcdata->flags, PCFLAG_ANONYMOUS)    ? "[+] ANONYMOUS"
act_info.c:							: "[-] anonymous" );
act_info.c:      ch_printf( ch, "%-12s   %-12s   %-12s   %-12s",
act_info.c:        xIS_SET(ch->act, PLR_AUTOSAC  )             	? "[+] AUTOSAC"
act_info.c:                                                    	: "[-] autosac",
act_info.c:        xIS_SET(ch->act, PLR_AUTOGOLD )             	? "[+] AUTOGOLD"
act_info.c:                                                    	: "[-] autogold",
act_info.c:        xIS_SET(ch->act, PLR_AUTOLOOT )             	? "[+] AUTOLOOT"
act_info.c:                                                    	: "[-] autoloot",
act_info.c:        xIS_SET(ch->act, PLR_AUTOEXIT )             	? "[+] AUTOEXIT"
act_info.c:                                                    	: "[-] autoexit" );
act_info.c:      ch_printf( ch, "%-12s   %-12s   %-12s\n\r        ",
act_info.c:        IS_SET( ch->pcdata->flags, PCFLAG_NORECALL ) 	? "[+] NORECALL"
act_info.c:                                                     	: "[-] norecall",
act_info.c:        IS_SET( ch->pcdata->flags, PCFLAG_NOSUMMON ) 	? "[+] NOSUMMON"
act_info.c:                                                     	: "[-] nosummon",
act_info.c:        IS_SET( ch->pcdata->flags, PCFLAG_IMMPROOF ) 	? "[+] IMMPROOF"
act_info.c:                                                    	: "[-] immproof" );
act_info.c:        ch_printf( ch, "   %-12s   %-12s",
act_info.c:           xIS_SET(ch->act, PLR_SHOVEDRAG )             ? "[+] DRAG"
act_info.c:                                                        : "[-] drag",
act_info.c:           xIS_SET(ch->act, PLR_NICE )               	? "[+] NICE"
act_info.c:                                                     	: "[-] nice" );
act_info.c:      ch_printf( ch, "%-12s   %-12s   %-12s",
act_info.c:	   xIS_SET(ch->act, PLR_TELNET_GA )		? "[+] TELNETGA"
act_info.c:                                                        : "[-] telnetga",
act_info.c:           IS_SET( ch->pcdata->flags, PCFLAG_GROUPWHO ) ? "[+] GROUPWHO"
act_info.c:                                                        : "[-] groupwho",
act_info.c:           IS_SET( ch->pcdata->flags, PCFLAG_NOINTRO )  ? "[+] NOINTRO"
act_info.c:                                                        : "[-] nointro" );
act_info.c:							ch->pcdata->pagerlen,
act_info.c:						        ch->wimpy );
act_info.c:	  xIS_SET(ch->act, PLR_ROOMVNUM ) 		? "+"
act_info.c:          xIS_SET(ch->act, PLR_AUTOMAP  ) 		? "+"
act_info.c:	ch_printf( ch, "%-12s   %-12s   %-12s\n\r        ",
act_info.c:	xIS_SET( ch->act, PLR_ROOMVNUM )		? "[+] VNUM"
act_info.c:							: "[-] vnum",
act_info.c:	xIS_SET( ch->act, PLR_AUTOMAP )			? "[+] MAP"
act_info.c:							: "[-] map",
act_info.c:        /*IS_SET( ch->pcdata->flags, PCFLAG_IMMPROOF ) 	? "[+] IMMPROOF"
act_info.c:							: "[-] immproof" );*/
act_info.c:          xIS_SET(ch->act, PLR_SILENCE )  ?
act_info.c:          xIS_SET(ch->act, PLR_NO_EMOTE ) ?
act_info.c:          xIS_SET(ch->act, PLR_NO_TELL )  ?
act_info.c:          xIS_SET(ch->act, PLR_LITTERBUG )?
act_info.c:          xIS_SET(ch->act, PLR_THIEF )    ?
act_info.c:          xIS_SET(ch->act, PLR_KILLER )   ?
act_info.c:	else if ( arg[0] == '-' ) fSet = FALSE;
act_info.c:	    send_to_char( "Config -option or +option?\n\r", ch );
act_info.c:	    xSET_BIT   (ch->act, bit);
act_info.c:	    xREMOVE_BIT(ch->act, bit);
act_info.c:	    SET_BIT    (ch->pcdata->flags, bit);
act_info.c:	    REMOVE_BIT (ch->pcdata->flags, bit);
act_info.c:        imm->name	= str_dup( newname );
act_info.c:        imm->name = str_dup( name );
act_info.c:        imm->email = str_dup( email );
act_info.c:        imm->email = str_dup( "None" );
act_info.c:    imm->level	= level;
act_info.c:        imm->last	= NULL;
act_info.c:        imm->next	= NULL;
act_info.c:    for ( tmp = first_imm; tmp; tmp = tmp->next )
act_info.c:        if ( (level > tmp->level) )
act_info.c:            if ( !tmp->last )
act_info.c:                tmp->last->next = imm;
act_info.c:            imm->last = tmp->last;
act_info.c:            imm->next = tmp;
act_info.c:            tmp->last = imm;
act_info.c:    imm->last		= last_imm;
act_info.c:    imm->next		= NULL;
act_info.c:    last_imm->next	= imm;
act_info.c:                    ilevel = MAX_LEVEL - 16;
act_info.c:                    ilevel = MAX_LEVEL - 17;
act_info.c:        if( dentry->d_name[0] == '.' )
act_info.c:	s = strstr( dentry->d_name, "immlist" );
act_info.c:	sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
act_info.c:    sprintf( buf, "&c,-&w[ Rank / Level / Name ]&c----------------------&w[ Email ]"
act_info.c:                  "&c---------------------." );
act_info.c:    for ( imm = first_imm; imm; imm = imm->next )
act_info.c:        if ( imm->level < ilevel )
act_info.c:            ilevel = imm->level;
act_info.c:             be wanted later -- Kratas */
act_info.c:            case MAX_LEVEL -  0: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &ROmnipotent / Owner&W" );                 break;
act_info.c:            case MAX_LEVEL -  1: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &RSupreme Entity / Head Implementors&W" ); break;
act_info.c:            case MAX_LEVEL -  2: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &RInfinite / Implementors&W" );            break;
act_info.c:            case MAX_LEVEL -  3: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &REternal / Assistant Implementors&W" );   break;
act_info.c:            case MAX_LEVEL -  4: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &RAncient / Administrators&W" );           break;
act_info.c:            case MAX_LEVEL -  5: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cExalted / Coders&W" );                   break;
act_info.c:            case MAX_LEVEL -  6: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cAscendant / Representatives&W" );        break;
act_info.c:            case MAX_LEVEL -  7: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cMaster Gods / Master Builders&W" );      break;
act_info.c:            case MAX_LEVEL -  8: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cGreater Gods / Greater Builders&W" );    break;
act_info.c:            case MAX_LEVEL -  9: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cGods / Builders&W" );                    break;
act_info.c:            case MAX_LEVEL - 10: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cLesser Gods / Lesser Builders&W" );      break;
act_info.c:            case MAX_LEVEL - 11: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cNew Gods / New Builders&W" );            break;
act_info.c:            case MAX_LEVEL - 12: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &cSaviors / General Staff&W" );            break;
act_info.c:            case MAX_LEVEL - 13: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BCreators / Immortal Family&W" );         break;
act_info.c:            case MAX_LEVEL - 14: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BAcolytes / Inter-MUD Guest&W" );         break;
act_info.c:            case MAX_LEVEL - 15: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BNeophytes / Ambassador&W" );             break;
act_info.c:            case MAX_LEVEL - 16: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BRetired&W" );                            break;
act_info.c:            case MAX_LEVEL - 17: sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BGuests&W" );                             break;
act_info.c:            default:	         sprintf( buf+strlen(buf), "&c:%-80s&c:", " &BServants&W" );                           break;
act_info.c:        sprintf( buf, "&c: &W[Level %3d]  &Y%-25s %-35s &c:", ilevel,
act_info.c:                 imm->name, imm->email );
act_info.c:    sprintf( buf+strlen( buf ), "`----------------------------------------------------------------------------'" );
act_info.c:        immnext = imm->next;
act_info.c:        DISPOSE(imm->name);
act_info.c:        if( dentry->d_name[0] == '.' )
act_info.c:        s = strstr( dentry->d_name, "immlist" );
act_info.c:        sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
act_info.c:    sprintf( buf, "<BR>&c,-&w[ Rank / Level / Name ]&c------------------&w[ Email ]"
act_info.c:                  "&c-----------------." );
act_info.c:    for ( imm = first_imm; imm; imm = imm->next )
act_info.c:        if ( imm->level < ilevel )
act_info.c:            ilevel = imm->level;
act_info.c:             be wanted later -- Kratas */
act_info.c:            case MAX_LEVEL -  0: sprintf( buf+strlen(buf), "<P>%-75s", " &ROmnipotent / Owner&W" );                 break;
act_info.c:            case MAX_LEVEL -  1: sprintf( buf+strlen(buf), "<P>%-75s", " &RSupreme Entity / Head Implementors&W" ); break;
act_info.c:            case MAX_LEVEL -  2: sprintf( buf+strlen(buf), "<P>%-75s", " &RInfinite / Implementors&W" );            break;
act_info.c:            case MAX_LEVEL -  3: sprintf( buf+strlen(buf), "<P>%-75s", " &REternal / Assistant Implementors&W" );   break;
act_info.c:            case MAX_LEVEL -  4: sprintf( buf+strlen(buf), "<P>%-75s", " &RAncient / Administrators&W" );           break;
act_info.c:            case MAX_LEVEL -  5: sprintf( buf+strlen(buf), "<P>%-75s", " &cExalted / Coders&W" );                   break;
act_info.c:            case MAX_LEVEL -  6: sprintf( buf+strlen(buf), "<P>%-75s", " &cAscendant / Representatives&W" );        break;
act_info.c:            case MAX_LEVEL -  7: sprintf( buf+strlen(buf), "<P>%-75s", " &cMaster Gods / Master Builders&W" );      break;
act_info.c:            case MAX_LEVEL -  8: sprintf( buf+strlen(buf), "<P>%-75s", " &cGreater Gods / Greater Builders&W" );    break;
act_info.c:            case MAX_LEVEL -  9: sprintf( buf+strlen(buf), "<P>%-75s", " &cGods / Builders&W" );                    break;
act_info.c:            case MAX_LEVEL - 10: sprintf( buf+strlen(buf), "<P>%-75s", " &cLesser Gods / Lesser Builders&W" );      break;
act_info.c:            case MAX_LEVEL - 11: sprintf( buf+strlen(buf), "<P>%-75s", " &cNew Gods / New Builders&W" );            break;
act_info.c:            case MAX_LEVEL - 12: sprintf( buf+strlen(buf), "<P>%-75s", " &cSaviors / General Staff&W" );            break;
act_info.c:            case MAX_LEVEL - 13: sprintf( buf+strlen(buf), "<P>%-75s", " &BCreators / Immortal Family&W" );         break;
act_info.c:            case MAX_LEVEL - 14: sprintf( buf+strlen(buf), "<P>%-75s", " &BAcolytes / Inter-MUD Guest&W" );         break;
act_info.c:            case MAX_LEVEL - 15: sprintf( buf+strlen(buf), "<P>%-75s", " &BNeophytes / Ambassador&W" );             break;
act_info.c:            case MAX_LEVEL - 16: sprintf( buf+strlen(buf), "<P>%-75s", " &BRetired&W" ); break;
act_info.c:            case MAX_LEVEL - 17: sprintf( buf+strlen(buf), "<P>%-75s", " &BGuests&W" ); break;
act_info.c:            default:	         sprintf( buf+strlen(buf), "<P>%-75s", " &BServants&W" ); break;
act_info.c:        sprintf( buf, "<P>&W[Level %3d] &&nbsp; &&nbsp; &Y%-25s &&nbsp; &&nbsp; %-35s<br>", ilevel,
act_info.c:                 imm->name, imm->email );
act_info.c:    sprintf( buf+strlen( buf ), "<P>`----------------------------------------------------------------------------'" );
act_info.c:        immnext = imm->next;
act_info.c:        DISPOSE(imm->name);
act_info.c:	pArea2 = pArea2->next;
act_info.c:	ch_printf( ch, "%-39s%-39s\n\r",
act_info.c:	    pArea1->name, pArea2 ? pArea2->name : "" );
act_info.c:	pArea1 = pArea1->next;
act_info.c:	    pArea2 = pArea2->next;
act_info.c:    send_to_pager("-------------+--------------------------------------+-------------+-----------\n\r", ch);
act_info.c:    for ( pArea = first_area; pArea; pArea = pArea->next )
act_info.c:	ch_printf(ch, "%-12s | %-36s | %4d - %-4d | %3d - %-3d \n\r", 
act_info.c:	 	pArea->author, pArea->name, pArea->low_soft_range, 
act_info.c:		pArea->hi_soft_range, pArea->low_hard_range, 
act_info.c:		pArea->hi_hard_range);
act_info.c: * New do_areas, written by Fireblade, last modified - 4/27/97
act_info.c: *   Syntax: area            ->      lists areas in alphanumeric order
act_info.c: *           area <a>        ->      lists areas with soft max less than
act_info.c: *           area <a> <b>    ->      lists areas with soft max bewteen
act_info.c: *           area old        ->      list areas in order loaded
act_info.c:    char *header_string2 = "-------------+-----------------"
act_info.c:                                    "---------------------+----"
act_info.c:                                    "---------+-----------\n\r";
act_info.c:    char *print_string = "&c%-12s&w | &C%-36s&w | &Y%4d - %-4d&w | &R%3d - "
act_info.c:                                    "%-3d&w \n\r";
act_info.c:          for (pArea = first_area; pArea;pArea = pArea->next)
act_info.c:              pArea->author, pArea->name,
act_info.c:              pArea->low_soft_range,
act_info.c:              pArea->hi_soft_range,
act_info.c:              pArea->low_hard_range,
act_info.c:              pArea->hi_hard_range);
act_info.c:    for (pArea = first_area_name; pArea; pArea = pArea->next_sort_name)
act_info.c:      if (pArea->hi_soft_range >= lower_bound
act_info.c:      &&  pArea->low_soft_range <= upper_bound)
act_info.c:          pArea->author, pArea->name,
act_info.c:          pArea->low_soft_range,
act_info.c:          pArea->hi_soft_range,
act_info.c:          pArea->low_hard_range,
act_info.c:          pArea->hi_hard_range);
act_info.c:    if xIS_SET(ch->act, PLR_AFK)
act_info.c:        xREMOVE_BIT(ch->act, PLR_AFK);
act_info.c:        if( ch->pcdata->afkmsg )
act_info.c:            STRFREE( ch->pcdata->afkmsg );
act_info.c:            ch->pcdata->afkmsg = NULL;
act_info.c:        xSET_BIT(ch->act, PLR_AFK);
act_info.c:            ch->pcdata->afkmsg = STRALLOC( buf );
act_info.c:*          Created by Desden, el Chaman Tibetano - Jun 1999                *
act_info.c:if (ch->class==CLASS_WARRIOR)
act_info.c: send_to_pager("                        -----------------------\n\r", ch);
act_info.c:          if(ch->pcdata->learned[sn] < 1 ||
act_info.c:           !skill->name || !skill->min_mana )
act_info.c:      if(ch->level>=skill->skill_level[ch->class]  )
act_info.c:            if(ch->pcdata->condition[COND_BLOODTHIRST] >= BLOOD)
act_info.c:        	pager_printf_color(ch, "&Y%-12.12s:%4d   ",
act_info.c:                  skill->name, BLOOD);
act_info.c:	     pager_printf_color(ch, "&R%-12.12s:%4d   ",
act_info.c:                skill->name, BLOOD);
act_info.c:          if(ch->mana >= MANA)
act_info.c:        	pager_printf_color(ch, "&Y%-12.12s:%4d   ",
act_info.c:                  skill->name, MANA );
act_info.c:	     pager_printf_color(ch, "&R%-12.12s:%4d   ",
act_info.c:                skill->name, MANA );
act_info.c:     if(!skill->min_mana)
act_info.c:      ch_printf(ch, "%s, '%s' doesn't use %s points.\n\r", ch->name, skill->name, IS_VAMPIRE(ch)?"blood":"mana");
act_info.c: if(ch->pcdata->learned[sn] < 1)
act_info.c:         if (  ch->level < skill->skill_level[ch->class]  )
act_info.c:  pager_printf(ch,"You need %d %s points to cast '%s' with success.\n\r",IS_VAMPIRE(ch)?BLOOD:MANA,IS_VAMPIRE(ch)?"blood":"mana", skill->name);
act_info.c:            if ( !str_cmp(class_table[clnum]->who_name, arg1) )
act_info.c:        sprintf( buf, "&c%s&w\n\r", class_table[clnum]->who_name );
act_info.c:                if ( !skill_table[sn]->name )
act_info.c:                if ( skill_table[sn]->type != lasttype )
act_info.c:                    lasttype = skill_table[sn]->type;
act_info.c:                if ( ch->pcdata->learned[sn] <= 0
act_info.c:                switch (skill_table[sn]->minimum_position)
act_info.c:                    sprintf(buf, "&Rfighting &c(&Wevasive&c)&w"); /* Fighting style support -haus */
act_info.c:                if( i == skill_table[sn]->skill_level[clnum] )
act_info.c:                        pager_printf( ch, "&c-----[ &WLevel %d &c]-----&w\n\r", i );
act_info.c:                    pager_printf(ch, "&c%7s&w: %20.20s \t &cCurrent&w: %-3d &cMax&w: %-3d  &cMinPos&w: %s \n\r",
act_info.c:                                 skn, skill_table[sn]->name,
act_info.c:                                 ch->pcdata->learned[sn],
act_info.c:                                 skill_table[sn]->skill_adept[clnum],
act_info.c:    send_to_pager("&c------------------------\n\r\n\r",ch);
act_info.c:            if ( !skill_table[sn]->name )
act_info.c:            if ( skill_table[sn]->type != lasttype )
act_info.c:		lasttype = skill_table[sn]->type;
act_info.c:	    if ( ch->pcdata->learned[sn] <= 0
act_info.c:            switch (skill_table[sn]->minimum_position)
act_info.c:                sprintf(buf, "&Rfighting &c(&Wevasive&c)&w"); /* Fighting style support -haus */
act_info.c:            if( i == skill_table[sn]->skill_level[ch->class] )
act_info.c:                    pager_printf( ch, "&c-----[ &WLevel %d &c]-----&w\n\r", i );
act_info.c:		pager_printf(ch, "&c%7s&w: %20.20s \t &cCurrent&w: %-3d &cMax&w: %-3d  &cMinPos&w: %s \n\r",
act_info.c:                        skn, skill_table[sn]->name, 
act_info.c:                        ch->pcdata->learned[sn],
act_info.c:                        skill_table[sn]->skill_adept[ch->class],
act_info.c:            if( ch->level2 != -1 )
act_info.c:                if( i == skill_table[sn]->skill_level[ch->class2] && !gotFirst && i < ch->level2 )
act_info.c:                        pager_printf( ch, "&c-----[ &WLevel %d &c]-----&w\n\r", i );
act_info.c:                    pager_printf(ch, "&c%7s&w: %20.20s \t &cCurrent&w: %-3d &cMax&w: %-3d  &cMinPos&w: %s \n\r",
act_info.c:                                 skn, skill_table[sn]->name,
act_info.c:                                 ch->pcdata->learned[sn],
act_info.c:                                 skill_table[sn]->skill_adept[ch->class2],
act_info.c:    sprintf( buf, " and a %d %s", victim->level2, npc_class[victim->class2] );
act_info.c:    if( (IS_SET( victim->pcdata->flags, PCFLAG_ANONYMOUS)
act_info.c:    &&  !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ))
act_info.c:    ||  !IS_SET( victim->pcdata->flags, PCFLAG_ANONYMOUS ))
act_info.c:                     victim->pcdata->extraname ? victim->pcdata->extraname : "",
act_info.c:                     victim->name,
act_info.c:                     victim->pcdata->lastname ? victim->pcdata->lastname : "",
act_info.c:                     victim->sex == SEX_MALE ? "&CHe&W" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pShe&W" : "&GIt&W",
act_info.c:                     victim->sex == SEX_MALE ? "&Cmale&W" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pfemale&W" : "&Gneutral&W",
act_info.c:                     capitalize(npc_race[victim->race]),
act_info.c:                     victim->level,
act_info.c:                     npc_class[victim->class],
act_info.c:                     (victim->level2 != -1) ? buf : "",
act_info.c:                      victim->name,
act_info.c:                      victim->pcdata->title ? victim->pcdata->title : "",
act_info.c:                      victim->sex == SEX_MALE ? "&CHe&W" :
act_info.c:                      victim->sex == SEX_FEMALE ? "&pShe&W" : "&GIt&W",
act_info.c:                      capitalize(npc_race[victim->race]),
act_info.c:            victim->sex == 0 ? "It" :
act_info.c:            victim->sex == 1 ? "He" : "She",
act_info.c:            victim->pcdata->ch_height, victim->pcdata->ch_build, victim->pcdata->hair_length,
act_info.c:            victim->pcdata->hair_color, victim->pcdata->eye_color, victim->pcdata->skin_tone );
act_info.c:    if ( victim->pcdata->clan )
act_info.c:        CLAN_DATA *pclan = victim->pcdata->clan;
act_info.c:        if ( pclan->clan_type == CLAN_ORDER )
act_info.c:            if ( !str_cmp( victim->name, pclan->deity ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:        else if ( pclan->clan_type == CLAN_GUILD )
act_info.c:            if ( !str_cmp( victim->name, pclan->deity ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:            if ( !str_cmp( victim->name, pclan->deity ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->leader ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number1 ) )
act_info.c:            else if ( !str_cmp( victim->name, pclan->number2 ) )
act_info.c:        send_to_pager( victim->pcdata->clan->name, ch );
act_info.c:    if(victim->pcdata->council)
act_info.c:                     victim->sex == SEX_MALE ? "&CHe&B" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pShe&B" : "&GIt&B",
act_info.c:                     victim->pcdata->council->name );
act_info.c:    if(victim->pcdata->council2)
act_info.c:                     victim->sex == SEX_MALE ? "&CHe&B" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pShe&B" : "&GIt&B",
act_info.c:                     victim->pcdata->council2->name );
act_info.c:    if(victim->pcdata->deity)
act_info.c:                     victim->sex == SEX_MALE ? "&CHe&Y" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pShe&Y" : "&GIt&Y",
act_info.c:                     victim->pcdata->deity->name);
act_info.c:    if(victim->pcdata->homepage && victim->pcdata->homepage[0] != '\0')
act_info.c:                     victim->sex == SEX_MALE ? "&CHis&O" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pHer&O" : "&GIts&O",
act_info.c:                     show_tilde( victim->pcdata->homepage ) );
act_info.c:    if(victim->pcdata->email && victim->pcdata->email[0] != '\0')
act_info.c:                     victim->sex == SEX_MALE ? "&CHis&O" :
act_info.c:                     victim->sex == SEX_FEMALE ? "&pHer&O" : "&GIts&O",
act_info.c:                     show_tilde( victim->pcdata->email ) );
act_info.c:    if (xIS_SET(victim->act, PLR_MARRIED))
act_info.c:        if( !victim->pcdata->wedto )
act_info.c:                 victim->name, __LINE__, __FILE__ );
act_info.c:            xREMOVE_BIT( victim->act, PLR_MARRIED );
act_info.c:                         victim->sex == SEX_MALE   ? "&CHe&g"  :
act_info.c:                         victim->sex == SEX_FEMALE ? "&pShe&g" : "&GIt&g",
act_info.c:                         victim->pcdata->wedto );
act_info.c:                      victim->sex == SEX_MALE   ? "&CHe&g"  :
act_info.c:                      victim->sex == SEX_FEMALE ? "&pShe&g" : "&GIt&g" );
act_info.c:/* Limited bounty info for morts - Garinan */
act_info.c:    if(victim->bounty > 0)
act_info.c:        pager_printf(ch, "&Y %s has a bounty on %s head!\n\r", victim->name, 
act_info.c:                     victim->sex == SEX_MALE   ? "his" :
act_info.c:                     victim->sex == SEX_FEMALE ? "her" : "its" );
act_info.c:    if(victim->belig != 1 && victim->belig != 0)
act_info.c:            pager_printf(ch, "&p%s has an invalid belig value: %d (Correcting)", victim->name, victim->belig );
act_info.c:        victim->belig = 0;
act_info.c:    if(victim->belig == 1 && !victim->bounty > 0 && !IS_IMMORTAL(victim))
act_info.c:        pager_printf(ch, "&Y %s is eligible have a bounty on %s head!\n\r", victim->name,
act_info.c:                     victim->sex == SEX_MALE   ? "his" :
act_info.c:                     victim->sex == SEX_FEMALE ? "her" : "its" );
act_info.c:/* End of bounty info - Garinan */
act_info.c:    if(victim->pcdata->bio && victim->pcdata->bio[0] != '\0')
act_info.c:        pager_printf(ch, "\n\r&c-----[ &W%s's personal bio &c]-----&w\n\r%s",
act_info.c:                     victim->name,
act_info.c:                     victim->pcdata->bio);
act_info.c:                     victim->name );
act_info.c:        send_to_pager("\n\r&c-----[ &WInfo for immortals &c]-----\n\r", ch);
act_info.c:/* Bounty Info for immortals  - Garinan */
act_info.c:        if (victim->bounty > 0)
act_info.c:            pager_printf(ch, "&Y%s's bounty is worth %d.\n\r", victim->name, victim->bounty );
act_info.c:        if (victim->first_abit)
act_info.c:            for (bit = victim->first_abit; bit; bit = bit->next)
act_info.c:                if (strlen(bit->desc) > 3)
act_info.c:                    pager_printf(ch, "%s\r\n", bit->desc);
act_info.c:        if (victim->pcdata->first_qbit)
act_info.c:            for (bit = victim->pcdata->first_qbit; bit; bit = bit->next)
act_info.c:                if (strlen(bit->desc) > 3)
act_info.c:                    pager_printf(ch, "%s\r\n", bit->desc);
act_info.c:        if ( victim->pcdata->authed_by && victim->pcdata->authed_by[0] != '\0' )
act_info.c:                         victim->name, victim->pcdata->authed_by );
act_info.c:                     victim->name, victim->pcdata->mkills, victim->pcdata->mdeaths );
act_info.c:        if ( victim->pcdata->pkills || victim->pcdata->pdeaths )
act_info.c:                         victim->name, victim->pcdata->pkills, victim->pcdata->pdeaths );
act_info.c:        if ( victim->pcdata->illegal_pk )
act_info.c:                         victim->name, victim->pcdata->illegal_pk );
act_info.c:                     victim->name,
act_info.c:                     (victim->pcdata->release_date == 0) ? "&Gnot&O " : "");
act_info.c:        if (victim->pcdata->nuisance )
act_info.c:            pager_printf_color( ch, "&RNuisance   &cStage: (&R%d&c/%d)  Power:  &w%d  &cTime:  &w%s.\n\r", victim->pcdata->nuisance->flags,
act_info.c:                                MAX_NUISANCE_STAGE, victim->pcdata->nuisance->power,
act_info.c:                                ctime(&victim->pcdata->nuisance->time));
act_info.c:        if(victim->pcdata->release_date != 0)
act_info.c:                         victim->sex == SEX_MALE ? "&CHe&O" :
act_info.c:                         victim->sex == SEX_FEMALE ? "&pShe&O" : "&GIt&O",
act_info.c:                         victim->pcdata->helled_by,
act_info.c:                         ctime(&victim->pcdata->release_date));
act_info.c:        if(xIS_SET(victim->act, PLR_SILENCE) || xIS_SET(victim->act, PLR_NO_EMOTE)
act_info.c:           || xIS_SET(victim->act, PLR_NO_TELL) || xIS_SET(victim->act, PLR_THIEF)
act_info.c:           || xIS_SET(victim->act, PLR_KILLER) )
act_info.c:            if(xIS_SET(victim->act, PLR_SILENCE))
act_info.c:            if(xIS_SET(victim->act, PLR_NO_EMOTE))
act_info.c:            if(xIS_SET(victim->act, PLR_NO_TELL) )
act_info.c:            if(xIS_SET(victim->act, PLR_THIEF) )
act_info.c:            if(xIS_SET(victim->act, PLR_KILLER) )
act_info.c:        if ( victim->desc && victim->desc->host[0]!='\0' )   /* added by Gorog */
act_info.c:            sprintf (buf2, "&C%s's IP info: %s ", victim->name, victim->desc->host);
act_info.c:                strcat (buf2, victim->desc->user);
act_info.c:    if ( IS_SET(ch->pcdata->flags, PCFLAG_PAGERON) )
act_info.c:        do_config(ch, "-pager");
act_info.c:        ch_printf( ch, "Pager is now enabled at %d lines.\n\r", ch->pcdata->pagerlen );
act_info.c:  ch->pcdata->pagerlen = atoi(arg);
act_info.c:  if ( ch->pcdata->pagerlen < 5 )
act_info.c:    ch->pcdata->pagerlen = 5;
act_info.c:  ch_printf( ch, "Page pausing set to %d lines.\n\r", ch->pcdata->pagerlen );
act_info.c: *	ignore		-	lists players currently ignored
act_info.c: *	ignore none	-	sets it so no players are ignored
act_info.c: *	ignore <player>	-	start ignoring player if not already
act_info.c: *	ignore reply	-	start ignoring last player to send a
act_info.c: * - Fireblade
act_info.c:		ch_printf(ch, "\n\r----------------------------------------\n\r");
act_info.c:		ch_printf(ch, "----------------------------------------\n\r");
act_info.c:		if(!ch->pcdata->first_ignored)
act_info.c:		for(temp = ch->pcdata->first_ignored; temp;
act_info.c:				temp = temp->next)
act_info.c:			ch_printf(ch,"\t  - %s\n\r",temp->name);
act_info.c:		for(temp = ch->pcdata->first_ignored; temp; temp = next)
act_info.c:			next = temp->next;
act_info.c:			UNLINK(temp, ch->pcdata->first_ignored,
act_info.c:					ch->pcdata->last_ignored,
act_info.c:			STRFREE(temp->name);
act_info.c:	else if(!strcmp(arg, "self") || nifty_is_name(arg, ch->name))
act_info.c:			if(!ch->reply)
act_info.c:				strcpy(arg, ch->reply->name);
act_info.c:		for(temp = ch->pcdata->first_ignored, i = 0; temp;
act_info.c:				temp = temp->next, i++)
act_info.c:			if(!strcmp(temp->name, capitalize(arg)))
act_info.c:				UNLINK(temp, ch->pcdata->first_ignored,
act_info.c:					ch->pcdata->last_ignored,
act_info.c:					temp->name);
act_info.c:				STRFREE(temp->name);
act_info.c:		/* is valid. This if-statement may seem like overkill */
act_info.c:		if( stat(fname, &fst) == -1 &&
act_info.c:			strcmp(capitalize(arg),victim->name) != 0))
act_info.c:			strcpy(capitalize(arg),victim->name);
act_info.c:			new->name = STRALLOC(capitalize(arg));
act_info.c:			new->next = NULL;
act_info.c:			new->prev = NULL;
act_info.c:			LINK(new, ch->pcdata->first_ignored,
act_info.c:				ch->pcdata->last_ignored, next, prev);
act_info.c:			ch_printf(ch,"You now ignore %s.\n\r", new->name);
act_info.c: * - Fireblade
act_info.c:	for(temp = ch->pcdata->first_ignored; temp; temp = temp->next)
act_info.c:		if(nifty_is_name(temp->name, ign_ch->name))
act_info.c:                          "--------------\n\r", ch );
act_info.c:            for( d = first_descriptor ; d ; d = d->next )
act_info.c:                if( (victim = d->character) != NULL && IS_NEEDHELP( victim ) )
act_info.c:                    ch_printf_color( ch, "&c%-10s &W(&c %s &W)&w\n\r",
act_info.c:                                     victim->name, victim->pcdata->help_message );
act_info.c:            for( d = first_descriptor ; d ; d = d->next )
act_info.c:                if( (victim = d->character) != NULL
act_info.c:                    && !str_cmp( victim->name, arg ) ) /* We want it to be exact */
act_info.c:                    xREMOVE_BIT( victim->act, PLR_NEEDHELP );
act_info.c:                               victim->name );
act_info.c:                    if( victim->pcdata->help_message )
act_info.c:                        DISPOSE( victim->pcdata->help_message );
act_info.c:        xSET_BIT( ch->act, PLR_NEEDHELP );
act_info.c:        sprintf( buf, "%s is requesting help: %s", ch->name, argument );
act_info.c:        ch->pcdata->help_message = str_dup( argument );
act_info.c:        ch->pcdata->killed[track].vnum; track++)
act_info.c:        tmob = get_mob_index(ch->pcdata->killed[track].vnum);
act_info.c:        ch_printf(ch, "   %-25s", capitalize(tmob->short_descr));
act_info.c:        ch_printf(ch, "    - killed %d times.\n\r",
act_info.c:                  ch->pcdata->killed[track].count);
act_info.c:	    for ( command = command_hash[hash]; command; command = command->next )
act_info.c:                if ((command->level <  LEVEL_AVATAR
act_info.c:                &&   command->level >= LEVEL_PCAVATAR )
act_info.c:                &&   command->level <= get_trust( ch )
act_info.c:		&&  (command->name[0] != 'm'
act_info.c:		&&   command->name[1] != 'p') )
act_info.c:		    pager_printf( ch, "%-12s", command->name );
act_info.c:	    for ( command = command_hash[hash]; command; command = command->next )
act_info.c:		if ((command->level < LEVEL_AVATAR
act_info.c:                &&   command->level > LEVEL_PCAVATAR )
act_info.c:                &&   command->level <= get_trust( ch )
act_info.c:		&&  !str_prefix(argument, command->name)
act_info.c:		&&  (command->name[0] != 'm'
act_info.c:		&&   command->name[1] != 'p') )
act_info.c:		    pager_printf( ch, "%-12s", command->name );
act_move.c: * -----------------------------------------------------------|   (0...0)   *
act_move.c: * -----------------------------------------------------------|    {o o}    *
act_move.c: * ------------------------------------------------------------------------ *
act_move.c: * ------------------------------------------------------------------------ *
act_move.c:	    if ( ln>0 && line[ln-1] == '.' ) 
act_move.c:    int sector = room->sector_type;
act_move.c:    if ( room->name )
act_move.c:      STRFREE( room->name );
act_move.c:    if ( room->description )
act_move.c:      STRFREE( room->description );
act_move.c:    room->name	  = STRALLOC( "In a virtual room" );
act_move.c:    room->description = STRALLOC( "You're on a pathway.\n\r" );
act_move.c:    	     * wrong with it. --Shaddai
act_move.c:    room->name	= STRALLOC( sect_names[sector][0] );
act_move.c:	previous[iRand] = -1;
act_move.c:	while ( previous[iRand] == -1 )
act_move.c:	    x = number_range( 0, sent_total[sector]-1 );
act_move.c:	      switch( number_range(1, 2 * (iRand == nRand -1) ? 1 : 2) )
act_move.c:	    if ( iRand != nRand -1 )
act_move.c:	      if ( buf[len-1] == '.' )
act_move.c:	    if ( len > 5 && buf[len-1] == '.' )
act_move.c:    /* Below is the line that causes the uninitialized memory read --Shaddai */
act_move.c:    room->description = STRALLOC( buf2 );
act_move.c: * Remove any unused virtual rooms				-Thoric
act_move.c:	&&     !vroom_hash[hash]->first_person
act_move.c:	&&     !vroom_hash[hash]->first_content )
act_move.c:	    vroom_hash[hash] = room->next;
act_move.c:	    --top_vroom;
act_move.c:	    room_next = room->next;
act_move.c:	    if ( !room->first_person && !room->first_content )
act_move.c:		  prev->next = room_next;
act_move.c:		--top_vroom;
act_move.c: * Function to get the equivelant exit of DIR 0-MAXDIR out of linked list.
act_move.c: * Made to allow old-style diku-merc exit functions to work.	-Thoric
act_move.c:    for (xit = room->first_exit; xit; xit = xit->next )
act_move.c:       if ( xit->vdir == dir )
act_move.c:    for (xit = room->first_exit; xit; xit = xit->next )
act_move.c:       if ( xit->vdir == dir && xit->vnum == vnum )
act_move.c: * Function to get the nth exit of a room			-Thoric
act_move.c:    for (cnt = 0, xit = room->first_exit; xit; xit = xit->next )
act_move.c: * Modify movement due to encumbrance				-Thoric
act_move.c:    cur = ch->carry_weight;
act_move.c: * Check to see if a character can fall down, checks for looping   -Thoric
act_move.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_NOFLOOR )
act_move.c:    || ( ch->mount && !IS_AFFECTED( ch->mount, AFF_FLYING ) ) ) )
act_move.c:	   bug( "Falling (in a loop?) more than 80 rooms: vnum %d", ch->in_room->vnum );
act_move.c:	move_char( ch, get_exit(ch->in_room, DIR_DOWN), ++fall );
act_move.c: * create a 'virtual' room					-Thoric
act_move.c:       understand virtual rooms - shogar */
act_move.c:    int virtual=in_room->virtual;
act_move.c:    int distance = -1;
act_move.c:    int vdir = orig_exit->vdir;
act_move.c:	serial = in_room->vnum;
act_move.c:	roomnum = in_room->tele_vnum;
act_move.c:	if ( (serial) == orig_exit->vnum )
act_move.c:	  --roomnum;
act_move.c:	  distance = orig_exit->distance - 1;
act_move.c:	int r1 = in_room->vnum;
act_move.c:	int r2 = orig_exit->vnum;
act_move.c:	distance = orig_exit->distance - 1;
act_move.c:    for ( room = vroom_hash[hash]; room; room = room->next )
act_move.c:	if ( room->vnum == serial && room->tele_vnum == roomnum )
act_move.c:	room->area	  = in_room->area;
act_move.c:	room->vnum	  = serial;
act_move.c:	room->virtual	  = virtual;
act_move.c:	room->tele_vnum	  = roomnum;
act_move.c:	room->sector_type = in_room->sector_type;
act_move.c:	room->room_flags  = in_room->room_flags;
act_move.c:	room->next	  = vroom_hash[hash];
act_move.c:	xit = make_exit(room, orig_exit->to_room, vdir);
act_move.c:	xit->keyword		= STRALLOC( "" );
act_move.c:	xit->description	= STRALLOC( "" );
act_move.c:	xit->key		= -1;
act_move.c:	xit->distance = distance;
act_move.c:	bxit->keyword		= STRALLOC( "" );
act_move.c:	bxit->description	= STRALLOC( "" );
act_move.c:	bxit->key		= -1;
act_move.c:	if ( (serial ) != orig_exit->vnum )
act_move.c:	  bxit->distance = roomnum;
act_move.c:	  int fulldist = tmp->distance;
act_move.c:	  bxit->distance = fulldist - distance;
act_move.c:    if (ch->on != NULL)		/* is char on floor ??? */
act_move.c:      if ( IS_DRUNK( ch, 2 ) && ( ch->position != POS_SHOVE )
act_move.c:	&& ( ch->position != POS_DRAG ) )
act_move.c:       * -Shaddai
act_move.c:      if ( ch->pcdata->nuisance && ch->pcdata->nuisance->flags > 8 && 
act_move.c:	 ( ch->position != POS_SHOVE ) && ( ch->position != POS_DRAG ) && 
act_move.c:	 number_percent() > (ch->pcdata->nuisance->flags*ch->pcdata->nuisance->power))
act_move.c:      pexit = get_exit( ch->in_room, door );
act_move.c:	sprintf( buf, "move_char: %s to door %d", ch->name, pexit->vdir );
act_move.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_MOUNTED) )
act_move.c:    in_room = ch->in_room;
act_move.c:    if ( !pexit || (to_room = pexit->to_room) == NULL )
act_move.c:	if ( drunk && ch->position != POS_MOUNTED
act_move.c:	&&   ch->in_room->sector_type != SECT_WATER_SWIM
act_move.c:	&&   ch->in_room->sector_type != SECT_WATER_NOSWIM
act_move.c:	&&   ch->in_room->sector_type != SECT_UNDERWATER
act_move.c:	&&   ch->in_room->sector_type != SECT_OCEANFLOOR )
act_move.c:		ch->position = POS_RESTING;
act_move.c:		ch->position = POS_INCAP;
act_move.c:    door = pexit->vdir;
act_move.c:    distance = pexit->distance;
act_move.c:     * unless it's a door with a window in it		-Thoric
act_move.c:    if ( IS_SET( pexit->exit_info, EX_WINDOW )
act_move.c:    &&  !IS_SET( pexit->exit_info, EX_ISDOOR ) )
act_move.c:    if (  IS_SET(pexit->exit_info, EX_PORTAL) 
act_move.c:    if ( IS_SET(pexit->exit_info, EX_NOMOB)
act_move.c:    if ( IS_SET(pexit->exit_info, EX_CLOSED)
act_move.c:    ||   IS_SET(pexit->exit_info, EX_NOPASSDOOR)) )
act_move.c:	if ( !IS_SET( pexit->exit_info, EX_SECRET )
act_move.c:	&&   !IS_SET( pexit->exit_info, EX_DIG ) )
act_move.c:		NULL, pexit->keyword, TO_ROOM );
act_move.c:		NULL, pexit->keyword, TO_CHAR ); 
act_move.c:	  act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
act_move.c:     * Crazy virtual room idea, created upon demand.		-Thoric
act_move.c:		so bail out. - added return rNONE - shogar */
act_move.c:    &&   ch->master
act_move.c:    &&   in_room == ch->master->in_room )
act_move.c:    &&  ch->in_room->area != to_room->area )
act_move.c:	if ( ch->level < to_room->area->low_hard_range )
act_move.c:	    switch( to_room->area->low_hard_range - ch->level )
act_move.c:	if ( ch->level > to_room->area->hi_hard_range )
act_move.c:    && IS_SET( to_room->area->flags, AFLAG_CLOSED )
act_move.c:    && ch->in_room->area != to_room->area )
act_move.c:   the new dh. -- Narn
act_move.c:	    if ( iClass != ch->class
act_move.c:	    &&   to_room->vnum == class_table[iClass]->guild )
act_move.c:/* Prevent deadlies from entering a nopkill-flagged area from a 
act_move.c:   non-flagged area, but allow them to move around if already
act_move.c:   inside a nopkill area. - Blodkai
act_move.c:/*        if (  IS_SET( to_room->area->flags, AFLAG_NOPKILL )
act_move.c:        &&   !IS_SET( ch->in_room->area->flags, AFLAG_NOPKILL )
act_move.c:        } This is effectively a no-mort zone with this uncommented since every player is "deadly" -- Scion */
act_move.c:	if ( in_room->sector_type == SECT_AIR
act_move.c:	||   to_room->sector_type == SECT_AIR
act_move.c:	||   IS_SET( pexit->exit_info, EX_FLY ) )
act_move.c:	    if ( ch->mount && !IS_AFFECTED( ch->mount, AFF_FLYING ) )
act_move.c:	    if ( !ch->mount && !IS_AFFECTED(ch, AFF_FLYING) )
act_move.c:	if ( in_room->sector_type == SECT_WATER_NOSWIM
act_move.c:	||   to_room->sector_type == SECT_WATER_NOSWIM )
act_move.c:	    if ( (ch->mount && !IS_FLOATING(ch->mount)) || !IS_FLOATING(ch) )
act_move.c:		    if ( ch->mount )
act_move.c:	if ( IS_SET( pexit->exit_info, EX_CLIMB ) )
act_move.c:	    if ( ch->mount && IS_AFFECTED( ch->mount, AFF_FLYING ) )
act_move.c:	    if ( !found && !ch->mount )
act_move.c:		||      drunk || ch->mental_state < -90 )
act_move.c:		   if ( pexit->vdir == DIR_DOWN )
act_move.c:		   retcode = damage( ch, ch, (pexit->vdir == DIR_UP ? 10 : 5),
act_move.c:		WAIT_STATE( ch, skill_table[gsn_climb]->beats );
act_move.c:	if ( ch->mount )
act_move.c:	  switch (ch->mount->position)
act_move.c:	  if ( !IS_FLOATING(ch->mount) )
act_move.c:	    move = movement_loss[UMIN(SECT_MAX-1, in_room->sector_type)];
act_move.c:	  if ( ch->mount->move < move )
act_move.c:	    move = encumbrance( ch, movement_loss[UMIN(SECT_MAX-1, in_room->sector_type)] );
act_move.c:	  if ( ch->move < move )
act_move.c:	if ( ch->mount )
act_move.c:	  ch->mount->move -= move;
act_move.c:	  ch->move -= move;
act_move.c:    if ( to_room->tunnel > 0 )
act_move.c:	int count = ch->mount ? 1 : 0;
act_move.c:	for ( ctmp = to_room->first_person; ctmp; ctmp = ctmp->next_in_room )
act_move.c:	  if ( ++count >= to_room->tunnel )
act_move.c:		if ( ch->mount && count == to_room->tunnel )
act_move.c:    /* check for traps on exit - later */
act_move.c:    && ( IS_NPC(ch) || !xIS_SET(ch->act, PLR_WIZINVIS) ) )
act_move.c:        if ( ch->mount )
act_move.c:	  if ( IS_AFFECTED( ch->mount, AFF_FLOATING ) )
act_move.c:	  if ( IS_AFFECTED( ch->mount, AFF_FLYING ) )
act_move.c:          if ( ch->position == POS_SHOVE )
act_move.c:	  if ( ch->position == POS_DRAG )
act_move.c:      if ( ch->mount )
act_move.c:	act( AT_ACTION, buf, ch, NULL, ch->mount, TO_NOTVICT );
act_move.c:    if ( ch->mount )
act_move.c:      rprog_leave_trigger( ch->mount );
act_move.c:      if( ch->mount )
act_move.c:        char_from_room( ch->mount );
act_move.c:        char_to_room( ch->mount, to_room );
act_move.c:    && ( IS_NPC(ch) || !xIS_SET(ch->act, PLR_WIZINVIS) ) )
act_move.c:      if ( ch->mount )
act_move.c:	if ( IS_AFFECTED( ch->mount, AFF_FLOATING ) )
act_move.c:	if ( IS_AFFECTED( ch->mount, AFF_FLYING ) )
act_move.c:	if ( ch->position == POS_SHOVE )
act_move.c:	if ( ch->position == POS_DRAG )
act_move.c:      if ( ch->mount )
act_move.c:	act( AT_ACTION, buf, ch, NULL, ch->mount, TO_ROOM );
act_move.c:    &&  ch->in_room->area != to_room->area )
act_move.c:	if ( ch->level < to_room->area->low_soft_range )
act_move.c:	if ( ch->level > to_room->area->hi_soft_range )
act_move.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_DEATH ) && !IS_IMMORTAL( ch ) )
act_move.c:	if ( xIS_SET(ch->act, PLR_BRIEF) )
act_move.c:	xREMOVE_BIT(ch->act, PLR_BRIEF);
act_move.c: 	xSET_BIT(ch->act, PLR_BRIEF);
act_move.c:     * Put good-old EQ-munching death traps back in!		-Thoric
act_move.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_DEATH ) && !IS_IMMORTAL( ch ) )
act_move.c:		     ch->name, ch->in_room->vnum );
act_move.c:       the right number of them.  -- Narn
act_move.c:      for ( fch = from_room->first_person; fch; fch = fch->next_in_room )
act_move.c:      for ( fch = from_room->first_person; fch && ( count < chars ); fch = nextinroom )
act_move.c:	nextinroom = fch->next_in_room;
act_move.c:	&& fch->master == ch
act_move.c:	&& fch->position == POS_STANDING )
act_move.c:    if ( ch->in_room->first_content )
act_move.c:	|| ( ch->mount && !IS_AFFECTED( ch->mount, AFF_FLOATING ) ) )
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_NORTH), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_EAST), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_SOUTH), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_WEST), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_UP), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_DOWN), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_NORTHEAST), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_NORTHWEST), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_SOUTHEAST), 0 );
act_move.c:    move_char( ch, get_exit(ch->in_room, DIR_SOUTHWEST), 0 );
act_move.c:	for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:	    if ( (quiet || IS_SET(pexit->exit_info, EX_ISDOOR))
act_move.c:	    &&    pexit->keyword
act_move.c:	    &&    nifty_is_name( arg, pexit->keyword ) )
act_move.c:    if ( (pexit = get_exit( ch->in_room, door )) == NULL )
act_move.c:    if ( IS_SET(pexit->exit_info, EX_SECRET) )
act_move.c:    if ( !IS_SET(pexit->exit_info, EX_ISDOOR) )
act_move.c:    SET_BIT(pexit->exit_info, flag);
act_move.c:    if ( (pexit_rev = pexit->rexit) != NULL
act_move.c:	SET_BIT( pexit_rev->exit_info, flag );
act_move.c:    REMOVE_BIT(pexit->exit_info, flag);
act_move.c:    if ( (pexit_rev = pexit->rexit) != NULL
act_move.c:	REMOVE_BIT( pexit_rev->exit_info, flag );
act_move.c:    TOGGLE_BIT(pexit->exit_info, flag);
act_move.c:    if ( (pexit_rev = pexit->rexit) != NULL
act_move.c:	TOGGLE_BIT( pexit_rev->exit_info, flag );
act_move.c:        if (  IS_SET(pexit->exit_info, EX_SECRET)
act_move.c:        &&    pexit->keyword && !nifty_is_name( arg, pexit->keyword ) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_ISDOOR) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_CLOSED) )
act_move.c:	if (  IS_SET(pexit->exit_info, EX_LOCKED) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_SECRET)
act_move.c:	||   (pexit->keyword && nifty_is_name( arg, pexit->keyword )) )
act_move.c:	    act( AT_ACTION, "$n opens the $d.", ch, NULL, pexit->keyword, TO_ROOM );
act_move.c:	    act( AT_ACTION, "You open the $d.", ch, NULL, pexit->keyword, TO_CHAR );
act_move.c:	    if ( (pexit_rev = pexit->rexit) != NULL
act_move.c:	    &&   pexit_rev->to_room == ch->in_room )
act_move.c:		for ( rch = pexit->to_room->first_person; rch; rch = rch->next_in_room )
act_move.c:		    act( AT_ACTION, "The $d opens.", rch, NULL, pexit_rev->keyword, TO_CHAR );
act_move.c:	    if ( (door=pexit->vdir) >= 0 && door < 10 )
act_move.c:	if ( obj->item_type != ITEM_CONTAINER )
act_move.c:          ch_printf( ch, "%s is not a container.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	if ( !IS_SET(obj->value[1], CONT_CLOSED) )
act_move.c:          ch_printf( ch, "%s is already open.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	if ( !IS_SET(obj->value[1], CONT_CLOSEABLE) )
act_move.c:          ch_printf( ch, "%s cannot be opened or closed.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	if ( IS_SET(obj->value[1], CONT_LOCKED) )
act_move.c:          ch_printf( ch, "%s is locked.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	REMOVE_BIT(obj->value[1], CONT_CLOSED);
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_ISDOOR) )
act_move.c:	if ( IS_SET(pexit->exit_info, EX_CLOSED) )
act_move.c:	act( AT_ACTION, "$n closes the $d.", ch, NULL, pexit->keyword, TO_ROOM );
act_move.c:	act( AT_ACTION, "You close the $d.", ch, NULL, pexit->keyword, TO_CHAR );
act_move.c:	if ( ( pexit_rev = pexit->rexit ) != NULL
act_move.c:	&&   pexit_rev->to_room == ch->in_room )
act_move.c:	    SET_BIT( pexit_rev->exit_info, EX_CLOSED );
act_move.c:	    for ( rch = pexit->to_room->first_person; rch; rch = rch->next_in_room )
act_move.c:		act( AT_ACTION, "The $d closes.", rch, NULL, pexit_rev->keyword, TO_CHAR );
act_move.c:	if ( (door=pexit->vdir) >= 0 && door < 10 )
act_move.c:	if ( obj->item_type != ITEM_CONTAINER )
act_move.c:          ch_printf( ch, "%s is not a container.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	if ( IS_SET(obj->value[1], CONT_CLOSED) )
act_move.c:          ch_printf( ch, "%s is already closed.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	if ( !IS_SET(obj->value[1], CONT_CLOSEABLE) )
act_move.c:          ch_printf( ch, "%s cannot be opened or closed.\n\r", capitalize( obj->short_descr ) ); 
act_move.c:	SET_BIT(obj->value[1], CONT_CLOSED);
act_move.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
act_move.c:	if ( obj->pIndexData->vnum == key || (obj->item_type == ITEM_KEY && obj->value[0] == key) )
act_move.c:	if ( obj->item_type == ITEM_KEYRING )
act_move.c:	    for ( obj2 = obj->first_content; obj2; obj2 = obj2->next_content )
act_move.c:		if ( obj2->pIndexData->vnum == key || obj2->value[0] == key )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_ISDOOR) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_CLOSED) )
act_move.c:	if ( pexit->key < 0 )
act_move.c:	if ( (key=has_key(ch, pexit->key)) == NULL )
act_move.c:	if ( IS_SET(pexit->exit_info, EX_LOCKED) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_SECRET)
act_move.c:	||   (pexit->keyword && nifty_is_name( arg, pexit->keyword )) )
act_move.c:	    count = key->count;
act_move.c:	    key->count = 1;
act_move.c:	    act( AT_ACTION, "$n locks the $d with $p.", ch, key, pexit->keyword, TO_ROOM );
act_move.c:	    key->count = count;
act_move.c:	if ( obj->item_type != ITEM_CONTAINER )
act_move.c:	if ( !IS_SET(obj->value[1], CONT_CLOSED) )
act_move.c:	if ( obj->value[2] < 0 )
act_move.c:	if ( (key=has_key(ch, obj->value[2])) == NULL )
act_move.c:	if ( IS_SET(obj->value[1], CONT_LOCKED) )
act_move.c:	SET_BIT(obj->value[1], CONT_LOCKED);
act_move.c:	count = key->count;
act_move.c:	key->count = 1;
act_move.c:	key->count = count;
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_ISDOOR) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_CLOSED) )
act_move.c:	if ( pexit->key < 0 )
act_move.c:	if ( (key=has_key(ch, pexit->key)) == NULL )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_LOCKED) )
act_move.c:	if ( !IS_SET(pexit->exit_info, EX_SECRET)
act_move.c:	||   (pexit->keyword && nifty_is_name( arg, pexit->keyword )) )
act_move.c:	    count = key->count;
act_move.c:	    key->count = 1;
act_move.c:	    act( AT_ACTION, "$n unlocks the $d with $p.", ch, key, pexit->keyword, TO_ROOM );
act_move.c:	    key->count = count;
act_move.c:	    if ( IS_SET(pexit->exit_info, EX_EATKEY) )
act_move.c:	if ( obj->item_type != ITEM_CONTAINER )
act_move.c:	if ( !IS_SET(obj->value[1], CONT_CLOSED) )
act_move.c:	if ( obj->value[2] < 0 )
act_move.c:	if ( (key=has_key(ch, obj->value[2])) == NULL )
act_move.c:	if ( !IS_SET(obj->value[1], CONT_LOCKED) )
act_move.c:	REMOVE_BIT(obj->value[1], CONT_LOCKED);
act_move.c:	count = key->count;
act_move.c:	key->count = 1;
act_move.c:	key->count = count;
act_move.c:	if ( IS_SET(obj->value[1], CONT_EATKEY) )
act_move.c:        && (ch->level < skill_table[gsn_bashdoor]->skill_level[ch->class]
act_move.c:        ||  ch->level < skill_table[gsn_bashdoor]->skill_level[ch->class2]) )
act_move.c:	if ( ch->fighting )
act_move.c:	    if ( !IS_SET( pexit->exit_info, EX_CLOSED ) )
act_move.c:	    WAIT_STATE( ch, skill_table[gsn_bashdoor]->beats );
act_move.c:	    if ( IS_SET( pexit->exit_info, EX_SECRET ) )
act_move.c:		keyword = pexit->keyword;
act_move.c:	    if ( IS_SET( pexit->exit_info, EX_LOCKED ) )
act_move.c:	    if ( !IS_SET( pexit->exit_info, EX_BASHPROOF )
act_move.c:	    &&   ch->move >= 15
act_move.c:	    &&   number_percent( ) < ( chance + 4 * ( get_curr_str( ch ) - 19 ) ) )
act_move.c:		REMOVE_BIT( pexit->exit_info, EX_CLOSED );
act_move.c:		if ( IS_SET( pexit->exit_info, EX_LOCKED ) )
act_move.c:		REMOVE_BIT( pexit->exit_info, EX_LOCKED );
act_move.c:		SET_BIT( pexit->exit_info, EX_BASHED );
act_move.c:		if ( (to_room = pexit->to_room) != NULL
act_move.c:		&&   (pexit_rev = pexit->rexit) != NULL
act_move.c:		&&    pexit_rev->to_room	== ch->in_room )
act_move.c:			REMOVE_BIT( pexit_rev->exit_info, EX_CLOSED );
act_move.c:			if ( IS_SET( pexit_rev->exit_info, EX_LOCKED ) )
act_move.c:			  REMOVE_BIT( pexit_rev->exit_info, EX_LOCKED );
act_move.c:			SET_BIT( pexit_rev->exit_info, EX_BASHED );
act_move.c:			for ( rch = to_room->first_person; rch; rch = rch->next_in_room )
act_move.c:				rch, NULL, pexit_rev->keyword, TO_CHAR );
act_move.c:		damage( ch, ch, ( ch->max_hit / 20 ), gsn_bashdoor );
act_move.c:		damage( ch, ch, ( ch->max_hit / 20 ) + 10, gsn_bashdoor );
act_move.c:	    damage( ch, ch, ( ch->max_hit / 20 ) + 10, gsn_bashdoor );
act_move.c:	   for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
act_move.c:		 && !gch->fighting
act_move.c:		 && ( ch->level - gch->level <= 4 )
act_move.c:	if (ch->position == POS_FIGHTING)
act_move.c:		ch->fur_pos = FURNITURE_UNUSED;
act_move.c:		ch->position = POS_STANDING;
act_move.c:		if (ch->on)
act_move.c:		   for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:		   for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:		   ch->on = NULL;
act_move.c:	obj = get_obj_list(ch, arg,ch->in_room->first_content);
act_move.c:	if (obj->item_type != ITEM_FURNITURE )
act_move.c:	if (((type == ST_ON) && (!IS_SET(obj->value[2], STAND_ON)))
act_move.c:		|| ((type == ST_AT) && (!IS_SET(obj->value[2], STAND_AT)))
act_move.c:		|| ((type == ST_IN) && (!IS_SET(obj->value[2], STAND_IN)))
act_move.c:		|| ((ch->on != obj) && (count_users(obj) >= obj->value[0])))
act_move.c:			type_word, obj->short_descr);
act_move.c:	ch->on=obj;
act_move.c:	ch->fur_pos=type;
act_move.c:   	for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:   	for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:    switch ( ch->position )
act_move.c:	ch->position = POS_STANDING;
act_move.c:        ch->position = POS_STANDING;
act_move.c:	ch->position = POS_STANDING;
act_move.c:	if(!ch->on)
act_move.c:    if(ch->on)
act_move.c:	ch->position = POS_STANDING;
act_move.c:	for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:   	for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:   	ch->on = NULL;
act_move.c:	ch->fur_pos = FURNITURE_UNUSED;
act_move.c:    switch ( ch->position )
act_move.c:	ch->position = POS_SITTING;
act_move.c:	ch->position = POS_SITTING;
act_move.c:		obj = get_obj_list(ch, arg,ch->in_room->first_content);
act_move.c:		if (obj->item_type != ITEM_FURNITURE )
act_move.c:		if (((type == SI_ON) && (!IS_SET(obj->value[2], SIT_ON)))
act_move.c:			|| ((type == SI_AT) && (!IS_SET(obj->value[2], SIT_AT)))
act_move.c:			|| ((type == SI_IN) && (!IS_SET(obj->value[2], SIT_IN)))
act_move.c:			|| ((ch->on != obj) && (count_users(obj) >= obj->value[0])))
act_move.c:				type_word, obj->short_descr);
act_move.c:        	ch->position = POS_SITTING;
act_move.c:		/* Heavy characters ought to break furniture! -- Scion :P */
act_move.c:		if (ch->weight >= ((obj->value[0] * 300) + number_range(-30, 30))) {
act_move.c:			ch->position = POS_RESTING;
act_move.c:			ch->on = obj;
act_move.c:			ch->fur_pos = type;
act_move.c:			/* By Standing on object... get affects -- Maniac -- */
act_move.c:			for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:			for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:        ch->position = POS_SITTING;
act_move.c:        send_to_char( "You are already sitting - on your mount.\n\r", ch );
act_move.c:    switch ( ch->position )
act_move.c:        ch->position = POS_RESTING;
act_move.c:        	obj = get_obj_list(ch, arg,ch->in_room->first_content);
act_move.c:        	if (obj->item_type != ITEM_FURNITURE )
act_move.c:        	if (((type == RE_ON) && (!IS_SET(obj->value[2], REST_ON)))
act_move.c:                	|| ((type == RE_AT) && (!IS_SET(obj->value[2], REST_AT)))
act_move.c:                	|| ((type == RE_IN) && (!IS_SET(obj->value[2], REST_IN)))
act_move.c:                	|| ((ch->on != obj) && (count_users(obj) >= obj->value[0])))
act_move.c:                        	type_word, obj->short_descr);
act_move.c:		/* Heavy characters ought to break furniture! -- Scion :P */
act_move.c:		if (ch->weight >= ((obj->value[0] * 300) + number_range(-30, 30))) {
act_move.c:			ch->position = POS_RESTING;
act_move.c:        	ch->position = POS_RESTING;
act_move.c:		ch->on = obj;
act_move.c:		ch->fur_pos = type;
act_move.c:		/* By Standing on object... get affects -- Maniac -- */
act_move.c:		for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:		for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:        ch->position = POS_RESTING;
act_move.c:	ch->position = POS_RESTING;
act_move.c:    switch ( ch->position )
act_move.c:	if ( ch->mental_state > 30 && (number_percent()+10) < ch->mental_state )
act_move.c:        ch->position = POS_SLEEPING;
act_move.c:	if ( ch->mental_state > 30 && (number_percent()+5) < ch->mental_state )
act_move.c:        ch->position = POS_SLEEPING;
act_move.c:	if ( ch->mental_state > 30 && number_percent() < ch->mental_state )
act_move.c:        	obj = get_obj_list(ch, arg,ch->in_room->first_content);
act_move.c:        	if (obj->item_type != ITEM_FURNITURE )
act_move.c:        	if (((type == SL_ON) && (!IS_SET(obj->value[2], SLEEP_ON)))
act_move.c:                	|| ((type == SL_AT) && (!IS_SET(obj->value[2], SLEEP_AT)))
act_move.c:                	|| ((type == SL_IN) && (!IS_SET(obj->value[2], SLEEP_IN)))
act_move.c:                	|| ((ch->on != obj) && (count_users(obj) >= obj->value[0])))
act_move.c:                        	type_word, obj->short_descr);
act_move.c:			/* Heavy characters ought to break furniture! -- Scion :P */
act_move.c:		if (ch->weight >= ((obj->value[0] * 300) + number_range(-30, 30))) {
act_move.c:			ch->position = POS_RESTING;
act_move.c:        	ch->position = POS_SLEEPING;
act_move.c:		ch->on = obj;
act_move.c:		ch->fur_pos = type;
act_move.c:		/* By Standing on object... get affects -- Maniac -- */
act_move.c:		for ( paf = ch->on->pIndexData->first_affect; paf; paf = paf->next )
act_move.c:		for ( paf = ch->on->first_affect; paf; paf = paf->next )
act_move.c:        ch->position = POS_SLEEPING;
act_move.c:    if ( IS_AFFECTED(victim, AFF_SLEEP) || victim->position < POS_SLEEPING )
act_move.c:    victim->position = POS_STANDING;
act_move.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_DEATH ) && !IS_IMMORTAL( ch ) )
act_move.c:		     ch->name, ch->in_room->vnum );
act_move.c:    ROOM_INDEX_DATA *start = ch->in_room, *dest;
act_move.c:    for ( nch = start->first_person; nch; nch = nch_next )
act_move.c:	nch_next = nch->next_in_room;
act_move.c:	for ( obj = start->first_content; obj; obj = obj_next )
act_move.c:	    obj_next = obj->next_content;
act_move.c: * "Climb" in a certain direction.				-Thoric
act_move.c:	for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:	    if ( IS_SET( pexit->exit_info, EX_xCLIMB ) )
act_move.c:    &&   IS_SET( pexit->exit_info, EX_xCLIMB ))
act_move.c: * "enter" something (moves through an exit)			-Thoric
act_move.c:	for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:	    if ( IS_SET( pexit->exit_info, EX_xENTER ) )
act_move.c:	if ( ch->in_room->sector_type != SECT_INSIDE && IS_OUTSIDE(ch) )
act_move.c:	    for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:		if ( pexit->to_room && (pexit->to_room->sector_type == SECT_INSIDE
act_move.c:		||  IS_SET(pexit->to_room->room_flags, ROOM_INDOORS)) )
act_move.c:    &&   IS_SET( pexit->exit_info, EX_xENTER ))
act_move.c: * Leave through an exit.					-Thoric
act_move.c:	for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:	    if ( IS_SET( pexit->exit_info, EX_xLEAVE ) )
act_move.c:	if ( ch->in_room->sector_type == SECT_INSIDE || !IS_OUTSIDE(ch) )
act_move.c:	    for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
act_move.c:		if ( pexit->to_room && pexit->to_room->sector_type != SECT_INSIDE
act_move.c:		&&  !IS_SET(pexit->to_room->room_flags, ROOM_INDOORS) )
act_move.c:    &&   IS_SET( pexit->exit_info, EX_xLEAVE ))
act_move.c: * Some types may cause damage.					-Thoric
act_move.c:    if ( (room=ch->in_room) == NULL )
act_move.c:	bug( "pullcheck: %s not in a room?!?", ch->name );
act_move.c:    for ( xtmp = room->first_exit; xtmp; xtmp = xtmp->next )
act_move.c:/* lets try this, the || will let the if continue, and the abs(xit->pull
act_move.c:   will crash the mud so.... add another set of parens - shogar
act_move.c:	if ( xtmp->pull && xtmp->to_room && (!xit || abs(xtmp->pull) > abs(xit->pull)) )
act_move.c:	if ( xtmp->pull 
act_move.c:        && xtmp->to_room 
act_move.c:            || (abs(xtmp->pull) > abs(xit->pull))) )
act_move.c:    pull = xit->pull;
act_move.c:    pullfact = URANGE(1, 20-(abs(pull)/5), 20);
act_move.c:	for ( xit = room->first_exit; xit; xit = xit->next )
act_move.c:	    if ( xit->pull && xit->to_room )
act_move.c:		pull = xit->pull;
act_move.c:		pullfact = URANGE(1, 20-(abs(pull)/5), 20);
act_move.c:	if ( (xit=get_exit(room, rev_dir[xit->vdir])) == NULL )
act_move.c:    dtxt = rev_exit(xit->vdir);
act_move.c:    switch(xit->pulltype)
act_move.c:	    switch(room->sector_type)
act_move.c:		    if ( xit->pulltype == PULL_CURRENT )
act_move.c:		    if ( (ch->mount && !IS_FLOATING(ch->mount))
act_move.c:		    ||  (!ch->mount && !IS_FLOATING(ch)) )
act_move.c:	/* light breeze -- very limited moving power */
act_move.c:	    if ( (ch->mount && !IS_FLOATING(ch->mount))
act_move.c:	    ||  (!ch->mount && !IS_FLOATING(ch)) )
act_move.c:    switch(xit->pulltype)
act_move.c:	    act(AT_PLAIN, tochar, ch, NULL, dir_name[xit->vdir], TO_CHAR );
act_move.c:	    act(AT_PLAIN, toroom, ch, NULL, dir_name[xit->vdir], TO_ROOM );
act_move.c:	if ( destrm && xit->to_room->first_person )
act_move.c:	    act(AT_PLAIN, destrm, xit->to_room->first_person, NULL, dtxt, TO_CHAR );
act_move.c:	    act(AT_PLAIN, destrm, xit->to_room->first_person, NULL, dtxt, TO_ROOM );
act_move.c:	if ( xit->pulltype == PULL_SLIP )
act_move.c:	char_to_room(ch, xit->to_room);
act_move.c:	if ( ch->mount )
act_move.c:	    char_from_room(ch->mount);
act_move.c:	    char_to_room(ch->mount, xit->to_room);
act_move.c:		do_look(ch->mount, "auto");
act_move.c:	for ( obj = room->first_content; obj; obj = obj_next )
act_move.c:	    obj_next = obj->next_content;
act_move.c:	    switch(obj->item_type)
act_move.c:		if ( objmsg && room->first_person )
act_move.c:		    act(AT_PLAIN, objmsg, room->first_person, obj, dir_name[xit->vdir], TO_CHAR);
act_move.c:		    act(AT_PLAIN, objmsg, room->first_person, obj, dir_name[xit->vdir], TO_ROOM);
act_move.c:		if ( destob && xit->to_room->first_person )
act_move.c:		    act(AT_PLAIN, destob, xit->to_room->first_person, obj, dtxt, TO_CHAR);
act_move.c:		    act(AT_PLAIN, destob, xit->to_room->first_person, obj, dtxt, TO_ROOM);
act_move.c:		obj_to_room(obj, xit->to_room);
act_move.c:/* Sets a character's home room -- Scion */
act_move.c:            room=get_room_index(ch->pcdata->memorize[slot]);
act_move.c:            sprintf(arg, "%d: %s\r\n", slot, (room ? room->name : "None"));
act_move.c:    switch (ch->substate)
act_move.c:        ch->recall=slot;
act_move.c:        ch->substate=SUB_NONE;
act_move.c:        ch->substate = SUB_NONE;
act_move.c:        if ( IS_SET( ch->in_room->room_flags, ROOM_NO_ASTRAL ) )
act_move.c:        ch->pcdata->memorize[ch->recall]=ch->in_room->vnum;
act_obj.c: * -----------------------------------------------------------|   (0...0)   *
act_obj.c: * -----------------------------------------------------------|    {o o}    *
act_obj.c: * ------------------------------------------------------------------------ *
act_obj.c: * ------------------------------------------------------------------------ *
act_obj.c: * how resistant an object is to damage				-Thoric
act_obj.c:      resist -= number_fuzzy(5);
act_obj.c:    resist += (obj->level / 10) - 2;
act_obj.c:    if (obj->item_type == ITEM_ARMOR || obj->item_type == ITEM_WEAPON)
act_obj.c:      resist += (obj->value[0] / 2) - 2;
act_obj.c:        if( ch->class == class )
act_obj.c:    if( ch->level2 == -1 )
act_obj.c:        if( ch->class == class )
act_obj.c:        if( ch->class == class || ch->class2 == class )
act_obj.c:    int amt; /* gold per-race multipliers */
act_obj.c:       && (ch->level < sysdata.level_getobjnotake )  )
act_obj.c:    if ( IS_SET( obj->magic_flags, ITEM_PKDISARMED ) )
act_obj.c:	    if ( ch->level - obj->value[5] > 5
act_obj.c:	    ||   obj->value[5] - ch->level > 5 )
act_obj.c:		REMOVE_BIT( obj->magic_flags, ITEM_PKDISARMED );
act_obj.c:		obj->value[5] = 0;
act_obj.c:    if ( ch->carry_number + get_obj_number( obj ) > can_carry_n( ch ) )
act_obj.c:		ch, NULL, obj->name, TO_CHAR );
act_obj.c:	weight = obj->weight;
act_obj.c:    if ( ch->carry_weight + weight > can_carry_w( ch ) )
act_obj.c:	    ch, NULL, obj->name, TO_CHAR );
act_obj.c:	if ( container->item_type == ITEM_KEYRING && !IS_OBJ_STAT(container, ITEM_COVERING) )
act_obj.c:	&&  !IS_NPC( ch ) && str_cmp( container->name+7, ch->name ) )
act_obj.c:                container->value[5]++;
act_obj.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_CLANSTOREROOM) 
act_obj.c:    && (!container || container->carried_by == NULL) )
act_obj.c:	for ( clan = first_clan; clan; clan = clan->next )
act_obj.c:	  if ( clan->storeroom == ch->in_room->vnum )
act_obj.c:    if ( obj->item_type != ITEM_CONTAINER )
act_obj.c:    if ( obj->item_type == ITEM_MONEY )
act_obj.c:        amt = obj->value[0];
act_obj.c: *  lead to more confusion than it warrants.  -h
act_obj.c:        switch(ch->race){
act_obj.c:          case(6):  amt *=0.92; break;/* half-ogre */
act_obj.c:          case(7):  amt *=0.94; break;/* half-orc */
act_obj.c:          case(8):  amt *=0.90; break;/* half-troll */
act_obj.c:          case(9):  amt *=1.04; break;/* half-elf */
act_obj.c:        ch->gold += amt;
act_obj.c:	if ( (ch->carry_number + number) > can_carry_n(ch) )
act_obj.c:	    obj = get_obj_list( ch, arg1, ch->in_room->first_content );
act_obj.c:	    if ( IS_SET( ch->in_room->room_flags, ROOM_DONATION ) )
act_obj.c:	    for ( obj = ch->in_room->last_content; obj; obj = obj_next )
act_obj.c:		obj_next = obj->prev_content;
act_obj.c:		if ( ( fAll || nifty_is_name( chk, obj->name ) )
act_obj.c:		    if ( number && (cnt + obj->count) > number )
act_obj.c:			split_obj( obj, number - cnt );
act_obj.c:		    cnt += obj->count;
act_obj.c:		    ||   ch->carry_number >= can_carry_n( ch )
act_obj.c:		    ||   ch->carry_weight >= can_carry_w( ch )
act_obj.c:	switch ( container->item_type )
act_obj.c:	    if ( ch->carry_weight + container->weight > can_carry_w( ch ) )
act_obj.c:		pd = container->short_descr;
act_obj.c:		&& str_cmp( name, ch->name ) )
act_obj.c:		/* Killer/owner loot only if die to pkill blow --Blod */
act_obj.c:		&&   container->action_desc[0] !='\0'
act_obj.c:		&&   str_cmp( name, ch->name )
act_obj.c:		&&   str_cmp( container->action_desc, ch->name ) )
act_obj.c:		&&  !IS_NPC(ch) && str_cmp( name, ch->name )
act_obj.c:		&&   container->value[5] >= 3 )
act_obj.c:		*** -- Scion 5/10/1999
act_obj.c:		&&  !IS_NPC(ch) /*&& IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) */
act_obj.c:		&&   container->value[4] - ch->level < 10
act_obj.c:		&&   container->value[4] - ch->level > -10 )
act_obj.c:		if ( str_cmp( name, ch->name ) && !IS_IMMORTAL(ch) )
act_obj.c:		    for ( gch = first_char; gch; gch = gch->next )
act_obj.c:			&&   !str_cmp( name, gch->name ) )
act_obj.c:		    } Anyone can loot corpses! -- Scion */
act_obj.c:	&&    IS_SET(container->value[1], CONT_CLOSED) )
act_obj.c:	    act( AT_PLAIN, "The $d is closed.", ch, NULL, container->name, TO_CHAR );
act_obj.c:	    obj = get_obj_list( ch, arg1, container->first_content );
act_obj.c:            if( container->item_type == ITEM_CORPSE_PC )
act_obj.c:                pd = container->short_descr;
act_obj.c:                if( str_cmp( name, ch->name ) )
act_obj.c:                    sprintf( buf, "%s is looting %s's corpse!  %s(room %d)", ch->name,
act_obj.c:                             capitalize(name), xIS_SET( obj->extra_flags, ITEM_CLANOBJECT ) ?
act_obj.c:                             "(ClanObject) " : "", ch->in_room->vnum );
act_obj.c:		    sprintf( buf, "%s is looting %s's corpse at %s!", ch->name, capitalize( name ), ch->in_room->name );	
act_obj.c:	     * --Shaddai
act_obj.c:	    if ( container->item_type == ITEM_CORPSE_PC )
act_obj.c:		write_corpses( NULL, container->short_descr+14, NULL );
act_obj.c:            &&  str_cmp( ch->name, container->name+7 ) )
act_obj.c:	    for ( obj = container->first_content; obj; obj = obj_next )
act_obj.c:		obj_next = obj->next_content;
act_obj.c:		if ( ( fAll || nifty_is_name( chk, obj->name ) )
act_obj.c:		    if ( number && (cnt + obj->count) > number )
act_obj.c:			split_obj( obj, number - cnt );
act_obj.c:		    cnt += obj->count;
act_obj.c:		    ||   ch->carry_number >= can_carry_n( ch )
act_obj.c:		    ||   ch->carry_weight >= can_carry_w( ch )
act_obj.c:		    if ( container->item_type == ITEM_KEYRING && !IS_OBJ_STAT(container, ITEM_COVERING) )
act_obj.c:		    if ( container->item_type == ITEM_KEYRING && !IS_OBJ_STAT(container, ITEM_COVERING) )
act_obj.c:	     * --Shaddai
act_obj.c:	    if ( container->item_type == ITEM_CORPSE_PC )
act_obj.c:		write_corpses( NULL, container->short_descr+14, NULL );
act_obj.c:    if ( !container->carried_by && IS_SET(sysdata.save_flags, SV_PUT) )
act_obj.c:	if ( ch->carry_weight + container->weight > can_carry_w(ch) )
act_obj.c:	if ( container->item_type != ITEM_CONTAINER
act_obj.c:	&&   container->item_type != ITEM_KEYRING
act_obj.c:	&&   container->item_type != ITEM_QUIVER )
act_obj.c:	if ( IS_SET(container->value[1], CONT_CLOSED) )
act_obj.c:	    act( AT_PLAIN, "The $d is closed.", ch, NULL, container->name, TO_CHAR );
act_obj.c:	if ( container->item_type == ITEM_KEYRING && obj->item_type != ITEM_KEY )
act_obj.c:	if ( container->item_type == ITEM_QUIVER && obj->item_type != ITEM_PROJECTILE )
act_obj.c:	&&   (get_obj_weight(obj) / obj->count)
act_obj.c:	  > ((get_obj_weight(container) / container->count)
act_obj.c:	  -   container->weight)) )
act_obj.c:	if ( (get_real_obj_weight(obj) / obj->count)
act_obj.c:	   + (get_real_obj_weight(container) / container->count)
act_obj.c:	   >  container->value[0] )
act_obj.c:	count = obj->count;
act_obj.c:	obj->count = 1;
act_obj.c:	if ( container->item_type == ITEM_KEYRING && !IS_OBJ_STAT(container, ITEM_COVERING) )
act_obj.c:	obj->count = count;
act_obj.c:        * --Shaddai
act_obj.c:        if ( container->item_type == ITEM_CORPSE_PC )
act_obj.c:		write_corpses( NULL, container->short_descr+14, NULL );
act_obj.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_CLANSTOREROOM) 
act_obj.c:	&&   container->carried_by == NULL)
act_obj.c:	   for ( clan = first_clan; clan; clan = clan->next )
act_obj.c:	      if ( clan->storeroom == ch->in_room->vnum )
act_obj.c:	for ( obj = ch->first_carrying; obj; obj = obj_next )
act_obj.c:	    obj_next = obj->next_content;
act_obj.c:	    if ( ( fAll || nifty_is_name( chk, obj->name ) )
act_obj.c:	    &&   obj->wear_loc == WEAR_NONE
act_obj.c:	    &&  (container->item_type != ITEM_KEYRING || obj->item_type == ITEM_KEY)
act_obj.c:	    &&  (container->item_type != ITEM_QUIVER  || obj->item_type == ITEM_PROJECTILE)
act_obj.c:		 <= container->value[0] )
act_obj.c:		if ( number && (cnt + obj->count) > number )
act_obj.c:		    split_obj(obj, number - cnt);
act_obj.c:		cnt += obj->count;
act_obj.c:		if ( container->item_type == ITEM_KEYRING )
act_obj.c:	 * Don't bother to save anything if nothing was dropped   -Thoric
act_obj.c:        * --Shaddai
act_obj.c:        if ( container->item_type == ITEM_CORPSE_PC )
act_obj.c:		write_corpses( NULL, container->short_descr+14, NULL );
act_obj.c:        if ( IS_SET(ch->in_room->room_flags, ROOM_CLANSTOREROOM) 
act_obj.c:	&& container->carried_by == NULL )
act_obj.c:	  for ( clan = first_clan; clan; clan = clan->next )
act_obj.c:	     if ( clan->storeroom == ch->in_room->vnum )
act_obj.c:    if ( xIS_SET( ch->act, PLR_LITTERBUG ) )
act_obj.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_NODROP )
act_obj.c:	    if ( ch->gold < number )
act_obj.c:	    ch->gold -= number;
act_obj.c:	    for ( obj = ch->in_room->first_content; obj; obj = obj_next )
act_obj.c:		obj_next = obj->next_content;
act_obj.c:		switch ( obj->pIndexData->vnum )
act_obj.c:		   number += obj->value[0];
act_obj.c:	    obj_to_room( create_money( number ), ch->in_room );
act_obj.c:	obj = obj_to_room( obj, ch->in_room );
act_obj.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_CLANSTOREROOM) )
act_obj.c:	   for ( clan = first_clan; clan; clan = clan->next )
act_obj.c: 	      if ( clan->storeroom == ch->in_room->vnum )
act_obj.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_NODROPALL ) 
act_obj.c:        ||   IS_SET( ch->in_room->room_flags, ROOM_CLANSTOREROOM ) )
act_obj.c:	for ( obj = ch->first_carrying; obj; obj = obj_next )
act_obj.c:	    obj_next = obj->next_content;
act_obj.c:	    if ( (fAll || nifty_is_name( chk, obj->name ) )
act_obj.c:	    &&   obj->wear_loc == WEAR_NONE
act_obj.c:		if ( HAS_PROG(obj->pIndexData, DROP_PROG) && obj->count > 1 ) 
act_obj.c:		     obj_next = ch->first_carrying;
act_obj.c:		   if ( number && (cnt + obj->count) > number )
act_obj.c:		     split_obj( obj, number - cnt );
act_obj.c:		   cnt += obj->count;
act_obj.c:		obj = obj_to_room( obj, ch->in_room );
act_obj.c:	if ( ch->gold < amount )
act_obj.c:	ch->gold     -= amount;
act_obj.c:	victim->gold += amount;
act_obj.c:    if ( obj->wear_loc != WEAR_NONE )
act_obj.c:    if ( victim->carry_number + (get_obj_number(obj)/obj->count) > can_carry_n( victim ) )
act_obj.c:    if ( victim->carry_weight + (get_obj_weight(obj)/obj->count) > can_carry_w( victim ) )
act_obj.c: * Damage an object.						-Thoric
act_obj.c:    ch = obj->carried_by;
act_obj.c:    if ( !IS_NPC(ch) && (!IS_PKILL(ch) || (IS_PKILL(ch) && !IS_SET(ch->pcdata->flags, PCFLAG_GAG))) )
act_obj.c:    if ( obj->in_room && ( ch = obj->in_room->first_person ) != NULL )
act_obj.c:    if( obj->item_type != ITEM_LIGHT && !IS_OBJ_STAT( obj, ITEM_NOSCRAP ) && !in_arena( ch ) )
act_obj.c:    switch( obj->item_type )
act_obj.c:        if (--obj->value[3] <= 0)
act_obj.c:                obj->value[3] = 1;
act_obj.c:        if (--obj->value[0] <= 0)
act_obj.c:		obj->value[0] = 1;
act_obj.c:        if ( ch && obj->value[0] >= 1 )
act_obj.c:            ch->armor += apply_ac( obj, obj->wear_loc );
act_obj.c:        if (--obj->value[0] <= 0)
act_obj.c:                obj->value[0] = 1;
act_obj.c:                ch->armor -= apply_ac( obj, obj->wear_loc );
act_obj.c:            if ( ch && obj->value[0] >= 1 )
act_obj.c:                ch->armor -= apply_ac( obj, obj->wear_loc );
act_obj.c:        if (--obj->value[0] <= 0)
act_obj.c:                obj->value[0] = 1;
act_obj.c:    &&   ch->carry_number + get_obj_number( obj ) > can_carry_n( ch ) )
act_obj.c:	    ch, NULL, obj->name, TO_CHAR );
act_obj.c:       tmpobj->wear_loc = WEAR_WIELD;
act_obj.c: * See if char could be capable of dual-wielding		-Thoric
act_obj.c:    if ( IS_NPC(ch) || ch->pcdata->learned[gsn_dual_wield] )
act_obj.c: * See if char can dual wield at this time			-Thoric
act_obj.c:    sh_int	objlayers = obj->pIndexData->layers;
act_obj.c:    for ( otmp = ch->first_carrying; otmp; otmp = otmp->next_content )
act_obj.c:        if ( otmp->wear_loc == wear_loc )
act_obj.c:            if ( !otmp->pIndexData->layers )
act_obj.c:                bitlayers |= otmp->pIndexData->layers;
act_obj.c: * Restructured a bit to allow for specifying body location	-Thoric
act_obj.c:    if ( (get_trust( ch ) < obj->level) && (obj->level >= LEVEL_IMMORTAL) )
act_obj.c:	    obj->level );
act_obj.c:    }*/  /* -- Removing levels and such, no need for them -- Scion */
act_obj.c:     * objects above level 50 -- Kratas
act_obj.c:     *         -Garinan
act_obj.c:    if( ch->level2 == -1 && obj->level > get_trust( ch ) )
act_obj.c:               obj->level );
act_obj.c:    /* Note, ch->level HAS to be used as opposed to get_trust because ch->level
act_obj.c:    else if( ch->level2 != -1 && obj->level > ch->level && !IS_IMMORTAL( ch ) )
act_obj.c:               obj->level );
act_obj.c:    ||   ( IS_OBJ_STAT(obj, ITEM_ANTI_VAMPIRE) && ch->race == RACE_VAMPIRE )
act_obj.c:    if ( wear_bit > -1 )
act_obj.c:	for ( bit = -1, tmp = 1; tmp < 31; tmp++ )
act_obj.c:    /* currently cannot have a light in non-light position */
act_obj.c:    if ( obj->item_type == ITEM_LIGHT )
act_obj.c:    if ( bit == -1 )
act_obj.c:	    bug( "wear_obj: uknown/unused item_wear bit %d. %s room %d", bit, ch->name, ch->in_room->vnum );
act_obj.c:                    if ( obj->item_type == ITEM_MISSILE_WIELD )
act_obj.c:			act( AT_ACTION, "$n dual-wields $p.", ch, obj, NULL, TO_ROOM );
act_obj.c:			act( AT_ACTION, "You dual-wield $p.", ch, obj, NULL, TO_CHAR );
act_obj.c:            if ( obj->item_type == ITEM_WAND
act_obj.c:               || obj->item_type == ITEM_STAFF
act_obj.c:               || obj->item_type == ITEM_FOOD 
act_obj.c:	       || obj->item_type == ITEM_COOK
act_obj.c:               || obj->item_type == ITEM_PILL
act_obj.c:               || obj->item_type == ITEM_POTION
act_obj.c:               || obj->item_type == ITEM_SCROLL
act_obj.c:               || obj->item_type == ITEM_DRINK_CON 
act_obj.c:               || obj->item_type == ITEM_BLOOD
act_obj.c:               || obj->item_type == ITEM_PIPE
act_obj.c:               || obj->item_type == ITEM_HERB
act_obj.c:               || obj->item_type == ITEM_KEY
act_obj.c:        for ( obj = ch->first_carrying; obj; obj = obj_next )
act_obj.c:            obj_next = obj->next_content;
act_obj.c:            if ( obj->wear_loc == WEAR_NONE && can_see_obj( ch, obj ) )
act_obj.c:                wear_obj( ch, obj, FALSE, -1 );
act_obj.c:	  wear_bit = -1;
act_obj.c:      for ( obj = ch->first_carrying; obj != NULL ; obj = obj_next )
act_obj.c:        obj_next = obj->next_content;
act_obj.c:        if ( obj->wear_loc != WEAR_NONE && can_see_obj ( ch, obj ) )
act_obj.c:          remove_obj ( ch, obj->wear_loc, TRUE );
act_obj.c:    if ( (obj_next=get_eq_char(ch, obj->wear_loc)) != obj )
act_obj.c:    remove_obj( ch, obj->wear_loc, TRUE );
act_obj.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
act_obj.c:      if ( obj->item_type == ITEM_SHOVEL )
act_obj.c:    obj = get_obj_list_rev( ch, arg, ch->in_room->last_content );
act_obj.c:	|| IS_NPC(ch) || !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) )
act_obj.c:    switch( ch->in_room->sector_type )
act_obj.c:    if ( obj->weight > (UMAX(5, (can_carry_w(ch) / 10)))
act_obj.c:    move = (obj->weight * 50 * (shovel ? 1 : 5)) / UMAX(1, can_carry_w(ch));
act_obj.c:    if ( move > ch->move )
act_obj.c:    ch->move -= move;
act_obj.c:    if ( obj->item_type == ITEM_CORPSE_NPC
act_obj.c:    ||   obj->item_type == ITEM_CORPSE_PC )
act_obj.c:    xSET_BIT( obj->extra_flags, ITEM_BURIED );
act_obj.c:    if ( IS_SET( obj->magic_flags, ITEM_PKDISARMED ) )
act_obj.c:            if ( ch->level - obj->value[5] > 5
act_obj.c:            ||   obj->value[5] - ch->level > 5 )
act_obj.c:                           obj->short_descr );
act_obj.c://        if( obj->first_content )
act_obj.c:                       obj->short_descr );
act_obj.c:            for( tmpObj = obj->first_content ; tmpObj ; tmpObj = tmpObj->next )
act_obj.c:                obj_to_room( tmpObj, ch->in_room );
act_obj.c:    ch->gold += 1;
act_obj.c:    if ( obj->item_type == ITEM_CORPSE_NPC
act_obj.c:    ||   obj->item_type == ITEM_CORPSE_PC )
act_obj.c:    if ( cur_obj == obj->serial )
act_obj.c:    if ( arg[0] == '\0' || !str_cmp( arg, ch->name ) )
act_obj.c:    if ( !IS_NPC( ch ) && ch->pcdata->deity && ch->pcdata->deity->name[0] != '\0' )
act_obj.c:	strcpy( name, ch->pcdata->deity->name );
act_obj.c:    else if ( !IS_NPC( ch ) && ch->pcdata->clan && ch->pcdata->clan->deity[0] != '\0' )
act_obj.c:	strcpy( name, ch->pcdata->clan->deity );
act_obj.c:        for( obj = ch->in_room->first_content ; obj ; obj = obj_next )
act_obj.c:            obj_next = obj->next_content;
act_obj.c:            if( !IS_SET(obj->wear_flags, ITEM_TAKE) && obj->item_type != ITEM_CORPSE_NPC )
act_obj.c:            amount = obj->count;
act_obj.c:        obj = get_obj_list_rev( ch, arg, ch->in_room->last_content );
act_obj.c:         * Allow saccing of any item that is able to be picked up -- Kratas
act_obj.c:         * if ( obj->item_type != ITEM_CORPSE_NPC )
act_obj.c:        if( !IS_SET(obj->wear_flags, ITEM_TAKE) && obj->item_type != ITEM_CORPSE_NPC )
act_obj.c:    if ( staff->item_type != ITEM_STAFF )
act_obj.c:    if ( ( sn = staff->value[3] ) < 0
act_obj.c:    ||   skill_table[sn]->spell_fun == NULL )
act_obj.c:	bug( "Do_brandish: bad sn %d on object vnum %d.", sn, staff->pIndexData->vnum );
act_obj.c:    if ( staff->value[2] > 0 )
act_obj.c:	for ( vch = ch->in_room->first_person; vch; vch = vch_next )
act_obj.c:	    vch_next	= vch->next_in_room;
act_obj.c:            if ( !IS_NPC( vch ) && xIS_SET( vch->act, PLR_WIZINVIS ) 
act_obj.c:                  && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
act_obj.c:	    switch ( skill_table[sn]->target )
act_obj.c:	    retcode = obj_cast_spell( staff->value[3], staff->value[0], ch, vch, NULL );
act_obj.c:    if ( --staff->value[2] <= 0 )
act_obj.c:	if ( staff->serial == cur_obj )
act_obj.c:    if ( arg[0] == '\0' && !ch->fighting )
act_obj.c:    if ( wand->item_type != ITEM_WAND )
act_obj.c:	if ( ch->fighting )
act_obj.c:    if ( wand->value[2] > 0 )
act_obj.c:	retcode = obj_cast_spell( wand->value[3], wand->value[0], ch, victim, obj );
act_obj.c:    if ( --wand->value[2] <= 0 )
act_obj.c:      if ( wand->serial == cur_obj )
act_obj.c: * Save items in a clan storage room			-Scryn & Thoric
act_obj.c:    sprintf( filename, "%s%s.vault", CLAN_DIR, clan->filename );
act_obj.c:	templvl = ch->level;
act_obj.c:	ch->level = LEVEL_HERO;		/* make sure EQ doesn't get lost */
act_obj.c:        contents = ch->in_room->last_content;
act_obj.c:	ch->level = templvl;
act_obj.c:    if ( ch->level < 3 )
act_obj.c:    && auction->item == NULL
act_obj.c:        if (auction->item != NULL)
act_obj.c:  	    obj = auction->item;
act_obj.c:            if (auction->bet > 0)
act_obj.c:                sprintf (buf, "\n\rCurrent bid on this item is %d gold.\n\r",auction->bet);
act_obj.c:/*          spell_identify (0, LEVEL_HERO - 1, ch, auction->item); */
act_obj.c:		obj->name,
act_obj.c:		extra_bit_name( &obj->extra_flags ),
act_obj.c:/*		magic_bit_name( obj->magic_flags ), -- currently unused */
act_obj.c:		obj->weight,
act_obj.c:		obj->cost,   
act_obj.c:		obj->level );
act_obj.c:	    if ( obj->item_type != ITEM_LIGHT && obj->wear_flags-1 > 0 )
act_obj.c:		flag_string(obj->wear_flags -1, w_flags ) );
act_obj.c:	    switch ( obj->item_type )
act_obj.c:                  ch_printf( ch, "%s appears to %s.\n\r", capitalize(obj->short_descr),
act_obj.c:   	                obj->value[0] < 76  ? "have a small capacity"           :
act_obj.c:	                obj->value[0] < 150 ? "have a small to medium capacity" :
act_obj.c:			obj->value[0] < 300 ? "have a medium capacity"          :
act_obj.c:	                obj->value[0] < 500 ? "have a medium to large capacity" :
act_obj.c:	                obj->value[0] < 751 ? "have a large capacity"           :
act_obj.c:		  sprintf( buf, "Level %d spells of:", obj->value[0] );
act_obj.c:		  if ( obj->value[1] >= 0 && obj->value[1] < top_sn )
act_obj.c:		     send_to_char( skill_table[obj->value[1]]->name, ch );
act_obj.c:		  if ( obj->value[2] >= 0 && obj->value[2] < top_sn )
act_obj.c:		     send_to_char( skill_table[obj->value[2]]->name, ch );
act_obj.c:		  if ( obj->value[3] >= 0 && obj->value[3] < top_sn )
act_obj.c:		     send_to_char( skill_table[obj->value[3]]->name, ch );
act_obj.c:			obj->value[1], obj->value[2], obj->value[0] );
act_obj.c:		  if ( obj->value[3] >= 0 && obj->value[3] < top_sn )
act_obj.c:		     send_to_char( skill_table[obj->value[3]]->name, ch );
act_obj.c:			obj->value[1], obj->value[2],
act_obj.c:			( obj->value[1] + obj->value[2] ) / 2,
act_obj.c:		  sprintf( buf, "Armor class is %d.\n\r", obj->value[0] );
act_obj.c:	    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
act_obj.c:	    for ( paf = obj->first_affect; paf; paf = paf->next )
act_obj.c:	    if ( (( obj->item_type == ITEM_CONTAINER || obj->item_type == ITEM_KEYRING
act_obj.c:            ||      obj->item_type == ITEM_QUIVER)   && obj->first_content )
act_obj.c:            &&      str_cmp( auction->seller->name, "Kratas" ) )
act_obj.c:		show_list_to_char( obj->first_content, ch, TRUE, FALSE );
act_obj.c:                        auction->seller->name, auction->buyer->name,
act_obj.c:                        (auction->going + 1));
act_obj.c:		sprintf(buf, "Time left in round: %d.\n\r", auction->pulse);
act_obj.c:        if (auction->item == NULL)
act_obj.c:                     auction->item->short_descr);
act_obj.c:            obj_to_char (auction->item, auction->seller);
act_obj.c:                save_char_obj(auction->seller);
act_obj.c:            auction->item = NULL;
act_obj.c:            if (auction->buyer != NULL && auction->buyer != auction->seller) /* return money to the buyer */
act_obj.c:                auction->buyer->gold += auction->bet;
act_obj.c:                send_to_char ("Your money has been returned.\n\r",auction->buyer);
act_obj.c:        if (auction->item != NULL)
act_obj.c:/*	    if ( ch->level < auction->item->level )
act_obj.c:-- Removing level limits slowly but surely -- Scion 
act_obj.c:	    if ( ch == auction->seller)
act_obj.c:            /* make - perhaps - a bet now */
act_obj.c:            newbet = parsebet (auction->bet, arg2);
act_obj.c:	    if (newbet < auction->starting)
act_obj.c: 	       is higher up - changed to 10000 for our high economy
act_obj.c:            if (newbet < (auction->bet + 10000))
act_obj.c:            if (newbet > ch->gold)
act_obj.c:	    /* Is it the item they really want to bid on? --Shaddai */
act_obj.c:	 	 !nifty_is_name( arg3, auction->item->name ) )
act_obj.c:            if (auction->buyer != NULL && auction->buyer != auction->seller)
act_obj.c:                auction->buyer->gold += auction->bet;
act_obj.c:            ch->gold -= newbet; /* substract the gold - important :) */
act_obj.c:            auction->buyer = ch;
act_obj.c:            auction->bet   = newbet;
act_obj.c:            auction->going = 0;
act_obj.c:            auction->pulse = PULSE_AUCTION; /* start the auction over again */
act_obj.c:            sprintf (buf,"A bid of %d gold has been received on %s.\n\r",newbet,auction->item->short_descr);
act_obj.c:    if (obj->timer > 0)
act_obj.c:    for(i = 0; i < AUCTION_MEM && auction->history[i]; i++)
act_obj.c:    	if(auction->history[i] == obj->pIndexData)
act_obj.c:      auction->starting = 0;
act_obj.c:    if (auction->item == NULL)
act_obj.c:    switch (obj->item_type)
act_obj.c:	auction->item = obj;
act_obj.c:	auction->bet = 0;
act_obj.c:	auction->buyer = ch;
act_obj.c:	auction->seller = ch;
act_obj.c:	auction->pulse = PULSE_AUCTION;
act_obj.c:	auction->going = 0;
act_obj.c:	auction->starting = atoi(arg2);
act_obj.c:     		memmove((char *) auction->history+sizeof(OBJ_INDEX_DATA *),
act_obj.c:                      	auction->history, (AUCTION_MEM - 1)*sizeof(OBJ_INDEX_DATA *));
act_obj.c:                auction->history[0] = obj->pIndexData;
act_obj.c:	auction->hist_timer = 0;
act_obj.c:	if (auction->starting > 0)
act_obj.c:	  auction->bet = auction->starting;
act_obj.c:	sprintf (buf, "A new item is being auctioned: %s at %d gold.", obj->short_descr, auction->starting);
act_obj.c:        act (AT_TELL, "Try again later - $p is being auctioned right now!",ch,auction->item,NULL,TO_CHAR);
act_obj.c:/* Make objects in rooms that are nofloor fall - Scryn 1/23/96 */
act_obj.c:    static bool is_falling; /* Stop loops from the call to obj_to_room()  -- Altrag */
act_obj.c:    if ( !obj->in_room || is_falling )
act_obj.c:     if ( IS_SET( obj->in_room->room_flags, ROOM_NOFLOOR )
act_obj.c:	pexit = get_exit( obj->in_room, DIR_DOWN );
act_obj.c:    	to_room = pexit->to_room;
act_obj.c:	if (obj->in_room == to_room)
act_obj.c:		to_room->vnum);
act_obj.c:	if (obj->in_room->first_person)
act_obj.c:			obj->in_room->first_person, obj, NULL, TO_ROOM );
act_obj.c:			obj->in_room->first_person, obj, NULL, TO_CHAR );
act_obj.c:	if (obj->in_room->first_person)
act_obj.c:			obj->in_room->first_person, obj, NULL, TO_ROOM );
act_obj.c:			obj->in_room->first_person, obj, NULL, TO_CHAR );
act_obj.c: 	if (!IS_SET( obj->in_room->room_flags, ROOM_NOFLOOR ) && through )
act_obj.c:/*		int dam = (int)9.81*sqrt(fall_count*2/9.81)*obj->weight/2;
act_obj.c:*/		int dam = fall_count*obj->weight/2;
act_obj.c:		if ( obj->in_room->first_person && number_percent() > 15 )
act_obj.c:			for ( rch = obj->in_room->first_person; rch;
act_obj.c:				rch = rch->next_in_room, chcnt++ )
act_obj.c:			damage( vch, vch, dam*vch->level, TYPE_UNDEFINED );
act_obj.c:	    switch( obj->item_type )
act_obj.c:		    if ( (obj->value[0] - dam) <= 0 )
act_obj.c:   			if (obj->in_room->first_person)
act_obj.c:				obj->in_room->first_person, obj, NULL, TO_ROOM );
act_obj.c:				obj->in_room->first_person, obj, NULL, TO_CHAR );
act_obj.c:	           	obj->value[0] -= dam;
act_obj.c:	              if (obj->in_room->first_person)
act_obj.c:			    	obj->in_room->first_person, obj, NULL, TO_ROOM );
act_obj.c:		    		obj->in_room->first_person, obj, NULL, TO_CHAR );
act_obj.c: * blank.  7/6/98 -- Shaddai
act_obj.c:  obj = recursive_note_find(ch->first_carrying, argument);
act_obj.c:    if(obj->in_obj)
act_obj.c:    wear_obj(ch, obj, TRUE, -1);
act_obj.c:  switch(obj->item_type)
act_obj.c:      if ((subject = get_extra_descr( "_subject_", obj->first_extradesc))==NULL)
act_obj.c:      if(obj->first_content)
act_obj.c:      	returned_obj = recursive_note_find(obj->first_content, argument); 
act_obj.c:  return recursive_note_find(obj->next_content, argument);
act_obj.c:	bug( "Donation room %d is non-existant!", ROOM_VNUM_DONATE );
act_obj.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_CLANSTOREROOM ) )
act_obj.c:	for ( clan = first_clan; clan; clan = clan->next )
act_obj.c:	    if ( clan->storeroom == ch->in_room->vnum )
act_obj.c: * Junk command installed by Samson 1-13-98
act_obj.c:    for ( obj = ch->first_carrying; obj; obj = obj_next )
act_obj.c:        obj_next = obj->next_content;
act_obj.c:        if ( ( nifty_is_name( chk, obj->name ) )
act_obj.c:             &&   obj->wear_loc == WEAR_NONE )
act_obj.c:        if (!can_drop_obj(ch, obj) && ch->level < LEVEL_IMMORTAL )
act_obj.c:/* Connect pieces of an ITEM -- Originally from ACK!  *
act_obj.c:  if ( first_ob->item_type != ITEM_PIECE || second_ob->item_type != ITEM_PIECE )
act_obj.c:  if (  ( first_ob->value[0] == second_ob->pIndexData->vnum )
act_obj.c:     || ( first_ob->value[1] == second_ob->pIndexData->vnum )  )
act_obj.c:    new_ob = create_object( get_obj_index( first_ob->value[2] ), ch->level );
act_wiz.c: * -----------------------------------------------------------|   (0...0)   *
act_wiz.c: * -----------------------------------------------------------|    {o o}    *
act_wiz.c: * ------------------------------------------------------------------------ *
act_wiz.c: * ------------------------------------------------------------------------ *
act_wiz.c:#include "imc-mercbase.h"
act_wiz.c:static int bpid = -1;
act_wiz.c:    "Bald", "Crew-Cut", "Short", "Medium", "Long", "Waist"
act_wiz.c:    "Aqua", "Brown", "Green", "Teal", "Blue-Green", "Hazel", "Blue",
act_wiz.c:    "Hazel-Blue", "Hazel-Green", "Light Brown", "Baby Blue",
act_wiz.c:    "Jade", "Red", "Blood-Red", "Silver"
act_wiz.c:    return -1;
act_wiz.c:    for( d = first_descriptor ; d ; d = d->next )
act_wiz.c://    for ( vch = first_char; vch; vch = vch->next )
act_wiz.c:        if( !d->character )
act_wiz.c:        vch = d->character;
act_wiz.c:           /* pager_printf( ch, "Saving %-s...\n\r", vch->name ); */
act_wiz.c:    for ( tarea = first_build; tarea; tarea = tarea->next )
act_wiz.c:       if ( !IS_SET(tarea->status, AREA_LOADED ) )
act_wiz.c:       sprintf( filename, "%s%s", BUILD_DIR, tarea->filename );
act_wiz.c:    for ( pHelp = first_help; pHelp; pHelp = pHelp->next )
act_wiz.c:            pHelp->level, pHelp->keyword, help_fix(pHelp->text) );
act_wiz.c:   sprintf( fname, "%s%s", WATCH_DIR, strlower( ch->name ) );
act_wiz.c:   sprintf( fname, "%s%s", WATCH_DIR, strlower( ch->name ) );
act_wiz.c:   sprintf( fname, "%s%s", WATCH_DIR, strlower( ch->name ) );
act_wiz.c:   pager_printf( ch, "%-12s %-14s %-15s\n\r",
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( get_trust(ch) >= pw->imm_level )
act_wiz.c:             pager_printf( ch, "%-14s %-12s %-15s\n\r",
act_wiz.c:                  pw->imm_name, pw->target_name?pw->target_name:" ", 
act_wiz.c:		  pw->player_site?pw->player_site:" " );
act_wiz.c:   pager_printf( ch, "%-3s %-12s %-14s %-15s\n\r",
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( !str_cmp(ch->name, pw->imm_name) )
act_wiz.c:             pager_printf( ch, "%3d %-12s %-14s %-15s\n\r",
act_wiz.c:                 ++cou, pw->imm_name, pw->target_name?pw->target_name:" ", 
act_wiz.c:		 pw->player_site?pw->player_site:" " );
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( !str_cmp(ch->name, pw->imm_name) )
act_wiz.c:                /* Oops someone forgot to clear up the memory --Shaddai */
act_wiz.c:                if ( pw->imm_name ) DISPOSE ( pw->imm_name );
act_wiz.c:                if ( pw->player_site ) DISPOSE( pw->player_site );
act_wiz.c:                if ( pw->target_name ) DISPOSE( pw->target_name );
act_wiz.c:                 * pointer -- Shaddai 
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( !str_cmp(ch->name, pw->imm_name)
act_wiz.c:	  && pw->target_name
act_wiz.c:          &&   !str_cmp(arg2    , pw->target_name) )
act_wiz.c:   pinsert->imm_level    = get_trust(ch);
act_wiz.c:   pinsert->imm_name     = str_dup( strlower( ch->name ) );
act_wiz.c:   pinsert->target_name  = str_dup( strlower( arg2 ) );
act_wiz.c:   pinsert->player_site  = NULL;
act_wiz.c:  /* so I do a str_cmp to make sure it finds the right player --Gorog */
act_wiz.c:      if ( (!IS_NPC(vic)) && !str_cmp(arg2, vic->name) )
act_wiz.c:         SET_BIT( vic->pcdata->flags, PCFLAG_WATCH );
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( strcmp(pinsert->imm_name, pw->imm_name) < 0 )
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( !str_cmp(ch->name, pw->imm_name)
act_wiz.c:	  &&   pw->player_site
act_wiz.c:          &&   !str_cmp(arg2    , pw->player_site) )
act_wiz.c:   pinsert->imm_level    = get_trust(ch);
act_wiz.c:   pinsert->imm_name     = str_dup( strlower( ch->name ) );
act_wiz.c:   pinsert->player_site  = str_dup( strlower( arg2 ) );
act_wiz.c:   pinsert->target_name  = NULL;
act_wiz.c:   for ( vic = first_char; vic; vic = vic->next )
act_wiz.c:       if ( !IS_NPC(vic) && vic->desc && *pinsert->player_site
act_wiz.c:       && !str_prefix( pinsert->player_site, vic->desc->host )
act_wiz.c:       && get_trust(vic) < pinsert->imm_level )
act_wiz.c:          SET_BIT( vic->pcdata->flags, PCFLAG_WATCH );
act_wiz.c:      for ( pw = first_watch; pw; pw = pw->next )
act_wiz.c:          if ( strcmp(pinsert->imm_name, pw->imm_name) < 0 )
act_wiz.c: * Watch a specific command - FB
act_wiz.c:	for(pw = first_watch; pw; pw = pw->next)
act_wiz.c:		if(!str_cmp(ch->name, pw->imm_name)
act_wiz.c:			&& pw->target_name
act_wiz.c:			&& !str_cmp(arg2, pw->target_name))
act_wiz.c:	for(cmd = command_hash[LOWER(arg2[0])%126]; cmd; cmd = cmd->next )
act_wiz.c:		if(!strcmp(arg2, cmd->name))
act_wiz.c:		SET_BIT(cmd->flags, CMD_WATCH);
act_wiz.c:	pinsert->imm_level = get_trust(ch);
act_wiz.c:	pinsert->imm_name = str_dup(strlower(ch->name));
act_wiz.c:	pinsert->player_site = NULL;
act_wiz.c:	pinsert->target_name = str_dup(arg2);
act_wiz.c:	for(pw = first_watch; pw; pw = pw->next)
act_wiz.c:		if(strcmp(pinsert->imm_name, pw->imm_name) < 0)
act_wiz.c:	for ( cmd = command_hash[hash]; cmd; cmd = cmd->next )
act_wiz.c:	    if ( cmd->level >= LEVEL_HERO
act_wiz.c:	    &&   cmd->level <= get_trust( ch ) )
act_wiz.c:		pager_printf( ch, "%-12s", cmd->name );
act_wiz.c:     * for(level = LEVEL_IMMORTAL - 1; level <= LEVEL_SUPREME + 1; level++ )
act_wiz.c:    for( level = LEVEL_IMMORTAL -1 ; level <= get_trust( ch ) ; level ++ )
act_wiz.c:            for ( cmd = command_hash[hash]; cmd; cmd = cmd->next )
act_wiz.c:                if ( cmd->level >= LEVEL_HERO
act_wiz.c:                     &&   cmd->level <= get_trust( ch )
act_wiz.c:                     &&   cmd->level == level )
act_wiz.c:                    pager_printf( ch, "%-12s", cmd->name );
act_wiz.c:    for ( cmd = command_hash[hash]; cmd; cmd = cmd->next )
act_wiz.c:	if ( !str_prefix( arg, cmd->name )
act_wiz.c:	&&    cmd->level <= get_trust( ch ) )
act_wiz.c:    		sprintf(buf, "%s show", cmd->name);
act_wiz.c:/*    		ch_printf( ch, "%s is at level %d.\n\r", cmd->name, cmd->level );*/
act_wiz.c:	cmd->level = level;
act_wiz.c:	   cmd->name, level );
act_wiz.c:	     ch->name, cmd->name, level );
act_wiz.c:  for ( d = first_descriptor; d; d = d->next ) 
act_wiz.c:    if ( d->character && (!str_prefix( name, d->character->name )) &&
act_wiz.c:         IS_WAITING_FOR_AUTH(d->character) )
act_wiz.c:      ret_char = d->character;       /* return current char on exit */
act_wiz.c:        send_to_char( "---------------------------------------------\n\r", ch );
act_wiz.c:        for ( d = first_descriptor; d; d = d->next )
act_wiz.c:            if ( (victim = d->character) != NULL && IS_WAITING_FOR_AUTH(victim) )
act_wiz.c:                           victim->name,
act_wiz.c:                           victim->desc->host,
act_wiz.c:                           race_table[victim->race]->race_name,
act_wiz.c:                           class_table[victim->class]->who_name );
act_wiz.c:        victim->pcdata->auth_state = 3;
act_wiz.c:        if ( victim->pcdata->authed_by )
act_wiz.c:            STRFREE( victim->pcdata->authed_by );
act_wiz.c:        victim->pcdata->authed_by = QUICKLINK( ch->name );
act_wiz.c:        sprintf( buf, "%s: authorized", victim->name);
act_wiz.c:        ch_printf( ch, "You have authorized %s.\n\r", victim->name);
act_wiz.c:        /* Below sends a message to player when name is accepted - Brittany */
act_wiz.c:                         "this area.\n\r", victim->name);
act_wiz.c:        sprintf( buf, "%s: denied authorization", victim->name);
act_wiz.c:        ch_printf( ch, "You have denied %s.\n\r", victim->name);
act_wiz.c:        victim->pcdata->auth_state = 2;
act_wiz.c:        sprintf( buf, "%s: name denied", victim->name);
act_wiz.c:                        "Immortal's name.\n\r", victim->name);
act_wiz.c:        ch_printf( ch, "You requested %s change names.\n\r", victim->name);
act_wiz.c:        DISPOSE( ch->pcdata->bamfin );
act_wiz.c:        ch->pcdata->bamfin = str_dup( argument );
act_wiz.c:                strcpy(newbamf, ch->name);
act_wiz.c:                strcat(newbamf, ch->name);
act_wiz.c:            a+=strlen(ch->name);
act_wiz.c:    DISPOSE( ch->pcdata->bamfin );
act_wiz.c:    ch->pcdata->bamfin = str_dup( newbamf );
act_wiz.c:        DISPOSE( ch->pcdata->bamfout );
act_wiz.c:        ch->pcdata->bamfout = str_dup( argument );
act_wiz.c:                strcpy(newbamf, ch->name);
act_wiz.c:                strcat(newbamf, ch->name);
act_wiz.c:            a+=strlen(ch->name);
act_wiz.c:    DISPOSE( ch->pcdata->bamfout );
act_wiz.c:    ch->pcdata->bamfout = str_dup( newbamf );
act_wiz.c:    if( ch->level2 != -1 )
act_wiz.c:        if( ch->level < LEVEL_PCAVATAR )
act_wiz.c:    DISPOSE( ch->pcdata->rank );
act_wiz.c:        ch->pcdata->rank = str_dup( "" );
act_wiz.c:        ch->pcdata->rank = str_dup( argument );
act_wiz.c:    if ( victim->level < LEVEL_SAVIOR )
act_wiz.c:      REMOVE_BIT( victim->pcdata->flags, PCFLAG_RETIRED );
act_wiz.c:      ch_printf( ch, "%s returns from retirement.\n\r", victim->name );
act_wiz.c:      ch_printf( victim, "%s brings you back from retirement.\n\r", ch->name );
act_wiz.c:      SET_BIT( victim->pcdata->flags, PCFLAG_RETIRED );
act_wiz.c:      ch_printf( ch, "%s is now a retired immortal.\n\r", victim->name );
act_wiz.c:      ch_printf( victim, "Courtesy of %s, you are now a retired immortal.\n\r", ch->name );
act_wiz.c:      victim->wait = 0;
act_wiz.c:    ch_printf( ch, "You've delayed %s for %d rounds.\n\r", victim->name, delay );
act_wiz.c:    xSET_BIT(victim->act, PLR_DENY);
act_wiz.c:    ch_printf( ch, "You have denied access to %s.\n\r", victim->name );
act_wiz.c:    if ( victim->fighting )
act_wiz.c:    if ( victim->desc == NULL )
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:	if ( d == victim->desc )
act_wiz.c:  if ( victim->level != 1 )  
act_wiz.c:  if ( victim->fighting )
act_wiz.c:  ch_printf( ch, "You have forced %s to quit.\n\r", victim->name ); 
act_wiz.c:    /* this is a nasty and dangerous command , so , log it - shogar */
act_wiz.c:    sprintf(arg,"Forceclose issued by %s on %s",ch->name,argument);
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:	if ( d->descriptor == desc )
act_wiz.c:	    if ( d->character && get_trust(d->character) >= get_trust(ch) )
act_wiz.c:		and polymorphed-shogar also beware extracted chars */
act_wiz.c:            if(! d->character)
act_wiz.c:            if(d->original || d->character->switched)
act_wiz.c:	if ( xIS_SET(victim->act, PLR_ATTACKER) )
act_wiz.c:	    xREMOVE_BIT( victim->act, PLR_ATTACKER );
act_wiz.c:	    ch_printf( ch, "Attacker flag removed from %s.\n\r", victim->name );
act_wiz.c:	if ( xIS_SET(victim->act, PLR_KILLER) )
act_wiz.c:	    xREMOVE_BIT(victim->act, PLR_KILLER );
act_wiz.c:	    ch_printf( ch, "Killer flag removed from %s.\n\r", victim->name );
act_wiz.c:	if ( xIS_SET(victim->act, PLR_THIEF) )
act_wiz.c:	    xREMOVE_BIT(victim->act, PLR_THIEF );
act_wiz.c:	    ch_printf( ch, "Thief flag removed from %s.\n\r", victim->name );
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:           miss out on important info like upcoming reboots. --Narn */ 
act_wiz.c:        if ( d->connected == CON_PLAYING || d->connected == CON_EDITING
act_wiz.c:        || ( d->connected >= CON_NOTE_TO
act_wiz.c:        &&   d->connected <= CON_NOTE_FINISH))
act_wiz.c:	    if ( tar == ECHOTAR_PC && IS_NPC(d->character) )
act_wiz.c:	    else if ( tar == ECHOTAR_IMM && !IS_IMMORTAL(d->character) )
act_wiz.c:	    set_char_color( AT_COLOR, d->character );
act_wiz.c:	    send_to_char( argument, d->character );
act_wiz.c:	    send_to_char( "\n\r",   d->character );
act_wiz.c:    if ( xIS_SET(ch->act, PLR_NO_EMOTE) ) {
act_wiz.c:    for ( vic = room->first_person; vic; vic = vic->next_in_room )
act_wiz.c:    if ( xIS_SET(ch->act, PLR_NO_EMOTE) ) {
act_wiz.c:       echo_to_room ( color, ch->in_room, argument );
act_wiz.c:       echo_to_room ( AT_IMMORT, ch->in_room, argument );
act_wiz.c:	return victim->in_room;
act_wiz.c:	return obj->in_room;
act_wiz.c:	for ( d = first_descriptor; d; d = d->next )
act_wiz.c:	    if ( d->connected == CON_PLAYING
act_wiz.c:	    &&   d->character != ch
act_wiz.c:	    &&   d->character->in_room
act_wiz.c:	    &&   d->newstate != 2
act_wiz.c:	    &&   can_see( ch, d->character ) )
act_wiz.c:		sprintf( buf, "%s %s", d->character->name, arg2 );
act_wiz.c:	location = ch->in_room;
act_wiz.c:    if ( !victim->in_room )
act_wiz.c:    if(!IS_NPC(victim) && IS_SET(victim->pcdata->flags,PCFLAG_IMMPROOF))
act_wiz.c:		send_to_char("They will have to CONFIG -IMMPROOF first\n\r",ch);
act_wiz.c:    if ( victim->fighting )
act_wiz.c:    victim->retran = victim->in_room->vnum;
act_wiz.c:    &&   !in_hard_range( victim, location->area ) )
act_wiz.c:	sprintf(buf, "'%s' %d", victim->name, victim->retran);
act_wiz.c:	sprintf(buf, "%d", ch->regoto);
act_wiz.c: *  --Shaddai
act_wiz.c:    	 || !IS_NPC(wch) || wch->in_room == NULL)
act_wiz.c:    location = wch->in_room;
act_wiz.c:    original = ch->in_room;
act_wiz.c:    	 || !obj->in_room )
act_wiz.c:    location = obj->in_room;
act_wiz.c:    original = ch->in_room;
act_wiz.c:    	for ( d = first_descriptor; d; d = d->next )
act_wiz.c:            if(( d->connected != CON_PLAYING
act_wiz.c:            &&   d->connected != CON_EDITING)
act_wiz.c:            || ( d->connected <= CON_NOTE_TO
act_wiz.c:            &&   d->connected >= CON_NOTE_FINISH)
act_wiz.c:            ||  !can_see( ch, d->character ) || str_cmp(d->character->name,arg))
act_wiz.c:	  location = d->character->in_room;
act_wiz.c:    original = ch->in_room;
act_wiz.c:    original = ch->in_room;
act_wiz.c:	location = ch->in_room;
act_wiz.c:		location->name, location->vnum );
act_wiz.c:	for ( cnt = 0, pexit = location->first_exit; pexit; pexit = pexit->next ) 
act_wiz.c:		"&W%2d) &w%2s to %-5d  &cKey: &w%d  &cFlags: &w%d  &cKeywords: '&w%s&c'\n\r     Exdesc: &w%s\n\r     &cBack link: &w%d  &cVnum: &w%d  &cDistance: &w%d  &cPulltype: &w%s  &cPull: &w%d\n\r",
act_wiz.c:		dir_text[pexit->vdir],
act_wiz.c:		pexit->to_room ? pexit->to_room->vnum : 0,
act_wiz.c:		pexit->key,
act_wiz.c:		pexit->exit_info,
act_wiz.c:		pexit->keyword,
act_wiz.c:		pexit->description[0] != '\0'
act_wiz.c:		    ? pexit->description : "(none).\n\r",
act_wiz.c:		pexit->rexit ? pexit->rexit->vnum : 0,
act_wiz.c:		pexit->rvnum,
act_wiz.c:		pexit->distance,
act_wiz.c:		pull_type_name(pexit->pulltype),
act_wiz.c:		pexit->pull );
act_wiz.c:    location = ( arg[0] == '\0' ) ? ch->in_room : find_location( ch, arg );
act_wiz.c:    if ( ch->in_room != location && room_is_private( location ) )
act_wiz.c:	location->name,
act_wiz.c:	location->area ? location->area->name : "None????",
act_wiz.c:	location->area ? location->area->filename : "None????" );
act_wiz.c:    switch( ch->in_room->sector_type ) {
act_wiz.c:	location->vnum,
act_wiz.c:	location->sector_type,
act_wiz.c:	location->light );
act_wiz.c:    if ( location->tunnel > 0 )
act_wiz.c:	ch_printf_color( ch, "   &cTunnel: &W%d", location->tunnel );
act_wiz.c:    if ( location->tele_delay > 0 || location->tele_vnum > 0 )
act_wiz.c:		location->tele_delay,
act_wiz.c:		location->tele_vnum );
act_wiz.c:	flag_string(location->room_flags, r_flags) );
act_wiz.c:    if( !ch->in_room->compress )
act_wiz.c:	ch_printf_color( ch, "&cDescription:\n\r&w%s", location->description );
act_wiz.c:        decompressRoom( ch->in_room );
act_wiz.c:        ch_printf_color( ch, "&cDescription:\n\r&w%s", location->uncomp_desc );
act_wiz.c:        DISPOSE( ch->in_room->uncomp_desc );
act_wiz.c:    showRoom( ch, ch->in_room );
act_wiz.c:    if ( location->first_extradesc )
act_wiz.c:	for ( ed = location->first_extradesc; ed; ed = ed->next )
act_wiz.c:	    send_to_char( ed->keyword, ch );
act_wiz.c:	    if ( ed->next )
act_wiz.c:    for ( paf = location->first_affect; paf; paf = paf->next )
act_wiz.c:	    affect_loc_name( paf->location ), paf->modifier );
act_wiz.c:/* lets see if we can make life easier , show the progtypes - shogar */
act_wiz.c:	ext_flag_string(&location->progtypes,mprog_flags));
act_wiz.c:    for ( rch = location->first_person; rch; rch = rch->next_in_room )
act_wiz.c:	  one_argument( rch->name, buf );
act_wiz.c:    for ( obj = location->first_content; obj; obj = obj->next_content )
act_wiz.c:	one_argument( obj->name, buf );
act_wiz.c:    if ( location->first_exit )
act_wiz.c:	send_to_char_color(  "&c------------------- &wEXITS &c-------------------\n\r", ch );
act_wiz.c:    for ( cnt = 0, pexit = location->first_exit; pexit; pexit = pexit->next )
act_wiz.c:	  "%2d) %-2s to %-5d.  Key: %d  Flags: %d  Keywords: %s.\n\r",
act_wiz.c:		dir_text[pexit->vdir],
act_wiz.c:		pexit->to_room ? pexit->to_room->vnum : 0,
act_wiz.c:		pexit->key,
act_wiz.c:		pexit->exit_info,
act_wiz.c:		pexit->keyword[0] != '\0' ? pexit->keyword : "(none)" );
act_wiz.c:	/* lets see the exflags here - shogar */
act_wiz.c:         ch_printf(ch,"    FlagsStr: %s\n",flag_string(pexit->exit_info,ex_flags));
act_wiz.c:/* Face-lift by Demora */
act_wiz.c:    ch_printf_color( ch, "&cName: &C%s\n\r", obj->name );
act_wiz.c:    ch_printf_color( ch, "&cVnum: &w%d  ", obj->pIndexData->vnum );
act_wiz.c:    ch_printf_color( ch, "&cCount:  &w%d  ", obj->pIndexData->count );
act_wiz.c:    ch_printf_color( ch, "&cGcount: &w%d\n\r", obj->count );
act_wiz.c:    ch_printf_color( ch, "&cSerial#: &w%d  ", obj->serial );
act_wiz.c:    ch_printf_color( ch, "&cTopIdxSerial#: &w%d  ", obj->pIndexData->serial );
act_wiz.c:    ch_printf_color( ch, "&cShort description: &C%s\n\r", obj->short_descr);
act_wiz.c:    ch_printf_color( ch, "&cLong description : &C%s\n\r", obj->description);
act_wiz.c:    if ( obj->action_desc[0] != '\0' )
act_wiz.c:	ch_printf_color( ch, "&cAction description: &w%s\n\r", obj->action_desc );
act_wiz.c:    ch_printf_color( ch, "&cWear flags : &w%s\n\r", flag_string(obj->wear_flags,w_flags) );
act_wiz.c:    ch_printf_color( ch, "&cExtra flags: &w%s\n\r", ext_flag_string(&obj->extra_flags, o_flags) );
act_wiz.c:    ch_printf_color( ch, "&cMagic flags: &w%s\n\r", magic_bit_name( obj->magic_flags ) );
act_wiz.c:    ch_printf_color( ch, "&cWeight: &w%d/%d   ", obj->weight, get_obj_weight(obj) );
act_wiz.c:    ch_printf_color( ch, "&cLayers: &w%d   ", obj->pIndexData->layers );
act_wiz.c:    ch_printf_color( ch, "&cWear_loc: &w%d\n\r", obj->wear_loc );
act_wiz.c:    ch_printf_color( ch, "&cCost: &Y%d  ", obj->cost );
act_wiz.c:    ch_printf_color( ch, "&cRent: &w%d  ", obj->pIndexData->rent );
act_wiz.c:    if ( obj->timer > 0 )
act_wiz.c:	ch_printf_color( ch, "&R%d  ", obj->timer );
act_wiz.c:	ch_printf_color( ch, "&w%d  ", obj->timer );
act_wiz.c:    ch_printf_color( ch, "&cLevel: &P%d\n\r", obj->level );
act_wiz.c:    ch_printf_color( ch, "&cIn room: &w%d  ", obj->in_room == NULL ? 0 : obj->in_room->vnum );
act_wiz.c:    ch_printf_color( ch, "&cIn object: &w%s  ", obj->in_obj == NULL ? "(none)" : obj->in_obj->short_descr );
act_wiz.c:    ch_printf_color( ch, "&cCarried by: &C%s\n\r", obj->carried_by == NULL ? "(none)" : obj->carried_by->name );
act_wiz.c:	obj->pIndexData->value[0], obj->pIndexData->value[1],
act_wiz.c:        obj->pIndexData->value[2], obj->pIndexData->value[3],
act_wiz.c:        obj->pIndexData->value[4], obj->pIndexData->value[5] );
act_wiz.c:    if(obj->pIndexData->item_type == ITEM_FURNITURE)
act_wiz.c:	ch_printf_color(ch,"&cFurnitureFlags: &w%s\n\r",flag_string(obj->pIndexData->value[2],fur_pos));
act_wiz.c:        obj->value[0], obj->value[1], obj->value[2], obj->value[3],
act_wiz.c:	obj->value[4], obj->value[5] );
act_wiz.c:    if(obj->item_type == ITEM_FURNITURE)
act_wiz.c:	ch_printf_color(ch,"&cFurnitureFlags: &w%s\n\r",flag_string(obj->value[2],fur_pos));
act_wiz.c:    if ( obj->pIndexData->first_extradesc )
act_wiz.c:	for ( ed = obj->pIndexData->first_extradesc; ed; ed = ed->next )
act_wiz.c:	    send_to_char( ed->keyword, ch );
act_wiz.c:	    if ( ed->next )
act_wiz.c:    if ( obj->first_extradesc )
act_wiz.c:	for ( ed = obj->first_extradesc; ed; ed = ed->next )
act_wiz.c:	    send_to_char( ed->keyword, ch );
act_wiz.c:	    if ( ed->next )
act_wiz.c:/* lets see if we can make life easier , show the progtypes - shogar */
act_wiz.c:	ext_flag_string(&obj->pIndexData->progtypes,mprog_flags));
act_wiz.c:     -- Kratas */
act_wiz.c:    for ( count = 1, paf = obj->first_affect; paf; paf = paf->next, count++ )
act_wiz.c:	    count, affect_loc_name( paf->location ), paf->modifier );
act_wiz.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next, count++ )
act_wiz.c:	    count, affect_loc_name( paf->location ), paf->modifier );
act_wiz.c:    pager_printf_color( ch, "\n\r&c%s: &C%-20s", IS_NPC(victim) ? "Mobile name" : "Name", victim->name );
act_wiz.c:	pager_printf_color( ch, "&cStatus : &w%-10s", CAN_PKILL(victim) ? "Deadly" :
act_wiz.c:	    IS_PKILL(victim) ? "Pre-Deadly" : "Non-Deadly" ); -- Scion */
act_wiz.c:    if ( !IS_NPC(victim) && victim->pcdata->clan )
act_wiz.c:	    victim->pcdata->clan->clan_type == CLAN_ORDER ? "Order" :
act_wiz.c:	    victim->pcdata->clan->clan_type == CLAN_GUILD ? "Guild" : "Clan",
act_wiz.c:	    victim->pcdata->clan->name );
act_wiz.c:    if ( get_trust(ch) >= LEVEL_GOD && !IS_NPC(victim) && victim->desc )
act_wiz.c:		victim->desc->user, victim->desc->host, victim->desc->descriptor,
act_wiz.c:		victim->trust, victim->pcdata->authed_by != NULL ?
act_wiz.c:		victim->pcdata->authed_by : "(unknown)" );
act_wiz.c:    if ( !IS_NPC(victim) && victim->pcdata->release_date != 0 )
act_wiz.c:		ctime(&victim->pcdata->release_date),
act_wiz.c:		victim->pcdata->helled_by);
act_wiz.c:    pager_printf_color( ch, "&cVnum: &w%-5d    &cSex: &w%-6s    &cRoom: &w%-5d    &cCount: &w%d   &cKilled: &w%d\n\r",
act_wiz.c:	IS_NPC(victim) ? victim->pIndexData->vnum : 0,
act_wiz.c:	victim->sex == SEX_MALE    ? "male"   :
act_wiz.c:	victim->sex == SEX_FEMALE  ? "female" : "neutral",
act_wiz.c:	victim->in_room == NULL    ?        0 : victim->in_room->vnum,
act_wiz.c:	IS_NPC(victim) ? victim->pIndexData->count : 1,
act_wiz.c:	IS_NPC(victim) ? victim->pIndexData->killed
act_wiz.c:		       : victim->pcdata->mdeaths + victim->pcdata->pdeaths );
act_wiz.c:    if ( victim->class < MAX_NPC_CLASS && (victim->class >= 0 || victim->class2 >= 0)
act_wiz.c:    &&   victim->race  < MAX_NPC_RACE  && victim->race  >= 0 )
act_wiz.c:        pager_printf_color( ch, "&cLevel   : &P%-3d             &cClass  : &w%-2.2d/%-10s   &cRace      : &w%-2.2d/%-10s\n\r",
act_wiz.c:                            victim->level,
act_wiz.c:                            victim->class,
act_wiz.c:                            npc_class[victim->class],
act_wiz.c:                            victim->race,
act_wiz.c:                            npc_race[victim->race] /*,
act_wiz.c:                            victim->position*/ );
act_wiz.c:        pager_printf_color( ch, "&cLevel   : &P%-3d             &cClass  : &w%-2.2d/%-10s\n\r",
act_wiz.c:                            victim->level2,
act_wiz.c:                            victim->class2,
act_wiz.c:                            npc_class[victim->class2] );
act_wiz.c:    sprintf( hpbuf, "%d/%d", victim->hit, victim->max_hit );
act_wiz.c:    sprintf( mnbuf, "%d/%d", victim->mana, victim->max_mana );
act_wiz.c:    sprintf( mvbuf, "%d/%d", victim->move, victim->max_move );
act_wiz.c:      sprintf( bdbuf, "%d/%d", victim->pcdata->condition[COND_BLOODTHIRST],
act_wiz.c:        10 + victim->level );
act_wiz.c:      pager_printf_color( ch, "&cHps     : &w%-12s    &cBlood  : &w%-12s    &cMove      : &w%-12s\n\r",
act_wiz.c:    pager_printf_color( ch, "&cHps     : &w%-12s    &cMana   : &w%-12s    &cMove      : &w%-12s\n\r",
act_wiz.c:    pager_printf_color( ch,  "&cHitroll : &C%-5d           &cAlign  : &w%-5d           &cArmorClass: &w%d\n\r",
act_wiz.c:	get_hitroll( victim, TRUE ), victim->alignment, GET_AC(victim) );
act_wiz.c:    pager_printf_color( ch, "&cDamroll : &C%-5d           &cWimpy  : &w%-5d           &cPosition  : &w%d\n\r",
act_wiz.c:	get_damroll( victim, TRUE ), victim->wimpy, victim->position );
act_wiz.c:    pager_printf_color( ch, "&cFighting: &w%-13s   &cMaster : &w%-13s   &cLeader    : &w%s\n\r",
act_wiz.c:	victim->fighting ? victim->fighting->who->name : "(none)",
act_wiz.c:        victim->master      ? victim->master->name   : "(none)",
act_wiz.c:        victim->leader      ? victim->leader->name   : "(none)" );
act_wiz.c:      pager_printf_color( ch, "&cHating  : &w%-13s   &cHunting: &w%-13s   &cFearing   : &w%s\n\r",
act_wiz.c:	victim->hating ? victim->hating->name : "(none)",
act_wiz.c:	victim->hunting ? victim->hunting->name : "(none)",
act_wiz.c:        victim->fearing ? victim->fearing->name : "(none)" );
act_wiz.c:      pager_printf_color( ch, "&cDeity   : &w%-13s&w   &cFavor  : &w%-5d           &cGlory     : &w%-d (%d)\n\r",
act_wiz.c:	victim->pcdata->deity ? victim->pcdata->deity->name : "(none)",
act_wiz.c:        victim->pcdata->favor,
act_wiz.c:        victim->pcdata->quest_curr,
act_wiz.c:        victim->pcdata->quest_accum );
act_wiz.c:	victim->pIndexData->hitnodice,
act_wiz.c:	victim->pIndexData->hitsizedice,
act_wiz.c:	victim->pIndexData->hitplus,
act_wiz.c:	victim->pIndexData->damnodice,
act_wiz.c:	victim->pIndexData->damsizedice,
act_wiz.c:	victim->pIndexData->damplus,
act_wiz.c:	victim->numattacks );
act_wiz.c:    pager_printf_color( ch, "&cMentalState: &w%-3d   &cEmotionalState: &w%-3d   ",
act_wiz.c:	victim->mental_state, victim->emotional_state );
act_wiz.c:	victim->pcdata->condition[COND_THIRST],
act_wiz.c:	victim->pcdata->condition[COND_FULL],
act_wiz.c:	victim->pcdata->condition[COND_DRUNK] );
act_wiz.c:		victim->saving_poison_death,
act_wiz.c:		victim->saving_wand,
act_wiz.c:		victim->saving_para_petri,
act_wiz.c:		victim->saving_breath,
act_wiz.c:		victim->saving_spell_staff,
act_wiz.c:		victim->carry_number,
act_wiz.c:		victim->carry_weight,
act_wiz.c:    pager_printf_color( ch, "&cYear: &w%-5d  &cSecs: &w%d  &cTimer: &w%d  &cGold: &Y%d  &cBalance: &Y%d\n\r",
act_wiz.c:                        get_age( victim ), (int) victim->played, victim->timer, victim->gold,
act_wiz.c:                        IS_NPC(victim) ? 0 : victim->pcdata->balance );
act_wiz.c:    if ( !IS_NPC(victim) && (victim->pcdata->council || victim->pcdata->council2) )
act_wiz.c:	  victim->pcdata->council_name, victim->pcdata->council2_name);
act_wiz.c:	pager_printf_color( ch, "&cAct Flags  : &w%s\n\r", ext_flag_string(&victim->act, act_flags) );
act_wiz.c:	pager_printf_color( ch, "&cPlayerFlags: &w%s\n\r", ext_flag_string( &victim->act, plr_flags ) );
act_wiz.c:	pager_printf_color( ch, "&cPcflags    : &w%s\n\r", flag_string( victim->pcdata->flags, pc_flags ) );
act_wiz.c:	if ( victim->pcdata->nuisance  )
act_wiz.c:	  pager_printf_color( ch, "&RNuisance   &cStage: (&R%d&c/%d)  Power:  &w%d  &cTime:  &w%s.\n\r", victim->pcdata->nuisance->flags, 
act_wiz.c:	    MAX_NUISANCE_STAGE, victim->pcdata->nuisance->power, 
act_wiz.c:	    ctime(&victim->pcdata->nuisance->time));
act_wiz.c:    if ( victim->morph )
act_wiz.c:    if ( victim->morph->morph )
act_wiz.c:        victim->morph->morph->vnum, victim->morph->morph->short_desc, 
act_wiz.c:        victim->morph->timer );
act_wiz.c:	affect_bit_name( &victim->affected_by ) );
act_wiz.c:    	victim->speaks, victim->speaking, victim->exp );
act_wiz.c:    if ( !IS_NPC( victim ) && victim->wait )
act_wiz.c:	  victim->wait/12 );
act_wiz.c:    	||  (IS_NPC(victim) && victim->speaks == 0) )
act_wiz.c:		if ( IS_SET(lang_array[x], victim->speaking)
act_wiz.c:		||  (IS_NPC(victim) && !victim->speaking) )
act_wiz.c: 	if ( IS_SET(lang_array[x], victim->speaking)
act_wiz.c: 	||  (IS_NPC(victim) && !victim->speaking) )
act_wiz.c:    if (victim->practice)
act_wiz.c:        pager_printf_color( ch, "&cPractice Sessions: &w%d\n\r", victim->practice);
act_wiz.c:    if( !IS_NPC( victim ) && victim->pcdata->arena_wins != 0 )
act_wiz.c:                            victim->pcdata->arena_wins );
act_wiz.c:    if ( victim->pcdata && victim->pcdata->bestowments
act_wiz.c:         && victim->pcdata->bestowments[0] != '\0' )
act_wiz.c:      pager_printf_color( ch, "&cBestowments: &w%s\n\r", victim->pcdata->bestowments );
act_wiz.c:	victim->short_descr != NULL ? victim->short_descr : "(none set)",
act_wiz.c:	victim->long_descr != NULL ? victim->long_descr : "(none set)\n\r" );
act_wiz.c:        if ( victim->short_descr != NULL )
act_wiz.c:	    victim->short_descr );
act_wiz.c:	if ( victim->long_descr != NULL )
act_wiz.c:	    victim->long_descr );
act_wiz.c:    if ( IS_NPC(victim) && victim->spec_fun )
act_wiz.c:		lookup_spec( victim->spec_fun ) );
act_wiz.c:	flag_string(victim->xflags, part_flags) );
act_wiz.c:    if ( victim->resistant > 0 )
act_wiz.c:      pager_printf_color( ch, "&cResistant  : &w%s\n\r", flag_string(victim->resistant, ris_flags) );
act_wiz.c:    if ( victim->immune > 0 )
act_wiz.c:      pager_printf_color( ch, "&cImmune     : &w%s\n\r", flag_string(victim->immune, ris_flags) );
act_wiz.c:    if ( victim->susceptible > 0 )
act_wiz.c:      pager_printf_color( ch, "&cSusceptible: &w%s\n\r", flag_string(victim->susceptible, ris_flags) );
act_wiz.c:	ext_flag_string(&victim->attacks, attack_flags) );
act_wiz.c:	ext_flag_string(&victim->defenses, defense_flags) );
act_wiz.c:/* lets see if we can make life easier , show the progtypes - shogar */
act_wiz.c:		ext_flag_string(&victim->pIndexData->progtypes,mprog_flags));
act_wiz.c:    for ( paf = victim->first_affect; paf; paf = paf->next )
act_wiz.c:	if ( (skill=get_skilltype(paf->type)) != NULL )
act_wiz.c:	    skill_tname[skill->type],
act_wiz.c:	    skill->name,
act_wiz.c:	    affect_loc_name( paf->location ),
act_wiz.c:	    paf->modifier,
act_wiz.c:	    paf->duration,
act_wiz.c:	    affect_bit_name( &paf->bitvector )
act_wiz.c:     * get_mob_index()... which loops itself, an average of 1-2 times...
act_wiz.c:     * -Thoric
act_wiz.c:	      pMobIndex = pMobIndex->next )
act_wiz.c:	    if ( fAll || nifty_is_name( arg, pMobIndex->player_name ) )
act_wiz.c:		    pMobIndex->vnum, capitalize( pMobIndex->short_descr ) );
act_wiz.c:     * get_obj_index()... which loops itself, an average of 2-3 times...
act_wiz.c:     * -Thoric
act_wiz.c:	      pObjIndex = pObjIndex->next )
act_wiz.c:	    if ( fAll || nifty_is_name( arg, pObjIndex->name ) )
act_wiz.c:		    pObjIndex->vnum, capitalize( pObjIndex->short_descr ) );
act_wiz.c:    for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:	&&   victim->in_room
act_wiz.c:	&&   nifty_is_name( arg, victim->name ) )
act_wiz.c:	    pager_printf( ch, "[%5d] %-28s [%5d] %s\n\r",
act_wiz.c:		victim->pIndexData->vnum,
act_wiz.c:		victim->short_descr,
act_wiz.c:		victim->in_room->vnum,
act_wiz.c:		victim->in_room->name );
act_wiz.c:        for ( d = first_descriptor; d; d = d->next )
act_wiz.c:            if ( (d->connected == CON_PLAYING || d->connected == CON_EDITING
act_wiz.c:            || ( d->connected >= CON_NOTE_TO
act_wiz.c:            &&   d->connected <= CON_NOTE_FINISH))
act_wiz.c:            && ( victim = d->character ) != NULL && !IS_NPC(victim) && victim->in_room
act_wiz.c:            &&   victim->level >= low && victim->level <= high )
act_wiz.c:            pager_printf_color( ch, "&c(&C%2d&c) &w%-12.12s   [%-5d - %-19.19s]   &c%-25.25s\n\r",
act_wiz.c:		victim->level, victim->name, victim->in_room->vnum, victim->in_room->area->name, victim->in_room->name );
act_wiz.c:        for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:        &&   victim->in_room && can_see( ch, victim )
act_wiz.c:        &&   victim->level >= low && victim->level <= high )
act_wiz.c:            pager_printf_color( ch, "&c(&C%2d&c) &w%-12.12s   [%-5d - %-19.19s]   &c%-25.25s\n\r",
act_wiz.c:                victim->level, victim->name, victim->in_room->vnum, victim->in_room->area->name, victim->in_room->name );
act_wiz.c:        for ( d = first_descriptor; d; d = d->next )
act_wiz.c:            if ( (d->connected == CON_PLAYING || d->connected == CON_EDITING
act_wiz.c:            || ( d->connected >= CON_NOTE_TO
act_wiz.c:            &&   d->connected <= CON_NOTE_FINISH))
act_wiz.c:            && ( victim = d->character ) != NULL && !IS_NPC( victim ) && victim->in_room
act_wiz.c:            &&   victim->fighting && victim->level >= low && victim->level <= high )
act_wiz.c:                pager_printf_color( ch, "&w%-12.12s &C|%2d &wvs &C%2d| &w%-16.16s [%5d]  &c%-20.20s [%5d]\n\r",
act_wiz.c:                                    victim->name, victim->level, victim->fighting->who->level,
act_wiz.c:                                    IS_NPC( victim->fighting->who ) ? victim->fighting->who->short_descr : victim->fighting->who->name,
act_wiz.c:                                    IS_NPC( victim->fighting->who ) ? victim->fighting->who->pIndexData->vnum : 0,
act_wiz.c:                                    victim->in_room->area->name, victim->in_room == NULL ? 0 : victim->in_room->vnum );
act_wiz.c:        for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:        &&   victim->in_room && can_see( ch, victim )
act_wiz.c:	&&   victim->fighting && victim->level >= low && victim->level <= high )
act_wiz.c:            pager_printf_color( ch, "&w%-12.12s &C|%2d &wvs &C%2d| &w%-16.16s [%5d]  &c%-20.20s [%5d]\n\r",
act_wiz.c:                victim->name, victim->level, victim->fighting->who->level,
act_wiz.c:                IS_NPC( victim->fighting->who ) ? victim->fighting->who->short_descr : victim->fighting->who->name,
act_wiz.c:                IS_NPC( victim->fighting->who ) ? victim->fighting->who->pIndexData->vnum : 0,
act_wiz.c:                victim->in_room->area->name, victim->in_room == NULL ? 0 : victim->in_room->vnum );
act_wiz.c:        for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:        &&   victim->in_room && can_see( ch, victim )
act_wiz.c:	&&   victim->hating && victim->level >= low && victim->level <= high )
act_wiz.c:            pager_printf_color( ch, "&w%-12.12s &C|%2d &wvs &C%2d| &w%-16.16s [%5d]  &c%-20.20s [%5d]\n\r",
act_wiz.c:                victim->name, victim->level, victim->hating->who->level, IS_NPC( victim->hating->who ) ?
act_wiz.c:		victim->hating->who->short_descr : victim->hating->who->name, IS_NPC( victim->hating->who ) ?
act_wiz.c:		victim->hating->who->pIndexData->vnum : 0, victim->in_room->area->name, victim->in_room == NULL ? 0 :
act_wiz.c:		victim->in_room->vnum );
act_wiz.c:        for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:        &&   victim->in_room && can_see( ch, victim )
act_wiz.c:	&&   victim->hunting && victim->level >= low && victim->level <= high )
act_wiz.c:            pager_printf_color( ch, "&w%-12.12s &C|%2d &wvs &C%2d| &w%-16.16s [%5d]  &c%-20.20s [%5d]\n\r",
act_wiz.c:                victim->name, victim->level, victim->hunting->who->level, IS_NPC( victim->hunting->who ) ?
act_wiz.c:		victim->hunting->who->short_descr : victim->hunting->who->name, IS_NPC( victim->hunting->who ) ? victim->hunting->who->pIndexData->vnum : 0,
act_wiz.c:                victim->in_room->area->name, victim->in_room == NULL ? 0 : victim->in_room->vnum );
act_wiz.c:/* Added 'show' argument for lowbie imms without ostat -- Blodkai */
act_wiz.c:/* Trimmed size, added vict info, put lipstick on the pig -- Blod */
act_wiz.c:    for ( obj = first_object; obj; obj = obj->next )
act_wiz.c:        if ( obj->in_room 
act_wiz.c:        && !str_cmp( buf2, obj->short_descr ) 
act_wiz.c:        && (obj->pIndexData->vnum == 11 ) )
act_wiz.c:	      pager_printf_color( ch, "&P%s:  %s%-12.12s   &PIn:  &w%-22.22s  &P[&w%5d&P]   &PTimer:  %s%2d",
act_wiz.c:                obj->in_room->area->name,
act_wiz.c:                obj->in_room->vnum,
act_wiz.c:		obj->timer < 1 ? "&w" : obj->timer < 5 ? "&R" : obj->timer < 10 ? "&Y" : "&w",
act_wiz.c:                obj->timer );
act_wiz.c:                obj->timer = -1;
act_wiz.c:    for ( owner = first_char; owner; owner = owner->next )
act_wiz.c:        if ( can_see( ch, owner) && !str_cmp( arg1, owner->name ) )
act_wiz.c:    if ( owner->pcdata->deity )
act_wiz.c:          owner->name,
act_wiz.c:	  owner->level,
act_wiz.c:          owner->pcdata->favor,
act_wiz.c:          owner->pcdata->deity->name,
act_wiz.c:          owner->pcdata->deity->scorpse );
act_wiz.c:	  owner->name, owner->level );
act_wiz.c:      for ( ; obj->in_obj; obj = obj->in_obj )
act_wiz.c:	pager_printf(ch, "[%5d] %-28s in object [%5d] %s\n\r",
act_wiz.c:                obj->pIndexData->vnum, obj_short(obj),
act_wiz.c:                obj->in_obj->pIndexData->vnum, obj->in_obj->short_descr);
act_wiz.c:      sprintf(buf, "[%5d] %-28s in ", obj->pIndexData->vnum,
act_wiz.c:      if ( obj->carried_by )
act_wiz.c:                (IS_NPC(obj->carried_by) ? obj->carried_by->pIndexData->vnum
act_wiz.c:                : 0), PERS(obj->carried_by, ch));
act_wiz.c:      else if ( obj->in_room )
act_wiz.c:                obj->in_room->vnum, obj->in_room->name);
act_wiz.c:      else if ( obj->in_obj )
act_wiz.c:        bug("do_owhere: obj->in_obj after NULL!",0);
act_wiz.c:    for ( obj = first_object; obj; obj = obj->next )
act_wiz.c:        if ( !nifty_is_name( arg, obj->name ) )
act_wiz.c:        sprintf(buf, "(%3d) [%5d] %-28s in ", ++icnt, obj->pIndexData->vnum,
act_wiz.c:        if ( obj->carried_by )
act_wiz.c:                  (IS_NPC(obj->carried_by) ? obj->carried_by->pIndexData->vnum
act_wiz.c:                  : 0), PERS(obj->carried_by, ch));
act_wiz.c:        else if ( obj->in_room )
act_wiz.c:                  obj->in_room->vnum, obj->in_room->name);
act_wiz.c:        else if ( obj->in_obj )
act_wiz.c:                  obj->in_obj->pIndexData->vnum, obj_short(obj->in_obj));
act_wiz.c:    for ( obj = first_object; obj; obj = obj->next )
act_wiz.c:        sprintf(buf, "(%3d) [%5d] %-28s in ", ++icnt, obj->pIndexData->vnum,
act_wiz.c:        if ( obj->carried_by )
act_wiz.c:                  (IS_NPC(obj->carried_by) ? obj->carried_by->pIndexData->vnum
act_wiz.c:                  : 0), PERS(obj->carried_by, ch));
act_wiz.c:        else if ( obj->in_room )
act_wiz.c:                  obj->in_room->vnum, obj->in_room->name);
act_wiz.c:        else if ( obj->in_obj )
act_wiz.c:                  obj->in_obj->pIndexData->vnum, obj_short(obj->in_obj));
act_wiz.c:    if ( auction->item )
act_wiz.c:    sprintf( buf, "Reboot by %s.", ch->name );
act_wiz.c:	for ( vch = first_char; vch; vch = vch->next )
act_wiz.c:	execlp("/usr/bin/sh", "sh", "-c", "tar -czf ../backup.tgz ../src/", 0);
act_wiz.c:	execlp("/usr/bin/sh", "sh", "-c", "tar -czf ../log/logbackup.tgz ../log/.log", 0);
act_wiz.c:        /* do_asave (NULL, ""); - autosave changed areas */
act_wiz.c:        sprintf( buf1, "\n\r&R[&WINFO&R] &cThe world darkens as %s recreates it and the rest of the universe.\n\r", ch->name);
act_wiz.c:           d_next = d->next; /* We delete from the list , so need to save this */
act_wiz.c:           if (!d->character || d->connected < 0) /* drop those logging on */
act_wiz.c:               fprintf (fp, "%d %s %s\n", d->descriptor, och->name, d->host);
act_wiz.c:               if (och->level == 1)
act_wiz.c:                   och->level++; /* Advance_level doesn't do that */
act_wiz.c:               if ( d->out_compress )
act_wiz.c:                   do_compress( d->character, "" );
act_wiz.c:                   && xIS_SET( och->act, PLR_SAVREBOOT ) )
act_wiz.c:               send_to_char( buf1, d->character );
act_wiz.c:        fprintf (fp, "-1\n");
act_wiz.c:        /* C lose reserve and other always-open files and release other resources */
act_wiz.c:        /* exec - descriptors are inherited */
act_wiz.c:        /* Failed - sucessful exec will not return */
act_wiz.c:        set_boot_time->manual = 0;
act_wiz.c:         new_boot_time to new_boot_struct again. -- Alty */
act_wiz.c:        new_boot_time->tm_mday += 2; /* Should set reboots for every 3 days */
act_wiz.c:        if(new_boot_time->tm_hour > 12)
act_wiz.c:            new_boot_time->tm_mday += 1;
act_wiz.c:        new_boot_time->tm_sec = 0;
act_wiz.c:        new_boot_time->tm_min = 0;
act_wiz.c:        new_boot_time->tm_hour = 6;
act_wiz.c:    else if( atoi( arg ) < 0 ) /* Uh-huh... A value less than 0? */
act_wiz.c:        now_time->tm_min = now_time->tm_min + i;
act_wiz.c:        reboot_in = reboot = mktime(now_time) - current_time;
act_wiz.c:    if ( auction->item )
act_wiz.c:    sprintf( buf, "Shutdown by %s.", ch->name );
act_wiz.c:	for ( vch = first_char; vch; vch = vch->next )
act_wiz.c:    if ( !victim->desc )
act_wiz.c:	for ( d = first_descriptor; d; d = d->next )
act_wiz.c:	    if ( d->snoop_by == ch->desc )
act_wiz.c:		d->snoop_by = NULL;
act_wiz.c:    if ( victim->desc->snoop_by )
act_wiz.c:    ||  (victim->pcdata && victim->pcdata->min_snoop > get_trust( ch )) )
act_wiz.c:    if ( ch->desc )
act_wiz.c:	for ( d = ch->desc->snoop_by; d; d = d->snoop_by )
act_wiz.c:	    if ( d->character == victim || d->original == victim )
act_wiz.c:      write_to_descriptor( victim->desc, "\n\rYou feel like someone is watching your every move...\n\r", 0 );
act_wiz.c:    victim->desc->snoop_by = ch->desc;
act_wiz.c:    if ( !ch->desc )
act_wiz.c:    if ( ch->desc->original )
act_wiz.c:    if ( victim->desc )
act_wiz.c:    if ( !IS_NPC(victim) && ch->level < LEVEL_GREATER )
act_wiz.c:	if ( ch->level <= victim->level ) {
act_wiz.c:    ch->desc->character = victim;
act_wiz.c:    ch->desc->original  = ch;
act_wiz.c:    victim->desc        = ch->desc;
act_wiz.c:    ch->desc            = NULL;
act_wiz.c:    ch->switched	= victim;
act_wiz.c:    if ( !ch->desc )
act_wiz.c:    if ( !ch->desc->original )
act_wiz.c:	xREMOVE_BIT( ch->affected_by, AFF_POSSESS );
act_wiz.c:    ch->desc->character       = ch->desc->original;
act_wiz.c:    ch->desc->original        = NULL;
act_wiz.c:    ch->desc->character->desc = ch->desc;
act_wiz.c:    ch->desc->character->switched = NULL;
act_wiz.c:    ch->desc                  = NULL;
act_wiz.c:	vnum = -1;
act_wiz.c:		  pMobIndex = pMobIndex->next )
act_wiz.c:	    if ( nifty_is_name( arg2, pMobIndex->player_name )
act_wiz.c:		vnum = pMobIndex->vnum;
act_wiz.c:	if ( vnum == -1 )
act_wiz.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
act_wiz.c:	if ( vnum < pArea->low_m_vnum
act_wiz.c:	&&   vnum > pArea->hi_m_vnum )
act_wiz.c:    char_to_room( victim, ch->in_room );
act_wiz.c:    /*How about seeing what we're invoking for a change. -Blodkai*/
act_wiz.c:    ch_printf_color( ch, "&YYou invoke %s (&W#%d &Y- &W%s &Y- &Wlvl %d&Y)\n\r",
act_wiz.c:	pMobIndex->short_descr, pMobIndex->vnum, pMobIndex->player_name, victim->level );
act_wiz.c:	vnum = -1;
act_wiz.c:		  pObjIndex = pObjIndex->next )
act_wiz.c:	    if ( nifty_is_name( arg, pObjIndex->name )
act_wiz.c:		vnum = pObjIndex->vnum;
act_wiz.c:	if ( vnum == -1 )
act_wiz.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
act_wiz.c:	if ( vnum < pArea->low_o_vnum
act_wiz.c:	&&   vnum > pArea->hi_o_vnum )
act_wiz.c:    &&	 pObjIndex->count > 5 )
act_wiz.c:	obj = obj_to_room( obj, ch->in_room );
act_wiz.c:    /* I invoked what? --Blodkai */
act_wiz.c:    ch_printf_color( ch, "&YYou invoke %s (&W#%d &Y- &W%s &Y- &Wlvl %d&Y)\n\r",
act_wiz.c:	pObjIndex->short_descr, pObjIndex->vnum, pObjIndex->name, obj->level );
act_wiz.c:	for ( victim = ch->in_room->first_person; victim; victim = vnext )
act_wiz.c:	    vnext = victim->next_in_room;
act_wiz.c:	for ( obj = ch->in_room->first_content; obj; obj = obj_next )
act_wiz.c:	    obj_next = obj->next_content;
act_wiz.c:    /* fixed to get things in room first -- i.e., purge portal (obj),
act_wiz.c:     * -- Tri */
act_wiz.c:/* Single object purge in room for high level purge - Scryn 8/12*/
act_wiz.c:    if ( victim->level >= get_trust( ch ) ) {
act_wiz.c:    sprintf( buf, "Balzhur screams, 'You are MINE %s!!!'", victim->name );
act_wiz.c:	victim->level    = 2;
act_wiz.c:	victim->trust	 = 0;
act_wiz.c:	victim->exp      = 2000;
act_wiz.c:	victim->max_hit  = 10;
act_wiz.c:	victim->max_mana = 100;
act_wiz.c:	victim->max_move = 100;
act_wiz.c:	  victim->pcdata->learned[sn] = 0;
act_wiz.c:	victim->practice = 0;
act_wiz.c:	victim->hit      = victim->max_hit;
act_wiz.c:	victim->mana     = victim->max_mana;
act_wiz.c:	victim->move     = victim->max_move;
act_wiz.c:    name = capitalize(victim->name);
act_wiz.c:      ch_printf( ch, "Unknown error #%d - %s (immortal data).  Report to Thoric\n\r",
act_wiz.c:      sprintf( buf2, "%s balzhuring %s", ch->name, buf );
act_wiz.c:    for ( pArea = first_build; pArea; pArea = pArea->next )
act_wiz.c:      if ( !str_cmp( pArea->filename, buf2 ) )
act_wiz.c:        if ( IS_SET( pArea->status, AREA_LOADED ) )
act_wiz.c:          ch_printf( ch, "Unknown error #%d - %s (area data).  Report to  Thoric.\n\r",
act_wiz.c:          sprintf( buf2, "%s destroying %s", ch->name, buf );
act_wiz.c:    while ( victim->first_carrying )
act_wiz.c:	extract_obj( victim->first_carrying );
act_wiz.c:  /*You can demote yourself but not someone else at your own trust.-- Narn*/
act_wiz.c:     *   -- Swiftest
act_wiz.c:     *   Few minor text changes as well.  -- Blod
act_wiz.c:    if ( level <= victim->level )
act_wiz.c:        if ( level < victim->level )
act_wiz.c:          ch_printf( ch, "Demoting %s from level %d to level %d!\n\r", victim->name, victim->level, level );
act_wiz.c:          ch_printf( ch, "%s is already level %d.  Re-advancing...\n\r", victim->name, level );
act_wiz.c:	  send_to_char( "Deja vu!  Your mind reels as you re-live your past levels!\n\r", victim );
act_wiz.c:        victim->level    = 1;
act_wiz.c:        victim->exp      = exp_level(victim, 1);
act_wiz.c:        victim->max_hit  = 20;
act_wiz.c:        victim->max_mana = 100;
act_wiz.c:        victim->max_move = 100;
act_wiz.c:            victim->pcdata->learned[sn] = 0;
act_wiz.c:        victim->practice = 0;
act_wiz.c:        victim->hit      = victim->max_hit;
act_wiz.c:        victim->mana     = victim->max_mana;
act_wiz.c:        victim->move     = victim->max_move;
act_wiz.c:        DISPOSE( victim->pcdata->rank );
act_wiz.c:        victim->pcdata->rank = str_dup( "" );
act_wiz.c:        if ( xIS_SET(victim->act, PLR_WIZINVIS ) )
act_wiz.c:          victim->pcdata->wizinvis = victim->trust;
act_wiz.c:        if ( xIS_SET(victim->act, PLR_WIZINVIS )
act_wiz.c:        && ( victim->level <= LEVEL_AVATAR ) ) {
act_wiz.c:          xREMOVE_BIT(victim->act, PLR_WIZINVIS );
act_wiz.c:          victim->pcdata->wizinvis = victim->trust;
act_wiz.c:        ch_printf( ch, "Raising %s from level %d to level %d!\n\r", victim->name, victim->level, level );
act_wiz.c:        if (victim->level >= LEVEL_AVATAR)
act_wiz.c:          while ( victim->first_carrying )
act_wiz.c:            extract_obj( victim->first_carrying );
act_wiz.c:    for ( iLevel = victim->level ; iLevel < level; iLevel++ )
act_wiz.c:        victim->level += 1;
act_wiz.c:    victim->exp   = exp_level( victim, victim->level );
act_wiz.c:    victim->trust = 0;
act_wiz.c:   logged - shogar */
act_wiz.c:    sprintf(arg,"elevate issued by %s on %s",ch->name,argument);
act_wiz.c:    if( victim->level == LEVEL_IMMORTAL ) {
act_wiz.c:       victim->level = LEVEL_ACOLYTE;
act_wiz.c:       victim->exp   = exp_level( victim, victim->level );
act_wiz.c:       victim->trust = 0;
act_wiz.c:    if( victim->level == LEVEL_ACOLYTE ) {
act_wiz.c:       victim->level = LEVEL_CREATOR;  
act_wiz.c:       victim->exp   = exp_level( victim, victim->level );
act_wiz.c:       victim->trust = 0;
act_wiz.c:    if ( victim->level != LEVEL_AVATAR ) {
act_wiz.c:    while ( victim->first_carrying )
act_wiz.c:	extract_obj( victim->first_carrying );
act_wiz.c:    victim->level = LEVEL_IMMORTAL;
act_wiz.c:    if ( victim->pcdata->clan )
act_wiz.c:        if ( victim->pcdata->clan->clan_type == CLAN_GUILD)
act_wiz.c:            if (skill_table[sn]->guild == victim->pcdata->clan->class
act_wiz.c:                && skill_table[sn]->name != NULL)
act_wiz.c:                victim->pcdata->learned[sn] = 0;
act_wiz.c:        if (victim->speaking & LANG_CLAN)
act_wiz.c:           victim->speaking = LANG_COMMON;
act_wiz.c:        REMOVE_BIT (victim->speaks, LANG_CLAN);
act_wiz.c:        --victim->pcdata->clan->num_members;
act_wiz.c:        if (!str_cmp (victim->name, victim->pcdata->clan->leader) )
act_wiz.c:           STRFREE (victim->pcdata->clan->leader);
act_wiz.c:           victim->pcdata->clan->leader = STRALLOC ("");
act_wiz.c:        if (!str_cmp (victim->name, victim->pcdata->clan->number1))
act_wiz.c:           STRFREE (victim->pcdata->clan->number1);
act_wiz.c:           victim->pcdata->clan->number1 = STRALLOC ("");
act_wiz.c:        if (!str_cmp (victim->name, victim->pcdata->clan->number2))
act_wiz.c:           STRFREE (victim->pcdata->clan->number2);
act_wiz.c:           victim->pcdata->clan->number2 = STRALLOC ("");
act_wiz.c:        victim->pcdata->clan = NULL;
act_wiz.c:        STRFREE (victim->pcdata->clan_name);
act_wiz.c:    CREATE(victim->pcdata->tell_history, char *, 26);
act_wiz.c:    	victim->pcdata->tell_history[i] = NULL;
act_wiz.c:    victim->exp   = exp_level( victim, victim->level );
act_wiz.c:    victim->trust = 0;
act_wiz.c:    victim->trust = level;
act_wiz.c:/* Summer 1997 --Blod */
act_wiz.c:      if ( !IS_SET(pRoomIndex->room_flags, ROOM_PRIVATE)
act_wiz.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_SOLITARY)
act_wiz.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_NO_ASTRAL)
act_wiz.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_PROTOTYPE) )
act_wiz.c:    if ( victim->fighting ) stop_fighting( victim, TRUE );
act_wiz.c:    victim->position = POS_RESTING;
act_wiz.c:      if ( victim->gold < 1) {
act_wiz.c:      victim->gold = 0;
act_wiz.c:          if ( !IS_SET(pRoomIndex->room_flags, ROOM_PRIVATE)
act_wiz.c:          &&   !IS_SET(pRoomIndex->room_flags, ROOM_SOLITARY)
act_wiz.c:          &&   !IS_SET(pRoomIndex->room_flags, ROOM_NO_ASTRAL)
act_wiz.c:          &&   !IS_SET(pRoomIndex->room_flags, ROOM_PROTOTYPE) )
act_wiz.c:      for ( obj_lose=victim->first_carrying; obj_lose; obj_lose=obj_next ) {
act_wiz.c:        obj_next = obj_lose->next_content;
act_wiz.c:        pager_printf_color( ch, "\t&w%s sent to %d\n\r", capitalize(obj_lose->short_descr), pRoomIndex->vnum );
act_wiz.c:    for ( obj_lose=victim->first_carrying; obj_lose; obj_lose=obj_next ) {
act_wiz.c:      obj_next = obj_lose->next_content;
act_wiz.c:	capitalize(obj_lose->short_descr), obj_lose->name );
act_wiz.c:        if ( !ch->pcdata )
act_wiz.c:            if ( current_time - last_restore_all_time < RESTORE_INTERVAL ) 
act_wiz.c:        ch->pcdata->restore_time = current_time;
act_wiz.c:	    vch_next = vch->next;
act_wiz.c:   		vch->hit = vch->max_hit;
act_wiz.c:		vch->mana = vch->max_mana;
act_wiz.c:		vch->move = vch->max_move;
act_wiz.c:		vch->pcdata->condition[COND_BLOODTHIRST] = (10 + vch->level);
act_wiz.c:      && !( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE ) ) )
act_wiz.c:    victim->hit  = victim->max_hit;
act_wiz.c:    victim->mana = victim->max_mana;
act_wiz.c:    victim->move = victim->max_move;
act_wiz.c:    if ( victim->pcdata )
act_wiz.c:      victim->pcdata->condition[COND_BLOODTHIRST] = (10 + victim->level);
act_wiz.c:     time_passed = current_time - last_restore_all_time;
act_wiz.c:     minute = (int) ( ( time_passed - ( hour * 3600 ) ) / 60 );
act_wiz.c:  if ( !ch->pcdata )
act_wiz.c:  if ( !ch->pcdata->restore_time )
act_wiz.c:  time_passed = current_time - ch->pcdata->restore_time;
act_wiz.c:  minute = (int) ( ( time_passed - ( hour * 3600 ) ) / 60 );
act_wiz.c:        ch_printf( victim, "%s is attempting to freeze you.\n\r", ch->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_FREEZE ) ) {
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_FREEZE );
act_wiz.c:	ch_printf( ch, "%s is now unfrozen.\n\r", victim->name );
act_wiz.c:	xSET_BIT(victim->act, PLR_FREEZE );
act_wiz.c:	ch_printf( ch, "You have frozen %s.\n\r", victim->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_LOG ) )
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_LOG );
act_wiz.c:	ch_printf( ch, "LOG removed from %s.\n\r", victim->name );
act_wiz.c:	xSET_BIT(victim->act, PLR_LOG );
act_wiz.c:	ch_printf( ch, "LOG applied to %s.\n\r", victim->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_LITTERBUG) )
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_LITTERBUG);
act_wiz.c:	ch_printf( ch, "LITTERBUG removed from %s.\n\r", victim->name );
act_wiz.c:	xSET_BIT(victim->act, PLR_LITTERBUG);
act_wiz.c:	ch_printf( ch, "LITTERBUG set on %s.\n\r", victim->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_NO_EMOTE) )
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_NO_EMOTE);
act_wiz.c:	ch_printf( ch, "NOEMOTE removed from %s.\n\r", victim->name );
act_wiz.c:	xSET_BIT(victim->act, PLR_NO_EMOTE);
act_wiz.c:	ch_printf( ch, "NOEMOTE applied to %s.\n\r", victim->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_NO_TELL) )
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_NO_TELL);
act_wiz.c:	ch_printf( ch, "NOTELL removed from %s.\n\r", victim->name );
act_wiz.c:	xSET_BIT(victim->act, PLR_NO_TELL);
act_wiz.c:	ch_printf( ch, "NOTELL applied to %s.\n\r", victim->name );
act_wiz.c:    if ( IS_SET(victim->pcdata->flags, PCFLAG_NOTITLE) )
act_wiz.c:        REMOVE_BIT(victim->pcdata->flags, PCFLAG_NOTITLE);
act_wiz.c:	ch_printf( ch, "NOTITLE removed from %s.\n\r", victim->name );
act_wiz.c:        SET_BIT(victim->pcdata->flags, PCFLAG_NOTITLE);
act_wiz.c:                title_table [victim->class] [victim->level]
act_wiz.c:                [victim->sex == SEX_FEMALE ? 1 : 0] );
act_wiz.c:	ch_printf( ch, "NOTITLE set on %s.\n\r", victim->name );
act_wiz.c:    if ( xIS_SET(victim->act, PLR_SILENCE) )
act_wiz.c:	xSET_BIT(victim->act, PLR_SILENCE);
act_wiz.c:	ch_printf( ch, "You SILENCE %s.\n\r", victim->name );
act_wiz.c:/* Much better than toggling this with do_silence, yech --Blodkai */
act_wiz.c:    if ( xIS_SET(victim->act, PLR_SILENCE) )
act_wiz.c:	xREMOVE_BIT(victim->act, PLR_SILENCE);
act_wiz.c:	ch_printf( ch, "SILENCE removed from %s.\n\r", victim->name );
act_wiz.c:    for ( rch = ch->in_room->first_person; rch; rch = rch->next_in_room )
act_wiz.c:	if ( rch->fighting )
act_wiz.c:  for ( pwatch = first_watch; pwatch; pwatch = pwatch->next )
act_wiz.c:      fprintf( fp, "%d %s~%s~%s~\n", pwatch->imm_level, pwatch->imm_name, 
act_wiz.c:               pwatch->target_name?pwatch->target_name:" ", 
act_wiz.c:	       pwatch->player_site?pwatch->player_site:" " );
act_wiz.c:  fprintf( fp, "-1\n" );
act_wiz.c:	send_to_char( "Game un-wizlocked.\n\r", ch );
act_wiz.c:    strcat(buf, "&w----+---+----+------+-------------------------------");
act_wiz.c:      strcat(buf, "&w+---------");
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:	||   (d->character && can_see( ch, d->character )) )
act_wiz.c:	     " &C%3d&w| &c%2d&w|&G%4d&w|&g%6d&w| &Y%-12s&O@%-16s ",
act_wiz.c:		d->descriptor,
act_wiz.c:		d->connected,
act_wiz.c:		d->idle / 4,
act_wiz.c:		d->port,
act_wiz.c:		d->original  ? d->original->name  :
act_wiz.c:		d->character ? d->character->name : "&B(none)&w",
act_wiz.c:		d->host);
act_wiz.c:	      sprintf( buf + strlen( buf ), "&w| &R%s", d->user );
act_wiz.c:	||   (d->character && can_see( ch, d->character )) )
act_wiz.c:        &&   ( !str_prefix( arg, d->host ) 
act_wiz.c:	||   ( d->character && !str_prefix( arg, d->character->name ) ) ) )
act_wiz.c:	     " &C%3d&w| &c%2d&w|&G%4d&w|&g%6d&w| &Y%-12s&O@%-16s ",
act_wiz.c:		d->descriptor,
act_wiz.c:		d->connected,
act_wiz.c:		d->idle / 4,
act_wiz.c:		d->port,
act_wiz.c:		d->original  ? d->original->name  :
act_wiz.c:		d->character ? d->character->name : "&B(none)",
act_wiz.c:		d->host
act_wiz.c:	      sprintf(buf, "&w| &R%s", d->user);
act_wiz.c:    bprintf( buf, "&W----+----------------+-----+---------------------------+-------------\n\r" );
act_wiz.c:    for( d = first_descriptor ; d ; d = d->next )
act_wiz.c:        switch( d->connected )
act_wiz.c:            || ( d->character && can_see( ch, d->character )) )
act_wiz.c:                bprintf( buf, "&C %3d&W|&c%-15s&W|&G%5d&W|&Y%-11s&O@%-15s&W|&r%s\n\r",
act_wiz.c:                         d->descriptor, connected, d->idle/4,
act_wiz.c:                         d->original ? d->original->name :
act_wiz.c:                         d->character ? d->character->name : "none",
act_wiz.c:                         d->host, d->user );
act_wiz.c:            || ( d->character && can_see( ch, d->character )) )
act_wiz.c:            && ( !str_prefix( arg, d->host )
act_wiz.c:            || ( d->character && !str_prefix( arg, d->character->name ))))
act_wiz.c:                bprintf( buf, "&C %3d&W|&c%15s&W|&G%5d&W|&Y%-12s&O@%-16s&W|&r%s\n\r",
act_wiz.c:                         d->descriptor, connected, d->idle/4,
act_wiz.c:                         d->original ? d->original->name :
act_wiz.c:                         d->character ? d->character->name : "none",
act_wiz.c:                         d->host, d->user );
act_wiz.c:    pager_printf_color( ch, buf->data );
act_wiz.c:	    vch_next = vch->next;
act_wiz.c:    if(!IS_NPC(victim) && IS_SET(victim->pcdata->flags,PCFLAG_IMMPROOF))
act_wiz.c:			send_to_char("They will have to CONFIG -IMMPROOF first\n\r",ch);
act_wiz.c:	  ch->pcdata->wizinvis = level;
act_wiz.c:          ch->mobinvis = level;
act_wiz.c:	if ( ch->pcdata->wizinvis < 2 )
act_wiz.c:	  ch->pcdata->wizinvis = ch->level;
act_wiz.c:	if ( ch->mobinvis < 2 )
act_wiz.c:	  ch->mobinvis = ch->level;
act_wiz.c:    if ( xIS_SET(ch->act, PLR_WIZINVIS) )
act_wiz.c:	xREMOVE_BIT(ch->act, PLR_WIZINVIS);
act_wiz.c:	xSET_BIT(ch->act, PLR_WIZINVIS);
act_wiz.c:    if ( xIS_SET(ch->act, PLR_HOLYLIGHT) )
act_wiz.c:	xREMOVE_BIT(ch->act, PLR_HOLYLIGHT);
act_wiz.c:	xSET_BIT(ch->act, PLR_HOLYLIGHT);
act_wiz.c:    victim->pcdata->r_range_lo = r_lo;
act_wiz.c:    victim->pcdata->r_range_hi = r_hi;
act_wiz.c:    ch_printf( victim, "%s has assigned you the room vnum range %d - %d.\n\r",
act_wiz.c:		ch->name, r_lo, r_hi );
act_wiz.c:    if ( !victim->pcdata->area )
act_wiz.c:	REMOVE_BIT ( victim->pcdata->area->status, AREA_LOADED );
act_wiz.c:	SET_BIT( victim->pcdata->area->status, AREA_DELETED );
act_wiz.c:        SET_BIT( victim->pcdata->area->status, AREA_LOADED );
act_wiz.c:	REMOVE_BIT( victim->pcdata->area->status, AREA_DELETED );
act_wiz.c:    victim->pcdata->o_range_lo = o_lo;
act_wiz.c:    victim->pcdata->o_range_hi = o_hi;
act_wiz.c:    ch_printf( victim, "%s has assigned you the object vnum range %d - %d.\n\r",
act_wiz.c:		ch->name, o_lo, o_hi );
act_wiz.c:    victim->pcdata->m_range_lo = m_lo;
act_wiz.c:    victim->pcdata->m_range_hi = m_hi;
act_wiz.c:    ch_printf( victim, "%s has assigned you the monster vnum range %d - %d.\n\r",
act_wiz.c:		ch->name, m_lo, m_hi );
act_wiz.c:		for ( cmd = command_hash[hash]; cmd; cmd = cmd->next )
act_wiz.c:			pager_printf(ch,"%-6.6s %4d\t",cmd->name,cmd->userec.num_uses);
act_wiz.c:			pager_printf(ch,"%-6.6s %4d\n\r", cmd->name,cmd->userec.num_uses );
act_wiz.c:    		for(cmd = command_hash[hash]; cmd; cmd = cmd->next)
act_wiz.c:    			if(!cmd->lag_count)
act_wiz.c:    				pager_printf(ch,"%-6.6s %4d\t",cmd->name,cmd->lag_count);
act_wiz.c:				pager_printf(ch,"%-6.6s %4d\n\r", cmd->name,cmd->lag_count);
act_wiz.c:    if ( stat( fname, &fst ) != -1 )
act_wiz.c:        d->next = NULL;
act_wiz.c:        d->prev = NULL;
act_wiz.c:        d->connected = CON_GET_NAME;
act_wiz.c:        d->outsize = 2000;
act_wiz.c:        CREATE( d->outbuf, char, d->outsize );
act_wiz.c:        add_char( d->character );
act_wiz.c:        old_room_vnum = d->character->in_room->vnum;
act_wiz.c:        char_to_room( d->character, ch->in_room );
act_wiz.c:        if ( get_trust(d->character) >= get_trust( ch ) )
act_wiz.c:           do_say( d->character, "Do *NOT* disturb me again!" );
act_wiz.c:           d->character->desc   = NULL;
act_wiz.c:           do_quit( d->character, "" );
act_wiz.c:        d->character->desc      = NULL;
act_wiz.c:        victim = d->character;
act_wiz.c:        d->character            = NULL;
act_wiz.c:        DISPOSE( d->outbuf );
act_wiz.c:        victim->level    = LEVEL_AVATAR;
act_wiz.c:        victim->exp      = exp_level(victim, LEVEL_AVATAR);
act_wiz.c:        victim->max_hit  = 800;
act_wiz.c:        victim->max_mana = 800;
act_wiz.c:        victim->max_move = 800;
act_wiz.c:            victim->pcdata->learned[sn] = 0;
act_wiz.c:        victim->practice = 0;
act_wiz.c:        victim->hit      = victim->max_hit;
act_wiz.c:        victim->mana     = victim->max_mana;
act_wiz.c:        victim->move     = victim->max_move;
act_wiz.c:        DISPOSE( victim->pcdata->rank );
act_wiz.c:        victim->pcdata->rank = str_dup( "" );
act_wiz.c:        if ( xIS_SET(victim->act, PLR_WIZINVIS) )
act_wiz.c:          victim->pcdata->wizinvis = victim->trust;
act_wiz.c:        if ( xIS_SET(victim->act, PLR_WIZINVIS)
act_wiz.c:                && (victim->level <= LEVEL_AVATAR))
act_wiz.c:          xREMOVE_BIT(victim->act, PLR_WIZINVIS);
act_wiz.c:          victim->pcdata->wizinvis = victim->trust;
act_wiz.c:    sprintf( buf, "%s%s", GOD_DIR, capitalize(victim->name) );
act_wiz.c:      ch_printf( ch, "Unknown error #%d - %s (immortal data).  Report to Thoric\n\r",
act_wiz.c:      sprintf( buf2, "%s mortalizing %s", ch->name, buf );
act_wiz.c:    for ( pArea = first_build; pArea; pArea = pArea->next )
act_wiz.c:      if ( !strcmp( pArea->filename, buf2 ) )
act_wiz.c:        if ( IS_SET( pArea->status, AREA_LOADED ) )
act_wiz.c:          ch_printf( ch, "Unknown error #%d - %s (area data).  Report to Thoric.\n\r",
act_wiz.c:          sprintf( buf2, "%s mortalizing %s", ch->name, buf );
act_wiz.c:        while ( victim->first_carrying ) 
act_wiz.c:             extract_obj( victim->first_carrying ); 
act_wiz.c:    for ( temp = first_char; temp; temp = temp->next )
act_wiz.c:          if ( can_see (ch, temp) && !str_cmp( name, temp->name ) )
act_wiz.c:    if ( stat( fname, &fst ) != -1 )
act_wiz.c:	d->next = NULL;
act_wiz.c:	d->prev = NULL;
act_wiz.c:	d->connected = CON_GET_NAME;
act_wiz.c:	d->outsize = 2000;
act_wiz.c:	CREATE( d->outbuf, char, d->outsize );
act_wiz.c:	add_char( d->character );
act_wiz.c:        old_room_vnum = d->character->in_room->vnum;
act_wiz.c:	char_to_room( d->character, ch->in_room );
act_wiz.c:	if ( get_trust(d->character) >= get_trust( ch ) )
act_wiz.c:	   do_say( d->character, "Do *NOT* disturb me again!" );
act_wiz.c:	   d->character->desc	= NULL;
act_wiz.c:	   do_quit( d->character, "" );
act_wiz.c:	d->character->desc	= NULL;
act_wiz.c:	d->character->retran    = old_room_vnum;
act_wiz.c:	d->character		= NULL;	
act_wiz.c:	DISPOSE( d->outbuf );
act_wiz.c:/*  victim->armor	= 100;
act_wiz.c:    victim->mod_str	= 0;
act_wiz.c:    victim->mod_dex	= 0;
act_wiz.c:    victim->mod_wis	= 0;
act_wiz.c:    victim->mod_int	= 0;
act_wiz.c:    victim->mod_con	= 0;
act_wiz.c:    victim->mod_cha	= 0;
act_wiz.c:    victim->mod_lck	= 0;
act_wiz.c:    victim->damroll	= 0;
act_wiz.c:    victim->hitroll	= 0;
act_wiz.c:    victim->alignment	= URANGE( -1000, victim->alignment, 1000 );
act_wiz.c:    victim->saving_spell_staff = 0; */
act_wiz.c:    if ( ( victim->level < 1 ) || ( victim->level > 5 ) )
act_wiz.c:     if ( (victim->class == 0) || (victim->class == 2)
act_wiz.c:     || (victim->class == 4) || (victim->class == 7) )
act_wiz.c:     else if ( (victim->class == 1) || (victim->class == 5) )
act_wiz.c:     else if ( (victim->class == 3) || (victim->class == 6) || (victim->class == 8) )
act_wiz.c:   called New Darkhaven Academy - Brittany */
act_wiz.c:    ch_printf( ch, "You have re-equipped %s.\n\r", victim->name );
act_wiz.c: * e.g. "aset joe.are sedit susan.are cset" --> "joe.are susan.are"
act_wiz.c: * - Gorog
act_wiz.c:   if ( (len=strlen(buf)) >= 5 && !strcmp(".are", pbuf+len-4) )
act_wiz.c: * e.g. "aset joe.are sedit susan.are cset" --> "aset sedit cset"
act_wiz.c: * - Gorog
act_wiz.c:   if ( (len=strlen(buf)) < 5 || strcmp(".are", pbuf+len-4) )
act_wiz.c:    if (!victim->pcdata->bestowments)
act_wiz.c:       victim->pcdata->bestowments = str_dup("");
act_wiz.c:       extract_area_names (victim->pcdata->bestowments, buf);
act_wiz.c:       remove_area_names (victim->pcdata->bestowments, buf);
act_wiz.c:       DISPOSE( victim->pcdata->bestowments );
act_wiz.c:       victim->pcdata->bestowments = str_dup( buf );
act_wiz.c:    || argument[arg_len-4] != '.' || argument[arg_len-3] != 'a'
act_wiz.c:    || argument[arg_len-2] != 'r' || argument[arg_len-1] != 'e' )
act_wiz.c:    sprintf( buf, "%s %s", victim->pcdata->bestowments, argument );
act_wiz.c:    DISPOSE( victim->pcdata->bestowments );
act_wiz.c:    victim->pcdata->bestowments = str_dup( buf );
act_wiz.c:             ch->name, argument );
act_wiz.c:    if (!victim->pcdata->bestowments)
act_wiz.c:      victim->pcdata->bestowments = str_dup("");
act_wiz.c:		victim->name, victim->pcdata->bestowments );
act_wiz.c:        DISPOSE( victim->pcdata->bestowments );
act_wiz.c:	victim->pcdata->bestowments = str_dup("");
act_wiz.c:        ch_printf( ch, "Bestowments removed from %s.\n\r", victim->name );
act_wiz.c:        ch_printf( victim, "%s has removed your bestowed commands.\n\r", ch->name );
act_wiz.c:    sprintf( buf, "%s %s", victim->pcdata->bestowments, argument );
act_wiz.c:    DISPOSE( victim->pcdata->bestowments );
act_wiz.c:    victim->pcdata->bestowments = str_dup( buf );
act_wiz.c:	ch->name, argument );
act_wiz.c:		reboot_time, set_boot_time->manual );
act_wiz.c:      if ( (now_time->tm_hour = atoi(arg)) < 0 || now_time->tm_hour > 23 )
act_wiz.c:      if ( (now_time->tm_min = atoi(arg1)) < 0 || now_time->tm_min > 59 )
act_wiz.c:        if ( (now_time->tm_mday = atoi(arg)) < 1 || now_time->tm_mday > 31 )
act_wiz.c:          if ( (now_time->tm_mon = atoi(arg)) < 1 || now_time->tm_mon > 12 )
act_wiz.c:          now_time->tm_mon--;
act_wiz.c:          if ( (now_time->tm_year = atoi(arg)-1900) < 0 ||
act_wiz.c:                now_time->tm_year > 199 )
act_wiz.c:      now_time->tm_sec = 0;
act_wiz.c:      if (set_boot_time->manual == 0)
act_wiz.c: 	set_boot_time->manual = 1;
act_wiz.c:      set_boot_time->manual = atoi(arg1);
act_wiz.c:      set_boot_time->manual = 0;
act_wiz.c:      new_boot_time->tm_mday += 1;
act_wiz.c:      if (new_boot_time->tm_hour > 12)
act_wiz.c:      new_boot_time->tm_mday += 1; 
act_wiz.c:      new_boot_time->tm_hour = 6;
act_wiz.c:      new_boot_time->tm_min = 0;
act_wiz.c:      new_boot_time->tm_sec = 0;
act_wiz.c: * of a name/password would be, taking in 2 arguments - the name and the
act_wiz.c: * password - can still only change the password if you have access to 
act_wiz.c: * Purge a player file.  No more player.  -- Altrag
act_wiz.c: * This could have other applications too.. move if needed. -- Altrag
act_wiz.c:    ech_next = ech->next;
act_wiz.c:    if ( ech->fighting )
act_wiz.c:      if ( URANGE(pArea->low_m_vnum, ech->pIndexData->vnum,
act_wiz.c:                  pArea->hi_m_vnum) == ech->pIndexData->vnum ||
act_wiz.c:          (ech->in_room && ech->in_room->area == pArea) )
act_wiz.c:    if ( ech->in_room && ech->in_room->area == pArea )
act_wiz.c:    eobj_next = eobj->next;
act_wiz.c:    if ( URANGE(pArea->low_o_vnum, eobj->pIndexData->vnum,
act_wiz.c:                pArea->hi_o_vnum) == eobj->pIndexData->vnum ||
act_wiz.c:        (eobj->in_room && eobj->in_room->area == pArea) )
act_wiz.c:      rid_next = rid->next;
act_wiz.c:      for ( exit = rid->first_exit; exit; exit = exit_next )
act_wiz.c:        exit_next = exit->next;
act_wiz.c:        if ( rid->area == pArea || exit->to_room->area == pArea )
act_wiz.c:          STRFREE( exit->keyword );
act_wiz.c:          STRFREE( exit->description );
act_wiz.c:          UNLINK( exit, rid->first_exit, rid->last_exit, next, prev );
act_wiz.c:	   * But you CAN NOT iterate over a link-list and DELETE from it or
act_wiz.c:	   * Nasty things can and will happen. --Shaddai 
act_wiz.c:	  exit = rid->first_exit;
act_wiz.c:      if ( rid->area != pArea )
act_wiz.c:      STRFREE(rid->name);
act_wiz.c:      STRFREE(rid->description);
act_wiz.c:      if ( rid->first_person )
act_wiz.c:        bug( "close_area: room with people #%d", rid->vnum );
act_wiz.c:        for ( ech = rid->first_person; ech; ech = ech_next )
act_wiz.c:          ech_next = ech->next_in_room;
act_wiz.c:          if ( ech->fighting )
act_wiz.c:      if ( rid->first_content )
act_wiz.c:        bug( "close_area: room with contents #%d", rid->vnum );
act_wiz.c:        for ( eobj = rid->first_content; eobj; eobj = eobj_next )
act_wiz.c:          eobj_next = eobj->next_content;
act_wiz.c:      for ( eed = rid->first_extradesc; eed; eed = eed_next )
act_wiz.c:        eed_next = eed->next;
act_wiz.c:        STRFREE( eed->keyword );
act_wiz.c:        STRFREE( eed->description );
act_wiz.c:      for ( mpact = rid->mpact; mpact; mpact = mpact_next )
act_wiz.c:        mpact_next = mpact->next;
act_wiz.c:        STRFREE( mpact->buf );
act_wiz.c:      for ( mprog = rid->mudprogs; mprog; mprog = mprog_next )
act_wiz.c:        mprog_next = mprog->next;
act_wiz.c:        STRFREE( mprog->arglist );
act_wiz.c:        STRFREE( mprog->comlist );
act_wiz.c:        room_index_hash[icnt] = rid->next;
act_wiz.c:        for ( trid = room_index_hash[icnt]; trid; trid = trid->next )
act_wiz.c:          if ( trid->next == rid )
act_wiz.c:          bug( "Close_area: rid not in hash list %d", rid->vnum );
act_wiz.c:          trid->next = rid->next;
act_wiz.c:      mid_next = mid->next;
act_wiz.c:      if ( mid->vnum < pArea->low_m_vnum || mid->vnum > pArea->hi_m_vnum )
act_wiz.c:      STRFREE( mid->player_name );
act_wiz.c:      STRFREE( mid->short_descr );
act_wiz.c:      STRFREE( mid->long_descr  );
act_wiz.c:      STRFREE( mid->description );
act_wiz.c:      if ( mid->pShop )
act_wiz.c:        UNLINK( mid->pShop, first_shop, last_shop, next, prev );
act_wiz.c:        DISPOSE( mid->pShop );
act_wiz.c:      if ( mid->rShop )
act_wiz.c:        UNLINK( mid->rShop, first_repair, last_repair, next, prev );
act_wiz.c:        DISPOSE( mid->rShop );
act_wiz.c:      for ( mprog = mid->mudprogs; mprog; mprog = mprog_next )
act_wiz.c:        mprog_next = mprog->next;
act_wiz.c:        STRFREE(mprog->arglist);
act_wiz.c:        STRFREE(mprog->comlist);
act_wiz.c:        mob_index_hash[icnt] = mid->next;
act_wiz.c:        for ( tmid = mob_index_hash[icnt]; tmid; tmid = tmid->next )
act_wiz.c:          if ( tmid->next == mid )
act_wiz.c:          bug( "Close_area: mid not in hash list %d", mid->vnum );
act_wiz.c:          tmid->next = mid->next;
act_wiz.c:      oid_next = oid->next;
act_wiz.c:      if ( oid->vnum < pArea->low_o_vnum || oid->vnum > pArea->hi_o_vnum )
act_wiz.c:      STRFREE(oid->name);
act_wiz.c:      STRFREE(oid->short_descr);
act_wiz.c:      STRFREE(oid->description);
act_wiz.c:      STRFREE(oid->action_desc);
act_wiz.c:      for ( eed = oid->first_extradesc; eed; eed = eed_next )
act_wiz.c:        eed_next = eed->next;
act_wiz.c:        STRFREE(eed->keyword);
act_wiz.c:        STRFREE(eed->description);
act_wiz.c:      for ( paf = oid->first_affect; paf; paf = paf_next )
act_wiz.c:        paf_next = paf->next;
act_wiz.c:      for ( mprog = oid->mudprogs; mprog; mprog = mprog_next )
act_wiz.c:        mprog_next = mprog->next;
act_wiz.c:        STRFREE(mprog->arglist);
act_wiz.c:        STRFREE(mprog->comlist);
act_wiz.c:        obj_index_hash[icnt] = oid->next;
act_wiz.c:        for ( toid = obj_index_hash[icnt]; toid; toid = toid->next )
act_wiz.c:          if ( toid->next == oid )
act_wiz.c:          bug( "Close_area: oid not in hash list %d", oid->vnum );
act_wiz.c:          toid->next = oid->next;
act_wiz.c:  for ( ereset = pArea->first_reset; ereset; ereset = ereset_next )
act_wiz.c:    ereset_next = ereset->next;
act_wiz.c:  DISPOSE(pArea->name);
act_wiz.c:  DISPOSE(pArea->filename);
act_wiz.c:  STRFREE(pArea->author);
act_wiz.c:  for ( victim = first_char; victim; victim = victim->next )
act_wiz.c:    if ( !IS_NPC(victim) && !str_cmp(victim->name, arg) )
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:      if ( (victim = d->character) && !IS_NPC(victim) &&
act_wiz.c:          !str_cmp(victim->name, arg) )
act_wiz.c:	drop_artifacts(ch, ch->last_carrying);
act_wiz.c:      ch_printf( ch, "Unknown error #%d - %s (immortal data).  Report to Scion.\n\r",
act_wiz.c:      sprintf( buf2, "%s destroying %s", ch->name, buf );
act_wiz.c:    if( ch->pcdata->council )
act_wiz.c:        ch->pcdata->council->num_members--;
act_wiz.c:        rem_council_member( ch->pcdata->council, ch->name );
act_wiz.c:    if( ch->pcdata->council2 )
act_wiz.c:        ch->pcdata->council->num_members--;
act_wiz.c:        rem_council_member( ch->pcdata->council, ch->name );
act_wiz.c:    if( ch->pcdata->clan )
act_wiz.c:        ch->pcdata->clan->num_members--;
act_wiz.c:        rem_clan_member( ch->pcdata->clan, ch->name );
act_wiz.c:    for ( pArea = first_build; pArea; pArea = pArea->next )
act_wiz.c:      if ( !str_cmp( pArea->filename, buf2 ) )
act_wiz.c:        if ( IS_SET( pArea->status, AREA_LOADED ) )
act_wiz.c:          ch_printf( ch, "Unknown error #%d - %s (area data).  Report to Scion.\n\r",
act_wiz.c:          sprintf( buf2, "%s destroying %s", ch->name, buf );
act_wiz.c:    ch_printf( ch, "Unknown error #%d - %s.  Report to Scion.\n\r",
act_wiz.c:    sprintf( buf, "%s destroying %s", ch->name, arg );
act_wiz.c:/* Super-AT command:
act_wiz.c:at least one target, but only once per room. # cannot be used with FOR EVERY-
act_wiz.c:FOR ALL SMILE -> you will only smile once in a room with 2 players.
act_wiz.c:FOR ALL TWIDDLE # -> In a room with A and B, you will twiddle A then B.
act_wiz.c:   character within a room. E.g. the second 'guard' -> 2. guard
act_wiz.c:		return ch->name;
act_wiz.c:	one_argument (ch->name, name); /* copy the first word into name */
act_wiz.c:	/* ->people changed to ->first_person -- TRI */	
act_wiz.c:	for (rch = ch->in_room->first_person; rch && (rch != ch);rch = 
act_wiz.c:	    rch->next_in_room)
act_wiz.c:		if (is_name (name, rch->name))
act_wiz.c:	CHAR_DATA *p, *p_prev;  /* p_next to p_prev -- TRI */
act_wiz.c:		/* char_list - last_char, p_next - gch_prev -- TRI */
act_wiz.c:			p_prev = p->prev;  /* TRI */
act_wiz.c:		/*	p_next = p->next; */ /* In case someone DOES try to AT MOBS SLAY # */
act_wiz.c:			if (!(p->in_room) || room_is_private(p->in_room) || (p == ch))
act_wiz.c:			else if (!IS_NPC(p) && p->level >= LEVEL_IMMORTAL && fGods)
act_wiz.c:			else if (!IS_NPC(p) && p->level < LEVEL_IMMORTAL && fMortals)
act_wiz.c:				old_room = ch->in_room;
act_wiz.c:				char_to_room (ch,p->in_room);
act_wiz.c:			for (room = room_index_hash[i] ; room ; room = room->next)
act_wiz.c:				else if (!room->first_person) /* Skip it if room is empty */
act_wiz.c:				/* ->people changed to first_person -- TRI */
act_wiz.c:				/* ->people to ->first_person -- TRI */
act_wiz.c:				for (p = room->first_person; p && !found; p = p->next_in_room)
act_wiz.c:					else if (!IS_NPC(p) && (p->level >= LEVEL_IMMORTAL) && fGods)
act_wiz.c:					else if (!IS_NPC(p) && (p->level <= LEVEL_IMMORTAL) && fMortals)
act_wiz.c:					old_room = ch->in_room;
act_wiz.c:        pager_printf_color(ch, "&WOther:\n\r  &wForce on players            : &W%-2d    ",
act_wiz.c:        pager_printf_color(ch, "&wPrivate && immproof override:   &W%-2d\n\r",
act_wiz.c:        pager_printf_color(ch, "  &wPenalty to bash plr vs. plr : &W%-7d",
act_wiz.c:        pager_printf_color(ch, "&wPenalty to non-tank bash    :  &W%-3d\n\r",
act_wiz.c:        pager_printf_color(ch, "  &wPenalty to gouge plr vs. plr: &W%-7d",
act_wiz.c:        pager_printf_color(ch, "&wPenalty to non-tank gouge   :  &W%-3d\n\r",
act_wiz.c:        pager_printf_color(ch, "  &wPenalty regular stun chance : &W%-7d",
act_wiz.c:        pager_printf_color(ch, "&wPenalty to stun plr vs. plr :  &W%-3d\n\r",
act_wiz.c:        pager_printf_color(ch, "  &wPercent damage plr vs. plr  : &W%-7d",
act_wiz.c:        pager_printf_color(ch, "&wPercent damage plr vs. mob  :  &W%-3d \n\r",
act_wiz.c:        pager_printf_color(ch, "  &wPercent damage mob vs. plr  : &W%-7d",
act_wiz.c:        pager_printf_color(ch, "&wPercent damage mob vs. mob  :  &W%-3d\n\r",
act_wiz.c:        pager_printf_color(ch, "  &wGet object without take flag: &W%-7d",
act_wiz.c:        pager_printf_color(ch, "  &wMax level difference bestow : &W%-7d",
act_wiz.c:        pager_printf_color(ch, "  &wMorph Optimization is       : &W%-7s",
act_wiz.c:        pager_printf_color(ch, "  &wIdents retries              : &W%-7d", sysdata.ident_retries);
act_wiz.c:        if ( x == -1 )
act_wiz.c:  if ( victim->pcdata->release_date != 0 )
act_wiz.c:            ctime(&victim->pcdata->release_date), victim->pcdata->helled_by);
act_wiz.c:    tms->tm_hour += time;
act_wiz.c:    tms->tm_mday += time;
act_wiz.c:  victim->pcdata->release_date = mktime(tms);
act_wiz.c:  victim->pcdata->helled_by = STRALLOC(ch->name);
act_wiz.c:  ch_printf(ch, "%s will be released from hell at %24.24s.\n\r", victim->name,
act_wiz.c:          ctime(&victim->pcdata->release_date));
act_wiz.c:  /* fix hell bug - shogar */
act_wiz.c:  location = ch->in_room;
act_wiz.c:/*ch->in_room = get_room_index(8);*/
act_wiz.c:/*ch->in_room = location;          The case of unhell self, etc.*/
act_wiz.c:/* must be rod a thing only one hell here. -shogar */
act_wiz.c:  if ( victim->in_room->vnum != 8
act_wiz.c:  &&   victim->in_room->vnum != 1206
act_wiz.c:  &&   victim->in_room->vnum != 6 )
act_wiz.c:  if ( victim->in_room->vnum != ROOM_VNUM_HELL)
act_wiz.c:  if ( victim->pcdata->clan )
act_wiz.c:    location = get_room_index(victim->pcdata->clan->recall);
act_wiz.c:    location = ch->in_room;
act_wiz.c:  if ( victim->pcdata->helled_by )
act_wiz.c:    if( str_cmp(ch->name, victim->pcdata->helled_by) )
act_wiz.c:            victim->pcdata->helled_by);
act_wiz.c:    STRFREE(victim->pcdata->helled_by);
act_wiz.c:    victim->pcdata->helled_by = NULL;
act_wiz.c:  victim->pcdata->release_date = 0;
act_wiz.c:    for ( obj = first_object; obj != NULL; obj = obj->next )
act_wiz.c:	if ( !can_see_obj( ch, obj ) || !( argi == obj->pIndexData->vnum ))
act_wiz.c:	for ( in_obj = obj; in_obj->in_obj != NULL;
act_wiz.c:	  in_obj = in_obj->in_obj );
act_wiz.c:	if ( in_obj->carried_by != NULL )
act_wiz.c:		obj->level, obj_short(obj),
act_wiz.c:		PERS( in_obj->carried_by, ch ) );
act_wiz.c:	  pager_printf( ch, "[%2d] [%-5d] %s in %s.\n\r", obj_counter,
act_wiz.c:		( ( in_obj->in_room ) ? in_obj->in_room->vnum : 0 ),
act_wiz.c:		obj_short(obj), ( in_obj->in_room == NULL ) ?
act_wiz.c:		"somewhere" : in_obj->in_room->name );
act_wiz.c:  if ( victim->pcdata ) 
act_wiz.c:    victim->pcdata->condition[COND_DRUNK] = 0;
act_wiz.c: * Free a social structure					-Thoric
act_wiz.c:    if ( social->name )
act_wiz.c:      DISPOSE( social->name );
act_wiz.c:    if ( social->char_no_arg )
act_wiz.c:      DISPOSE( social->char_no_arg );
act_wiz.c:    if ( social->others_no_arg )
act_wiz.c:      DISPOSE( social->others_no_arg );
act_wiz.c:    if ( social->char_found )
act_wiz.c:      DISPOSE( social->char_found );
act_wiz.c:    if ( social->others_found )
act_wiz.c:      DISPOSE( social->others_found );
act_wiz.c:    if ( social->vict_found )
act_wiz.c:      DISPOSE( social->vict_found );
act_wiz.c:    if ( social->char_auto )
act_wiz.c:      DISPOSE( social->char_auto );
act_wiz.c:    if ( social->others_auto )
act_wiz.c:      DISPOSE( social->others_auto );
act_wiz.c: * Remove a social from it's hash index				-Thoric
act_wiz.c:    if ( social->name[0] < 'a' || social->name[0] > 'z' )
act_wiz.c:	hash = (social->name[0] - 'a') + 1;
act_wiz.c:	social_index[hash] = tmp->next;
act_wiz.c:	tmp_next = tmp->next;
act_wiz.c:	    tmp->next = tmp_next->next;
act_wiz.c: * Add a social to the social index table			-Thoric
act_wiz.c:    if ( !social->name )
act_wiz.c:	bug( "Add_social: NULL social->name", 0 );
act_wiz.c:    if ( !social->char_no_arg )
act_wiz.c:	bug( "Add_social: NULL social->char_no_arg", 0 );
act_wiz.c:    for ( x = 0; social->name[x] != '\0'; x++ )
act_wiz.c:	social->name[x] = LOWER(social->name[x]);
act_wiz.c:    if ( social->name[0] < 'a' || social->name[0] > 'z' )
act_wiz.c:	hash = (social->name[0] - 'a') + 1;
act_wiz.c:	social->next = social_index[hash];
act_wiz.c:    for ( ; tmp; tmp = tmp->next )
act_wiz.c:	if ( (x=strcmp(social->name, tmp->name)) == 0 )
act_wiz.c:		social->next = social_index[hash];
act_wiz.c:	    prev->next = social;
act_wiz.c:	    social->next = tmp;
act_wiz.c:    prev->next = social;
act_wiz.c:    social->next = NULL;
act_wiz.c: * Social editor/displayer/save/delete				-Thoric
act_wiz.c:	social->name = str_dup( arg1 );
act_wiz.c:	social->char_no_arg = str_dup( arg2 );
act_wiz.c:	    social->name,	social->char_no_arg );
act_wiz.c:	    social->others_no_arg	? social->others_no_arg	: "(not set)",
act_wiz.c:	    social->char_found		? social->char_found	: "(not set)",
act_wiz.c:	    social->others_found	? social->others_found	: "(not set)" );
act_wiz.c:	    social->vict_found	? social->vict_found	: "(not set)",
act_wiz.c:	    social->char_auto	? social->char_auto	: "(not set)",
act_wiz.c:	    social->others_auto	? social->others_auto	: "(not set)" );
act_wiz.c:	if ( social->char_no_arg )
act_wiz.c:	    DISPOSE( social->char_no_arg );
act_wiz.c:	social->char_no_arg = str_dup( argument );
act_wiz.c:	if ( social->others_no_arg )
act_wiz.c:	    DISPOSE( social->others_no_arg );
act_wiz.c:	    social->others_no_arg = str_dup( argument );
act_wiz.c:	if ( social->char_found )
act_wiz.c:	    DISPOSE( social->char_found );
act_wiz.c:	    social->char_found = str_dup( argument );
act_wiz.c:	if ( social->others_found )
act_wiz.c:	    DISPOSE( social->others_found );
act_wiz.c:	    social->others_found = str_dup( argument );
act_wiz.c:	if ( social->vict_found )
act_wiz.c:	    DISPOSE( social->vict_found );
act_wiz.c:	    social->vict_found = str_dup( argument );
act_wiz.c:	if ( social->char_auto )
act_wiz.c:	    DISPOSE( social->char_auto );
act_wiz.c:	    social->char_auto = str_dup( argument );
act_wiz.c:	if ( social->others_auto )
act_wiz.c:	    DISPOSE( social->others_auto );
act_wiz.c:	    social->others_auto = str_dup( argument );
act_wiz.c:	if ( arg1[0] != social->name[0] )
act_wiz.c:	if ( social->name )
act_wiz.c:	    DISPOSE( social->name );
act_wiz.c:	social->name = str_dup( arg1 );
act_wiz.c: * Free a command structure					-Thoric
act_wiz.c:    if ( command->name )
act_wiz.c:      DISPOSE( command->name );
act_wiz.c: * Remove a command from it's hash index			-Thoric
act_wiz.c:    hash = command->name[0]%126;
act_wiz.c:	command_hash[hash] = tmp->next;
act_wiz.c:	tmp_next = tmp->next;
act_wiz.c:	    tmp->next = tmp_next->next;
act_wiz.c: * Add a command to the command hash table			-Thoric
act_wiz.c:    if ( !command->name )
act_wiz.c:	bug( "Add_command: NULL command->name", 0 );
act_wiz.c:    if ( !command->do_fun )
act_wiz.c:	bug( "Add_command: NULL command->do_fun", 0 );
act_wiz.c:    for ( x = 0; command->name[x] != '\0'; x++ )
act_wiz.c:	command->name[x] = LOWER(command->name[x]);
act_wiz.c:    hash = command->name[0] % 126;
act_wiz.c:	command->next = command_hash[hash];
act_wiz.c:    for ( ; tmp; tmp = tmp->next )
act_wiz.c:	if ( !tmp->next )
act_wiz.c:	    tmp->next = command;
act_wiz.c:	    command->next = NULL;
act_wiz.c: * Command editor/displayer/save/delete				-Thoric
act_wiz.c: * Added support for interpret flags                            -Shaddai
act_wiz.c:	if ( get_trust(ch) > LEVEL_SUB_IMPLEM  || !str_cmp(ch->name, "Nivek"))
act_wiz.c:    if ((get_trust(ch) > LEVEL_GREATER || !str_cmp(ch->name, "Nivek"))
act_wiz.c:    if ( (!str_cmp(ch->name, "Nivek") || get_trust(ch) > LEVEL_SUB_IMPLEM)
act_wiz.c:	command->lag_count = 0; /* FB */
act_wiz.c:	command->name = str_dup( arg1 );
act_wiz.c:	command->level = get_trust(ch);
act_wiz.c:	command->do_fun = skill_function( arg2 );
act_wiz.c:	if ( command->do_fun == skill_notfound )
act_wiz.c:    if ( command->level > get_trust(ch) && str_cmp(ch->name, "Nivek"))
act_wiz.c:	    command->name, command->level, command->position, command->log,
act_wiz.c:	    skill_name(command->do_fun),flag_string(command->flags, cmd_flags));
act_wiz.c:	if ( command->userec.num_uses )
act_wiz.c:	  send_timer(&command->userec, ch);
act_wiz.c:    if ( get_trust(ch) <= LEVEL_SUB_IMPLEM && str_cmp(ch->name, "Nivek"))
act_wiz.c:	int hash = command->name[0] % 126;
act_wiz.c:	if ( tmp->next == command )
act_wiz.c:	    tmp_next = tmp->next;
act_wiz.c:	    tmp->next = command->next;
act_wiz.c:	    command->next = tmp;
act_wiz.c:	    ch_printf( ch, "Moved %s above %s.\n\r", command->name, command->next->name );
act_wiz.c:	for ( ; tmp; tmp = tmp->next )
act_wiz.c:	    tmp_next = tmp->next;
act_wiz.c:	    if ( tmp_next->next == command )
act_wiz.c:		tmp->next = command;
act_wiz.c:		tmp_next->next = command->next;
act_wiz.c:		command->next = tmp_next;
act_wiz.c:		ch_printf( ch, "Moved %s above %s.\n\r", command->name, command->next->name );
act_wiz.c:	send_to_char( "ERROR -- Not Found!\n\r", ch );
act_wiz.c:	int hash = command->name[0] % 126;
act_wiz.c:	if ( command->next == NULL )
act_wiz.c:	    tmp_next = tmp->next;
act_wiz.c:	    command_hash[hash] = command->next;
act_wiz.c:	    command->next = tmp_next->next;
act_wiz.c:	    tmp_next->next = command;
act_wiz.c:	    ch_printf( ch, "Moved %s below %s.\n\r", command->name, tmp_next->name );
act_wiz.c:	for ( ; tmp; tmp = tmp->next )
act_wiz.c:	    if ( tmp->next == command )
act_wiz.c:		tmp_next = command->next;
act_wiz.c:		tmp->next = tmp_next;
act_wiz.c:		command->next = tmp_next->next;
act_wiz.c:		tmp_next->next = command;
act_wiz.c:		ch_printf( ch, "Moved %s below %s.\n\r", command->name, tmp_next->name );
act_wiz.c:	send_to_char( "ERROR -- Not Found!\n\r", ch );
act_wiz.c:	int hash = command->name[0] % 126;
act_wiz.c:	pager_printf( ch, "Priority placement for [%s]:\n\r", command->name );
act_wiz.c:	for ( tmp = command_hash[hash]; tmp; tmp = tmp->next )
act_wiz.c:	    pager_printf( ch, "  %s\n\r", tmp->name );
act_wiz.c:	command->do_fun = fun;
act_wiz.c:	command->level = level;
act_wiz.c:	command->log = log;
act_wiz.c:	command->position = position;
act_wiz.c:        TOGGLE_BIT( command->flags, 1 << flag );
act_wiz.c:	if ( arg1[0] != command->name[0] )
act_wiz.c:	if ( command->name )
act_wiz.c:	    DISPOSE( command->name );
act_wiz.c:	command->name = str_dup( arg1 );
act_wiz.c: * Display class information					-Thoric
act_wiz.c:	    if ( !str_cmp(class_table[cl]->who_name, arg1) )
act_wiz.c:    pager_printf_color( ch, "&wCLASS: &W%s\n\r&wPrime Attribute: &W%-14s &wWeapon: &W%-5d      &wGuild: &W%-5d\n\r",
act_wiz.c:	class->who_name, affect_loc_name(class->attr_prime), class->weapon, class->guild );
act_wiz.c:    pager_printf_color( ch, "&wMax Skill Adept: &W%-3d             &wThac0 : &W%-5d     &wThac32: &W%d\n\r",
act_wiz.c:	class->skill_adept, class->thac0_00, class->thac0_32 );
act_wiz.c:    pager_printf_color( ch, "&wHp Min/Hp Max  : &W%-2d/%-2d           &wMana  : &W%-3s      &wExpBase: &W%d\n\r",
act_wiz.c:	class->hp_min, class->hp_max, class->fMana ? "yes" : "no ", class->exp_base );
act_wiz.c:    pager_printf_color( ch, "&wBase Alignment : &W%-2d\n\r",
act_wiz.c:	class->alignment ); /* Scion 3/20/99 */
act_wiz.c:	    pager_printf( ch, "Male: %-30s Female: %s\n\r",
act_wiz.c:		if ( skill_table[y]->skill_level[cl] == x )
act_wiz.c:		   pager_printf( ch, "  %-7s %-19s%3d     ",
act_wiz.c:			skill_tname[skill_table[y]->type],
act_wiz.c:			skill_table[y]->name, skill_table[y]->skill_adept[cl] );
act_wiz.c: * Edit class information					-Thoric
act_wiz.c:	    if ( !str_cmp(class_table[cl]->who_name, arg1) )
act_wiz.c:	STRFREE(class->who_name );
act_wiz.c:	class->who_name = STRALLOC( argument );
act_wiz.c:	    class->attr_prime = x;
act_wiz.c:	class->weapon = atoi( argument );
act_wiz.c:	class->guild = atoi( argument );
act_wiz.c:	class->thac0_00 = atoi( argument );
act_wiz.c:	class->thac0_32 = atoi( argument );
act_wiz.c:	class->hp_min = atoi( argument );
act_wiz.c:	class->hp_max = atoi( argument );
act_wiz.c:	  class->fMana = TRUE;
act_wiz.c:	  class->fMana = FALSE;
act_wiz.c:	class->exp_base = atoi( argument );
act_wiz.c:	class->alignment = atoi( argument );
act_wiz.c:	if (class->alignment>1000)
act_wiz.c:	else if (class->alignment<-1000)
act_wiz.c:	    send_to_char("Warning: min alignment is -1000.\n\r",ch);
act_wiz.c:            if ( !str_cmp(race_table[ra]->race_name, arg1) )
act_wiz.c:        sprintf(race->race_name,"%-.16s",argument);
act_wiz.c:        race->str_plus = (sh_int) atoi( argument );
act_wiz.c:        race->dex_plus = (sh_int) atoi( argument );
act_wiz.c:        race->wis_plus = (sh_int) atoi( argument );
act_wiz.c:        race->int_plus = (sh_int) atoi( argument );
act_wiz.c:        race->con_plus = (sh_int) atoi( argument );
act_wiz.c:        race->cha_plus = (sh_int) atoi( argument );
act_wiz.c:        race->lck_plus = (sh_int) atoi( argument );
act_wiz.c:        race->hit = (sh_int) atoi( argument );
act_wiz.c:        race->mana = (sh_int) atoi( argument );
act_wiz.c:	     xTOGGLE_BIT( race->affected, value );
act_wiz.c:                TOGGLE_BIT( race->resist, 1 << value );
act_wiz.c:                TOGGLE_BIT( race->suscept, 1 << value );
act_wiz.c:        race->language = atoi( argument );
act_wiz.c:           if( !str_cmp(argument,class_table[i]->who_name) )
act_wiz.c:              TOGGLE_BIT( race->class_restriction, 1 << i);   /* k, that's boggling */
act_wiz.c:        race->ac_plus = atoi( argument );
act_wiz.c:        race->alignment = atoi( argument );
act_wiz.c:                xTOGGLE_BIT( race->defenses,  value );
act_wiz.c:                xTOGGLE_BIT( race->attacks,  value );
act_wiz.c:        race->minalign = atoi( argument );
act_wiz.c:        race->maxalign = atoi( argument );
act_wiz.c:        race->height = atoi( argument );
act_wiz.c:        race->weight = atoi( argument );
act_wiz.c:        race->thirst_mod = atoi( argument );
act_wiz.c:        race->hunger_mod = atoi( argument );
act_wiz.c:        race->maxalign = atoi( argument );
act_wiz.c:        race->exp_multiplier = atoi( argument );
act_wiz.c:        race->saving_poison_death = atoi( argument );
act_wiz.c:        race->saving_wand = atoi( argument );
act_wiz.c:        race->saving_para_petri = atoi( argument );
act_wiz.c:        race->saving_breath = atoi( argument );
act_wiz.c:        race->saving_spell_staff = atoi( argument );
act_wiz.c:        race->mana_regen = atoi( argument );
act_wiz.c:        race->hp_regen = atoi( argument );
act_wiz.c:        race->race_recall = atoi( argument );
act_wiz.c:        race->acplus = atoi( argument );
act_wiz.c:        race->acplus = atoi( argument );
act_wiz.c:        race->base_age = atoi( argument );
act_wiz.c:            send_to_char( "  - haircolor\t- hairlength\t- eyecolor\n\r", ch );
act_wiz.c:            send_to_char( "  - skintone\t- build\t\t- height\n\r", ch );
act_wiz.c:                send_to_char( buffer->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[HAIR_COLOR], 1 << bitv );
act_wiz.c:                send_to_char( buf->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[HAIR_LENGTH], 1 << bitv );
act_wiz.c:                send_to_char( buf->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[EYE_COLOR], 1 << bitv );
act_wiz.c:                send_to_char( buf->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[SKIN_TONE], 1 << bitv );
act_wiz.c:                send_to_char( buf->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[RACE_BUILD], 1 << bitv );
act_wiz.c:                send_to_char( buf->data, ch );
act_wiz.c:                TOGGLE_BIT( race->attribs[RACE_HEIGHT], 1 << bitv );
act_wiz.c:            if ( !str_cmp(race_table[ra]->race_name, arg1) )
act_wiz.c:    sprintf( buf, "RACE: %s\n\r",race->race_name);
act_wiz.c:      if( IS_SET(race->class_restriction, 1 << i) )
act_wiz.c:             sprintf(buf,"%s ", class_table[i]->who_name);
act_wiz.c:      if( !IS_SET(race->class_restriction, 1 << i) )
act_wiz.c:             sprintf(buf,"%s ", class_table[i]->who_name);
act_wiz.c:	sprintf( buf, "Race_recall: %d\n\r", race->race_recall);
act_wiz.c:    sprintf( buf, "Str Plus: %-3d\tDex Plus: %-3d\tWis Plus: %-3d\tInt Plus: %-3d\t\n\r",
act_wiz.c:                           race->str_plus, race->dex_plus, race->wis_plus, race->int_plus);
act_wiz.c:    sprintf( buf, "Con Plus: %-3d\tCha Plus: %-3d\tLck Plus: %-3d\n\r",
act_wiz.c:                           race->con_plus, race->cha_plus, race->lck_plus);
act_wiz.c:    sprintf( buf, "Hit Pts:  %-3d\tMana: %-3d\tAlign: %-4d\tAC: %-d\n\r",
act_wiz.c:                           race->hit, race->mana, race->alignment, race->ac_plus);
act_wiz.c:    sprintf( buf, "Min Align: %d\tMax Align: %-d\t\tXP Mult: %-d%%\n\r",
act_wiz.c:                           race->minalign, race->maxalign, race->exp_multiplier);
act_wiz.c:                           race->height, race->weight, race->hunger_mod, race->thirst_mod);
act_wiz.c:    send_to_char( affect_bit_name( &race->affected ), ch);
act_wiz.c:    send_to_char( flag_string(race->resist, ris_flags), ch);
act_wiz.c:    send_to_char( flag_string(race->suscept, ris_flags), ch);
act_wiz.c:            race->saving_poison_death,
act_wiz.c:            race->saving_wand,
act_wiz.c:            race->saving_para_petri,
act_wiz.c:            race->saving_breath,
act_wiz.c:            race->saving_spell_staff);
act_wiz.c:    send_to_char( ext_flag_string(&race->attacks, attack_flags), ch);
act_wiz.c:    send_to_char( ext_flag_string(&race->defenses, defense_flags), ch);
act_wiz.c:    sprintf(buf, "Base Age: %d\r\n", race->base_age);
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[HAIR_COLOR], 1 << bitv ) ? "&GE" : " ",
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[HAIR_LENGTH], 1 << bitv ) ? "&GE" : " ",
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[EYE_COLOR], 1 << bitv ) ? "&GE" : " ",
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[SKIN_TONE], 1 << bitv ) ? "&GE" : " ",
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[RACE_BUILD], 1 << bitv ) ? "&GE" : " ",
act_wiz.c:            ch_printf( ch, "\n\r  -" );
act_wiz.c:        ch_printf( ch, "&w(%s&w)%-15s", IS_SET( race->attribs[RACE_HEIGHT], 1 << bitv ) ? "&GE" : " ",
act_wiz.c: * quest point set - TRI
act_wiz.c:    if (( str_cmp( ch->pcdata->council_name, "Quest Council" )
act_wiz.c:    || str_cmp(ch->pcdata->council2_name, "Quest Council"))
act_wiz.c:    victim->pcdata->quest_curr += amount;
act_wiz.c:    victim->pcdata->quest_accum += amount;
act_wiz.c:	victim->name, amount );
act_wiz.c:    if ( victim->pcdata->quest_curr - amount < 0 )
act_wiz.c:	  victim->name, amount );
act_wiz.c:    victim->pcdata->quest_curr -= amount;
act_wiz.c:	victim->name, amount );
act_wiz.c:/* Easy way to check a player's glory -- Blodkai, June 97 */
act_wiz.c:           victim->name );
act_wiz.c:        victim->name,
act_wiz.c:        victim->pcdata->quest_curr,
act_wiz.c:        victim->pcdata->quest_accum );
act_wiz.c:/* Simple, small way to make keeping track of small mods easier - Blod */
act_wiz.c:        sprintf( buf, "&g|&G%-2.2d/%-2.2d &g| &G%5d&g|  %s:  &G%s",
act_wiz.c:          t->tm_mon+1, t->tm_mday, ch->in_room ? ch->in_room->vnum : 0,
act_wiz.c:          IS_NPC( ch ) ? ch->short_descr : ch->name, argument );
act_wiz.c:  for (res = first_reserved; res; res = res->next)
act_wiz.c:    fprintf(fp, "%s~\n", res->name);
act_wiz.c:    send_to_char("-- Reserved Names --\n\r", ch);
act_wiz.c:    for (res = first_reserved; res; res = res->next)
act_wiz.c:      ch_printf(ch, "%c%-17s ", (*res->name == '*' ? '*' : ' '),
act_wiz.c:          (*res->name == '*' ? res->name+1 : res->name));
act_wiz.c:  for (res = first_reserved; res; res = res->next)
act_wiz.c:    if (!str_cmp(arg, res->name))
act_wiz.c:      DISPOSE(res->name);
act_wiz.c:  res->name = str_dup(arg);
act_wiz.c:	ch_printf(ch, "%-40s%-8s %-8s %-8s\n\r",
act_wiz.c:	for(pArea = first_area; pArea; pArea = pArea->next)
act_wiz.c:			nifty_is_name_prefix(arg, pArea->name))
act_wiz.c:			ch_printf(ch, "%-40s", pArea->name);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->temp);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->temp_vector);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->precip);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->precip_vector);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->wind);
act_wiz.c:			ch_printf(ch, "%3d", pArea->weather->wind_vector);
act_wiz.c:		ch_printf(ch, "%-15s%-6s\n\r",
act_wiz.c:		ch_printf(ch, "%-15s%-6d\n\r",
act_wiz.c:		ch_printf(ch, "%-15s%-6d\n\r",
act_wiz.c:		ch_printf(ch, "%-15s%-6d\n\r",
act_wiz.c:		ch_printf(ch, "%-15s%-6d\n\r",
act_wiz.c:		ch_printf(ch, "%-15s%-6d\n\r",
act_wiz.c:			"%d to %d.\n\r", -3*weath_unit,
act_wiz.c:			"%d to %d.\n\r", -1*max_vector,
act_wiz.c:    ch_printf(ch, "Kill history for %s:\n\r", vch->name);
act_wiz.c:        vch->pcdata->killed[track].vnum; track++)
act_wiz.c:        tmob = get_mob_index(vch->pcdata->killed[track].vnum);
act_wiz.c:        ch_printf(ch, "   %-30s", capitalize(tmob->short_descr));
act_wiz.c:        ch_printf(ch, "%-5d", tmob->vnum);
act_wiz.c:        ch_printf(ch, "    - killed %d times.\n\r",
act_wiz.c:                  vch->pcdata->killed[track].count);
act_wiz.c:   if( !ch->desc )
act_wiz.c:   switch( ch->substate )
act_wiz.c:          if ( !ch->pnote )
act_wiz.c:          if ( ch->dest_buf != ch->pnote )
act_wiz.c:             bug( "do_project: sub_writing_note: ch->dest_buf != ch->pnote", 0 );
act_wiz.c:          STRFREE( ch->pnote->text );
act_wiz.c:          ch->pnote->text = copy_buffer( ch );
act_wiz.c:	  if ( !ch->dest_buf )
act_wiz.c:	    bug( "do_project: sub_project_desc: NULL ch->dest_buf", 0 );
act_wiz.c:	    ch->substate = SUB_NONE;
act_wiz.c:	  pproject = ch->dest_buf;
act_wiz.c:	  STRFREE( pproject->description );
act_wiz.c:	  pproject->description = copy_buffer ( ch );
act_wiz.c:	  ch->substate = ch->tempnum;
act_wiz.c:"---|-------------|----------------------|--------------------------|-----------\n\r");
act_wiz.c:      for( pproject = first_project; pproject; pproject = pproject->next )
act_wiz.c: 	if ( (pproject->status && str_cmp(pproject->status, "approved"))
act_wiz.c:		 || pproject->coder != NULL)  
act_wiz.c:	pager_printf(ch, "%2d | %-11s | %-20s |\n\r", 
act_wiz.c:	    pproject->owner ? pproject->owner : "(None)", 
act_wiz.c: 	    pproject->name);
act_wiz.c:"---|-------------|----------------------|---------------|------------|----------\n\r");
act_wiz.c:      for( pproject = first_project; pproject; pproject = pproject->next )
act_wiz.c:	   if ( MINE &&(!pproject->owner||str_cmp( ch->name, pproject->owner)) 
act_wiz.c:		&& (!pproject->coder || str_cmp( ch->name, pproject->coder )) )
act_wiz.c:	   else if (!MINE && pproject->status && 
act_wiz.c:			!str_cmp("Done", pproject->status ) )
act_wiz.c:	   for ( log = pproject->first_log; log; log=log->next )
act_wiz.c:	   pager_printf(ch, "%2d | %-11s | %-20s | %-13s | %-10s | %3d\n\r", 
act_wiz.c:	    pproject->owner ? pproject->owner : "(None)", 
act_wiz.c: 	    pproject->name,
act_wiz.c:	    pproject->coder ? pproject->coder : "(None)",
act_wiz.c:	    pproject->status ? pproject->status : "(None)",
act_wiz.c:"---|-------------|----------------------|--------------------------|-----------\n\r");
act_wiz.c:	pager_printf(ch, "---|----------------------|--------------------------\n\r");
act_wiz.c:      for( pproject = first_project; pproject; pproject = pproject->next )
act_wiz.c:	 if (pproject->status && !str_cmp("Done", pproject->status ) )
act_wiz.c:	   pager_printf(ch, "%2d | %-11s | %-20s | %-24s | %-10s\n\r", 
act_wiz.c:	    pproject->owner ? pproject->owner : "(None)", 
act_wiz.c: 	    pproject->name,
act_wiz.c:	    pproject->date,
act_wiz.c:	    pproject->status ? pproject->status : "(None)");
act_wiz.c:	   if( !pproject->taken )
act_wiz.c:	      pager_printf(ch, "%2d | %-20s | %s\n\r",
act_wiz.c:	      pproject->name,
act_wiz.c:	      pproject->date);
act_wiz.c:	  str_cmp(ch->name, "Kali")
act_wiz.c:	  && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:	  ||  str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:      new_project->name = str_dup(argument);
act_wiz.c:      new_project->coder = NULL;
act_wiz.c:      new_project->taken = FALSE;
act_wiz.c:      new_project->description = STRALLOC( "" );
act_wiz.c:      strtime[strlen(strtime)-1]      = '\0'; 
act_wiz.c:      new_project->date = STRALLOC( strtime );
act_wiz.c:	  str_cmp(ch->name, "Kali") 
act_wiz.c:	  && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:	  || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:      ch->tempnum = SUB_NONE;
act_wiz.c:      ch->substate = SUB_PROJ_DESC;
act_wiz.c:      ch->dest_buf = pproject;
act_wiz.c:      if ( pproject->description == NULL )
act_wiz.c:	pproject->description = STRALLOC("");
act_wiz.c:      start_editing( ch, pproject->description );
act_wiz.c:      if( str_cmp(ch->name, "Kali") 
act_wiz.c:          && (str_cmp(ch->pcdata->council_name, "Code Council") 
act_wiz.c:	  || str_cmp(ch->pcdata->council2_name, "Code Council")) &&
act_wiz.c:      log = pproject->last_log;
act_wiz.c:	UNLINK( log, pproject->first_log, pproject->last_log, next, prev );
act_wiz.c:	tlog = log->prev;
act_wiz.c:      DISPOSE( pproject->name );
act_wiz.c:      if ( pproject->coder )
act_wiz.c:	DISPOSE( pproject->coder );
act_wiz.c:      if( pproject->owner )
act_wiz.c:	STRFREE( pproject->owner );
act_wiz.c:      if( pproject->description )
act_wiz.c:        STRFREE( pproject->description );
act_wiz.c:      if ( pproject->date )
act_wiz.c:	STRFREE( pproject->date );
act_wiz.c:      if ( pproject->status )
act_wiz.c:	STRFREE( pproject->status );
act_wiz.c:      if( pproject->taken  && pproject->owner &&
act_wiz.c:		!str_cmp(pproject->owner, ch->name ) )
act_wiz.c:	pproject->taken = FALSE;
act_wiz.c:	STRFREE( pproject->owner );
act_wiz.c:	pproject->owner = NULL;
act_wiz.c:      else if ( pproject->taken )
act_wiz.c:      if( pproject->owner )
act_wiz.c:	STRFREE( pproject->owner );
act_wiz.c:      pproject->owner = STRALLOC( ch->name );
act_wiz.c:      pproject->taken = TRUE;
act_wiz.c:	if ( pproject->coder && !str_cmp(ch->name, pproject->coder))
act_wiz.c:	  DISPOSE( pproject->coder );
act_wiz.c:	  pproject->coder = NULL;
act_wiz.c:	else if ( pproject->coder )
act_wiz.c:       	pproject->coder = str_dup( ch->name );
act_wiz.c:      if( pproject->owner && str_cmp( pproject->owner, ch->name ) && 
act_wiz.c:		&& pproject->coder && str_cmp(pproject->coder, ch->name) &&
act_wiz.c:	  str_cmp(ch->name, "Kali") 
act_wiz.c:	  && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:          || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:      if(pproject->status)
act_wiz.c:	STRFREE(pproject->status);
act_wiz.c:      pproject->status = STRALLOC(argument);
act_wiz.c:	if ( pproject->description )
act_wiz.c:	  send_to_char ( pproject->description, ch );
act_wiz.c:	 ch->substate = SUB_WRITING_NOTE;
act_wiz.c:	 ch->dest_buf = ch->pnote;
act_wiz.c:	 start_editing( ch, ch->pnote->text);
act_wiz.c:	STRFREE(ch->pnote->subject);
act_wiz.c:	ch->pnote->subject = STRALLOC( argument );
act_wiz.c:        if( pproject->owner && str_cmp(ch->name, pproject->owner) &&
act_wiz.c:	    pproject->coder && str_cmp(ch->name, pproject->coder) && 
act_wiz.c:	    get_trust(ch) < LEVEL_GREATER && str_cmp(ch->name, "Kali") &&
act_wiz.c:	    (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:          || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:        if ( !ch->pnote )
act_wiz.c:        if ( !ch->pnote->subject )
act_wiz.c:        strtime[strlen(strtime)-1]      = '\0'; 
act_wiz.c:        ch->pnote->date                 = STRALLOC( strtime );
act_wiz.c:	ch->pnote->sender		= ch->name;
act_wiz.c:        plog           = ch->pnote;
act_wiz.c:        ch->pnote       = NULL;
act_wiz.c:        LINK(plog, pproject->first_log, pproject->last_log, next, prev);   
act_wiz.c:        if( pproject->owner && pproject->coder &&
act_wiz.c:	    str_cmp(ch->name, pproject->owner) && get_trust(ch) < LEVEL_SAVIOR 
act_wiz.c:	    && str_cmp(ch->name, pproject->coder)
act_wiz.c:	    && str_cmp(ch->name, "Kali") 
act_wiz.c:	    && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:          || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:        pager_printf(ch, "Project: %-12s: %s\n\r",
act_wiz.c:         pproject->owner ? pproject->owner : "(None)",
act_wiz.c:         pproject->name);      	
act_wiz.c:       	for( plog = pproject->first_log; plog; plog = plog->next )
act_wiz.c:           pager_printf( ch, "%2d) %-12s: %s\n\r",
act_wiz.c:                        plog->sender,
act_wiz.c:                        plog->subject );
act_wiz.c:        if( pproject->owner && str_cmp(ch->name, pproject->owner) && 
act_wiz.c:		pproject->coder && str_cmp(ch->name, pproject->coder ) &&
act_wiz.c:	  str_cmp(ch->name, "Kali") 
act_wiz.c:	  && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:          || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:	UNLINK( plog, pproject->first_log, pproject->last_log, next, prev );
act_wiz.c:        if( pproject->owner && pproject->coder &&
act_wiz.c:	    str_cmp(ch->name, pproject->owner) && get_trust(ch) < LEVEL_SAVIOR 
act_wiz.c:	    && str_cmp(ch->name, pproject->coder )
act_wiz.c:	    && str_cmp(ch->name, "Kali") 
act_wiz.c:            && (str_cmp(ch->pcdata->council_name, "Code Council")
act_wiz.c:          || str_cmp(ch->pcdata->council2_name, "Code Council")))
act_wiz.c:        plog->sender,
act_wiz.c:        plog->subject,
act_wiz.c:        plog->date,
act_wiz.c:        plog->text );
act_wiz.c:   for( pproject = first_project; pproject; pproject = pproject->next )
act_wiz.c:   for( plog = pproject->first_log; plog; plog = plog->next )
act_wiz.c: * --Shaddai
act_wiz.c:  * 2 in the morning :) --Shaddai
act_wiz.c:  int count = 0, times = -1;
act_wiz.c:       for ( d = first_descriptor; d; d = d->next)
act_wiz.c:          for ( hmm = first_ip; hmm; hmm = hmm->next )
act_wiz.c:                  if ( !str_cmp( hmm->host, d->host ) )
act_wiz.c:                        temp->host = str_dup ( d->host );
act_wiz.c:                hmm_next = hmm->next;
act_wiz.c:                if ( hmm->host )
act_wiz.c:                      DISPOSE( hmm->host );
act_wiz.c:   strcat (buf, "----+---+----+------+-------------");
act_wiz.c:      strcat (buf, "------------------" );
act_wiz.c:   strcat (buf, "+---------");
act_wiz.c:   for ( d = first_descriptor; d; d = d->next)
act_wiz.c:           if(((d->connected != CON_PLAYING
act_wiz.c:           &&   d->connected != CON_EDITING)
act_wiz.c:           || ( d->connected <= CON_NOTE_TO
act_wiz.c:           &&   d->connected >= CON_NOTE_FINISH))
act_wiz.c:           || d->character == NULL || !CAN_PKILL(d->character)
act_wiz.c:           || !can_see (ch, d->character) )
act_wiz.c:           temp->host = str_dup ( d->host );
act_wiz.c:           temp->descriptor = d->descriptor;
act_wiz.c:           temp->connected = d->connected;
act_wiz.c:           temp->idle = d->idle;
act_wiz.c:           temp->port = d->port;
act_wiz.c:           temp->name = (d->original ? str_dup( d->original->name ) :
act_wiz.c:                d->character? str_dup( d->character->name ) :
act_wiz.c:	   temp->user = str_dup(d->user);
act_wiz.c:	   temp->count = 0;
act_wiz.c:           temp->printed = FALSE;
act_wiz.c:    for ( d = first_descriptor; d; d = d->next)
act_wiz.c:         if(((d->connected != CON_PLAYING
act_wiz.c:         &&   d->connected != CON_EDITING)
act_wiz.c:         || ( d->connected <= CON_NOTE_TO
act_wiz.c:         &&   d->connected >= CON_NOTE_FINISH))
act_wiz.c:         || d->character == NULL || !can_see (ch, d->character))
act_wiz.c:         for ( hmm = first_ip; hmm; hmm = hmm->next )
act_wiz.c:                if ( !str_cmp( hmm->host, d->host) &&
act_wiz.c:			str_cmp(hmm->name, (d->original ? d->original->name :
act_wiz.c:                		d->character? d->character->name : "(none)" )))
act_wiz.c:	  hmm->count++;
act_wiz.c:          if ( !hmm->printed && hmm->count > 0)
act_wiz.c:                          " %3d| %2d|%4d|%6d| %-12s",
act_wiz.c:                    hmm->descriptor,
act_wiz.c:                    hmm->connected,
act_wiz.c:                    hmm->idle / 4,
act_wiz.c:                    hmm->port,
act_wiz.c:		    hmm->name );
act_wiz.c:              sprintf(buf + strlen (buf), "@%-16s ", hmm->host );
act_wiz.c:              sprintf (buf + strlen (buf), "| %s", hmm->user);
act_wiz.c:            hmm->printed = TRUE;
act_wiz.c:                  " %3d| %2d|%4d|%6d| %-12s",
act_wiz.c:                  d->descriptor,
act_wiz.c:                  d->connected,
act_wiz.c:                  d->idle / 4,
act_wiz.c:                  d->port,
act_wiz.c:                  d->original ? d->original->name :
act_wiz.c:                  d->character ? d->character->name : "(none)");
act_wiz.c:            sprintf(buf + strlen (buf), "@%-16s ", d->host );
act_wiz.c:            sprintf (buf + strlen (buf), "| %s", d->user);
act_wiz.c:                hmm_next = hmm->next;
act_wiz.c:                if ( hmm->name )
act_wiz.c:                        DISPOSE( hmm->name );
act_wiz.c:                if ( hmm->host )
act_wiz.c:                        DISPOSE( hmm->host );
act_wiz.c:		if ( hmm->user )
act_wiz.c:			DISPOSE( hmm->user );
act_wiz.c:  if ( ( victim = get_char_world( ch, arg ) ) != NULL  && victim->desc)
act_wiz.c:        addie = victim->desc->host;
act_wiz.c:        if ( addie[strlen(addie) -1] == '*' )
act_wiz.c:                addie[strlen(addie)-1] = '\0';
act_wiz.c:  strcat (buf, "----+---+----+------+-------------");
act_wiz.c:     strcat (buf, "------------------" );
act_wiz.c:     strcat (buf, "+---------");
act_wiz.c:  for ( d = first_descriptor; d; d = d->next)
act_wiz.c:      if ( !d->character ||((d->connected != CON_PLAYING
act_wiz.c:                         &&  d->connected != CON_EDITING)
act_wiz.c:                         || (d->connected <= CON_NOTE_TO
act_wiz.c:                         &&  d->connected >= CON_NOTE_FINISH))
act_wiz.c:           || !can_see (ch, d->character) )
act_wiz.c:          if ( inroom && ch->in_room != d->character->in_room )
act_wiz.c:          if ( inarea && ch->in_room->area != d->character->in_room->area )
act_wiz.c:          if ( times > 0 && count == (times - 1 ) )
act_wiz.c:          if ( prefix && suffix && strstr( addie, d->host ) )
act_wiz.c:          else if ( prefix && !str_suffix( addie , d->host) )
act_wiz.c:          else if ( suffix && !str_prefix( addie , d->host) )
act_wiz.c:          else if ( !str_cmp( d->host, addie ) )
act_wiz.c:                        " %3d| %2d|%4d|%6d| %-12s",
act_wiz.c:                        d->descriptor,
act_wiz.c:                        d->connected,
act_wiz.c:                        d->idle / 4,
act_wiz.c:                        d->port,
act_wiz.c:                        d->original ? d->original->name :
act_wiz.c:                        d->character ? d->character->name : "(none)");
act_wiz.c:                   sprintf(buf + strlen (buf), "@%-16s ", d->host );
act_wiz.c:                   sprintf (buf + strlen (buf), "| %s", d->user);
act_wiz.c: * New nuisance flag to annoy people that deserve it :) --Shaddai
act_wiz.c:	send_to_char("  power <level 1-10>\n\r", ch );
act_wiz.c:	send_to_char("Defaults: Time -- forever, power -- 1, maxtime 8 days.\n\r", ch );
act_wiz.c:  if ( victim->pcdata->nuisance )
act_wiz.c:                  send_to_char("Power must be 1 - 10.\n\r", ch );
act_wiz.c:    send_to_char("Hours must be 1 - 23.\n\r", ch );
act_wiz.c:    send_to_char("Days must be 1 - 999.\n\r", ch );
act_wiz.c:  CREATE ( victim->pcdata->nuisance, NUISANCE_DATA, 1 );
act_wiz.c:  victim->pcdata->nuisance->time = current_time;
act_wiz.c:  victim->pcdata->nuisance->flags = 1;
act_wiz.c:  victim->pcdata->nuisance->power = power;
act_wiz.c:        now_time->tm_min += max_time;
act_wiz.c:        now_time->tm_hour+= max_time;
act_wiz.c:        now_time->tm_mday+= max_time;
act_wiz.c:  victim->pcdata->nuisance->max_time = mktime(now_time);
act_wiz.c:  if ( !victim->pcdata->nuisance )
act_wiz.c:  for (timer = victim->first_timer; timer; timer = timer_next)
act_wiz.c:      timer_next = timer->next;
act_wiz.c:      if ( timer->type == TIMER_NUISANCE )
act_wiz.c:  DISPOSE( victim->pcdata->nuisance );
act_wiz.c:     * too --Shaddai
act_wiz.c:    sprintf( oldname, "%s%c/%s",PLAYER_DIR,tolower(victim->pcdata->filename[0]),
act_wiz.c:                                 capitalize( victim->pcdata->filename ) );
act_wiz.c:    sprintf( backname,"%s%c/%s",BACKUP_DIR,tolower(victim->pcdata->filename[0]),
act_wiz.c:                                 capitalize( victim->pcdata->filename ) );
act_wiz.c:	sprintf(godname, "%s%s", GOD_DIR, capitalize(victim->pcdata->filename));
act_wiz.c:    if ( ch->pcdata->area )
act_wiz.c:       sprintf( filename, "%s%s.are", BUILD_DIR, victim->name);
act_wiz.c:       sprintf( filename, "%s%s.are.bak", BUILD_DIR, victim->name);
act_wiz.c:    STRFREE( victim->name );
act_wiz.c:    victim->name = STRALLOC( capitalize(arg2) );    
act_wiz.c:    STRFREE( victim->pcdata->filename );
act_wiz.c:    victim->pcdata->filename = STRALLOC( capitalize(arg2) );
act_wiz.c:    for ( d = first_descriptor; d; d = d->next )
act_wiz.c:        if ( d->connected == CON_PLAYING )
act_wiz.c:            ch_printf_color( d->character, "&R[&WINFO&R] &c%s\n\r", argument );
act_wiz.c:    for( area = first_asort ; area ; area = area->next )
act_wiz.c:        for( vnum = area->low_r_vnum ; vnum <= area->hi_r_vnum ; vnum++ )
act_wiz.c:            if( IS_SET( room->room_flags, 1 << value ) )
act_wiz.c:                         room->vnum );
act_wiz.c:        || !str_cmp( victim->name, "Kratas" ))
act_wiz.c:    victim->hit  = victim->hit  *.5;
act_wiz.c:    victim->mana = victim->mana *.5;
act_wiz.c:    victim->move = victim->move *.5;
act_wiz.c:        victim->pcdata->smites++;
act_wiz.c:        adjust_hiscore( "smite", victim, victim->pcdata->smites );
act_wiz.c:    ch->pcdata->smited++;
act_wiz.c:    adjust_hiscore( "smiter", ch, ch->pcdata->smited );
act_wiz.c:    ch_printf( ch, "You have smitten %s!\n\r", victim->name );
act_wiz.c:    if( str_cmp( ch->name, "Kratas" ) )
antitank.c: *  Anti-tanking code
antitank.c: * one the mob is currently fighting, then powerlevel-tanking has
antitank.c:	for( lowbie = ch->in_room->first_person ; lowbie ; lowbie = lowbie->next_in_room )
antitank.c:		&& lowbie->level < victim->level - 10 )
antitank.c:				tanker->name, lowbie->name,
antitank.c:				ch->pIndexData->vnum );
arena.c:                low_level=-1; /* Ignore level settings if not specified */
arena.c:                    low_level=-1;
arena.c:                hi_level=-1; /* Ignore level settings if not specified */
arena.c:                    hi_level=-1;
arena.c:            for( d = first_descriptor ; d ; d = d->next )
arena.c:                if( !d->character )
arena.c:                victim = d->character;
arena.c:                if( !victim->pcdata->arena )
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:            if (hi_level>0 && low_level==-1)
arena.c:                sprintf(buf, "%s has ^zOPENED^x the arena with a MAX level of %d!",ch->name, hi_level);
arena.c:            else if (low_level>0 && hi_level==-1)
arena.c:                sprintf(buf, "%s has ^zOPENED^x the arena with a MIN level of %d!",ch->name, low_level);
arena.c:            else if (low_level == -1 && hi_level == -1)
arena.c:                sprintf(buf, "%s has ^zOPENED^x the arena!", ch->name);
arena.c:                sprintf(buf,"%s has ^zOPENED^x the arena for levels %d through %d!", ch->name, low_level, hi_level);
arena.c:                sprintf(buf, "%s has closed betting.  Let the games begin!", ch->name);
arena.c:            sprintf(buf, "%s has canceled the arena match!",ch->name);
arena.c:            for( d = first_descriptor ; d ; d = d->next )
arena.c:                if( !d->character )
arena.c:                victim = d->character;
arena.c:                if( !victim->pcdata->arena )
arena.c:                if( victim->pcdata->arena->status == 1 )
arena.c:                    victim->gold += victim->pcdata->arena->bet;
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:                if( victim->pcdata->arena->status != 2 )
arena.c:                victim->position = POS_STANDING;
arena.c:                    victim->gold += arena_fee;
arena.c:                char_to_room( victim, get_room_index(victim->retran) );
arena.c:                victim->pcdata->arena->status = 0;
arena.c:                if( victim->pcdata->arena )
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:            for( d = first_descriptor ; d ; d = d->next )
arena.c:                if( !d->character )
arena.c:                victim = d->character;
arena.c:                if( !victim->pcdata->arena )
arena.c:                if( victim->pcdata->arena->status == 0 )
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:                switch( victim->pcdata->arena->status )
arena.c:                    sprintf(cmd, "Betting (%-12s -- %d)",
arena.c:                            victim->pcdata->arena->bet_on->name,
arena.c:                            victim->pcdata->arena->bet );
arena.c:                sprintf(buf, "%15s: %s\n\r", victim->name, cmd);
arena.c:            if( ch->pcdata->arena )
arena.c:                /* Made a bit more readable -- Kratas */
arena.c:                switch( ch->pcdata->arena->status )
arena.c:            if ((ch->gold < arena_fee) && !IS_IMMORTAL(ch))
arena.c:            if (ch->level<low_level && low_level != -1)
arena.c:            if (ch->level>hi_level && hi_level != -1)
arena.c:            if (ch->fighting)
arena.c:            for ( arenaarea = first_area; arenaarea; arenaarea = arenaarea->next )
arena.c:                if ( !str_cmp( arenaarea->filename, "arena.are" ) )
arena.c:                    lo_vnum=arenaarea->low_r_vnum;
arena.c:                    hi_vnum=arenaarea->hi_r_vnum;
arena.c:                    bug("Cannot find a room in the arena for %s!", ch->name);
arena.c:            ch->position = POS_STANDING;
arena.c:            ch->retran = ch->in_room->vnum;
arena.c:                    sprintf(buf, "Bill Gates donates %d coins for %s\'s entrance fee!",arena_fee, ch->name);
arena.c:                    ch->gold-=arena_fee;
arena.c:            sprintf(buf, "%s has joined the arena match!", ch->name);
arena.c:            CREATE( ch->pcdata->arena, ARENA_DATA, 1 );
arena.c:            ch->pcdata->arena->status = 2;
arena.c:            if (ch->fighting)
arena.c:                       ch->name );
arena.c:            sprintf( buf, "%s has challenged %s to a duel!", ch->name, victim->name );
arena.c:            CREATE( victim->pcdata->arena, ARENA_DATA, 1 );
arena.c:            victim->pcdata->arena->challenged_by = ch;
arena.c:            if (ch->fighting)
arena.c:            for ( arenaarea = first_area; arenaarea; arenaarea = arenaarea->next )
arena.c:                if ( !str_cmp( arenaarea->filename, "arena.are" ) )
arena.c:                    lo_vnum=arenaarea->low_r_vnum;
arena.c:                    hi_vnum=arenaarea->hi_r_vnum;
arena.c:                    bug("Cannot find a room in the arena for %s!", ch->name);
arena.c:            ch->position = POS_STANDING;
arena.c:            ch->retran = ch->in_room->vnum;
arena.c:                sprintf(buf, "Bill Gates donates %d coins for %s\'s entrance fee!",arena_fee, ch->name);
arena.c:                ch->gold -= 10000;
arena.c:            sprintf(buf, "%s has joined the arena match!", ch->name);
arena.c:            CREATE( ch->pcdata->arena, ARENA_DATA, 1 );
arena.c:            ch->pcdata->arena->status = 2;
arena.c:                     ch->name, ch->pcdata->arena->challenged_by->name );
arena.c:            DISPOSE( ch->pcdata->arena );
arena.c:            if( !ch->pcdata->arena )
arena.c:            if( ch->pcdata->arena->status != 2 )
arena.c:            if (ch->fighting)
arena.c:            ch->position = POS_STANDING;
arena.c:            char_to_room( ch, get_room_index(ch->retran) );
arena.c:            sprintf(buf, "%s has wimped out of the arena match!", ch->name);
arena.c:            DISPOSE( ch->pcdata->arena );
arena.c:            arena_add(-1,FALSE);
arena.c:            if( ch->pcdata->arena )
arena.c:            if( ch->gold < betamt )
arena.c:            if( victim->pcdata->arena && victim->pcdata->arena->status != 2 )
arena.c:            sprintf(buf, "A bid of %d coins has been placed on %s to win!", betamt, victim->name);
arena.c:            CREATE( ch->pcdata->arena, ARENA_DATA, 1 );
arena.c:            ch->pcdata->arena->bet = betamt;
arena.c:            ch->gold -= ch->pcdata->arena->bet;
arena.c:            ch->pcdata->arena->bet_on = victim;
arena.c:            ch->pcdata->arena->bet_on->pcdata->arena->num_bets++;
arena.c:            arena_total_bets+=ch->pcdata->arena->bet;
arena.c:            ch->pcdata->arena->status = 1;
arena.c:                if (ch->pcdata->arena && ch->pcdata->arena->status == 2)
arena.c:                if (sysdata.arena==1 && (ch->pcdata->arena && ch->pcdata->arena->status == 0))
arena.c:                sprintf(buf, "\n\rThe arena has %d minutes left in the betting stage.\n\r",(arena_bet_time - arena_update_mode));
arena.c:                for( d = first_descriptor ; d ; d = d->next )
arena.c:                    if( !d->character )
arena.c:                    victim = d->character;
arena.c:                    if( !victim->pcdata->arena )
arena.c:                    if( victim->pcdata->arena->status == 1 )
arena.c:                        victim->gold += victim->pcdata->arena->bet;
arena.c:                        DISPOSE( victim->pcdata->arena );
arena.c:                    if( victim->pcdata->arena->status != 2 )
arena.c:                    victim->position = POS_STANDING;
arena.c:                        victim->gold += arena_fee;
arena.c:                    char_to_room( victim, get_room_index(victim->retran) );
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:            for( d = first_descriptor ; d ; d = d->next )
arena.c:                if( !d->character )
arena.c:                victim = d->character;
arena.c:                if( !victim->pcdata->arena )
arena.c:                if( victim->pcdata->arena->status == 1 )
arena.c:                    victim->gold += victim->pcdata->arena->bet;
arena.c:                    DISPOSE( victim->pcdata->arena );
arena.c:                if( victim->pcdata->arena->status != 2 )
arena.c:                victim->position = POS_STANDING;
arena.c:                    victim->gold += arena_fee;
arena.c:                char_to_room( victim, get_room_index(victim->retran) );
arena.c:                DISPOSE( victim->pcdata->arena );
arena.c:                for( d = first_descriptor ; d ; d = d->next )
arena.c:                    if( !d->character )
arena.c:                    victim = d->character;
arena.c:                    if( !victim->pcdata->arena )
arena.c:                    if( victim->pcdata->arena->challenged_by != NULL )
arena.c:                        DISPOSE( victim->pcdata->arena );
arena.c:        for( d = first_descriptor ; d ; d = d->next )
arena.c:            if( !d->character )
arena.c:            ch = d->character;
arena.c:            if( ch->pcdata->arena && ch->pcdata->arena->status == 2 )
arena.c:        for( d = first_descriptor ; d ; d = d->next ) /* if number is positive, we've just added */
arena.c:            if( !d->character )
arena.c:            ch = d->character;
arena.c:            if( !ch->pcdata->arena )
arena.c:            switch( ch->pcdata->arena->status )
arena.c:                if( ch->pcdata->arena->bet_on != arena_winner )
arena.c:                if (ch->pcdata->arena->bet_on->pcdata->arena->num_bets <= 0)
arena.c:                    ch->pcdata->arena->bet_on->pcdata->arena->num_bets=1;
arena.c:                /* percent = ch->pcdata->arenabet/arena_total_bets;
arena.c:                 percent = (arena_total_bets/ch->pcdata->arenabet);
arena.c:                    percent = 1/ch->pcdata->arena->bet_on->pcdata->arena->num_bets;
arena.c:                    amount = ch->pcdata->arena->bet * percent;
arena.c:                    gold = ch->pcdata->arena->bet + amount;
arena.c:                ch->gold += gold;
arena.c:                DISPOSE( ch->pcdata->arena );
arena.c:                    sprintf(buf, "%s has ^zWON^x the arena match, and ^z%d^x coins!", ch->name, arena_prize);
arena.c:                    ch->gold += arena_prize;
arena.c:                    ch->pcdata->arena_wins++;
arena.c:                    adjust_hiscore("arena_pkill", ch, ch->pcdata->arena_wins);
arena.c:                ch->position=POS_STANDING;
arena.c:                ch->hit = ch->max_hit;
arena.c:                ch->mana = ch->max_mana;
arena.c:                ch->move = ch->max_move;
arena.c:                ch->pcdata->condition[COND_BLOODTHIRST] = (10 + ch->level);
arena.c:                char_to_room( ch, get_room_index(ch->retran));
arena.c:                DISPOSE( ch->pcdata->arena );
arena.c:                DISPOSE( ch->pcdata->arena );
arena.c:                DISPOSE( ch->pcdata->arena );
arena.c:        if( victim->pcdata->arena->status == 2 )
arena.c:		sprintf( buf, "%s has been defeated by %s in the arena!", victim->name, ch->name);
arena.c:			victim->name,
arena.c:			victim->level,
arena.c:			(IS_NPC(ch) ? ch->short_descr : ch->name),
arena.c:			victim->in_room->vnum );
arena.c:		ch->pcdata->arena_kills++;		
arena.c:		victim->pcdata->arena_deaths++;
arena.c:		victim->position=POS_STANDING;
arena.c:		victim->hit = victim->max_hit;
arena.c:		victim->mana = victim->max_mana;
arena.c:		victim->move = victim->max_move;
arena.c:		victim->pcdata->condition[COND_BLOODTHIRST] = (10 + victim->level);
arena.c:		char_to_room( victim, get_room_index(victim->retran));
arena.c:		victim->pcdata->arena->status = 3; /* 0==no arena, 1==betting, 2==fighting, 3==dead, 4==watching */
arena.c:		arena_add(-1,TRUE); /* Reduce the player count by one */
assa.c:	if ( (IS_NPC( ch ) && ( ch->desc->original ))
assa.c:	if ( ch->mount )
assa.c:	/* Added Stabbing Weapon -Tsunami */
assa.c:	||   ( obj->value[3] != 11 && obj->value[3] != 2 ) )
assa.c:	if ( victim->fighting )
assa.c:	/* Can assassinate a char even if it's hurt as long as it's sleeping. -Tsunami */
assa.c:	if ( victim->hit < victim->max_hit && IS_AWAKE( victim ) )
assa.c:	WAIT_STATE( ch, skill_table[gsn_assassinate]->beats );
assa.c:	percent = number_percent() + UMAX(0, (victim->level - ch->level) * 2);
assa.c:	if( IS_NPC(ch) || percent < ch->pcdata->learned[gsn_assassinate] )
axsmaug.c:		for(subit = firstsubskill; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubspell; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubobjflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubmobflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubareaflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubaffectedflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubmobrace; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubmobclass; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubmoblang; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubmobpos; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubsector; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubbodypart; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubrisflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubattack; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubdefense; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubobjtype; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubwearflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubcontflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubwearlayerflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubliquid; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubherb; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubtrigger; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubtraptype; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubtrapflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubweapontype; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubobjaffects; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubroomflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubexitdir; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubexitflag; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubspec; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubwearloc; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubprogtrig; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:		for(subit = firstsubprogcomm; subit; subit=subit->next)
axsmaug.c:			if(!strcmp(subit->from,s))
axsmaug.c:				return subit->to;
axsmaug.c:	for(sub1=firstsubskill;sub1;sub1=sub1->next)
axsmaug.c:		STRFREE(sub1->to);
axsmaug.c:		STRFREE(sub1->from);
axsmaug.c:	for(sub2=firstsubspell;sub2;sub2=sub2->next)
axsmaug.c:		STRFREE(sub2->to);
axsmaug.c:		STRFREE(sub2->from);
axsmaug.c:	for(sub3=firstsubobjflag;sub3;sub3=sub3->next)
axsmaug.c:		STRFREE(sub3->to);
axsmaug.c:		STRFREE(sub3->from);
axsmaug.c:	for(sub4=firstsubmobflag;sub4;sub4=sub4->next)
axsmaug.c:		STRFREE(sub4->to);
axsmaug.c:		STRFREE(sub4->from);
axsmaug.c:	for(sub5=firstsubareaflag;sub5;sub5=sub5->next)
axsmaug.c:		STRFREE(sub5->to);
axsmaug.c:		STRFREE(sub5->from);
axsmaug.c:	for(sub6=firstsubaffectedflag;sub6;sub6=sub6->next)
axsmaug.c:		STRFREE(sub6->to);
axsmaug.c:		STRFREE(sub6->from);
axsmaug.c:	for(sub7=firstsubmobrace;sub7;sub7=sub7->next)
axsmaug.c:		STRFREE(sub7->to);
axsmaug.c:		STRFREE(sub7->from);
axsmaug.c:	for(sub8=firstsubmobclass;sub8;sub8=sub8->next)
axsmaug.c:		STRFREE(sub8->to);
axsmaug.c:		STRFREE(sub8->from);
axsmaug.c:	for(sub9=firstsubmoblang;sub9;sub9=sub9->next)
axsmaug.c:		STRFREE(sub9->to);
axsmaug.c:		STRFREE(sub9->from);
axsmaug.c:	for(sub10=firstsubmobpos;sub10;sub10=sub10->next)
axsmaug.c:		STRFREE(sub10->to);
axsmaug.c:		STRFREE(sub10->from);
axsmaug.c:	for(sub11=firstsubsector;sub11;sub11=sub11->next)
axsmaug.c:		STRFREE(sub11->to);
axsmaug.c:		STRFREE(sub11->from);
axsmaug.c:	for(sub12=firstsubbodypart;sub12;sub12=sub12->next)
axsmaug.c:		STRFREE(sub12->to);
axsmaug.c:		STRFREE(sub12->from);
axsmaug.c:	for(sub13=firstsubrisflag;sub13;sub13=sub13->next)
axsmaug.c:		STRFREE(sub13->to);
axsmaug.c:		STRFREE(sub13->from);
axsmaug.c:	for(sub14=firstsubattack;sub14;sub14=sub14->next)
axsmaug.c:		STRFREE(sub14->to);
axsmaug.c:		STRFREE(sub14->from);
axsmaug.c:	for(sub15=firstsubdefense;sub15;sub15=sub15->next)
axsmaug.c:		STRFREE(sub15->to);
axsmaug.c:		STRFREE(sub15->from);
axsmaug.c:	for(sub16=firstsubobjtype;sub16;sub16=sub16->next)
axsmaug.c:		STRFREE(sub16->to);
axsmaug.c:		STRFREE(sub16->from);
axsmaug.c:	for(sub17=firstsubwearflag;sub17;sub17=sub17->next)
axsmaug.c:		STRFREE(sub17->to);
axsmaug.c:		STRFREE(sub17->from);
axsmaug.c:	for(sub18=firstsubcontflag;sub18;sub18=sub18->next)
axsmaug.c:		STRFREE(sub18->to);
axsmaug.c:		STRFREE(sub18->from);
axsmaug.c:	for(sub19=firstsubwearlayerflag;sub19;sub19=sub19->next)
axsmaug.c:		STRFREE(sub19->to);
axsmaug.c:		STRFREE(sub19->from);
axsmaug.c:	for(sub20=firstsubliquid;sub20;sub20=sub20->next)
axsmaug.c:		STRFREE(sub20->to);
axsmaug.c:		STRFREE(sub20->from);
axsmaug.c:	for(sub21=firstsubherb;sub21;sub21=sub21->next)
axsmaug.c:		STRFREE(sub21->to);
axsmaug.c:		STRFREE(sub21->from);
axsmaug.c:	for(sub22=firstsubtrigger;sub22;sub22=sub22->next)
axsmaug.c:		STRFREE(sub22->to);
axsmaug.c:		STRFREE(sub22->from);
axsmaug.c:	for(sub23=firstsubtraptype;sub23;sub23=sub23->next)
axsmaug.c:		STRFREE(sub23->to);
axsmaug.c:		STRFREE(sub23->from);
axsmaug.c:	for(sub24=firstsubtrapflag;sub24;sub24=sub24->next)
axsmaug.c:		STRFREE(sub24->to);
axsmaug.c:		STRFREE(sub24->from);
axsmaug.c:	for(sub25=firstsubweapontype;sub25;sub25=sub25->next)
axsmaug.c:		STRFREE(sub25->to);
axsmaug.c:		STRFREE(sub25->from);
axsmaug.c:	for(sub26=firstsubobjaffects;sub26;sub26=sub26->next)
axsmaug.c:		STRFREE(sub26->to);
axsmaug.c:		STRFREE(sub26->from);
axsmaug.c:	for(sub27=firstsubroomflag;sub27;sub27=sub27->next)
axsmaug.c:		STRFREE(sub27->to);
axsmaug.c:		STRFREE(sub27->from);
axsmaug.c:	for(sub28=firstsubexitdir;sub28;sub28=sub28->next)
axsmaug.c:		STRFREE(sub28->to);
axsmaug.c:		STRFREE(sub28->from);
axsmaug.c:	for(sub29=firstsubexitflag;sub29;sub29=sub29->next)
axsmaug.c:		STRFREE(sub29->to);
axsmaug.c:		STRFREE(sub29->from);
axsmaug.c:	for(sub30=firstsubspec;sub30;sub30=sub30->next)
axsmaug.c:		STRFREE(sub30->to);
axsmaug.c:		STRFREE(sub30->from);
axsmaug.c:	for(sub31=firstsubwearloc;sub31;sub31=sub31->next)
axsmaug.c:		STRFREE(sub31->to);
axsmaug.c:		STRFREE(sub31->from);
axsmaug.c:	for(sub32=firstsubprogtrig;sub32;sub32=sub32->next)
axsmaug.c:		STRFREE(sub32->to);
axsmaug.c:		STRFREE(sub32->from);
axsmaug.c:	for(sub33=firstsubprogcomm;sub33;sub33=sub33->next)
axsmaug.c:		STRFREE(sub33->to);
axsmaug.c:		STRFREE(sub33->from);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:		subit->from=STRALLOC(arg1);
axsmaug.c:		subit->to=STRALLOC(arg2);
axsmaug.c:			if(vnum < tarea->low_m_vnum
axsmaug.c:			|| vnum > tarea->hi_m_vnum)
axsmaug.c:			if(vnum < tarea->low_o_vnum
axsmaug.c:			|| vnum > tarea->hi_o_vnum)
axsmaug.c:        for(vnum=tarea->low_m_vnum;vnum<= tarea->hi_m_vnum;vnum++)
axsmaug.c:        	if (IS_SET(pMobIndex->act,ACT_DELETED))
axsmaug.c:        for(vnum=tarea->low_o_vnum;vnum<= tarea->hi_o_vnum;vnum++)
axsmaug.c:        	if (pObjIndex->item_type == ITEM_DELETED)
axsmaug.c:    	for ( treset = tarea->first_reset; treset; treset = treset->next )
axsmaug.c:		switch( treset->command ) /* extra arg1 arg2 arg3 */
axsmaug.c:				vnum=treset->arg1;
axsmaug.c:				if(vnum >= tarea->low_o_vnum
axsmaug.c:                                && vnum <= tarea->hi_o_vnum)
axsmaug.c:				vnum=treset->arg1;
axsmaug.c:				if(vnum >= tarea->low_m_vnum
axsmaug.c:                                && vnum <= tarea->hi_m_vnum)
axsmaug.c:                                        if(isdigit(arg[strlen(arg)-1]))
axsmaug.c:					if(isdigit(arg[strlen(arg)-1]))
axsmaug.c:					if(isdigit(arg[strlen(arg)-1]))
axsmaug.c:					if(isdigit(arg[strlen(arg)-1]))
axsmaug.c:			area->name=STRALLOC(buf);
axsmaug.c:			area->filename=STRALLOC(filename);
axsmaug.c:				STRFREE(area->filename);
axsmaug.c:				STRFREE(area->name);
axsmaug.c:				top_area--;
axsmaug.c:			area->author=STRALLOC(buf);
axsmaug.c:			area->low_soft_range=IN_LEVEL(atof(word));
axsmaug.c:			area->hi_soft_range=IN_LEVEL(atof(word));
axsmaug.c:			area->low_hard_range=IN_LEVEL(atof(word));
axsmaug.c:			area->hi_hard_range=IN_LEVEL(atof(word));
axsmaug.c:			area->low_r_vnum=IN_VNUM(atoi(word));
axsmaug.c:			area->hi_r_vnum=IN_VNUM(atoi(word));
axsmaug.c:				STRFREE(area->filename);
axsmaug.c:				STRFREE(area->name);
axsmaug.c:				STRFREE(area->author);
axsmaug.c:			for(tarea=first_area;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_r_vnum >=tarea->low_r_vnum
axsmaug.c:					&& area->low_r_vnum <= tarea->hi_r_vnum)
axsmaug.c:				|| (area->hi_r_vnum >=tarea->low_r_vnum
axsmaug.c:					&& area->hi_r_vnum <= tarea->hi_r_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) rooms\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_r_vnum,
axsmaug.c:						area->hi_r_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_r_vnum,
axsmaug.c:						tarea->hi_r_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			for(tarea=first_build;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_r_vnum >=tarea->low_r_vnum
axsmaug.c:					&& area->low_r_vnum <= tarea->hi_r_vnum)
axsmaug.c:				|| (area->hi_r_vnum >=tarea->low_r_vnum
axsmaug.c:					&& area->hi_r_vnum <= tarea->hi_r_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) rooms\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_r_vnum,
axsmaug.c:						area->hi_r_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_r_vnum,
axsmaug.c:						tarea->hi_r_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			area->low_m_vnum=IN_VNUM(atoi(word));
axsmaug.c:			area->hi_m_vnum=IN_VNUM(atoi(word));
axsmaug.c:				STRFREE(area->filename);
axsmaug.c:				STRFREE(area->name);
axsmaug.c:				STRFREE(area->author);
axsmaug.c:			for(tarea=first_area;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_m_vnum >=tarea->low_m_vnum
axsmaug.c:					&& area->low_m_vnum <= tarea->hi_m_vnum)
axsmaug.c:				|| (area->hi_m_vnum >=tarea->low_m_vnum
axsmaug.c:					&& area->hi_m_vnum <= tarea->hi_m_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) mobs\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_m_vnum,
axsmaug.c:						area->hi_m_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_m_vnum,
axsmaug.c:						tarea->hi_m_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			for(tarea=first_build;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_m_vnum >=tarea->low_m_vnum
axsmaug.c:					&& area->low_m_vnum <= tarea->hi_m_vnum)
axsmaug.c:				|| (area->hi_m_vnum >=tarea->low_m_vnum
axsmaug.c:					&& area->hi_m_vnum <= tarea->hi_m_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) mobs\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_m_vnum,
axsmaug.c:						area->hi_m_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_m_vnum,
axsmaug.c:						tarea->hi_m_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			area->low_o_vnum=IN_VNUM(atoi(word));
axsmaug.c:			area->hi_o_vnum=IN_VNUM(atoi(word));
axsmaug.c:				STRFREE(area->filename);
axsmaug.c:				STRFREE(area->name);
axsmaug.c:				STRFREE(area->author);
axsmaug.c:			for(tarea=first_area;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_o_vnum >=tarea->low_o_vnum
axsmaug.c:					&& area->low_o_vnum <= tarea->hi_o_vnum)
axsmaug.c:				|| (area->hi_o_vnum >=tarea->low_o_vnum
axsmaug.c:					&& area->hi_o_vnum <= tarea->hi_o_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) objects\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_o_vnum,
axsmaug.c:						area->hi_o_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_o_vnum,
axsmaug.c:						tarea->hi_o_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			for(tarea=first_build;tarea;tarea=tarea->next)
axsmaug.c:				if((area->low_o_vnum >=tarea->low_o_vnum
axsmaug.c:					&& area->low_o_vnum <= tarea->hi_o_vnum)
axsmaug.c:				|| (area->hi_o_vnum >=tarea->low_o_vnum
axsmaug.c:					&& area->hi_o_vnum <= tarea->hi_o_vnum))
axsmaug.c:					sprintf(buff,"%s (%d - %d) would overlap %s (%d - %d) objects\n\r",
axsmaug.c:						area->name,
axsmaug.c:						area->low_o_vnum,
axsmaug.c:						area->hi_o_vnum,
axsmaug.c:						tarea->name,
axsmaug.c:						tarea->low_o_vnum,
axsmaug.c:						tarea->hi_o_vnum);
axsmaug.c:					STRFREE(area->filename);
axsmaug.c:					STRFREE(area->name);
axsmaug.c:					STRFREE(area->author);
axsmaug.c:			area->resetmsg=STRALLOC(buf);
axsmaug.c:			area->reset_frequency = atoi(buf);
axsmaug.c:				if((i=get_areaflag(word)) > -1)
axsmaug.c:					SET_BIT(area->flags,1 << i);
axsmaug.c:			area->high_economy=atoi(word);
axsmaug.c:			area->low_economy=atoi(word);
axsmaug.c:			pMobIndex->vnum=IN_VNUM(atoi(buf));
axsmaug.c:			iHash			= pMobIndex->vnum % MAX_KEY_HASH;
axsmaug.c:			pMobIndex->next		= mob_index_hash[iHash];
axsmaug.c:			pMobIndex->talk=STRALLOC("");
axsmaug.c:			pMobIndex->player_name = STRALLOC(buf);
axsmaug.c:			pMobIndex->short_descr = STRALLOC(buf);
axsmaug.c:			pMobIndex->long_descr = STRALLOC(buf);
axsmaug.c:			pMobIndex->description=fread_string(fp);
axsmaug.c:			pMobIndex->talk=fread_string(fp);
axsmaug.c:				if((i=get_actflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->act,1 << i);
axsmaug.c:					xSET_BIT(pMobIndex->act,i);
axsmaug.c:				if((i=get_aflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->affected_by,1 << i);
axsmaug.c:					xSET_BIT(pMobIndex->affected_by,i);
axsmaug.c:			pMobIndex->alignment=(int)(atof(buf) * MAX_ALIGNMENT);
axsmaug.c:			pMobIndex->level=IN_LEVEL(atof(buf));
axsmaug.c:			pMobIndex->mobthac0=atoi(buf);
axsmaug.c:			pMobIndex->ac=(int)(atof(buf) * MAX_MOBARMORCLASS);
axsmaug.c:			pMobIndex->hitnodice=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->hitsizedice=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->hitplus=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->damnodice=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->damsizedice=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->damplus=IN_DICE(atof(buf));
axsmaug.c:			pMobIndex->gold= GOLDADJ(atoi(buf));
axsmaug.c:			pMobIndex->exp=atoi(buf);
axsmaug.c:					pMobIndex->position=i; 
axsmaug.c:					pMobIndex->defposition=i; 
axsmaug.c:					pMobIndex->sex=i; 
axsmaug.c:			pMobIndex->perm_str = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_int = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_wis = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_dex = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_con = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_cha = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->perm_lck = (int) (atof(buf) * MAX_PRIME_ATTRIB);
axsmaug.c:			pMobIndex->saving_poison_death=atoi(buf);
axsmaug.c:			pMobIndex->saving_wand=atoi(buf);
axsmaug.c:			pMobIndex->saving_para_petri=atoi(buf);
axsmaug.c:			pMobIndex->saving_breath=atoi(buf);
axsmaug.c:			pMobIndex->saving_spell_staff=atoi(buf);
axsmaug.c:			pMobIndex->saving_psionics=atoi(buf);
axsmaug.c:				if((i=get_npc_race(word)) > -1)
axsmaug.c:					pMobIndex->race=i;
axsmaug.c:				if((i=get_npc_class(word)) > -1)
axsmaug.c:					pMobIndex->class=i;
axsmaug.c:			pMobIndex->height=atoi(buf);
axsmaug.c:			pMobIndex->weight=atoi(buf);
axsmaug.c:				if((i=get_langflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->speaks,1 << i);
axsmaug.c:				if((i=get_langflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->speaking,1 << i);
axsmaug.c:			pMobIndex->numattacks=atoi(buf);
axsmaug.c:			pMobIndex->hoard=IN_VNUM(atoi(buf));
axsmaug.c:					pMobIndex->terrain=i; 
axsmaug.c:			pMobIndex->hitroll=atoi(buf);
axsmaug.c:			pMobIndex->damroll=atoi(buf);
axsmaug.c:				if((i=get_partflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->xflags,1 << i);
axsmaug.c:				if((i=get_risflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->resistant,1 << i);
axsmaug.c:				if((i=get_risflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->immune,1 << i);
axsmaug.c:				if((i=get_risflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->susceptible,1 << i);
axsmaug.c:				if((i=get_attackflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->attacks,1 << i);
axsmaug.c:					xSET_BIT(pMobIndex->attacks, i);
axsmaug.c:				else if((i=get_attackflag2(word)) > -1) 
axsmaug.c:					SET_BIT(pMobIndex->attack2,1 << i);
axsmaug.c:				if((i=get_defenseflag(word)) > -1)
axsmaug.c:					SET_BIT(pMobIndex->defenses,1 << i);
axsmaug.c:					xSET_BIT(pMobIndex->defenses, i);
axsmaug.c:				pMobIndex->spec_fun=spec_lookup(buf);
axsmaug.c:					if(pMobIndex->mudprogs)
axsmaug.c:						mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					   	CREATE( mprog->next, MPROG_DATA, 1 );
axsmaug.c:					   	mprog = mprog->next;
axsmaug.c:						pMobIndex->mudprogs=mprog;
axsmaug.c:					mprog->type=i;
axsmaug.c:					xSET_BIT(pMobIndex->progtypes,mprog->type);
axsmaug.c:					pMobIndex->progtypes = pMobIndex->progtypes | mprog->type;
axsmaug.c:					mprog->arglist=STRALLOC(buf);
axsmaug.c:					mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					mprog->next = NULL;
axsmaug.c:	  		for ( mprog = pMobIndex->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:				prog=make_in_prog(mprog->comlist,
axsmaug.c:					pMobIndex->player_name,
axsmaug.c:					pMobIndex->vnum,
axsmaug.c:					area->low_m_vnum,
axsmaug.c:					area->hi_m_vnum,
axsmaug.c:				STRFREE(mprog->comlist);
axsmaug.c:				mprog->comlist=STRALLOC(prog);
axsmaug.c:			pObjIndex->vnum=IN_VNUM(atoi(buf));
axsmaug.c:			iHash		= pObjIndex->vnum % MAX_KEY_HASH;
axsmaug.c:			pObjIndex->next	= obj_index_hash[iHash];
axsmaug.c:			pObjIndex->action_desc = STRALLOC("");
axsmaug.c:			pObjIndex->level=IN_VNUM(atoi(buf));
axsmaug.c:			pObjIndex->name = STRALLOC(buf);
axsmaug.c:			pObjIndex->short_descr = STRALLOC(buf);
axsmaug.c:			pObjIndex->description = STRALLOC(buf);
axsmaug.c:			STRFREE(pObjIndex->action_desc);
axsmaug.c:			pObjIndex->action_desc = STRALLOC(buf);
axsmaug.c:			if((i=get_otype(word)) > -1)
axsmaug.c:				pObjIndex->item_type=i;
axsmaug.c:				if((i=get_oflag(word)) > -1)
axsmaug.c:					SET_BIT(pObjIndex->extra_flags,1 << i);
axsmaug.c:					xSET_BIT(pObjIndex->extra_flags, i);
axsmaug.c:				else if((i=get_mflag(word)) > -1)
axsmaug.c:					SET_BIT(pObjIndex->magic_flags,1 << i);
axsmaug.c:				if((i=get_wflag(word)) > -1)
axsmaug.c:					SET_BIT(pObjIndex->wear_flags,1 << i);
axsmaug.c:						SET_BIT(pObjIndex->layers,1 << i);
axsmaug.c:		switch ( pObjIndex->item_type )
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:						if((i=get_cont_flag(word)) > -1)
axsmaug.c:							SET_BIT(pObjIndex->value[1], 1 << i);
axsmaug.c:						pObjIndex->value[2]= -1;
axsmaug.c:					pObjIndex->value[2]=IN_VNUM(atoi(buf));
axsmaug.c:					if(pObjIndex->value[2] < area->low_o_vnum 
axsmaug.c:					|| pObjIndex->value[2] > area->hi_o_vnum)
axsmaug.c:						if(pObjIndex->value[2] > 0)
axsmaug.c:							pObjIndex->vnum);
axsmaug.c:					pObjIndex->value[3]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:							pObjIndex->value[2]=i;
axsmaug.c:					pObjIndex->value[3]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[3]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[3]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:						if(!strcmp(word,herb_table[i]->name))
axsmaug.c:							pObjIndex->value[2]=i;
axsmaug.c:					pObjIndex->value[0]=IN_VNUM(atoi(buf));
axsmaug.c:						if((i=get_trigflag(word)) > -1)
axsmaug.c:							SET_BIT(pObjIndex->value[0],1 << i);
axsmaug.c:				if ( IS_SET( pObjIndex->value[0], TRIG_TELEPORT )
axsmaug.c:				||   IS_SET( pObjIndex->value[0], TRIG_TELEPORTALL )
axsmaug.c:				||   IS_SET( pObjIndex->value[0], TRIG_TELEPORTPLUS ) )
axsmaug.c:						pObjIndex->value[1]=IN_VNUM(atoi(buf));
axsmaug.c:				if ( IS_SET( pObjIndex->value[0], TRIG_RAND4 )
axsmaug.c:				    ||	 IS_SET( pObjIndex->value[0], TRIG_RAND6 ) )
axsmaug.c:						pObjIndex->value[1]=IN_VNUM(atoi(buf));
axsmaug.c:				if ( IS_SET( pObjIndex->value[0], TRIG_DOOR ) )
axsmaug.c:						pObjIndex->value[1]=IN_VNUM(atoi(buf));
axsmaug.c:						pObjIndex->value[2]=IN_VNUM(atoi(buf));
axsmaug.c:					pObjIndex->value[2]=IN_VNUM(atoi(buf));
axsmaug.c:					pObjIndex->value[1]=GOLDADJ(atoi(buf));
axsmaug.c:					pObjIndex->value[2]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=IN_LEVEL(atof(buf));
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[1]=i;
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[2]=i;
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[3]=i;
axsmaug.c:					pObjIndex->value[0]=IN_LEVEL(atof(buf));
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[2]=atoi(buf);
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[3]=i;
axsmaug.c:					pObjIndex->value[0]=IN_LEVEL(atof(buf));
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[2]=atoi(buf);
axsmaug.c:					pObjIndex->value[3]=atoi(buf);
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[4]=i;
axsmaug.c:						if(!strcmp(word,skill_table[i]->name))
axsmaug.c:							pObjIndex->value[5]=i;
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:							pObjIndex->value[1]=i;
axsmaug.c:					pObjIndex->value[2]=IN_LEVEL(atof(buf));
axsmaug.c:						if((i=get_trapflag(word)) > -1)
axsmaug.c:							SET_BIT(pObjIndex->value[3],1 << i);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=atoi(buf);
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:					pObjIndex->value[1]=IN_DICE(atof(buf));
axsmaug.c:					pObjIndex->value[2]=IN_DICE(atof(buf));
axsmaug.c:							pObjIndex->value[3]=i;
axsmaug.c:					pObjIndex->value[0]=atoi(buf);
axsmaug.c:                                display(o_types[pObjIndex->item_type]);
axsmaug.c:				display("-Unknown itemtype for values\n\r");
axsmaug.c:			pObjIndex->weight=atoi(buf);
axsmaug.c:			pObjIndex->cost=GOLDADJ(atoi(buf));
axsmaug.c:			pObjIndex->rent=GOLDADJ(atoi(buf));
axsmaug.c:			ed->keyword		= STRALLOC(buf);
axsmaug.c:			ed->description		= fread_string( fp );
axsmaug.c:			LINK( ed, pObjIndex->first_extradesc, 
axsmaug.c:				pObjIndex->last_extradesc, next, prev );
axsmaug.c:			paf->type		= -1;
axsmaug.c:			paf->duration		= -1;
axsmaug.c:					paf->location=i;
axsmaug.c:			paf->bitvector		= 0;
axsmaug.c:			xCLEAR_BITS(paf->bitvector);
axsmaug.c:			paf->modifier		= atoi(buf);
axsmaug.c:			LINK( paf, pObjIndex->first_affect, pObjIndex->last_affect,
axsmaug.c:			paf->type		= -1;
axsmaug.c:			paf->duration		= -1;
axsmaug.c:					paf->location=i;
axsmaug.c:			paf->bitvector		= 0;
axsmaug.c:			xCLEAR_BITS(paf->bitvector);
axsmaug.c:				SET_BIT(paf->modifier,1 << i);
axsmaug.c:				LINK( paf, pObjIndex->first_affect, 
axsmaug.c:					pObjIndex->last_affect,
axsmaug.c:			paf->type		= -1;
axsmaug.c:			paf->duration		= -1;
axsmaug.c:					paf->location=i;
axsmaug.c:			paf->bitvector		= 0;
axsmaug.c:			xCLEAR_BITS(paf->bitvector);
axsmaug.c:			SET_BIT(paf->modifier,1 << i);
axsmaug.c:			LINK( paf, pObjIndex->first_affect, pObjIndex->last_affect,
axsmaug.c:			paf->type		= -1;
axsmaug.c:			paf->duration		= -1;
axsmaug.c:					paf->location=i;
axsmaug.c:			paf->bitvector		= 0;
axsmaug.c:			xCLEAR_BITS(paf->bitvector);
axsmaug.c:				if(!strcmp(word,skill_table[i]->name))
axsmaug.c:			paf->modifier=i;
axsmaug.c:			LINK( paf, pObjIndex->first_affect, pObjIndex->last_affect,
axsmaug.c:					if(pObjIndex->mudprogs)
axsmaug.c:						mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					   	CREATE( mprog->next, MPROG_DATA, 1 );
axsmaug.c:					   	mprog = mprog->next;
axsmaug.c:						pObjIndex->mudprogs=mprog;
axsmaug.c:					mprog->type=i;
axsmaug.c:					xSET_BIT(pObjIndex->progtypes,mprog->type);
axsmaug.c:					pObjIndex->progtypes = pObjIndex->progtypes | mprog->type;
axsmaug.c:					mprog->arglist=STRALLOC(buf);
axsmaug.c:					mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					mprog->next = NULL;
axsmaug.c:	  		for ( mprog = pObjIndex->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:				prog=make_in_prog(mprog->comlist,
axsmaug.c:					pObjIndex->name,
axsmaug.c:					pObjIndex->vnum,
axsmaug.c:					area->low_o_vnum,
axsmaug.c:					area->hi_o_vnum,
axsmaug.c:				STRFREE(mprog->comlist);
axsmaug.c:				mprog->comlist=STRALLOC(prog);
axsmaug.c:			pRoomIndex->vnum=IN_VNUM(atoi(buf));
axsmaug.c:			pRoomIndex->area=area;
axsmaug.c:			iHash			= pRoomIndex->vnum % MAX_KEY_HASH;
axsmaug.c:			pRoomIndex->next	= room_index_hash[iHash];
axsmaug.c:			pRoomIndex->name = STRALLOC(buf);
axsmaug.c:			pRoomIndex->description=fread_string(fp);
axsmaug.c:				if((i=get_rflag(word)) > -1)
axsmaug.c:					SET_BIT(pRoomIndex->room_flags,1 << i);
axsmaug.c:				else if((i=get_rflag2(word)) > -1)
axsmaug.c:					SET_BIT(pRoomIndex->room_flag2,1 << i);
axsmaug.c:					pRoomIndex->sector_type=i; 
axsmaug.c:			pRoomIndex->tele_delay = atoi(buf);
axsmaug.c:			pRoomIndex->tele_vnum = IN_VNUM(atoi(buf));
axsmaug.c:			pRoomIndex->tunnel = atoi(buf);
axsmaug.c:		  	pExit->vdir		= door;
axsmaug.c:		  	pExit->key		= -1;
axsmaug.c:			pExit->description = STRALLOC("");
axsmaug.c:			pExit->keyword = STRALLOC("");
axsmaug.c:			STRFREE(pExit->description);
axsmaug.c:			pExit->description = fread_string(fp);
axsmaug.c:			STRFREE(pExit->keyword);
axsmaug.c:			pExit->keyword = STRALLOC(buf);
axsmaug.c:				if((i=get_exflag(word)) > -1)
axsmaug.c:					SET_BIT(pExit->exit_info,1 << i);
axsmaug.c:				pExit->key = -1;
axsmaug.c:			pExit->key=IN_VNUM(atoi(buf));
axsmaug.c:			if(pExit->key < area->low_o_vnum 
axsmaug.c:			|| pExit->key > area->hi_o_vnum)
axsmaug.c:				if(pExit->key > 0)
axsmaug.c:				fprintf(axlog,"Key from outside the area in room %d - exit %s",
axsmaug.c:					pRoomIndex->vnum,dir_name[door]);
axsmaug.c:			pExit->vnum=IN_VNUM(atoi(buf));
axsmaug.c:			pExit->distance = atoi(buf);
axsmaug.c:			ed->keyword		= STRALLOC(buf);
axsmaug.c:			ed->description		= fread_string( fp );
axsmaug.c:			LINK( ed, pRoomIndex->first_extradesc, 
axsmaug.c:				pRoomIndex->last_extradesc, next, prev );
axsmaug.c:					if(pRoomIndex->mudprogs)
axsmaug.c:						mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					   	CREATE( mprog->next, MPROG_DATA, 1 );
axsmaug.c:					   	mprog = mprog->next;
axsmaug.c:						pRoomIndex->mudprogs=mprog;
axsmaug.c:					mprog->type=i;
axsmaug.c:					xSET_BIT(pRoomIndex->progtypes,mprog->type);
axsmaug.c:					pRoomIndex->progtypes = pRoomIndex->progtypes | mprog->type;
axsmaug.c:					mprog->arglist=STRALLOC(buf);
axsmaug.c:					mprog->comlist=STRALLOC(progbuf);
axsmaug.c:					mprog->next = NULL;
axsmaug.c:	  		for ( mprog = pRoomIndex->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:				prog=make_in_prog(mprog->comlist,
axsmaug.c:					pRoomIndex->name,
axsmaug.c:					pRoomIndex->vnum,
axsmaug.c:					area->low_r_vnum,
axsmaug.c:					area->hi_r_vnum,
axsmaug.c:				STRFREE(mprog->comlist);
axsmaug.c:				mprog->comlist=STRALLOC(prog);
axsmaug.c:			d=pRoomIndex->description;
axsmaug.c:					for ( xit = pRoomIndex->first_exit; xit; xit = xit->next )
axsmaug.c:						if(xit->vdir == dir)
axsmaug.c:							pRoomIndex->vnum,word);
axsmaug.c:						fprintf(axlog,"%s\n",strip_cr(pRoomIndex->description));
axsmaug.c:			if((i=get_wearloc(buf)) > -1)
axsmaug.c:			if((i=get_dir(buf)) > -1 )
axsmaug.c:				if((i=get_exflag(word)) > -1)
axsmaug.c:				if((i=get_trapflag(word)) > -1)
axsmaug.c:			pShop->keeper=IN_VNUM(atoi(buf));
axsmaug.c:			if ( (pMobIndex = get_mob_index(pShop->keeper)) != NULL )
axsmaug.c:				pMobIndex->pShop=pShop;
axsmaug.c:			if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:			if((i=get_otype(word)) > -1)
axsmaug.c:				pShop->buy_type[buyslot++]=i;
axsmaug.c:			if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:			pShop->profit_buy=atoi(buf);
axsmaug.c:			if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:			pShop->profit_sell=atoi(buf);
axsmaug.c:			if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:			pShop->open_hour=atoi(buf);
axsmaug.c:			if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:			pShop->close_hour=atoi(buf);
axsmaug.c:	    			last_shop->next	= pShop;
axsmaug.c:			pShop->next = NULL;
axsmaug.c:			pShop->prev = last_shop;
axsmaug.c:			rShop->keeper=IN_VNUM(atoi(buf));
axsmaug.c:			if ( (pMobIndex = get_mob_index(rShop->keeper)) != NULL )
axsmaug.c:				pMobIndex->rShop=rShop;
axsmaug.c:			if ( (rShop = pMobIndex->rShop) == NULL )
axsmaug.c:			if((i=get_otype(word)) > -1)
axsmaug.c:				rShop->fix_type[buyslot++]=i;
axsmaug.c:			if ( (rShop = pMobIndex->rShop) == NULL )
axsmaug.c:			rShop->profit_fix=atoi(buf);
axsmaug.c:			if ( (rShop = pMobIndex->rShop) == NULL )
axsmaug.c:				rShop->shop_type=atoi(buf);
axsmaug.c:			if ( (rShop = pMobIndex->rShop) == NULL )
axsmaug.c:			rShop->open_hour=atoi(buf);
axsmaug.c:			if ( (rShop = pMobIndex->rShop) == NULL )
axsmaug.c:			rShop->close_hour=atoi(buf);
axsmaug.c:	    			last_repair->next = rShop;
axsmaug.c:			rShop->next = NULL;
axsmaug.c:			rShop->prev = last_repair;
axsmaug.c:    /* initialize weather data - FB */
axsmaug.c:	CREATE(area->weather, WEATHER_DATA, 1);
axsmaug.c:    	area->weather->temp = 0;
axsmaug.c:    	area->weather->precip = 0;
axsmaug.c:    	area->weather->wind = 0;
axsmaug.c:    	area->weather->temp_vector = 0;
axsmaug.c:    	area->weather->precip_vector = 0;
axsmaug.c:    	area->weather->wind_vector = 0;
axsmaug.c:    	area->weather->climate_temp = 2;
axsmaug.c:    	area->weather->climate_precip = 2;
axsmaug.c:    	area->weather->climate_wind = 2;
axsmaug.c:    	area->weather->first_neighbor = NULL;
axsmaug.c:    	area->weather->last_neighbor = NULL;
axsmaug.c:    	area->weather->echo = NULL;
axsmaug.c:    	area->weather->echo_color = AT_GREY;
axsmaug.c:	SET_BIT(area->status,AREA_LOADED);
axsmaug.c:    	tarea=ch->in_room->area;	
axsmaug.c:    	sprintf( buf, "exporting %s...", tarea->filename );
axsmaug.c:	startvnum=tarea->low_r_vnum;
axsmaug.c:    	fprintf( fpout, "#AREANAME   %s\n", tarea->name );
axsmaug.c:    	fprintf( fpout, "#AUTHOR %s\n", tarea->author );
axsmaug.c:    	fprintf( fpout, "#SOFTRANGE %f %f\n", OUT_LEVEL(tarea->low_soft_range),
axsmaug.c:				     OUT_LEVEL(tarea->hi_soft_range));
axsmaug.c:		 		     OUT_LEVEL(tarea->low_hard_range),
axsmaug.c:			   	     OUT_LEVEL(tarea->hi_hard_range));
axsmaug.c:		OUT_VNUM(tarea->low_r_vnum),OUT_VNUM(tarea->hi_r_vnum));
axsmaug.c:		OUT_VNUM(tarea->low_m_vnum),OUT_VNUM(tarea->hi_m_vnum)+addmobrange);
axsmaug.c:		OUT_VNUM(tarea->low_o_vnum),OUT_VNUM(tarea->hi_o_vnum)+addobjrange);
axsmaug.c:    	if ( tarea->resetmsg )	/* Rennard */
axsmaug.c:		fprintf( fpout, "#RESETMSG %s\n", tarea->resetmsg );
axsmaug.c:    	if ( tarea->reset_frequency )
axsmaug.c:			tarea->reset_frequency );
axsmaug.c:	fprintf(fpout, "#RECALL %d\n",OUT_VNUM(tarea->recall));
axsmaug.c:	fprintf( fpout, "#AREAFLAGS %s\n", flag_string(tarea->flags,area_flags) );
axsmaug.c:    	fprintf( fpout, "#ECONOMY %d %d\n\n", tarea->high_economy, tarea->low_economy );
axsmaug.c:	newrange=tarea->hi_m_vnum+1;
axsmaug.c://    	for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
axsmaug.c:        	if (IS_SET(pMobIndex->act,ACT_DELETED))
axsmaug.c:		fprintf( fpout, "@mobkeywordname %s\n",pMobIndex->player_name		);
axsmaug.c:		fprintf( fpout,	"@mobactionname %s\n",	pMobIndex->short_descr		);
axsmaug.c:		fprintf( fpout,	"@mobinroomname %s\n",	strip_cr(pMobIndex->long_descr)	);
axsmaug.c:		fprintf( fpout, "%s\n",	strip_cr(pMobIndex->description));
axsmaug.c:        	if(pMobIndex->talk)
axsmaug.c:			fprintf(fpout,"%s\n",strip_cr(pMobIndex->talk));
axsmaug.c:		fprintf( fpout, "@mobactflags %s\n",flag_string(pMobIndex->act,act_flags));
axsmaug.c:		fprintf( fpout, "@mobactflags %s\n",ext_flag_string(&pMobIndex->act,act_flags));
axsmaug.c:		fprintf( fpout, "@mobaffectedby %s\n",flag_string(pMobIndex->affected_by,a_flags));
axsmaug.c:		fprintf( fpout, "@mobaffectedby %s\n",ext_flag_string(&pMobIndex->affected_by,a_flags));
axsmaug.c:		fprintf( fpout, "@mobalignment %f\n",(float) pMobIndex->alignment/MAX_ALIGNMENT);
axsmaug.c:		fprintf( fpout, "@moblevel %f\n",OUT_LEVEL(pMobIndex->level));
axsmaug.c:		fprintf( fpout, "@mobthac0 %d\n",pMobIndex->mobthac0);
axsmaug.c:		fprintf( fpout, "@mobarmorclass %f\n",(float)pMobIndex->ac/MAX_MOBARMORCLASS);
axsmaug.c:		fprintf( fpout, "@mobnumberofhitdice %f\n",OUT_DICE(pMobIndex->hitnodice));
axsmaug.c:		fprintf( fpout, "@mobsizeofhitdice %f\n",OUT_DICE(pMobIndex->hitsizedice));
axsmaug.c:		fprintf( fpout, "@mobplustohitdice %f\n",OUT_DICE(pMobIndex->hitplus));
axsmaug.c:		fprintf( fpout, "@mobnumberofdamagedice %f\n",OUT_DICE(pMobIndex->damnodice));
axsmaug.c:		fprintf( fpout, "@mobsizeofdamagedice %f\n",OUT_DICE(pMobIndex->damsizedice));
axsmaug.c:		fprintf( fpout, "@mobplustodamagedice %f\n",OUT_DICE(pMobIndex->damplus));
axsmaug.c:		fprintf( fpout, "@mobgold %d\n",pMobIndex->gold);
axsmaug.c:		fprintf( fpout, "@mobexperience %d\n",pMobIndex->exp);
axsmaug.c:		fprintf( fpout, "@mobposition %s\n",ax_position[pMobIndex->position]);
axsmaug.c:		fprintf( fpout, "@mobdefaultposition %s\n",ax_position[pMobIndex->defposition]);
axsmaug.c:		fprintf( fpout, "@mobsex %s\n",ax_sex[pMobIndex->sex]);
axsmaug.c:		fprintf( fpout, "@mobstrength %f\n",(float)pMobIndex->perm_str/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobintelligence %f\n",(float) pMobIndex->perm_int/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobwisdom %f\n",(float) pMobIndex->perm_wis/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobdexterity %f\n",(float) pMobIndex->perm_dex/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobconstitution %f\n",(float) pMobIndex->perm_con/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobcharisma %f\n",(float) pMobIndex->perm_cha/MAX_PRIME_ATTRIB); 
axsmaug.c:		fprintf( fpout, "@mobluck %f\n",(float) pMobIndex->perm_lck/MAX_PRIME_ATTRIB); 
axsmaug.c:					pMobIndex->saving_poison_death);
axsmaug.c:					pMobIndex->saving_wand);
axsmaug.c:					pMobIndex->saving_para_petri);
axsmaug.c:					pMobIndex->saving_breath);
axsmaug.c:					pMobIndex->saving_spell_staff);
axsmaug.c:					pMobIndex->saving_psionics);
axsmaug.c:		fprintf( fpout, "@mobrace %s\n", npc_race[pMobIndex->race]);
axsmaug.c:		fprintf( fpout, "@mobclass %s\n", npc_class[pMobIndex->class]);
axsmaug.c:		if(pMobIndex->height)
axsmaug.c:			fprintf( fpout, "@mobheight %d\n", pMobIndex->height);
axsmaug.c:		if(pMobIndex->weight)
axsmaug.c:			fprintf( fpout, "@mobweight %d\n", pMobIndex->weight);
axsmaug.c:	      	   	if (IS_SET(pMobIndex->speaks, lang_array[i]) )
axsmaug.c:	      	   	if (IS_SET(pMobIndex->speaking, lang_array[i]) )
axsmaug.c:		fprintf( fpout, "@mobnumberofattacks %d\n", pMobIndex->numattacks);
axsmaug.c:                if(pMobIndex->hoard)
axsmaug.c:			fprintf( fpout, "@mobhoardroom %d\n", OUT_VNUM(pMobIndex->hoard));
axsmaug.c:		if(IS_SET(pMobIndex->act,ACT_STAYTERRAIN))
axsmaug.c:				ax_sector_names[pMobIndex->terrain]);
axsmaug.c:		fprintf( fpout, "@mobhitroll %d\n", pMobIndex->hitroll);
axsmaug.c:		fprintf( fpout, "@mobdamageroll %d\n", pMobIndex->damroll);
axsmaug.c:		fprintf( fpout, "@mobbodyparts %s\n", flag_string(pMobIndex->xflags,part_flags) );
axsmaug.c:		fprintf( fpout, "@mobisresistant %s\n", flag_string(pMobIndex->resistant,ris_flags) );
axsmaug.c:		fprintf( fpout, "@mobisimmune %s\n", flag_string(pMobIndex->immune,ris_flags) );
axsmaug.c:		fprintf( fpout, "@mobissusceptible %s\n", flag_string(pMobIndex->susceptible,ris_flags) );
axsmaug.c:		fprintf( fpout, "@mobattacks %s\n", flag_string(pMobIndex->attacks,attack_flags) );
axsmaug.c:		fprintf( fpout, "@mobattacks %s\n", ext_flag_string(&pMobIndex->attacks,attack_flags) );
axsmaug.c:		fprintf( fpout, "@mobattacks %s\n", flag_string(pMobIndex->attack2,attack2_flags) );
axsmaug.c:		fprintf( fpout, "@mobdefenses %s\n", flag_string(pMobIndex->defenses,defense_flags) );
axsmaug.c:		fprintf( fpout, "@mobdefenses %s\n", ext_flag_string(&pMobIndex->defenses,defense_flags) );
axsmaug.c:		if(pMobIndex->spec_fun)
axsmaug.c:			fprintf( fpout, "@mobspecial %s\n",lookup_spec(pMobIndex->spec_fun));
axsmaug.c:		if ( pMobIndex->mudprogs )
axsmaug.c:	  		for ( mprog = pMobIndex->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:					mprog_type_to_name( mprog->type ),
axsmaug.c:					mprog->arglist, 
axsmaug.c:					strip_cr(make_out_prog(mprog->comlist)) );
axsmaug.c:	newrange=tarea->hi_o_vnum + 1;
axsmaug.c:// 	for ( vnum = tarea->low_o_vnum; vnum <= tarea->hi_o_vnum; vnum++ )
axsmaug.c:        	if (pObjIndex->item_type == ITEM_DELETED)
axsmaug.c:		if (!pObjIndex->item_type) /* no support for boards/mail at this time */
axsmaug.c:		for ( obj = first_object; obj; obj = obj->next )
axsmaug.c:			if(obj->pIndexData->vnum == pObjIndex->vnum)
axsmaug.c:				pObjIndex->level=obj->level;
axsmaug.c:		fprintf( fpout, "@objlevel %f\n",OUT_LEVEL(pObjIndex->level));
axsmaug.c:		fprintf( fpout, "@objkeywordname %s\n",	pObjIndex->name);
axsmaug.c:		fprintf( fpout, "@objinventoryname %s\n",pObjIndex->short_descr);
axsmaug.c:		fprintf( fpout, "@objinroomname %s\n",pObjIndex->description);
axsmaug.c:		fprintf( fpout, "@objactiondescription %s\n",pObjIndex->action_desc);
axsmaug.c:		fprintf( fpout, "@objitemtype %s\n",o_types[pObjIndex->item_type]);
axsmaug.c:		fprintf( fpout, "@objflags %s\n", flag_string(pObjIndex->extra_flags,o_flags) );
axsmaug.c:		fprintf( fpout, "@objflags %s\n", ext_flag_string(&pObjIndex->extra_flags,o_flags) );
axsmaug.c:		fprintf( fpout, "@objflags %s\n", flag_string(pObjIndex->magic_flags,mag_flags) );
axsmaug.c:		fprintf( fpout, "@objwearflags %s\n", flag_string(pObjIndex->wear_flags,w_flags) );
axsmaug.c:		fprintf( fpout, "@objwearlayers %s\n",flag_string(pObjIndex->layers,ax_layers));
axsmaug.c:                val0=pObjIndex->value[0];
axsmaug.c:                val1=pObjIndex->value[1];
axsmaug.c:                val2=pObjIndex->value[2];
axsmaug.c:                val3=pObjIndex->value[3];
axsmaug.c:                val4=pObjIndex->value[4];
axsmaug.c:                val5=pObjIndex->value[5];
axsmaug.c:		switch ( pObjIndex->item_type )
axsmaug.c:				fprintf( fpout, "@objherbname %s\n",herb_table[val2]->name);
axsmaug.c:				fprintf( fpout, "@objspelllevel %f\n",OUT_LEVEL(pObjIndex->value[0]));
axsmaug.c:					fprintf( fpout, "@objspell1 '%s'\n",skill_table[val1]->name);
axsmaug.c:					fprintf( fpout, "@objspell2 '%s'\n",skill_table[val2]->name);
axsmaug.c:					fprintf( fpout, "@objspell3 '%s'\n",skill_table[val3]->name);
axsmaug.c:				fprintf( fpout, "@objspelllevel %f\n",OUT_LEVEL(pObjIndex->value[0]));
axsmaug.c:					fprintf( fpout, "@objspell1 '%s'\n",skill_table[val3]->name);
axsmaug.c:				fprintf( fpout, "@objspelllevel %f\n",OUT_LEVEL(pObjIndex->value[0]));
axsmaug.c:					fprintf( fpout, "@objspell1 '%s'\n",skill_table[val4]->name);
axsmaug.c:					fprintf( fpout, "@objspell2 '%s'\n",skill_table[val5]->name);
axsmaug.c:                                display(o_types[pObjIndex->item_type]);
axsmaug.c:				display("-Unknown itemtype for values\n\r");
axsmaug.c:				fprintf( fpout, "@objvalue0 %d\n",pObjIndex->value[0]);
axsmaug.c:				fprintf( fpout, "@objvalue1 %d\n",pObjIndex->value[1]);
axsmaug.c:				fprintf( fpout, "@objvalue2 %d\n",pObjIndex->value[2]);
axsmaug.c:				fprintf( fpout, "@objvalue3 %d\n",pObjIndex->value[3]);
axsmaug.c:				fprintf( fpout, "@objvalue4 %d\n",pObjIndex->value[4]);
axsmaug.c:				fprintf( fpout, "@objvalue5 %d\n",pObjIndex->value[5]);
axsmaug.c:		fprintf( fpout, "@objweight %d\n",pObjIndex->weight);
axsmaug.c:		fprintf( fpout, "@objcost %d\n",pObjIndex->cost);
axsmaug.c:		fprintf( fpout, "@objrent %d\n",pObjIndex->rent);
axsmaug.c:		for ( ed = pObjIndex->first_extradesc; ed; ed = ed->next )
axsmaug.c:				ed->keyword);
axsmaug.c:				strip_cr( ed->description ));
axsmaug.c:		for ( paf = pObjIndex->first_affect; paf; paf = paf->next )
axsmaug.c:	  		if ( paf->location != APPLY_NONE && paf->modifier != 0 )
axsmaug.c:				switch(paf->location)
axsmaug.c:	    	        			a_types[paf->location],
axsmaug.c:		        			paf->modifier);
axsmaug.c:	    					a_types[paf->location],
axsmaug.c:						flag_string(paf->modifier, ris_flags) );
axsmaug.c:	    					a_types[paf->location],
axsmaug.c:						affect_bit_name(paf->modifier) );
axsmaug.c:	    					a_types[paf->location]);
axsmaug.c:						if ( IS_SET( paf->modifier, 1 << i ) )
axsmaug.c:	    	        			a_types[paf->location],
axsmaug.c:						IS_VALID_SN(paf->modifier) ? skill_table[paf->modifier]->name :
axsmaug.c:						if(!IS_VALID_SN(paf->modifier))
axsmaug.c:								paf->modifier);
axsmaug.c:		if ( pObjIndex->mudprogs )
axsmaug.c:	  		for ( mprog = pObjIndex->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:					mprog_type_to_name( mprog->type ),
axsmaug.c:					mprog->arglist,
axsmaug.c:					strip_cr(make_out_prog(mprog->comlist)) );
axsmaug.c:        ax_exit(fpout,tarea,tarea->low_r_vnum,tarea->hi_r_vnum);
axsmaug.c:        ax_entrance(fpout,tarea,tarea->low_r_vnum,tarea->hi_r_vnum);
axsmaug.c:    	for ( vnum = tarea->low_r_vnum; vnum <= tarea->hi_r_vnum; vnum++ )
axsmaug.c:        	if (room->sector_type == SECT_DELETED)
axsmaug.c:		fprintf( fpout, "@roomname %s\n",room->name);
axsmaug.c:		fprintf( fpout, "@roomdescription\n%s\n",strip_cr(room->description)	);
axsmaug.c:		fprintf( fpout, "@roomflags %s\n",flag_string(room->room_flags,r_flags));
axsmaug.c:		fprintf( fpout, "@roomflags %s\n",flag_string(room->room_flag2,r_flag2));
axsmaug.c:		fprintf( fpout, "@roomsectortype %s\n",ax_sector_names[room->sector_type]);
axsmaug.c:        	fprintf( fpout, "@roomteleportdelay %d\n",room->tele_delay);
axsmaug.c:                if(room->tele_vnum)
axsmaug.c:        	  fprintf( fpout, "@roomteleportvnum %d\n",OUT_VNUM(room->tele_vnum));
axsmaug.c:        	fprintf( fpout, "@roomtunnelcapacity %d\n",room->tunnel);
axsmaug.c:		for ( xit = room->first_exit; xit; xit = xit->next )
axsmaug.c:	   		if ( IS_SET(xit->exit_info, EX_PORTAL) ) /* don't fold portals */
axsmaug.c:	   		fprintf( fpout, "^roomexit %s\n",dir_name[xit->vdir] );
axsmaug.c:	   		fprintf( fpout, "@roomexitdesc \n%s\n",strip_cr( xit->description ) );
axsmaug.c:	   		fprintf( fpout, "@roomexitkeyword %s\n",strip_cr( xit->keyword ) );
axsmaug.c:	   		fprintf( fpout, "@roomexitexitinfo %s\n",flag_string(xit->exit_info & ~EX_BASHED,ex_flags));
axsmaug.c:                        if(xit->key > 0)
axsmaug.c:			  fprintf( fpout, "@roomexitkey %d\n",OUT_VNUM(xit->key));
axsmaug.c:			fprintf( fpout, "@roomexittovnum %d\n",OUT_VNUM(xit->vnum));
axsmaug.c:			fprintf( fpout, "@roomexitdistance %d\n",xit->distance);
axsmaug.c:			if(xit->vnum < tarea->low_r_vnum || xit->vnum > tarea->hi_r_vnum)
axsmaug.c:		for ( ed = room->first_extradesc; ed; ed = ed->next )
axsmaug.c:	   		fprintf( fpout, "@roomextradesckeywords %s\n", ed->keyword);
axsmaug.c:	   		fprintf( fpout, "%s\n",strip_cr( ed->description ));
axsmaug.c:		if ( room->map )   /* maps */
axsmaug.c:	   	fprintf( fpout, "%s~\n", strip_cr( room->map )	);
axsmaug.c:	   	fprintf( fpout, "M %d %d %d %c\n",	room->map->vnum
axsmaug.c:					      , room->map->x
axsmaug.c:					      , room->map->y
axsmaug.c:					      , room->map->entry );
axsmaug.c:		if ( room->mudprogs )
axsmaug.c:	  		for ( mprog = room->mudprogs; mprog; mprog = mprog->next )
axsmaug.c:					mprog_type_to_name( mprog->type ),
axsmaug.c:					mprog->arglist, 
axsmaug.c:					strip_cr(make_out_prog(mprog->comlist)) );
axsmaug.c:    	for ( treset = tarea->first_reset; treset; treset = treset->next )
axsmaug.c:		switch( treset->command ) /* extra arg1 arg2 arg3 */
axsmaug.c:                        	fprintf(fpout, "!mobresetvnum %d\n",OUT_VNUM(getmobext(tarea,treset->arg1)));
axsmaug.c:                        	fprintf(fpout, "@mobresetinroom %d\n",OUT_VNUM(treset->arg3));
axsmaug.c:                        	fprintf(fpout, "@mobresetlimit %d\n",treset->arg2);
axsmaug.c:                        	fprintf(fpout, "!objresetvnum %d\n",OUT_VNUM(getobjext(tarea,treset->arg1)));
axsmaug.c:				lastobj=getobjext(tarea,treset->arg1);
axsmaug.c:                        	fprintf(fpout, "@objresetinroom %d\n",OUT_VNUM(treset->arg3));
axsmaug.c:                        	fprintf(fpout, "@objresetlimit %d\n",treset->arg2);
axsmaug.c:                        	fprintf(fpout, "!putobjvnum %d\n",OUT_VNUM(getobjext(tarea,treset->arg1)));
axsmaug.c:				if(treset->arg3)
axsmaug.c:                        		fprintf(fpout, "@putobjinobjvnum %d\n",OUT_VNUM(getobjext(tarea,treset->arg3)));
axsmaug.c:                        	fprintf(fpout, "@putobjresetlimit %d\n",treset->arg2);
axsmaug.c:                        	fprintf( fpout, "!equipobjvnum %d\n",OUT_VNUM(getobjext(tarea,treset->arg1)));
axsmaug.c:                        	fprintf( fpout,"@equipwearlocation %s\n",wear_locs[treset->arg3]);
axsmaug.c:                        	fprintf( fpout, "!doorinroomvnum %d\n",OUT_VNUM(treset->arg1));
axsmaug.c:                        	fprintf( fpout, "@doordirection %s\n",dir_name[treset->arg2]);
axsmaug.c:				fprintf( fpout, "@doorstate %s\n",flag_string(treset->arg3,ex_flags));
axsmaug.c:				fprintf( fpout, "!trapflag %s\n",flag_string(treset->extra,trap_flags));
axsmaug.c:				fprintf( fpout, "@traptype %s\n",ax_traps[treset->arg1]);
axsmaug.c:				fprintf( fpout, "@trapcharges %d\n",treset->arg2);
axsmaug.c:				fprintf( fpout, "@trapvnum %d\n",OUT_VNUM(treset->arg3));
axsmaug.c:				fprintf(fpout ,"!giveobj %d\n",OUT_VNUM(getobjext(tarea,treset->arg1)));
axsmaug.c:                        	fprintf(fpout, "@giveobjresetlimit %d\n",treset->arg2);
axsmaug.c:				fprintf(fpout, "!randomexitsforroom %d\n",OUT_VNUM(treset->arg1));
axsmaug.c:				fprintf(fpout, "@randomexitlastdoor %d\n",treset->arg2);
axsmaug.c:    	for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
axsmaug.c:		if ( (pShop = pMobIndex->pShop) == NULL )
axsmaug.c:		keeper=getmobext(tarea,pShop->keeper);
axsmaug.c:		if(pShop->buy_type[0])
axsmaug.c:			fprintf( fpout, "@shopbuys %s\n",o_types[pShop->buy_type[0]]);
axsmaug.c:		if(pShop->buy_type[1])
axsmaug.c:			fprintf( fpout, "@shopbuys %s\n",o_types[pShop->buy_type[1]]);
axsmaug.c:		if(pShop->buy_type[2])
axsmaug.c:			fprintf( fpout, "@shopbuys %s\n",o_types[pShop->buy_type[2]]);
axsmaug.c:		if(pShop->buy_type[3])
axsmaug.c:			fprintf( fpout, "@shopbuys %s\n",o_types[pShop->buy_type[3]]);
axsmaug.c:		if(pShop->buy_type[4])
axsmaug.c:			fprintf( fpout, "@shopbuys %s\n",o_types[pShop->buy_type[4]]);
axsmaug.c:		fprintf( fpout, "@shopprofitbuy %d\n",pShop->profit_buy);
axsmaug.c:		fprintf( fpout, "@shopprofitsell %d\n",pShop->profit_sell);
axsmaug.c:		fprintf( fpout, "@shopopenhour %d\n",pShop->open_hour);
axsmaug.c:		fprintf( fpout, "@shopclosehour %d\n",pShop->close_hour);
axsmaug.c:    	for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
axsmaug.c:		if ( (pRepair = pMobIndex->rShop) == NULL )
axsmaug.c:		keeper=getmobext(tarea,pRepair->keeper);
axsmaug.c:		if(pRepair->fix_type[0])
axsmaug.c:			fprintf( fpout, "@shoprepairs %s\n",o_types[pRepair->fix_type[0]]);
axsmaug.c:		if(pRepair->fix_type[1])
axsmaug.c:			fprintf( fpout, "@shoprepairs %s\n",o_types[pRepair->fix_type[1]]);
axsmaug.c:		if(pRepair->fix_type[2])
axsmaug.c:			fprintf( fpout, "@shoprepairs %s\n",o_types[pRepair->fix_type[2]]);
axsmaug.c:		fprintf( fpout, "@shopprofitfix %d\n",pRepair->profit_fix);
axsmaug.c:		fprintf( fpout, "@shoprepairtype %s\n",ax_shoptypes[pRepair->shop_type]);
axsmaug.c:		fprintf( fpout, "@shoprepairopenhour %d\n",pRepair->open_hour);
axsmaug.c:		fprintf( fpout, "@shoprepairclosehour %d\n",pRepair->close_hour);
axsmaug.c:    	for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
axsmaug.c:		if ( !pMobIndex->spec_fun )
axsmaug.c:		fprintf( fpout, "@mobspecial %s\n",lookup_spec(pMobIndex->spec_fun));
ban.c: * -----------------------------------------------------------|   (0...0)   *
ban.c: * -----------------------------------------------------------|    {o o}    *
ban.c: * ------------------------------------------------------------------------ *
ban.c: * ------------------------------------------------------------------------ *
ban.c:  pban->name = fread_string_nohash ( fp );
ban.c:  pban->user  = NULL;
ban.c:  pban->level = fread_number( fp );
ban.c:  pban->duration = fread_number( fp );
ban.c:  pban->unban_date = fread_number( fp );
ban.c:	pban->prefix = fread_number( fp );
ban.c:	pban->suffix = fread_number( fp );
ban.c:  pban->warn = fread_number( fp );
ban.c:  pban->ban_by = fread_string_nohash( fp );
ban.c:  pban->ban_time = fread_string_nohash( fp );
ban.c:  pban->note = fread_string( fp );
ban.c:		if ( !str_cmp( class_table[i]->who_name, pban->name ) )
ban.c:		if ( !str_cmp( race_table[i]->race_name, pban->name ) )
ban.c:	for ( i = 0; i < strlen( pban->name); i ++ )
ban.c:	  if ( pban->name[i] == '@' )
ban.c:		temp = str_dup( pban->name );
ban.c:		temp2 = &pban->name[i+1];
ban.c:                DISPOSE( pban->name );
ban.c:		pban->name = str_dup( temp2 );
ban.c:	       	pban->user = str_dup( temp );
ban.c:		pban->flag = i;
ban.c:  for (pban = first_ban; pban; pban = pban->next) {
ban.c:        if ( pban->user )
ban.c:		fprintf ( fp, "%s@%s~\n", pban->user, pban->name );
ban.c:		fprintf (fp, "%s~\n", pban->name );
ban.c:	fprintf (fp, "%d %d %d %d %d %d\n", pban->level, pban->duration,
ban.c:		pban->unban_date, pban->prefix, pban->suffix, pban->warn );
ban.c:	fprintf (fp, "%s~\n%s~\n%s~\n", pban->ban_by, pban->ban_time,
ban.c:		pban->note );
ban.c:  for (pban = first_ban_race; pban; pban = pban->next ) {
ban.c:	fprintf (fp, "%s~\n", pban->name );
ban.c:	fprintf (fp, "%d %d %d %d\n", pban->level, pban->duration,
ban.c:		pban->unban_date, pban->warn );
ban.c:	fprintf (fp, "%s~\n%s~\n%s~\n", pban->ban_by, pban->ban_time,
ban.c:		pban->note );
ban.c:  for (pban = first_ban_class; pban; pban = pban->next ) {
ban.c:	fprintf (fp, "%s~\n", pban->name );
ban.c:	fprintf (fp, "%d %d %d %d\n", pban->level, pban->duration,
ban.c:		pban->unban_date, pban->warn );
ban.c:	fprintf (fp, "%s~\n%s~\n%s~\n", pban->ban_by, pban->ban_time,
ban.c:		pban->note );
ban.c:  if (!ch->desc) /* No desc means no go :) */
ban.c:	time = -1;
ban.c:  /* -1 is default, but no reason the time should be greater than 1000
ban.c:  if ( time != -1 &&  ( time < 1 || time > 1000 ) )
ban.c:      send_to_char("Time value is -1 (forever) or from 1 to 1000.\n\r", ch);
ban.c:   * Need to be carefull with sub-states or everything will get messed up.
ban.c:  switch ( ch->substate ) {
ban.c:	ch->tempnum = SUB_NONE;
ban.c:		if ( temp[strlen(temp)-1] == '*' )
ban.c:			temp[strlen(temp)-1] = '\0';
ban.c:	for ( ; pban; pban = pban->next ) 
ban.c:	  if ( value == 1 || !str_cmp ( pban->name, temp ) )
ban.c:		value--;
ban.c:	ch_printf(ch, "Banned by: %s\n\r", pban->ban_by );
ban.c:	send_to_char ( pban->note, ch );
ban.c:  if (!ch->desc) /* No desc is a bad thing */
ban.c:	  if ( temp[strlen(temp) - 1] == '*' )
ban.c:		  temp[ strlen(temp) -1] = '\0';
ban.c:	for ( pban = first_ban; pban; pban = pban->next )
ban.c:		if ( value == 1 || !str_cmp ( pban->name, temp ) )
ban.c:			value--;
ban.c:	for ( pban = first_ban_race; pban; pban = pban->next )
ban.c:		if ( value == 1 || !str_cmp ( pban->name, arg2 ) )
ban.c:			value--;
ban.c:	for ( pban = first_ban_class; pban; pban = pban->next )
ban.c:		if ( value == 1 || !str_cmp ( pban->name, arg2 ) )
ban.c:			value--;
ban.c:  int  count = -1, type;
ban.c:   * Don't want mobs or link-deads doing this.
ban.c:  if (!ch->desc)
ban.c:        type = -1;
ban.c:  for ( ; pban && count != 0; count--, pban = pban->next )
ban.c:	if ( count == -1 && !str_cmp(pban->name, arg2 ) )
ban.c:	if ( pban->warn ){
ban.c:		if ( pban->level == BAN_WARN ) {
ban.c:			pban->warn = FALSE;
ban.c:		pban->warn = TRUE;
ban.c:  switch ( ch->substate ) {
ban.c:			    if( !str_cmp( class_table[i]->who_name, arg ) )
ban.c:		for( temp = first_ban_class; temp; temp = temp->next )
ban.c:			if ( temp->flag == value )
ban.c:			   if ( temp->level == level )
ban.c:				temp->level = level;
ban.c:				if ( temp->level == BAN_WARN )
ban.c:					temp->warn = TRUE;
ban.c:   				temp->ban_time = str_dup (buf);   
ban.c:				if ( temp->ban_by )
ban.c:					DISPOSE( temp->ban_by );
ban.c:	        		temp->ban_by = str_dup ( ch->name );
ban.c:		pban->name = str_dup ( class_table[value]->who_name );
ban.c:		pban->flag = value;
ban.c:		pban->level = level;
ban.c:	        pban->ban_by = str_dup ( ch->name );
ban.c:				if ( !str_cmp(race_table[i]->race_name, arg) )
ban.c:		for( temp = first_ban_race; temp; temp = temp->next )
ban.c:			if ( temp->flag == value )
ban.c:			   if ( temp->level == level )
ban.c:				temp->level = level;
ban.c:				if ( temp->level == BAN_WARN )
ban.c:					temp->warn = TRUE;
ban.c:   				temp->ban_time = str_dup (buf);   
ban.c:				if ( temp->ban_by )
ban.c:					DISPOSE( temp->ban_by );
ban.c:	        		temp->ban_by = str_dup ( ch->name );
ban.c:		pban->name = str_dup ( race_table[value]->race_name );
ban.c:		pban->flag = value;
ban.c:		pban->level = level;
ban.c:	       	pban->ban_by = str_dup ( ch->name );
ban.c:		if ( name[strlen(name) - 1] == '*' )
ban.c:			name[strlen(name) - 1] = '\0';
ban.c:		for( temp = first_ban; temp; temp = temp->next )
ban.c:		  	if ( !str_cmp ( temp->name, name ) )
ban.c:			   if ( temp->level == level && (prefix && temp->prefix)
ban.c:				&& ( suffix && temp->suffix ) && (!user_name ||
ban.c:				(user_name && !str_cmp(temp->user, temp_user))))
ban.c:				temp->suffix = suffix;
ban.c:				temp->prefix = prefix;
ban.c:				if ( temp->level == BAN_WARN )
ban.c:					temp->warn = TRUE;
ban.c:				temp->level = level;
ban.c:   				temp->ban_time = str_dup (buf);   
ban.c:				if ( temp->ban_by )
ban.c:					DISPOSE( temp->ban_by );
ban.c:	        		temp->ban_by = str_dup ( ch->name );
ban.c:	        pban->ban_by = str_dup ( ch->name );
ban.c:		pban->suffix = suffix;
ban.c:		pban->prefix = prefix;
ban.c:		pban->name = str_dup( name );	
ban.c:		pban->level = level;
ban.c:			pban->user = str_dup( temp_user );
ban.c:   pban->ban_time = str_dup (buf);   
ban.c:   	pban->duration = time;
ban.c:   	tms->tm_mday += time;
ban.c:   	pban->unban_date = mktime(tms);
ban.c:	pban->duration = -1;
ban.c:	pban->unban_date = -1;
ban.c:   if ( pban->level == BAN_WARN )
ban.c:	pban->warn = TRUE;
ban.c:   ch->substate = SUB_BAN_DESC;
ban.c:   ch->dest_buf = pban;
ban.c:   if ( !pban->note )
ban.c:	pban->note = STRALLOC ("");;
ban.c:   start_editing( ch, pban->note );
ban.c:   pban = ch->dest_buf;
ban.c:	bug ("do_ban: sub_ban_desc: NULL ch->dest_buf", 0);
ban.c:	ch->substate = SUB_NONE;
ban.c:   if ( pban->note )
ban.c:   	STRFREE( pban->note );
ban.c:   pban->note = copy_buffer( ch );
ban.c:   ch->substate = ch->tempnum;
ban.c:   if ( pban->duration > 0 )
ban.c:      if ( !pban->user )
ban.c:        ch_printf (ch, "%s banned for %d days.\n\r", pban->name, pban->duration );
ban.c:        ch_printf (ch, "%s@%s banned for %d days.\n\r", pban->user, pban->name, pban->duration );
ban.c:      if ( !pban->user )
ban.c:        ch_printf (ch, "%s banned forever.\n\r", pban->name );
ban.c:        ch_printf (ch, "%s@%s banned forever.\n\r", pban->user, pban->name );
ban.c: send_to_pager("---- ---- ---- ------------------------ --------------- ----  ---------------\n\r", ch);
ban.c: 		for ( bnum=1; pban; pban=pban->next, bnum++)
ban.c:		  if ( !pban->user )
ban.c:      		   pager_printf (ch, "[%2d] %-4s (%2d) %-24s %-15s %4d  %c%s%c\n\r", 
ban.c:			     bnum, (pban->warn)?"YES":"no", pban->level, 
ban.c:			     pban->ban_time, pban->ban_by, pban->duration,
ban.c:				(pban->prefix)?'*':' ',
ban.c:				pban->name, (pban->suffix)?'*':' ');
ban.c:      		   pager_printf (ch, "[%2d] %-4s (%2d) %-24s %-15s %4d  %s@%c%s%c\n\r", 
ban.c:			     bnum, (pban->warn)?"YES":"no", pban->level, 
ban.c:			     pban->ban_time, pban->ban_by, pban->duration,
ban.c:				pban->user, 
ban.c:				(pban->prefix)?'*':' ',
ban.c:				pban->name, (pban->suffix)?'*':' ');
ban.c: send_to_pager("---- ---- ---- ------------------------ --------------- ----  ---------------\n\r", ch);
ban.c: for ( bnum=1; pban; pban=pban->next, bnum++)
ban.c:      pager_printf (ch, "[%2d] %-4s (%2d) %-24s %-15s %4d  %s\n\r", bnum,
ban.c:         (pban->warn)?"YES":"no", pban->level, pban->ban_time, pban->ban_by, 
ban.c:	 pban->duration, pban->name);
ban.c:  for ( i = 0; i < (int) strlen( d->host ) ; i++ )
ban.c:	new_host[i] = LOWER( d->host[i] );
ban.c:  for ( pban = first_ban; pban; pban = pban->next ) {
ban.c:  	if ( pban->level != LEVEL_SUPREME )
ban.c:	if ( pban->user && str_cmp( d->user, pban->user ) )
ban.c:	if ( pban->prefix && pban->suffix  && 
ban.c:		strstr( pban->name, new_host ) )
ban.c:	if ( pban->suffix && !str_suffix( pban->name, new_host ) )
ban.c:	if ( pban->prefix && !str_prefix( pban->name, new_host ) )
ban.c:	if ( !str_cmp( pban->name, new_host ) )
ban.c:		for ( i = 0; i < (int) ( strlen( ch->desc->host ) ); i++ )
ban.c:			new_host[i] = LOWER( ch->desc->host[i] );
ban.c:  for ( ; pban; pban = pban->next ) {
ban.c:      if ( type == BAN_CLASS &&  (pban->flag == ch->class || pban->flag == ch->class2) )
ban.c:          if ( ch->level > pban->level )
ban.c:              if ( pban->warn )
ban.c:                           pban->name, ch->desc->host );
ban.c:      if ( type == BAN_RACE && pban->flag == ch->race )
ban.c:		if ( ch->level > pban->level )
ban.c:			if ( pban->warn ) {
ban.c:				pban->name, ch->desc->host );
ban.c:		if ( pban->prefix && pban->suffix  && 
ban.c:			strstr( pban->name, new_host ) )
ban.c:		else if ( pban->prefix && !str_suffix( pban->name, new_host ) )
ban.c:		else if ( pban->suffix && !str_prefix( pban->name, new_host ) )
ban.c:		else if ( !str_cmp( pban->name, new_host ) )
ban.c:		if ( fMatch && pban->user && 
ban.c:			str_cmp(pban->user, ch->desc->user) )
ban.c:			if ( ch->level > pban->level )
ban.c:			 if ( pban->warn ) {
ban.c:				ch->name, ch->desc->host );
ban.c:  if ( pban->unban_date < 0 )
ban.c:  if ( pban->unban_date <= current_time )
ban.c:  	sprintf( buf, "%s ban has expired.", pban->name );
ban.c:  if ( pban->name )
ban.c:     DISPOSE( pban->name );
ban.c:  if ( pban->ban_time )
ban.c:     DISPOSE( pban->ban_time );
ban.c:  if ( pban->note )
ban.c:        STRFREE( pban->note );
ban.c:  if ( pban->user )
ban.c:     DISPOSE( pban->user );
ban.c:  if ( pban->ban_by )
ban.c:     DISPOSE( pban->ban_by );                               
ban.c:  if ( pban->ban_time )
ban.c:     DISPOSE( pban->ban_time );
bank.c: * -----------------------------------------------------------|   (0...0)   *
bank.c: * -----------------------------------------------------------|    {o o}    *
bank.c: * ------------------------------------------------------------------------ *
bank.c: * ------------------------------------------------------------------------ *
bank.c: *                                        -= Minas Ravenblood =-           *
bank.c:   don't forget to declare it - Minas */
bank.c:/* NOTE: Smaug 1.02a Users - Your compiler probably died on this
bank.c:   function - if so, remove the x in front of IS_SET and recompile */
bank.c:  for ( banker = ch->in_room->first_person; banker; banker = banker->next_in_room )
bank.c:    if ( IS_NPC( banker ) && xIS_SET( banker->act, ACT_BANKER ) )
bank.c:    sprintf( buf, "Sorry, %s, we don't do business with mobs.", ch->short_descr );
bank.c:    sprintf( buf, "%s How much gold do you wish to deposit?", ch->name );
bank.c:    sprintf( buf, "%s How much gold do you wish to deposit?", ch->name );
bank.c:    amount = ch->gold;
bank.c:  if ( amount > ch->gold )
bank.c:      sprintf( buf, "%s Sorry, but you don't have that much gold to deposit.", ch->name );
bank.c:      sprintf( buf, "%s Oh, I see.. I didn't know i was doing business with a comedian.", ch->name );
bank.c:      if( ch->pcdata->balance == 5000000 )
bank.c:      if( ch->pcdata->balance + amount > 5000000 )
bank.c:          amount = 5000000 - ch->pcdata->balance;
bank.c:  ch->gold		-= amount;
bank.c:  ch->pcdata->balance	+= amount;
bank.c:    sprintf( buf, "Sorry, %s, we don't do business with mobs.", ch->short_descr );
bank.c:    sprintf( buf, "%s How much gold do you wish to withdraw?", ch->name );
bank.c:    sprintf( buf, "%s How much gold do you wish to withdraw?", ch->name );
bank.c:    amount = ch->pcdata->balance;    
bank.c:  if ( amount > ch->pcdata->balance )
bank.c:    sprintf( buf, "%s But you do not have that much gold in your account!", ch->name );
bank.c:    sprintf( buf, "%s Oh I see.. I didn't know i was doing business with a comedian.", ch->name );
bank.c:  ch->pcdata->balance	-= amount;
bank.c:  ch->gold		+= amount;
bank.c:      sprintf( buf, "Sorry, %s, we don't do business with mobs.", ch->short_descr );
bank.c:    ch->pcdata->balance, (ch->pcdata->balance == 1) ? "" : "s" );
bank.c:    sprintf( buf, "Sorry, %s, we don't do business with mobs.", ch->short_descr );
bank.c:    sprintf( buf, "%s How much gold do you wish to send to who?", ch->name );
bank.c:    sprintf( buf, "%s How much gold do you wish to send to who?", ch->name );
bank.c:    sprintf( buf, "%s %s could not be located.", ch->name, capitalize(arg2) );
bank.c:    sprintf( buf, "%s We do not do business with mobiles...", ch->name );
bank.c:    amount = ch->pcdata->balance;
bank.c:  if ( amount > ch->pcdata->balance )
bank.c:    sprintf( buf, "%s You are very generous, but you don't have that much gold!", ch->name );
bank.c:    sprintf( buf, "%s Oh I see.. I didn't know I was doing business with a comedian.", ch->name );
bank.c:  ch->pcdata->balance     -= amount;
bank.c:  victim->pcdata->balance += amount;
bank.c:           amount, (amount != 1) ? "s" : "", victim->name );
bank.c:           ch->name, amount, (amount != 1) ? "s" : "" );
base64.c: * while using -Wall
base64.c:    nprbytes = bufin - bufcoded - 1;
base64.c:        nprbytes -= 4;
base64.c:        if(pr2six[(int)bufin[-2]] > 63)
base64.c:            nbytesdecoded -= 2;
base64.c:            nbytesdecoded -= 1;
bits.c:/* bits.c -- Abits and Qbits for the Rogue Winds by Scion
bits.c:   to get a note from you at keeler@teleport.com. Thanks! -- Scion
bits.c:   of boolean variables you can put on a player or mob with a mob prog. -- Scion
bits.c:	for (bit = first_abit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:	for (bit = first_qbit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:	for (bit = ch->first_abit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:	for (bit = ch->pcdata->first_qbit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:		for (bit = start_bit; bit; bit = bit->next) {
bits.c:			fprintf(fpout, "Number	%d\n", bit->number);
bits.c:			fprintf(fpout, "Desc	%s~\n", bit->desc);
bits.c:                strcpy(bit->desc, fread_string(fp));
bits.c:                bit->number = fread_number(fp);
bits.c:	for (proto_bit = first_abit; proto_bit; proto_bit = proto_bit->next) {
bits.c:		if (proto_bit->number == number)
bits.c:		bit->number = proto_bit->number;
bits.c:		strcpy(bit->desc, proto_bit->desc);
bits.c:		LINK(bit, ch->first_abit, ch->last_abit, next, prev);
bits.c:	for (proto_bit = first_qbit; proto_bit; proto_bit = proto_bit->next) {
bits.c:		if (proto_bit->number == number)
bits.c:		bit->number = proto_bit->number;
bits.c:		strcpy(bit->desc, proto_bit->desc);
bits.c:		LINK(bit, ch->pcdata->first_qbit, ch->pcdata->last_qbit, next, prev);
bits.c:	if (!ch->first_abit)
bits.c:	bit = ch->first_abit;
bits.c:		if (bit->number == number) {
bits.c:			bit = bit->next;
bits.c:			UNLINK(tmp, ch->first_abit, ch->last_abit, next, prev);
bits.c:			bit = bit->next;
bits.c:	if (!ch->pcdata->first_qbit)
bits.c:	bit = ch->pcdata->first_qbit;
bits.c:		if (bit->number == number) {
bits.c:			bit = bit->next;
bits.c:			UNLINK(tmp, ch->pcdata->first_qbit, ch->pcdata->last_qbit, next, prev);
bits.c:			bit = bit->next;
bits.c:		for (bit = first_abit; bit; bit = bit->next) {
bits.c:			sprintf(buf, "&wABIT: %d <%25.25s>\r\n", bit->number, bit->desc);
bits.c:	for (bit = first_abit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:	sprintf(buf, "&wABIT: %d\n\r", bit->number);
bits.c:	sprintf(buf, "'%s&w'\n\r", bit->desc);
bits.c:		for (bit = first_qbit; bit; bit = bit->next) {
bits.c:			sprintf(buf, "&wQBIT: %d <%25.25s>\r\n", bit->number, bit->desc);
bits.c:	for (bit = first_qbit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:	sprintf(buf, "&wQBIT: %d\r\n", bit->number);
bits.c:	sprintf(buf, "'%s&w'\n\r", bit->desc);
bits.c:	for (bit = first_abit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:		bit->number = number;
bits.c:		strcpy(bit->desc, "");
bits.c:		sprintf(buf, "Abit %d created.\r\n", bit->number);
bits.c:	strcpy(bit->desc, arg);
bits.c:	sprintf(buf, "Description for abit %d set to '%s&w'.\r\n", bit->number, bit->desc);
bits.c:	for (bit = first_qbit; bit; bit = bit->next) {
bits.c:		if (bit->number == number)
bits.c:		bit->number = number;
bits.c:		strcpy(bit->desc, "");
bits.c:		sprintf(buf, "Qbit %d created.\r\n", bit->number);
bits.c:	strcpy(bit->desc, arg);
bits.c:	sprintf(buf, "Description for qbit %d set to '%s&w'.\r\n", bit->number, bit->desc);
bits.c:		if (!ch->first_abit) {
bits.c:		for (bit = victim->first_abit; bit; bit = bit->next) {
bits.c:			sprintf(buf, "%4.4d: <%30.30s&w>\r\n", bit->number, bit->desc);
bits.c:			sprintf(buf, "Removed abit %d from %s.\r\n", abit, victim->name);
bits.c:			sprintf(buf, "Added abit %d to %s.\r\n", abit, victim->name);
bits.c:		if (!victim->pcdata->first_qbit) {
bits.c:		for (bit = victim->pcdata->first_qbit; bit; bit = bit->next) {
bits.c:			sprintf(buf, "%4.4d: <%30.30s&w>\r\n", bit->number, bit->desc);
bits.c:			sprintf(buf, "Removed qbit %d from %s.\r\n", qbit, victim->name);
bits.c:			sprintf(buf, "Added qbit %d to %s.\r\n", qbit, victim->name);
bits.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
bits.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
boards.c: * -----------------------------------------------------------|   (0...0)   *
boards.c: * -----------------------------------------------------------|    {o o}    *
boards.c: * ------------------------------------------------------------------------ *
boards.c: * ------------------------------------------------------------------------ *
boards.c:#include "imc-mercbase.h"
boards.c:/* Defines for voting on notes. -- Narn */
boards.c:  if ( get_trust( ch ) >= board->min_remove_level )
boards.c:  if ( board->extra_removers[0] != '\0' )
boards.c:    if ( is_name( ch->name, board->extra_removers ) )
boards.c:  if ( get_trust( ch ) >= board->min_read_level )
boards.c:  if ( board->read_group[0] != '\0' )
boards.c:    if ( ch->pcdata->clan && !str_cmp( ch->pcdata->clan->name, board->read_group ) ) 
boards.c:    if ( ch->pcdata->council && !str_cmp( ch->pcdata->council->name, board->read_group ) )
boards.c:    if ( ch->pcdata->council2 && !str_cmp( ch->pcdata->council2->name, board->read_group ) )
boards.c:  if ( board->extra_readers[0] != '\0' )
boards.c:    if ( is_name( ch->name, board->extra_readers ) )
boards.c:  if ( get_trust( ch ) >= board->min_post_level )
boards.c:  if ( board->post_group[0] != '\0' )
boards.c:    if ( ch->pcdata->clan && !str_cmp( ch->pcdata->clan->name, board->post_group ) ) 
boards.c:    if ( ch->pcdata->council && !str_cmp( ch->pcdata->council->name, board->post_group ) )
boards.c:    if ( ch->pcdata->council2 && !str_cmp( ch->pcdata->council2->name, board->post_group ) )
boards.c:    for ( tboard = first_board; tboard; tboard = tboard->next )
boards.c:	fprintf( fpout, "Filename          %s~\n", tboard->note_file	    );
boards.c:	fprintf( fpout, "Vnum              %d\n",  tboard->board_obj	    );
boards.c:	fprintf( fpout, "Min_read_level    %d\n",  tboard->min_read_level   );
boards.c:	fprintf( fpout, "Min_post_level    %d\n",  tboard->min_post_level   );
boards.c:	fprintf( fpout, "Min_remove_level  %d\n",  tboard->min_remove_level );
boards.c:	fprintf( fpout, "Max_posts         %d\n",  tboard->max_posts	    );
boards.c:       	fprintf( fpout, "Type 	           %d\n",  tboard->type		    ); 
boards.c:	fprintf( fpout, "Read_group        %s~\n", tboard->read_group       );
boards.c:	fprintf( fpout, "Post_group        %s~\n", tboard->post_group       );
boards.c:	fprintf( fpout, "Extra_readers     %s~\n", tboard->extra_readers    );
boards.c:        fprintf( fpout, "Extra_removers    %s~\n", tboard->extra_removers   );
boards.c:    for ( board = first_board; board; board = board->next )
boards.c:       if ( board->board_obj == obj->pIndexData->vnum )
boards.c:    for ( obj = ch->in_room->first_content;
boards.c:	  obj = obj->next_content )
boards.c:    if ( !str_cmp( ch->name, pnote->sender ) )
boards.c:    if ( is_name( "all", pnote->to_list ) )
boards.c:    if ( IS_HERO(ch) && is_name( "immortal", pnote->to_list ) )
boards.c:    if ( is_name( ch->name, pnote->to_list ) )
boards.c:    if ( ch->pnote )
boards.c:    pnote->next		= NULL;
boards.c:    pnote->prev		= NULL;
boards.c:    pnote->sender	= QUICKLINK( ch->name );
boards.c:    pnote->date		= STRALLOC( "" );
boards.c:    pnote->to_list	= STRALLOC( "" );
boards.c:    pnote->subject	= STRALLOC( "" );
boards.c:    pnote->text		= STRALLOC( "" );
boards.c:    ch->pnote		= pnote;
boards.c:    sprintf( filename, "%s%s", BOARD_DIR, board->note_file );
boards.c:	for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:		pnote->sender,
boards.c:		pnote->date,
boards.c:		pnote->to_list,
boards.c:		pnote->subject,
boards.c:                pnote->voting,
boards.c:                pnote->yesvotes,
boards.c:                pnote->novotes,
boards.c:                pnote->abstentions,
boards.c:		pnote->text
boards.c:    STRFREE( pnote->text    );
boards.c:    STRFREE( pnote->subject );
boards.c:    STRFREE( pnote->to_list );
boards.c:    STRFREE( pnote->date    );
boards.c:    STRFREE( pnote->sender  );
boards.c:    if ( pnote->yesvotes )
boards.c:	DISPOSE( pnote->yesvotes );
boards.c:    if ( pnote->novotes )
boards.c:	DISPOSE( pnote->novotes );
boards.c:    if ( pnote->abstentions )
boards.c:	DISPOSE( pnote->abstentions );
boards.c:    UNLINK( pnote, board->first_note, board->last_note, next, prev );
boards.c:    --board->num_posts;
boards.c:    for ( quill = ch->last_carrying; quill; quill = quill->prev_content )
boards.c: 	if ( quill->item_type == ITEM_PEN
boards.c:    switch( ch->substate )
boards.c:    if (board->type != BOARD_NOTE)
boards.c:    switch( ch->substate )
boards.c:    if (board->type != BOARD_MAIL)
boards.c:    if ( !ch->desc )
boards.c:    switch( ch->substate )
boards.c:	  ||     paper->item_type != ITEM_PAPER )
boards.c:	  ed = ch->dest_buf;
boards.c:	  STRFREE( ed->description );
boards.c:	  ed->description = copy_buffer( ch );
boards.c:     * of a better way to do it. --Shaddai
boards.c:	    for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:		   pager_printf( ch, "&W%2d&w%c &W%-12.12s&w |&W%c&w| %-24s | &W%-32.32s&w\n\r",
boards.c:			pnote->sender,
boards.c:			(pnote->voting != VOTE_NONE) ? (pnote->voting == VOTE_OPEN ? 'O' : 'C') : ' ',
boards.c:			pnote->date,
boards.c:			pnote->subject );
boards.c:              for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:            for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:          	      ch_printf( ch, "&W%2d&w) &W%-12.12s&w |&W%c&w| %-24s | &W%-32.32s&w\n\r",
boards.c:			pnote->sender,
boards.c:			is_note_to( ch, pnote ) ? '+' : '-',
boards.c:			pnote->date,
boards.c:			pnote->subject );
boards.c:	    for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:		   pager_printf( ch, "&W%2d&w%c &W%-12.12s&w | &W%c&w | &W%-12.12s&w | &W%-35.35s&w\n\r",
boards.c:		/* pager_printf( ch, "%2d%c %-12s%c %-12.12s : %s\n\r", */
boards.c:			pnote->sender,
boards.c:			(pnote->voting != VOTE_NONE) ? (pnote->voting == VOTE_OPEN ? 'O' : 'C') : ' ',
boards.c:			pnote->to_list,
boards.c:			pnote->subject );
boards.c:              for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:            for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:		   ch_printf( ch, "&W%2d&w) &W%-12.12s&w |&W%c&w| &W%-12.12s&w | &W%-44.44s&w\n\r",
boards.c:			pnote->sender,
boards.c:			is_note_to( ch, pnote ) ? '+' : '-',
boards.c:			pnote->to_list,
boards.c:			pnote->subject );
boards.c:	    for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:			"&wSubject:  &W%-70.70s\n\r\n\r&w%s",
boards.c:			pnote->to_list,
boards.c:			pnote->sender,
boards.c:			pnote->date,
boards.c:			pnote->subject,
boards.c:			pnote->text );
boards.c:		    if ( pnote->yesvotes[0] != '\0' || pnote->novotes[0] != '\0'
boards.c:                    || pnote->abstentions[0] != '\0' )
boards.c:				pnote->yesvotes, pnote->novotes, pnote->abstentions );
boards.c:	    for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:			if ( ch->gold < 10
boards.c:			   ch->gold -= 10;
boards.c:			"&wSubject:  &W%-70.70s\n\r\n\r&w%s",
boards.c:			pnote->to_list,
boards.c:			pnote->sender,
boards.c:			pnote->date,
boards.c:			pnote->subject,
boards.c:			pnote->text );
boards.c:	for ( pnote = board->first_note; pnote && vnum < anum; pnote = pnote->next )
boards.c:	    if ( str_cmp( ch->name, pnote->sender ) )
boards.c:	    pnote->voting = VOTE_OPEN;
boards.c:	    if ( str_cmp( ch->name, pnote->sender ) )
boards.c:	    pnote->voting = VOTE_CLOSED;
boards.c:	if ( pnote->voting != VOTE_OPEN )
boards.c:		pnote->yesvotes, pnote->novotes, pnote->abstentions );
boards.c:	if ( is_name( ch->name, buf ) )
boards.c:	    sprintf( buf, "%s %s", pnote->yesvotes, ch->name );
boards.c:	    DISPOSE( pnote->yesvotes );
boards.c:	    pnote->yesvotes = str_dup( buf );
boards.c:	    sprintf( buf, "%s %s", pnote->novotes, ch->name );
boards.c:	    DISPOSE( pnote->novotes );
boards.c:	    pnote->novotes = str_dup( buf );
boards.c:	    sprintf( buf, "%s %s", pnote->abstentions, ch->name );
boards.c:	    DISPOSE( pnote->abstentions );
boards.c:	    pnote->abstentions = str_dup( buf );
boards.c:	if ( ch->substate == SUB_RESTRICTED )
boards.c:	    if ( quill->value[0] < 1 )
boards.c:	||     paper->item_type != ITEM_PAPER )
boards.c:	if (paper->value[0] < 2 )
boards.c:	    paper->value[0] = 1;
boards.c:	    ch->substate = SUB_WRITING_NOTE;
boards.c:	    ch->dest_buf = ed;
boards.c:		--quill->value[0];
boards.c:	    start_editing( ch, ed->description );
boards.c:	    if ( quill->value[0] < 1 )
boards.c:	||     paper->item_type != ITEM_PAPER )
boards.c:	if (paper->value[1] > 1 )
boards.c:	    paper->value[1] = 1;
boards.c:	    STRFREE( ed->description );
boards.c:	    ed->description = STRALLOC( arg_passed );
boards.c:	    if ( quill->value[0] < 1 )
boards.c:	||     paper->item_type != ITEM_PAPER )
boards.c:	if (paper->value[2] > 1)
boards.c:	if ( !IS_MAIL || imc || stat( fname, &fst ) != -1 || !str_cmp(arg_passed, "all") )
boards.c:	    paper->value[2] = 1;
boards.c:	    STRFREE( ed->description );
boards.c:	    ed->description = STRALLOC( arg_passed );
boards.c:	||     paper->item_type != ITEM_PAPER )
boards.c:/* point 8 (new note - note show) */
boards.c:	if ( (subject = get_extra_descr( "_subject_", paper->first_extradesc )) == NULL )
boards.c:	if ( (to_list = get_extra_descr( "_to_", paper->first_extradesc )) == NULL )
boards.c:	"&wSubject:  &W%-70.70s\n\r\n\r&w",
boards.c:	    ch->name,
boards.c:	if ( (text = get_extra_descr( "_text_", paper->first_extradesc )) == NULL )
boards.c:	||     paper->item_type != ITEM_PAPER )
boards.c:	if ( paper->value[0] == 0 )
boards.c:	if ( paper->value[1] == 0 )
boards.c:	if (paper->value[2] == 0)
boards.c:	strtime[strlen(strtime)-1]	= '\0';
boards.c:	to = get_extra_descr( "_to_", paper->first_extradesc );
boards.c:	subj = get_extra_descr( "_subject_", paper->first_extradesc );
boards.c:	text = get_extra_descr( "_text_", paper->first_extradesc );
boards.c:	if ( (imc && board->board_obj != sysdata.imc_mail_vnum) ||
boards.c:	    (!imc && board->board_obj == sysdata.imc_mail_vnum) )
boards.c:	if ( board->num_posts >= board->max_posts )
boards.c:	pnote->date			= STRALLOC( strtime );
boards.c:	pnote->to_list = to ? STRALLOC( to ) : STRALLOC( "all" );
boards.c:	pnote->text = text ? STRALLOC( text ) : STRALLOC( "" );
boards.c:	pnote->subject = subj ? STRALLOC( subj ) : STRALLOC( "" );
boards.c:	pnote->sender  = QUICKLINK( ch->name );
boards.c:        pnote->voting      = 0;
boards.c:        pnote->yesvotes    = str_dup( "" );
boards.c:        pnote->novotes     = str_dup( "" );
boards.c:        pnote->abstentions = str_dup( "" );
boards.c:	    imc_post_mail(ch, pnote->sender, pnote->to_list, pnote->date,
boards.c:	        pnote->subject, pnote->text);
boards.c:	LINK( pnote, board->first_note, board->last_note, next, prev );
boards.c:	board->num_posts++;
boards.c:	for ( pnote = board->first_note; pnote; pnote = pnote->next )
boards.c:		if ( (is_name("all", pnote->to_list))
boards.c:		    if ( ch->gold < 50 && get_trust(ch) < sysdata.read_mail_free )
boards.c:		      ch->gold -= 50;
boards.c:		    STRFREE( ed->description );
boards.c:		    ed->description = QUICKLINK(pnote->sender);
boards.c:		    STRFREE( ed->description );
boards.c:		    ed->description = QUICKLINK(pnote->text);
boards.c:		    STRFREE( ed->description );
boards.c:		    ed->description = QUICKLINK( pnote->to_list );
boards.c:		    STRFREE( ed->description );
boards.c:		    ed->description = QUICKLINK( pnote->subject );
boards.c:		    STRFREE( ed->description );
boards.c:		    ed->description = QUICKLINK( pnote->date );
boards.c:		    STRFREE( ed->description );
boards.c:		    strcat(notebuf, pnote->sender);		 
boards.c:		    strcat(notebuf, pnote->to_list);
boards.c:		    strcat(notebuf, pnote->subject);
boards.c:		    strcat(notebuf, pnote->text);
boards.c:		    ed->description = STRALLOC(notebuf);
boards.c:		    paper->value[0] = 2;
boards.c:		    paper->value[1] = 2;
boards.c:	 	    paper->value[2] = 2;
boards.c:			pnote->sender, pnote->to_list);
boards.c:		    STRFREE(paper->short_descr);
boards.c:		    paper->short_descr = STRALLOC(short_desc_buf);
boards.c:			pnote->sender, pnote->to_list);
boards.c:		    STRFREE(paper->description);
boards.c:		    paper->description = STRALLOC(long_desc_buf);
boards.c:			pnote->to_list);
boards.c:		    STRFREE(paper->name);
boards.c:		    paper->name = STRALLOC(keyword_buf);
boards.c:	    KEY( "Extra_readers",	board->extra_readers,	fread_string_nohash( fp ) );
boards.c:            KEY( "Extra_removers",       board->extra_removers,   fread_string_nohash( fp ) );
boards.c: 	      board->num_posts	= 0;
boards.c:	      board->first_note	= NULL;
boards.c:	      board->last_note	= NULL;
boards.c:	      board->next	= NULL;
boards.c:	      board->prev	= NULL;
boards.c:              if ( !board->read_group )
boards.c:                board->read_group    = str_dup( "" );
boards.c:              if ( !board->post_group )
boards.c:                board->post_group    = str_dup( "" );
boards.c:              if ( !board->extra_readers )
boards.c:                board->extra_readers = str_dup( "" );
boards.c:              if ( !board->extra_removers )
boards.c:                board->extra_removers = str_dup( "" );
boards.c:	    KEY( "Filename",	board->note_file,	fread_string_nohash( fp ) );
boards.c:	    KEY( "Min_read_level",	board->min_read_level,	fread_number( fp ) );
boards.c:	    KEY( "Min_post_level",	board->min_post_level,	fread_number( fp ) );
boards.c:	    KEY( "Min_remove_level",	board->min_remove_level,fread_number( fp ) );
boards.c:	    KEY( "Max_posts",		board->max_posts,	fread_number( fp ) );
boards.c:	    KEY( "Post_group",	board->post_group,	fread_string_nohash( fp ) );
boards.c:	    KEY( "Read_group",	board->read_group,	fread_string_nohash( fp ) );
boards.c:	    KEY( "Type",	board->type,		fread_number( fp ) );
boards.c:	    KEY( "Vnum",	board->board_obj,	fread_number( fp ) );
boards.c:	pnote->sender	= fread_string( fp );
boards.c:	pnote->date	= fread_string( fp );
boards.c:	pnote->to_list	= fread_string( fp );
boards.c:	pnote->subject	= fread_string( fp );
boards.c:          pnote->voting = fread_number( fp );
boards.c:	  pnote->yesvotes	= fread_string_nohash( fp );
boards.c:	  pnote->novotes	= fread_string_nohash( fp );
boards.c:	  pnote->abstentions	= fread_string_nohash( fp );
boards.c:	pnote->text	= fread_string( fp );
boards.c:        if ( !pnote->yesvotes )    pnote->yesvotes	= str_dup( "" );
boards.c:        if ( !pnote->novotes )     pnote->novotes	= str_dup( "" );
boards.c:        if ( !pnote->abstentions ) pnote->abstentions	= str_dup( "" );
boards.c:	pnote->next		= NULL;
boards.c:	pnote->prev		= NULL;
boards.c:	sprintf( notefile, "%s%s", BOARD_DIR, board->note_file );
boards.c:		LINK( pnote, board->first_note, board->last_note, next, prev );
boards.c:		board->num_posts++;
boards.c:    board->note_file	   = str_dup( strlower( argument ) );
boards.c:    board->read_group      = str_dup( "" );
boards.c:    board->post_group      = str_dup( "" );
boards.c:    board->extra_readers   = str_dup( "" );
boards.c:    board->extra_removers  = str_dup( "" );
boards.c:    for ( board = first_board; board; board = board->next )
boards.c:	if ( !str_cmp( arg1, board->note_file ) )
boards.c:	board->board_obj = value;
boards.c:	board->min_read_level = value;
boards.c:	DISPOSE( board->read_group );
boards.c:	  board->read_group = str_dup( "" );
boards.c:	  board->read_group = str_dup( argument );
boards.c:	DISPOSE( board->post_group );
boards.c:	  board->post_group = str_dup( "" );
boards.c:	  board->post_group = str_dup( argument );
boards.c:            sprintf( buf, "%s %s", board->extra_removers, argument );
boards.c:        DISPOSE( board->extra_removers );
boards.c:        board->extra_removers = str_dup( buf ); 
boards.c:	    sprintf( buf, "%s %s", board->extra_readers, argument );        
boards.c:	DISPOSE( board->extra_readers );
boards.c:	board->extra_readers = str_dup( buf );
boards.c:	DISPOSE( board->note_file );
boards.c:	board->note_file = str_dup( argument );
boards.c:	board->min_post_level = value;
boards.c:	board->min_remove_level = value;
boards.c:	board->max_posts = value;
boards.c:	board->type = value;
boards.c:    for ( board = first_board; board; board = board->next )
boards.c:      if ( !str_cmp( arg, board->note_file ) )
boards.c:    ch_printf_color( ch, "\n\r&GFilename: &W%-15.15s &GOVnum: &W%-5d  &GRead: &W%-2d  &GPost: &W%-2d  &GRemove: &W%-2d\n\r&GMaxpost:  &W%-3d              &GType: &W%d\n\r&GPosts:    %d\n\r",
boards.c:		board->note_file,	 board->board_obj,
boards.c:		board->min_read_level,	 board->min_post_level,
boards.c:		board->min_remove_level, board->max_posts, 
boards.c:                board->type,		 board->num_posts );
boards.c:		board->read_group, board->post_group, board->extra_readers, board->extra_removers );
boards.c:    for ( board = first_board; board; board = board->next )
boards.c:      pager_printf_color( ch, "&G%-15.15s #: %5d Read: %2d Post: %2d Rmv: %2d Max: %3d Posts: &g%3d &GType: %d\n\r",
boards.c:	board->note_file,	 board->board_obj,
boards.c:	board->min_read_level,	 board->min_post_level,
boards.c:	board->min_remove_level, board->max_posts, board->num_posts, 
boards.c:	board->type);
boards.c:  for ( board = first_board; board; board = board->next ) {
boards.c:	  if ( board->type == BOARD_MAIL && can_read(ch, board) )
boards.c:		  for ( note = board->first_note; note; note = note->next )
boards.c:				  obj = get_obj_index(board->board_obj);
boards.c:					ch_printf(ch, "You have %d mail message%swaiting on %s.\r\n", cnt, (cnt > 1) ? "s " : " ", obj->short_descr);
bounty.c: * -----------------------------------------------------------|   (0...0)   *
bounty.c: * -----------------------------------------------------------|    {o o}    *
bounty.c: * ------------------------------------------------------------------------ *
bounty.c: * ------------------------------------------------------------------------ *
bounty.c: *                           Bounty Add-On                                  *
bounty.c: *                                                  - Garinan               *
bounty.c:    for ( bounty = ch->in_room->first_person; bounty; bounty = bounty->next_in_room )
bounty.c:        if ( IS_NPC( bounty ) && xIS_SET( bounty->act, ACT_BOUNTY ) )
bounty.c: * alter below to suit your needs.                           - Garinan */
bounty.c: * the value of their bounty? They shouldn't :P - Garinan     */
bounty.c:          else if ( ch->bounty > 0 )
bounty.c:             ch_printf( ch, "&YYou have a bounty worth %d gold on your head.\n\r", ch->bounty );
bounty.c:          else if ( ch->bowed > 0 )
bounty.c:             ch_printf( ch, "&YYou are owed %d gold in bounty earnings.\n\r", ch->bowed );
bounty.c:       ch->short_descr );
bounty.c: *                                         - Garinan             */
bounty.c:           else if ( ch->bounty > 0 )
bounty.c:              ch_printf( ch, "&YYou have a bounty worth %d gold on your head.\n\r", ch->bounty );
bounty.c:           else if ( ch->bowed > 0 )
bounty.c:              ch_printf( ch, "&YYou are owed %d gold in bounty earnings.\n\r", ch->bowed );
bounty.c:           if ( victim->bounty > 0 )
bounty.c:              ch->name, victim->name, victim->bounty );
bounty.c:           sprintf( buf, "%s That player has no bounty.", ch->name );
bounty.c:        if ( ch->belig == 0 )
bounty.c:           sprintf( buf, "%s You are already uneligible to have a bounty on your head!", ch->name );
bounty.c:        if ( ch->gold < cost )
bounty.c:           sprintf( buf, "%s I'm sorry, you can't afford this.", ch->name );
bounty.c:        ch->gold    -= cost;
bounty.c:        ch->belig    = 0;
bounty.c:        sprintf( buf, "%s You are no longer eligible to have a bounty on your head.", ch->name );
bounty.c:       if ( ch->bowed <= 0 )
bounty.c:          sprintf( buf, "%s I owe you nothing %s!", ch->name, ch->name );
bounty.c:       ch->gold    += ch->bowed;
bounty.c:       sprintf( buf, "&YYou collect %d gold worth of bounties.\n\r", ch->bowed );
bounty.c:       ch->bowed    = 0;
bounty.c:       sprintf( buf, "%s A pleasure doing business with you.", ch->name );
bounty.c:        amount = ch->gold;
bounty.c:    if ( amount > ch->gold )
bounty.c:       sprintf( buf, "%s Check your pockets and try again, you don't have that much gold!", ch->name );
bounty.c:       sprintf( buf, "%s That amount is too frugal, try again!", ch->name );
bounty.c:        sprintf( buf, "%s How do you expect me to stay in business at those prices!?", ch->name );
bounty.c:    if ( ( amount + victim->bounty ) > bountymax )
bounty.c:        sprintf( buf, "%s That would exceed the maximum allowable bounty of %d gold!", ch->name, bountymax );
bounty.c:    if ( victim->level >= LEVEL_IMMORTAL && ch != victim )
bounty.c:      sprintf( buf, "%s You may not place a bounty on the head of an immortal!", ch->name );
bounty.c:    if ( !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) && victim->belig == 0 && ch != victim )
bounty.c:       sprintf( buf, "%s You may only place a bounty on the head of a pkiller, or an eligible peaceful.", ch->name );
bounty.c:       sprintf( buf, "%s Place a bounty on yourself? Ever considered suicide?", ch->name );
bounty.c:    if ( !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) && ch->belig == 0 )
bounty.c:       sprintf( buf, "%s By doing this you are now eligible to have bounties set on your own head!", ch->name );   
bounty.c:       sprintf( buf, "%s You can become uneligible again by typing bounty buy, at a cost of %d gold", ch->name, cost );
bounty.c:       ch->belig = 1;
bounty.c:    if ( victim->bounty < 0 )
bounty.c:        victim->bounty = 0;
bounty.c:    ch->gold        -= amount;
bounty.c:    if (victim->bounty > 0)
bounty.c:       sprintf( buf, "%s The bounty on %s has been increased by %d gold!", ch->name, victim->name, amount );
bounty.c:       victim->bounty += amount;
bounty.c:    victim->bounty += amount;
bounty.c:    sprintf( buf, "A bounty worth %d gold has been placed on the head of %s!", amount, victim->name );
bounty.c:    if ( victim->bounty > 0 )
bounty.c:    victim->bounty  = 0;
bsnip.c:    tarea = ch->in_room->area;
bsnip.c:    trange = tarea->hi_r_vnum;
bsnip.c:    lrange = tarea->low_r_vnum;
bsnip.c:		if(pexit->to_room->area != tarea)
bsnip.c:			pager_printf(ch, "To: %-20.20s %s\n\r",pexit->to_room->area->filename,pexit->to_room->area->name);
bsnip.c: 			pager_printf( ch,"%15d %-30.30s -> %15d (%s)\n\r", vnum, room->name,pexit->vnum,dir_name[i] );
bsnip.c:    tarea = ch->in_room->area;
bsnip.c:    for ( otherarea=first_area; otherarea; otherarea=otherarea->next)
bsnip.c:    	trange = otherarea->hi_r_vnum;
bsnip.c:    	lrange = otherarea->low_r_vnum;
bsnip.c:			if(pexit->to_room->area == tarea)
bsnip.c:			        pager_printf(ch, "From: %-20.20s %s\n\r",otherarea->filename,otherarea->name);
bsnip.c: 				pager_printf(ch, "%15d %-30.30s -> %15d (%s)\n\r", vnum, room->name,pexit->vnum,dir_name[i] );
buffer.c: The buffer is primarily used for null-terminated character strings.
buffer.c:#define EMEM_SIZE -1 /* find_mem_size returns this when block is too large */
buffer.c:    16, 32, 64, 128, 256, 1024, 2048, 4096, 8192, 16384, 32768-64
buffer.c:#else				 /* debugging - expect filename and line */
buffer.c:    buffer->size = size;
buffer.c:    CREATE( buffer->data, char, size );
buffer.c:    buffer->overflowed = FALSE;
buffer.c:    buffer->len = 0;
buffer.c:#else				 /* debugging - expect filename and line */
buffer.c:    if (buffer->overflowed) /* Do not attempt to add anymore if buffer is already overflowed */
buffer.c:    if ((text_len+buffer->len+1) > buffer->size) /* expand? */
buffer.c:        // new_size = find_mem_size (buffer->size + text_len + 1);
buffer.c:        new_size = buffer->size + text_len + 1 ;
buffer.c:            sprintf (buf, "Buffer overflow, wanted %d bytes (%s:%u).", text_len+buffer->len, file, line);
buffer.c:            sprintf (buf, "Buffer overflow, wanted %d bytes.",text_len+buffer->len);
buffer.c:            buffer->overflowed = TRUE;
buffer.c:        memcpy (new_data, buffer->data, buffer->len);
buffer.c:        DISPOSE(buffer->data);
buffer.c:        buffer->data = new_data;
buffer.c:        buffer->size = new_size;
buffer.c:    memcpy (buffer->data + buffer->len, text, text_len);	/* Start copying */
buffer.c:    buffer->len += text_len;	/* Adjust length */
buffer.c:    buffer->data[buffer->len] = NUL; /* Null-terminate at new end */
buffer.c:    DISPOSE (buffer->data);
buffer.c:    buffer->overflowed = FALSE;
buffer.c:    DISPOSE( buffer->data );
buffer.c:    CREATE( buffer->data, char, 200 );
buffer.c:    buffer->size = 200;
buffer.c:    buffer->len = 0;
buffer.c:    if (res >= MAX_STRING_LENGTH-1)
build.c: * -----------------------------------------------------------|   (0...0)   *
build.c: * -----------------------------------------------------------|    {o o}    *
build.c: * ------------------------------------------------------------------------ *
build.c: * ------------------------------------------------------------------------ *
build.c: * ie: drop -- for an object, it would be triggered when that object is
build.c: * dropped; -- for a room, it would be triggered when anything is dropped
build.c: *          -- for a mob, it would be triggered when anything is dropped
build.c:      buf[--x] = '\0';
build.c:	buf[--x] = '\0';
build.c:	int vnum = room->vnum;
build.c:	if ( !IS_SET( room->room_flags, ROOM_PROTOTYPE) )
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum >= pArea->low_r_vnum
build.c:	&&   vnum <= pArea->hi_r_vnum )
build.c:	int vnum = obj->pIndexData->vnum;
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum >= pArea->low_o_vnum
build.c:	&&   vnum <= pArea->hi_o_vnum )
build.c:	int vnum = obj->vnum;
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum >= pArea->low_o_vnum
build.c:	&&   vnum <= pArea->hi_o_vnum )
build.c:	vnum = mob->pIndexData->vnum;
build.c:	if ( !xIS_SET(mob->act, ACT_PROTOTYPE) )
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum >= pArea->low_m_vnum
build.c:	&&   vnum <= pArea->hi_m_vnum )
build.c:	int vnum = mob->vnum;
build.c:	if ( !xIS_SET(mob->act, ACT_PROTOTYPE) )
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum >= pArea->low_m_vnum
build.c:	&&   vnum <= pArea->hi_m_vnum )
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c: * For use with cedit --Shaddai
build.c:  return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:    return -1;
build.c:        return -1;
build.c:      last = strptr[len-1];
build.c:	    *str = '-';
build.c:      strptr[len-1] = last;
build.c:	if ( !ch->desc )
build.c:	if ( ch->substate == SUB_RESTRICTED )
build.c:	   bug( "NOT GOOD: start_editing: ch->substate == SUB_RESTRICTED", 0 );
build.c:	send_to_char( "-----------------------------------------------------------------------\n\r> ", ch );
build.c:	if ( ch->editor )
build.c:	edit->numlines = 0;
build.c:	edit->on_line  = 0;
build.c:	edit->size     = 0;
build.c:		edit->line[lines][lpos] = '\0';
build.c:		edit->line[lines][lpos] = '\0';
build.c:	     edit->line[lines][lpos++] = c;
build.c:		edit->line[lines][lpos] = '\0';
build.c:	    edit->line[lines][lpos] = '~';
build.c:	    edit->line[lines][lpos+1] = '\0';
build.c:	edit->numlines = lines;
build.c:	edit->size = size;
build.c:	edit->on_line = lines;
build.c:	ch->editor = edit;
build.c:	ch->desc->connected = CON_EDITING;
build.c:   if ( !ch->editor )
build.c:   for ( x = 0; x < ch->editor->numlines; x++ )
build.c:      strcpy( tmp, ch->editor->line[x] );
build.c:      if ( tmp && tmp[len-1] == '~' )
build.c:	tmp[len-1] = '\0';
build.c:    DISPOSE( ch->editor );
build.c:    ch->editor = NULL;
build.c:    ch->dest_buf  = NULL;
build.c:    ch->spare_ptr = NULL;
build.c:    ch->substate  = SUB_NONE;
build.c:    if ( !ch->desc )
build.c:    ch->desc->connected = CON_PLAYING;
build.c:	||   vnum < 1 || IS_NPC(ch) || !ch->pcdata->area )
build.c:	    if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	    if ( vnum < pArea->low_r_vnum
build.c:	    ||   vnum > pArea->hi_r_vnum )
build.c:	location->area = ch->pcdata->area;
build.c:    in_room = ch->in_room;
build.c:    if ( ch->fighting )
build.c:    if (ch->position != POS_STANDING)
build.c:    sprintf(buf2, "%s leaves in a swirling mist.", ch->name);
build.c:    for ( fch = in_room->first_person; fch; fch = fch_next )
build.c:        fch_next = fch->next_in_room;
build.c:            && ((get_trust(fch) >= (IS_NPC(ch) ? ch->level : ch->pcdata->wizinvis))
build.c:                || !xIS_SET(ch->act, PLR_WIZINVIS)) )
build.c:                sprintf(buf, "&Y%s&w\r\n", (ch->pcdata && ch->pcdata->bamfout[0] != '\0') ? ch->pcdata->bamfout : buf2);
build.c:    ch->regoto = ch->in_room->vnum;
build.c:    if ( ch->mount )
build.c:	char_from_room( ch->mount );
build.c:	char_to_room( ch->mount, location );
build.c:    sprintf(buf2, "&Y%s appears in a swirling mist.&w", ch->name);
build.c:    for ( fch = ch->in_room->first_person; fch; fch = fch_next )
build.c:        fch_next = fch->next_in_room;
build.c:        if (fch != ch && ((get_trust(fch) >= (IS_NPC(ch) ? ch->level : ch->pcdata->wizinvis)) || !xIS_SET(ch->act, PLR_WIZINVIS)) ) {
build.c:            sprintf(buf, "&Y%s&w\r\n", (ch->pcdata && ch->pcdata->bamfin[0] != '\0') ? ch->pcdata->bamfin : buf2);
build.c:    if ( ch->in_room == in_room )
build.c:    for ( fch = in_room->first_person; fch; fch = fch_next )
build.c:	fch_next = fch->next_in_room;
build.c:	if ( fch->master == ch && IS_IMMORTAL(fch) )
build.c:        else if ( IS_NPC(fch) && fch->master == ch )
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_mset: sub_mob_desc: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	  victim = ch->dest_buf;
build.c:	  STRFREE( victim->description );
build.c:	  victim->description = copy_buffer( ch );
build.c:	  if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:		STRFREE( victim->pIndexData->description );
build.c:		victim->pIndexData->description = QUICKLINK( victim->description );
build.c:	  ch->substate = ch->tempnum;
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	victim = ch->dest_buf;
build.c:		do_mstat( ch, victim->name );
build.c:	    ch->substate = SUB_NONE;
build.c:	    ch->dest_buf = NULL;
build.c:	    if ( ch->pcdata && ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:		ch->pcdata->subprompt = NULL;
build.c:	strcpy( arg1, victim->name );
build.c:    if ( arg1[0] == '\0' || (arg2[0] == '\0' && ch->substate != SUB_REPEATCMD)
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->dest_buf = NULL;
build.c:      ch->dest_buf = victim;
build.c:		victim->name );
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	ch->dest_buf = victim;
build.c:	if ( ch->pcdata )
build.c:	   if ( ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:		sprintf( buf, "<&CMset &W#%d&w> %%i", victim->pIndexData->vnum );
build.c:		sprintf( buf, "<&CMset &W%s&w> %%i", victim->name );
build.c:	   ch->pcdata->subprompt = STRALLOC( buf );
build.c:    value = is_number( arg3 ) ? atoi( arg3 ) : -1;
build.c:    if ( atoi(arg3) < -1 && value == -1 )
build.c:	victim->perm_str = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_str = value;
build.c:	victim->perm_int = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_int = value;
build.c:	victim->perm_wis = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_wis = value;
build.c:	victim->perm_dex = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_dex = value;
build.c:	victim->perm_con = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_con = value;
build.c:	victim->perm_cha = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_cha = value;
build.c:	victim->perm_lck = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->perm_lck = value;
build.c:	victim->height = URANGE( 10, value, 100 );
build.c:        victim->weight = URANGE( 10, value, 500 );
build.c:	if ( value < -30 || value > 30 )
build.c:	    send_to_char( "Saving throw range is -30 to 30.\n\r", ch );
build.c:	victim->saving_poison_death = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->saving_poison_death = value;
build.c:	if ( value < -30 || value > 30 )
build.c:	    send_to_char( "Saving throw range is -30 to 30.\n\r", ch );
build.c:	victim->saving_wand = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->saving_wand = value;
build.c:	if ( value < -30 || value > 30 )
build.c:	    send_to_char( "Saving throw range is -30 to 30.\n\r", ch );
build.c:	victim->saving_para_petri = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->saving_para_petri = value;
build.c:	if ( value < -30 || value > 30 )
build.c:	    send_to_char( "Saving throw range is -30 to 30.\n\r", ch );
build.c:	victim->saving_breath = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->saving_breath = value;
build.c:	if ( value < -30 || value > 30 )
build.c:	    send_to_char( "Saving throw range is -30 to 30.\n\r", ch );
build.c:	victim->saving_spell_staff = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->saving_spell_staff = value;
build.c:	victim->sex = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->sex = value;
build.c:		ch_printf( ch, "NPC Class range is 0 to %d.\n", MAX_NPC_CLASS-1 );
build.c:	  victim->class = value;
build.c:	  if ( xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	     victim->pIndexData->class = value;
build.c:	victim->class = value;
build.c:                ch_printf( ch, "NPC Class range is 0 to %d.\n", MAX_NPC_CLASS-1 );
build.c:          victim->class = value;   
build.c:          if ( xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:             victim->pIndexData->class = value;
build.c:        victim->class2 = value;  
build.c:	    ch_printf( ch, "Race range is 0 to %d.\n", MAX_RACE-1 );
build.c:	    ch_printf( ch, "Race range is 0 to %d.\n", MAX_NPC_RACE-1 );
build.c:	victim->race = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->race = value;
build.c:	if ( value < -300 || value > 300 )
build.c:	    send_to_char( "AC range is -300 to 300.\n\r", ch );
build.c:	victim->armor = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->ac = value;
build.c:        ch->pcdata->balance = value;
build.c:	victim->level = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->level = value;
build.c:	if ( value < -1 || value > LEVEL_AVATAR + 5 )
build.c:            ch_printf( ch, "Level2 range is -1 to %d.\n\r", LEVEL_AVATAR + 5 );
build.c:	victim->level2 = value;
build.c:	victim->numattacks = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->numattacks = value;
build.c:	victim->gold = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->gold = value;
build.c:	victim->hitroll = URANGE(0, value, 85);
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->hitroll = victim->hitroll;
build.c:	victim->damroll = URANGE(0, value, 65);
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->damroll = victim->damroll;
build.c:	victim->max_hit = value;
build.c:	victim->max_mana = value;
build.c:	victim->max_move = value;
build.c:	victim->practice = value;
build.c:	if ( value < -1000 || value > 1000 )
build.c:	    send_to_char( "Alignment range is -1000 to 1000.\n\r", ch );
build.c:	victim->alignment = value;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->alignment = value;
build.c:      pwdnew = crypt( arg3, ch->name );
build.c:      DISPOSE( victim->pcdata->pwd );
build.c:      victim->pcdata->pwd = str_dup( pwdnew );
build.c:      ch_printf( victim, "Your password has been changed by %s.\n\r", ch->name );
build.c:      DISPOSE( victim->pcdata->rank );
build.c:        victim->pcdata->rank = str_dup( "" );
build.c:        victim->pcdata->rank = str_dup( argument );
build.c:	victim->pcdata->quest_number = value;
build.c:	victim->pcdata->quest_accum = value;
build.c:	victim->pcdata->quest_curr = value;
build.c:	if ( value < -2500 || value > 2500 )
build.c:	   send_to_char( "Range is from -2500 to 2500.\n\r", ch );
build.c:	victim->pcdata->favor = value;
build.c:	if ( value < -100 || value > 100 )
build.c:	    send_to_char( "Value must be in range -100 to +100.\n\r", ch );
build.c:	victim->mental_state = value;
build.c:	if ( value < -100 || value > 100 )
build.c:	    send_to_char( "Value must be in range -100 to +100.\n\r", ch );
build.c:	victim->emotional_state = value;
build.c:	if ( value < -1 || value > 100 )
build.c:	    send_to_char( "Thirst range is -1 to 100.\n\r", ch );
build.c:	victim->pcdata->condition[COND_THIRST] = value;
build.c:	victim->pcdata->condition[COND_DRUNK] = value;
build.c:	if ( value < -1 || value > 100 )
build.c:	    send_to_char( "Full range is -1 to 100.\n\r", ch );
build.c:	victim->pcdata->condition[COND_FULL] = value;
build.c:	if ( value < -1 || value > MAX_LEVEL+10 )
build.c:	    ch_printf( ch, "Blood range is -1 to %d.\n\r", MAX_LEVEL+10 );
build.c:	victim->pcdata->condition[COND_BLOODTHIRST] = value;
build.c:	STRFREE( victim->name );
build.c:	victim->name = STRALLOC( arg3 );
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	   STRFREE( victim->pIndexData->player_name );
build.c:	   victim->pIndexData->player_name = QUICKLINK( victim->name );
build.c:	if ( victim->pcdata )
build.c:	    victim->pcdata->min_snoop = value;
build.c:	     * But it was early in the morning :P --Shaddai 
build.c:	    if ( victim->pcdata->clan == NULL )
build.c:	     * any membership space. --Shaddai
build.c:  	        --victim->pcdata->clan->num_members;
build.c:	        save_clan( victim->pcdata->clan );
build.c:	    STRFREE( victim->pcdata->clan_name );
build.c:	    victim->pcdata->clan_name	= STRALLOC( "" );
build.c:	    victim->pcdata->clan	= NULL;
build.c:	if ( victim->pcdata->clan != NULL && !IS_IMMORTAL( victim ) )
build.c:		--victim->pcdata->clan->num_members;
build.c:	        save_clan( victim->pcdata->clan );
build.c:	STRFREE( victim->pcdata->clan_name );
build.c:	victim->pcdata->clan_name = QUICKLINK( clan->name );
build.c:	victim->pcdata->clan = clan;
build.c:	   ++victim->pcdata->clan->num_members;
build.c:	   save_clan( victim->pcdata->clan );
build.c:            STRFREE( victim->pcdata->deity_name );
build.c:            victim->pcdata->deity_name        = STRALLOC( "" );
build.c:            victim->pcdata->deity             = NULL;
build.c:        STRFREE( victim->pcdata->deity_name );
build.c:        victim->pcdata->deity_name = QUICKLINK( deity->name );
build.c:        victim->pcdata->deity = deity;
build.c:	    STRFREE( victim->pcdata->council_name );
build.c:	    victim->pcdata->council_name	= STRALLOC( "" );
build.c:	    victim->pcdata->council		= NULL;
build.c:	STRFREE( victim->pcdata->council_name );
build.c:	victim->pcdata->council_name = QUICKLINK( council->name );
build.c:	victim->pcdata->council = council;
build.c:            STRFREE( victim->pcdata->council2_name );
build.c:            victim->pcdata->council2_name        = STRALLOC( "" );
build.c:            victim->pcdata->council2             = NULL;  
build.c:        STRFREE( victim->pcdata->council2_name );
build.c:        victim->pcdata->council2_name = QUICKLINK( council->name );
build.c:        victim->pcdata->council2 = council;
build.c:	STRFREE( victim->short_descr );
build.c:	victim->short_descr = STRALLOC( arg3 );
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	   STRFREE( victim->pIndexData->short_descr );
build.c:	   victim->pIndexData->short_descr = QUICKLINK( victim->short_descr );
build.c:	STRFREE( victim->long_descr );
build.c:	victim->long_descr = STRALLOC( buf );
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	   STRFREE( victim->pIndexData->long_descr );
build.c:	   victim->pIndexData->long_descr = QUICKLINK( victim->long_descr );
build.c:	   STRFREE( victim->description );
build.c:	   victim->description = STRALLOC( arg3 );
build.c:	   if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	      STRFREE(victim->pIndexData->description );
build.c:	      victim->pIndexData->description = QUICKLINK( victim->description );
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	  ch->tempnum = SUB_REPEATCMD;
build.c:	  ch->tempnum = SUB_NONE;
build.c:	ch->substate = SUB_MOB_DESC;
build.c:	ch->dest_buf = victim;
build.c:	start_editing( ch, victim->description );
build.c:          victim->spec_fun = NULL;
build.c:	  if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->spec_fun = victim->spec_fun;
build.c:	if ( ( victim->spec_fun = spec_lookup( arg3 ) ) == 0 )
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->spec_fun = victim->spec_fun;
build.c:             &&  !is_name("protoflag", ch->pcdata->bestowments) )
build.c:		    TOGGLE_BIT( victim->pcdata->flags, 1 << value );
build.c:		    xTOGGLE_BIT( victim->act, value );
build.c:			victim->pIndexData->act = victim->act;
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->act = victim->act; 
build.c:		xTOGGLE_BIT( victim->affected_by, value );
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->affected_by = victim->affected_by; 
build.c:     * save some more finger-leather for setting RIS stuff
build.c:		TOGGLE_BIT( victim->resistant, 1 << value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	   victim->pIndexData->resistant = victim->resistant; 
build.c:		TOGGLE_BIT( victim->immune, 1 << value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->immune = victim->immune; 
build.c:		TOGGLE_BIT( victim->susceptible, 1 << value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->susceptible = victim->susceptible; 
build.c:		TOGGLE_BIT( victim->xflags, 1 << value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->xflags = victim->xflags; 
build.c:		xTOGGLE_BIT( victim->attacks, value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->attacks = victim->attacks; 
build.c:		xTOGGLE_BIT( victim->defenses,  value );
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->defenses = victim->defenses; 
build.c:	victim->position = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->position = victim->position; 
build.c:	victim->defposition = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->defposition = victim->defposition; 
build.c:     * save some finger-leather
build.c:     * save some more finger-leather
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->hitnodice = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->hitsizedice = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->hitplus = value;
build.c:        if( ch->pcdata->wedto )
build.c:            STRFREE( ch->pcdata->wedto );
build.c:            ch->pcdata->wedto = STRALLOC( arg3 );
build.c:            ch->pcdata->wedto = NULL;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->damnodice = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->damsizedice = value;
build.c:	if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	  victim->pIndexData->damplus = value;
build.c:	if ( !IS_SET(victim->pcdata->area->status, AREA_LOADED ) )
build.c:	    SET_BIT( victim->pcdata->area->status, AREA_LOADED );
build.c:	    REMOVE_BIT( victim->pcdata->area->status, AREA_LOADED );
build.c:	    send_to_char( "Your area set to NOT-LOADED!\n\r", victim );
build.c:              send_to_char( "Area set to NON-LOADED!\n\r", ch );
build.c:/*	if ( IS_SET(victim->pcdata->flags, PCFLAG_DEADLY) )
build.c:	    REMOVE_BIT(victim->pcdata->flags, PCFLAG_DEADLY );
build.c:	    xSET_BIT(victim->act, PLR_NICE);
build.c:	    send_to_char( "You are now a NON-PKILL player.\n\r", victim );
build.c:	      send_to_char( "That player is now non-pkill.\n\r", ch );
build.c:	    SET_BIT(victim->pcdata->flags, PCFLAG_DEADLY);
build.c:	    xREMOVE_BIT(victim->act, PLR_NICE);
build.c:        }  -- Scion */
build.c:	if ( victim->pcdata->clan && !IS_IMMORTAL(victim))
build.c:		if ( victim->pcdata->clan->clan_type == CLAN_GUILD)
build.c:                    if (skill_table[sn]->guild == victim->pcdata->clan->class
build.c:                        && skill_table[sn]->name != NULL)
build.c:                        victim->pcdata->learned[sn] = 0;
build.c:  		if (victim->speaking & LANG_CLAN)
build.c:    		   victim->speaking = LANG_COMMON;
build.c:  		REMOVE_BIT (victim->speaks, LANG_CLAN);
build.c:  		--victim->pcdata->clan->num_members;
build.c:		if (!str_cmp (victim->name, victim->pcdata->clan->leader) )
build.c:		   STRFREE (victim->pcdata->clan->leader);
build.c:		   victim->pcdata->clan->leader = STRALLOC ("");
build.c:  		if (!str_cmp (victim->name, victim->pcdata->clan->number1))
build.c:      		   STRFREE (victim->pcdata->clan->number1);
build.c:      		   victim->pcdata->clan->number1 = STRALLOC ("");
build.c:  		if (!str_cmp (victim->name, victim->pcdata->clan->number2))
build.c:      		   STRFREE (victim->pcdata->clan->number2);
build.c:      		   victim->pcdata->clan->number2 = STRALLOC ("");
build.c:		save_clan( victim->pcdata->clan );
build.c:  		STRFREE (victim->pcdata->clan_name);
build.c:	    	victim->pcdata->clan_name	= STRALLOC( "" );
build.c:	   	victim->pcdata->clan	= NULL;
build.c:	    if ( v2 == -1 )
build.c:	         TOGGLE_BIT( victim->speaks, 1 << v2 );
build.c:	    REMOVE_BIT( victim->speaks, race_table[victim->race]->language );
build.c:	    if ( !knows_language( victim, victim->speaking, victim ) )
build.c:		victim->speaking = race_table[victim->race]->language;
build.c:	    if ( xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:		victim->pIndexData->speaks = victim->speaks;
build.c:               if ( v2 == -1 )
build.c:                    TOGGLE_BIT( victim->speaking, 1 << v2 );
build.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:	    victim->pIndexData->speaking = victim->speaking;
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->substate = SUB_RESTRICTED;
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	ch->last_cmd = do_mset;
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_oset: sub_obj_extra: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	   * the object and index-object lists, searching through the
build.c:	  ed  = ch->dest_buf;
build.c:	  STRFREE( ed->description );
build.c:	  ed->description = copy_buffer( ch );
build.c:	  tmpobj = ch->spare_ptr;
build.c:	  ch->dest_buf = tmpobj;
build.c:	  ch->substate = ch->tempnum;
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_oset: sub_obj_long: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	  obj = ch->dest_buf;
build.c:	  STRFREE( obj->description );
build.c:	  obj->description = copy_buffer( ch );
build.c:		  STRFREE( obj->pIndexData->description );
build.c:		  obj->pIndexData->description = QUICKLINK( obj->description );
build.c:	  tmpobj = ch->spare_ptr;
build.c:	  ch->substate = ch->tempnum;
build.c:	  ch->dest_buf = tmpobj;
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	obj = ch->dest_buf;
build.c:		do_ostat( ch, obj->name );
build.c:	    ch->substate = SUB_NONE;
build.c:	    ch->dest_buf = NULL;
build.c:	    if ( ch->pcdata && ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:		ch->pcdata->subprompt = NULL;
build.c:	strcpy( arg1, obj->name );
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->dest_buf = obj;
build.c:	ch->dest_buf = NULL;
build.c:		obj->name, obj->pIndexData->vnum );
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	ch->dest_buf = obj;
build.c:	if ( ch->pcdata )
build.c:	   if ( ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:	   sprintf( buf, "<&COset &W#%d&w> %%i", obj->pIndexData->vnum );
build.c:	   ch->pcdata->subprompt = STRALLOC( buf );
build.c:	STRFREE( obj->name );
build.c:	obj->name = STRALLOC( arg3 );
build.c:	   STRFREE(obj->pIndexData->name );
build.c:	   obj->pIndexData->name = QUICKLINK( obj->name );
build.c:	   STRFREE( obj->short_descr );
build.c:	   obj->short_descr = STRALLOC( arg3 );
build.c:	   STRFREE(obj->pIndexData->short_descr );
build.c:	   obj->pIndexData->short_descr = QUICKLINK( obj->short_descr );
build.c:	  STRFREE( obj->short_descr );
build.c:	  obj->short_descr = STRALLOC( arg3 );
build.c:          if ( str_infix( "rename", obj->name ) )
build.c:            sprintf( buf, "%s %s", obj->name, "rename" );
build.c:	    STRFREE( obj->name );
build.c:	    obj->name = STRALLOC( buf );
build.c:	      STRFREE( obj->description );
build.c:	      obj->description = STRALLOC( arg3 );
build.c:	      STRFREE(obj->pIndexData->description );
build.c:	      obj->pIndexData->description = QUICKLINK( obj->description );
build.c:	   STRFREE( obj->description );
build.c:	   obj->description = STRALLOC( arg3 );
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	  ch->tempnum = SUB_REPEATCMD;
build.c:	  ch->tempnum = SUB_NONE;
build.c:	  ch->spare_ptr = obj;
build.c:	  ch->spare_ptr = NULL;
build.c:	ch->substate = SUB_OBJ_LONG;
build.c:	ch->dest_buf = obj;
build.c:	start_editing( ch, obj->description );
build.c:	obj->value[0] = value;
build.c:	  obj->pIndexData->value[0] = value;
build.c:	obj->value[1] = value;
build.c:	  obj->pIndexData->value[1] = value;
build.c:        if(obj->item_type == ITEM_FURNITURE)
build.c:		TOGGLE_BIT(obj->value[2],1 << value);
build.c:			TOGGLE_BIT(obj->pIndexData->value[2],1 << value);
build.c:			obj->value[2]=obj->pIndexData->value[2];
build.c:	obj->value[2] = value;
build.c:	  obj->pIndexData->value[2] = value;
build.c:	  if ( obj->item_type == ITEM_WEAPON && value != 0 )
build.c:	    obj->value[2] = obj->pIndexData->value[1] * obj->pIndexData->value[2];
build.c:	obj->value[3] = value;
build.c:	  obj->pIndexData->value[3] = value;
build.c:	obj->value[4] = value;
build.c:	  obj->pIndexData->value[4] = value;
build.c:	obj->value[5] = value;
build.c:	  obj->pIndexData->value[5] = value;
build.c:	obj->item_type = (sh_int) value;
build.c:	  obj->pIndexData->item_type = obj->item_type; 
build.c:             &&   !is_name ("protoflag", ch->pcdata->bestowments) )
build.c:	       xTOGGLE_BIT(obj->extra_flags, value);
build.c:	         obj->pIndexData->extra_flags = obj->extra_flags;
build.c:	  obj->pIndexData->extra_flags = obj->extra_flags; 
build.c:	     TOGGLE_BIT( obj->wear_flags, 1 << value );
build.c:	  obj->pIndexData->wear_flags = obj->wear_flags;
build.c:	obj->level = value;
build.c:	obj->weight = value;
build.c:	  obj->pIndexData->weight = value;
build.c:	obj->cost = value;
build.c:	  obj->pIndexData->cost = value;
build.c:	  obj->pIndexData->rent = value;
build.c:	  obj->pIndexData->layers = value;
build.c:	obj->timer = value;
build.c:	STRFREE( obj->action_desc );
build.c:	obj->action_desc = STRALLOC( arg3 );
build.c:	   STRFREE(obj->pIndexData->action_desc );
build.c:	   obj->pIndexData->action_desc = QUICKLINK( obj->action_desc );
build.c:		value = bsearch_skill_exact(arg3, gsn_first_spell, gsn_first_skill - 1);
build.c:		if (value == -1)
build.c:	paf->type = -1;
build.c:	paf->duration = -1;
build.c:	paf->location = loc;
build.c:	paf->modifier = value;
build.c:	xCLEAR_BITS(paf->bitvector);
build.c:	paf->next = NULL;
build.c:	    LINK(paf, obj->pIndexData->first_affect,
build.c:		obj->pIndexData->last_affect, next, prev);
build.c:	    LINK(paf, obj->first_affect, obj->last_affect, next, prev);
build.c:	    pObjIndex = obj->pIndexData;
build.c:	    for ( paf = pObjIndex->first_affect; paf; paf = paf->next )
build.c:		    UNLINK( paf, pObjIndex->first_affect, pObjIndex->last_affect, next, prev );
build.c:		    --top_affect;
build.c:	    for ( paf = obj->first_affect; paf; paf = paf->next )
build.c:		    UNLINK( paf, obj->first_affect, obj->last_affect, next, prev );
build.c:		    --top_affect;
build.c:	if ( obj->timer )
build.c:	if ( obj->item_type == ITEM_PAPER )
build.c:	  ed = SetOExtraProto( obj->pIndexData, arg3 );
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	  ch->tempnum = SUB_REPEATCMD;
build.c:	  ch->tempnum = SUB_NONE;
build.c:	  ch->spare_ptr = obj;
build.c:	  ch->spare_ptr = NULL;
build.c:	ch->substate = SUB_OBJ_EXTRA;
build.c:	ch->dest_buf = ed;
build.c:	start_editing( ch, ed->description );
build.c:	    if ( DelOExtraProto( obj->pIndexData, arg3 ) )
build.c:     * save some finger-leather
build.c:     * 						-Thoric
build.c:    tmp = -1;
build.c:    switch( obj->item_type )
build.c:		value = -1;
build.c:	obj->value[tmp] = value;
build.c:	  obj->pIndexData->value[tmp] = value;
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->substate = SUB_RESTRICTED;
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	ch->last_cmd = do_oset;
build.c:	if ( IS_SET( location->room_flags, ROOM_PROTOTYPE ) )
build.c:	location->room_flags	= value;
build.c:	  SET_BIT( location->room_flags, ROOM_PROTOTYPE );
build.c:	location->sector_type	= value;
build.c: * Returns value 0 - 9 based on directional text.
build.c:    int rvnum = -1;
build.c:    if ( ch->in_room )
build.c:      rvnum = ch->in_room->vnum;
build.c:    switch( pReset->command )
build.c:	  			pReset->command,
build.c:	  			pReset->extra,
build.c:	  			pReset->arg1,
build.c:	  			pReset->arg2,
build.c:	  			pReset->arg3 );
build.c:	  mob = get_mob_index( pReset->arg1 );
build.c:	  room = get_room_index( pReset->arg3 );
build.c:	    strcpy( mobname, mob->player_name );
build.c:	    strcpy( roomname, room->name );
build.c:	  sprintf( buf, "%2d) %s (%d) -> %s (%d) [%d]\n\r",
build.c:	  			pReset->arg1,
build.c:	  			pReset->arg3,
build.c:	  			pReset->arg2 );
build.c:	  if ( (obj = get_obj_index( pReset->arg1 )) == NULL )
build.c:	      strcpy( objname, obj->name );
build.c:	  sprintf( buf, "%2d) %s (%d) -> %s (%s) [%d]\n\r",
build.c:	  			pReset->arg1,
build.c:	  			wear_locs[pReset->arg3],
build.c:	  			pReset->arg2 );
build.c:	  if ( pReset->arg1 > 0
build.c:	  &&  (obj = get_obj_index( pReset->arg1 )) == NULL )
build.c:	  			obj ? obj->vnum : pReset->arg1 );
build.c:	  if ( (obj = get_obj_index( pReset->arg1 )) == NULL )
build.c:	      strcpy( objname, obj->name );
build.c:	  sprintf( buf, "%2d) %s (%d) -> %s (carry) [%d]\n\r",
build.c:	  			pReset->arg1,
build.c:	  			pReset->arg2 );
build.c:	  if ( (obj = get_obj_index( pReset->arg1 )) == NULL )
build.c:	      strcpy( objname, obj->name );
build.c:	  room = get_room_index( pReset->arg3 );
build.c:	      strcpy( roomname, room->name );
build.c:	  sprintf( buf, "%2d) (object) %s (%d) -> %s (%d) [%d]\n\r",
build.c:	  			pReset->arg1,
build.c:	  			pReset->arg3,
build.c:	  			pReset->arg2 );
build.c:	  if ( (obj2 = get_obj_index( pReset->arg1 )) == NULL )
build.c:	      strcpy( objname, obj2->name );
build.c:	  if ( pReset->arg3 > 0
build.c:	  &&  (obj = get_obj_index( pReset->arg3 )) == NULL )
build.c:	      strcpy( roomname, obj->name );
build.c:	  sprintf( buf, "%2d) (Put) %s (%d) -> %s (%d) [%d]\n\r",
build.c:	  			pReset->arg1,
build.c:	  			obj ? obj->vnum : pReset->arg3,
build.c:	  			pReset->arg2 );
build.c:	  if ( pReset->arg2 < 0 || pReset->arg2 > MAX_DIR+1 )
build.c:		pReset->arg2 = 0;
build.c:	  if ( (room = get_room_index( pReset->arg1 )) == NULL )
build.c:				dir_name[pReset->arg2] );
build.c:		strcpy( roomname, room->name );
build.c:				dir_name[pReset->arg2],
build.c:		get_exit(room,pReset->arg2) ? "" : " (NO EXIT!)" );
build.c:	  switch( pReset->arg3 )
build.c:	  			pReset->arg3,
build.c:	  			pReset->arg2,
build.c:	  			pReset->arg1 );
build.c:	  if ( (room = get_room_index( pReset->arg1 )) == NULL )
build.c:		strcpy( roomname, room->name );
build.c:	  sprintf( buf, "%2d) Randomize exits 0 to %d -> %s (%d)\n\r",
build.c:	  			pReset->arg2,
build.c:	  			pReset->arg1 );
build.c:			pReset->extra,
build.c:			pReset->arg1,
build.c:			pReset->arg2,
build.c:			pReset->arg3,
build.c:			flag_string(pReset->extra, trap_flags) );
build.c:    if ( rlist && (!room || (room && room->vnum != rvnum)) )
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  location = ch->dest_buf;
build.c:              bug( "redit: sub_room_desc: NULL ch->dest_buf", 0 );
build.c:              location = ch->in_room;
build.c:          //STRFREE( location->description );
build.c:          DISPOSE( location->description );
build.c:          location->description = copy_buffer_nohash( ch );
build.c:	  	DISPOSE( location->compress );
build.c:		STRFREE( location->description );
build.c:		location->description = copy_buffer_nohash(ch);
build.c:	  ch->substate = ch->tempnum;
build.c:	  ed = ch->dest_buf;
build.c:		bug( "redit: sub_room_extra: NULL ch->dest_buf", 0 );
build.c:	  STRFREE( ed->description );
build.c:	  ed->description = copy_buffer( ch );
build.c:	  ch->substate = ch->tempnum;
build.c:    location = ch->in_room;
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	    if ( ch->pcdata && ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:		ch->pcdata->subprompt = NULL;
build.c:	    ch->substate = SUB_NONE;
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	if ( ch->pcdata )
build.c:	   if ( ch->pcdata->subprompt )
build.c:		STRFREE( ch->pcdata->subprompt );
build.c:	   ch->pcdata->subprompt = STRALLOC( "<&CRedit &W#%r&w> %i" );
build.c:               ch->inter_substate = SUB_NORTH; 
build.c:               ch->inter_substate = SUB_EAST; 
build.c:               ch->inter_substate = SUB_SOUTH; 
build.c:               ch->inter_substate = SUB_WEST; 
build.c:               ch->inter_substate = SUB_UP; 
build.c:               ch->inter_substate = SUB_DOWN; 
build.c:	STRFREE( location->name );
build.c:	location->name = STRALLOC( argument );
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	    ch->tempnum = SUB_REPEATCMD;
build.c:	    ch->tempnum = SUB_NONE;
build.c:	ch->substate = SUB_ROOM_DESC;
build.c:	ch->dest_buf = location;
build.c:        if ( !location->compress )
build.c:            start_editing( ch, location->description );
build.c:            start_editing( ch, location->description );
build.c:        start_editing( ch, location->description );
build.c:	location->tunnel = URANGE( 0, atoi(argument), 1000 );
build.c:		value = bsearch_skill_exact(arg3, gsn_first_spell, gsn_first_skill - 1);
build.c:		if (value == -1)
build.c:	paf->type = -1;
build.c:	paf->duration = -1;
build.c:	paf->location = loc;
build.c:	paf->modifier = value;
build.c:	xCLEAR_BITS(paf->bitvector);
build.c:	paf->next = NULL;
build.c:	LINK(paf, location->first_affect, location->last_affect, next, prev);
build.c:	for ( paf = location->first_affect; paf; paf = paf->next )
build.c:		UNLINK(paf, location->first_affect, location->last_affect, next, prev);
build.c:		--top_affect;
build.c:	if ( ch->substate == SUB_REPEATCMD )
build.c:	    ch->tempnum = SUB_REPEATCMD;
build.c:	    ch->tempnum = SUB_NONE;
build.c:	ch->substate = SUB_ROOM_EXTRA;
build.c:	ch->dest_buf = ed;
build.c:	start_editing( ch, ed->description );
build.c:	tarea = location->area;
build.c:	if ( !tarea->first_reset )
build.c:	for ( pReset = tarea->first_reset; pReset; pReset = pReset->next )
build.c:		    TOGGLE_BIT( location->room_flags, 1 << value );
build.c:	location->tele_delay = atoi( argument );
build.c:	location->tele_vnum = atoi( argument );
build.c:	location->sector_type = atoi( argument );
build.c:	if ( location->sector_type < 0 || location->sector_type >= SECT_MAX )
build.c:	    location->sector_type = 1;
build.c:	xit->key = value;
build.c:	STRFREE( xit->keyword );
build.c:	xit->keyword = STRALLOC( argument );
build.c:		xit->vdir, xit->keyword, xit->key );
build.c:		if ( IS_SET( xit->exit_info, 1 << value ) )
build.c:		TOGGLE_BIT( xit->exit_info, 1 << value );
build.c:        switch(ch->inter_substate)
build.c:	TOGGLE_BIT( xit->exit_info, 1 << value );
build.c:        switch(ch->inter_substate)
build.c:	    send_to_char( "Non-existant room.\n\r", ch );
build.c:	xit->vnum = evnum;
build.c:        switch(ch->inter_substate)
build.c:	xit->key = atoi( arg2 );
build.c:        switch(ch->inter_substate)
build.c:        switch(ch->inter_substate)
build.c:	sprintf( buf, "%s %s", xit->keyword, argument );
build.c:	STRFREE( xit->keyword );
build.c:	xit->keyword = STRALLOC( buf );
build.c:	      edir = xit->vdir;
build.c:	    send_to_char( "Non-existant room.\n\r", ch );
build.c:	    if ( addexit && xit && get_exit_to(location, edir, tmp->vnum) )
build.c:	    xit->keyword		= STRALLOC( "" );
build.c:	    xit->description		= STRALLOC( "" );
build.c:	    xit->key			= -1;
build.c:	    xit->exit_info		= 0;
build.c:	if ( xit->to_room != tmp )
build.c:	    xit->to_room = tmp;
build.c:	    xit->vnum = evnum;
build.c:	    texit = get_exit_to( xit->to_room, rev_dir[edir], location->vnum );
build.c:		texit->rexit = xit;
build.c:		xit->rexit = texit;
build.c:	    xit->exit_info = atoi( arg3 );
build.c:		xit->key = ekey;
build.c:		STRFREE( xit->keyword );
build.c:		xit->keyword = STRALLOC( argument );
build.c:     * Twisted and evil, but works				-Thoric
build.c:	    send_to_char( "Create, change or remove a two-way exit.\n\r", ch );
build.c:		edir = xit->vdir;
build.c:	    vnum = xit->vnum;
build.c:		sprintf( rvnum, "%d", tmploc->vnum );
build.c:	    if ( xit->to_room )
build.c:		rxit = get_exit(xit->to_room, rev_dir[edir]);
build.c:	    vnum = xit->vnum;
build.c:		sprintf( rvnum, "%d", tmploc->vnum );
build.c:	    if ( xit->to_room )
build.c:		rxit = get_exit(xit->to_room, rev_dir[edir]);
build.c:	    if ( (pt=get_pulltype(argument)) == -1 )
build.c:		xit->pulltype = pt;
build.c:	    xit->pull = URANGE(-100, atoi(argument), 100);
build.c:	    xit->pull = URANGE(-100, -(atoi(argument)), 100);
build.c:	   xit->distance = URANGE( 1, atoi(argument), 50 );
build.c:	   STRFREE( xit->description );
build.c:	     xit->description = STRALLOC( "" );
build.c:	     xit->description = STRALLOC( buf );
build.c:    if ( ch->substate == SUB_REPEATCMD )
build.c:	ch->substate = SUB_RESTRICTED;
build.c:	ch->substate = SUB_REPEATCMD;
build.c:	ch->last_cmd = do_redit;
build.c:    vnum = is_number( arg ) ? atoi( arg ) : -1;
build.c:    if ( vnum == -1 || !argument || argument[0] == '\0' )
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum < pArea->low_o_vnum
build.c:	||   vnum > pArea->hi_o_vnum )
build.c:	pObjIndex->short_descr,pObjIndex->vnum, pObjIndex->name );
build.c:    vnum = is_number( arg ) ? atoi( arg ) : -1;
build.c:    if ( vnum == -1 || !argument || argument[0] == '\0' )
build.c:	if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
build.c:	if ( vnum < pArea->low_m_vnum
build.c:	||   vnum > pArea->hi_m_vnum )
build.c:    char_to_room( mob, ch->in_room );
build.c:	pMobIndex->short_descr, pMobIndex->vnum, pMobIndex->player_name );
build.c: * Simple but nice and handy line editor.			-Thoric
build.c:    if ( (d = ch->desc) == NULL )
build.c:    if ( d->connected != CON_EDITING )
build.c:	bug( "Edit_buffer: d->connected != CON_EDITING", 0 );
build.c:    if ( ch->substate <= SUB_PAUSE )
build.c:	bug( "Edit_buffer: illegal ch->substate (%d)", ch->substate );
build.c:	d->connected = CON_PLAYING;
build.c:    if ( !ch->editor )
build.c:	d->connected = CON_PLAYING;
build.c:    edit = ch->editor;
build.c:    if ( ch->substate == SUB_MPROG_EDIT || ch->substate == SUB_HELP_EDIT )
build.c:	    send_to_char( "Editing commands\n\r---------------------------------\n\r", ch );
build.c:	    edit->numlines = 0;
build.c:	    edit->on_line   = 0;
build.c:		/* added format command - shogar */
build.c:	    int x,linecnt  = -1, spacercnt=0;
build.c:	    for ( x = edit->on_line; x < edit->numlines; x++ )
build.c:			lwptr = edit->line[linecnt];
build.c:	        tptr = edit->line[x];
build.c:				lwptr = edit->line[linecnt];
build.c:				lwptr = edit->line[linecnt];
build.c:		strcpy(cline,edit->line[x]);
build.c:           	     	if((strlen(edit->line[linecnt]) + strlen(cword) + 1) > 79)
build.c:	        		if ( edit->numlines >= max_buf_lines )
build.c:					strcpy(edit->line[edit->numlines],"");
build.c:					edit->numlines++;
build.c:					lwptr = edit->line[linecnt];
build.c:	    if(linecnt != -1)
build.c:	    	for ( x = linecnt + 1; x < edit->numlines; x++ )
build.c:			strcpy(edit->line[x],"");
build.c:	    	edit->numlines = linecnt + 2;
build.c:	    	edit->on_line = linecnt + 1;
build.c:	    for ( x = edit->on_line; x < edit->numlines; x++ )
build.c:		lwptr = edit->line[x];
build.c:		    if (lineln + wptr - edit->line[x] > 79)
build.c:	    if ( edit->numlines >= max_buf_lines )
build.c:		  line = atoi( argument + 2 ) - 1;
build.c:		  line = edit->on_line;
build.c:		  line = edit->on_line;
build.c:		if ( line < 0 || line > edit->numlines )
build.c:		  for ( x = ++edit->numlines; x > line; x-- )
build.c:			strcpy( edit->line[x], edit->line[x-1] );
build.c:		  strcpy( edit->line[line], "" );
build.c:	    if ( edit->numlines == 0 )
build.c:		    line = atoi( argument + 2 ) - 1;
build.c:		    line = edit->on_line;
build.c:		    line = edit->on_line;
build.c:		if ( line < 0 || line > edit->numlines )
build.c:		    if ( line == 0 && edit->numlines == 1 )
build.c:			edit->numlines = 0;
build.c:			edit->on_line   = 0;
build.c:		    for ( x = line; x < (edit->numlines - 1); x++ )
build.c:			strcpy( edit->line[x], edit->line[x+1] );
build.c:		    strcpy( edit->line[edit->numlines--], "" );
build.c:		    if ( edit->on_line > edit->numlines )
build.c:			edit->on_line = edit->numlines;
build.c:	    if ( edit->numlines == 0 )
build.c:		    line = atoi( argument + 2 ) - 1;
build.c:		    line = edit->on_line;
build.c:		if ( line < 0 || line > edit->numlines )
build.c:		    edit->on_line = line;
build.c:	    if ( edit->numlines == 0 )
build.c:		send_to_char( "------------------\n\r", ch );
build.c:		for ( x = 0; x < edit->numlines; x++ )
build.c:		    ch_printf( ch, "%2d> %s\n\r", x+1, edit->line[x] );
build.c:		send_to_char( "------------------\n\r> ", ch );
build.c:	    int substate = ch->substate;
build.c:	    last_cmd = ch->last_cmd;
build.c:	    ch->substate = SUB_RESTRICTED;
build.c:	    ch->substate = substate;
build.c:	    ch->last_cmd = last_cmd;
build.c:	    d->connected = CON_PLAYING;
build.c:	    if ( !ch->last_cmd )
build.c:	    (*ch->last_cmd) ( ch, "" );
build.c:    if ( edit->size + strlen(argument) + 1 >= MAX_STRING_LENGTH - 1 )
build.c:	strcpy( edit->line[edit->on_line++], buf );
build.c:	if ( edit->on_line > edit->numlines )
build.c:	  edit->numlines++;
build.c:	if ( edit->numlines > max_buf_lines )
build.c:	  edit->numlines = max_buf_lines;
build.c:	d->connected = CON_PLAYING;
build.c:	if ( !ch->last_cmd )
build.c:	(*ch->last_cmd) ( ch, "" );
build.c:    UNLINK( res, are->first_reset, are->last_reset, next, prev );
build.c:    DISPOSE( are->name );
build.c:    DISPOSE( are->filename );
build.c:    while ( are->first_reset )
build.c:	free_reset( are, are->first_reset );
build.c:	&&   ch->pcdata->r_range_lo
build.c:	&&   ch->pcdata->r_range_hi )
build.c:	  tarea = ch->pcdata->area;
build.c:	  sprintf( taf, "%s.are", capitalize( ch->name ) );
build.c:		for ( tmp = first_build; tmp; tmp = tmp->next )
build.c:			if ( !str_cmp( taf, tmp->filename ) )
build.c:	    sprintf( buf, "Creating area entry for %s", ch->name );
build.c:	    log_string_plus( buf, LOG_NORMAL, ch->level );
build.c:	    tarea->first_reset	= NULL;
build.c:	    tarea->last_reset	= NULL;
build.c:	    sprintf( buf, "{PROTO} %s's area in progress", ch->name );
build.c:	    tarea->name		= str_dup( buf );
build.c:	    tarea->filename	= str_dup( taf );
build.c:	    sprintf( buf2, "%s", ch->name );
build.c:	    tarea->author 	= STRALLOC( buf2 );
build.c:	    tarea->age		= 0;
build.c:	    tarea->nplayer	= 0;
build.c:	    CREATE(tarea->weather, WEATHER_DATA, 1); /* FB */
build.c:	    tarea->weather->temp = 0;
build.c:	    tarea->weather->precip = 0;
build.c:	    tarea->weather->wind = 0;
build.c:	    tarea->weather->temp_vector = 0;
build.c:	    tarea->weather->precip_vector = 0;
build.c:	    tarea->weather->wind_vector = 0;
build.c:	    tarea->weather->climate_temp = 2;
build.c:	    tarea->weather->climate_precip = 2;
build.c:	    tarea->weather->climate_wind = 2;
build.c:	    tarea->weather->first_neighbor = NULL;
build.c:	    tarea->weather->last_neighbor = NULL;
build.c:	    tarea->weather->echo = NULL;
build.c:	    tarea->weather->echo_color = AT_GREY;
build.c:	    sprintf( buf, "Updating area entry for %s", ch->name );
build.c:	    log_string_plus( buf, LOG_NORMAL, ch->level );
build.c:	  tarea->low_r_vnum	= ch->pcdata->r_range_lo;
build.c:	  tarea->low_o_vnum	= ch->pcdata->o_range_lo;
build.c:	  tarea->low_m_vnum	= ch->pcdata->m_range_lo;
build.c:	  tarea->hi_r_vnum	= ch->pcdata->r_range_hi;
build.c:	  tarea->hi_o_vnum	= ch->pcdata->o_range_hi;
build.c:	  tarea->hi_m_vnum	= ch->pcdata->m_range_hi;
build.c:	  ch->pcdata->area	= tarea;
build.c:	    ch->pcdata->area = NULL;
build.c:	    if ( !ch->pcdata->area )
build.c:        ||  (is_name( buf, ch->pcdata->bestowments )
build.c:	  for ( tmp = first_area; tmp; tmp = tmp->next )
build.c:	    if ( !str_cmp( buf, tmp->filename ) )
build.c:	  for ( tmp = first_build; tmp; tmp = tmp->next )
build.c:	    if ( !str_cmp( buf, tmp->filename ) )
build.c:	        ||   is_name( tmp->filename, ch->pcdata->bestowments ) ||
build.c:	        (ch->pcdata->council && is_name( "aassign", 
build.c:		ch->pcdata->council->powers ))
build.c:		|| ( ch->pcdata->council2 && is_name( "aassign",
build.c:		ch->pcdata->council2->powers ))	)
build.c:	ch->pcdata->area = tarea;
build.c:	ch_printf( ch, "Assigning you: %s\n\r", tarea->name );
build.c:    for ( ed = room->first_extradesc; ed; ed = ed->next )
build.c:	  if ( is_name( keywords, ed->keyword ) )
build.c:	LINK( ed, room->first_extradesc, room->last_extradesc, next, prev );
build.c:	ed->keyword	= STRALLOC( keywords );
build.c:	ed->description	= STRALLOC( "" );
build.c:    for ( rmed = room->first_extradesc; rmed; rmed = rmed->next )
build.c:	  if ( is_name( keywords, rmed->keyword ) )
build.c:    UNLINK( rmed, room->first_extradesc, room->last_extradesc, next, prev );
build.c:    STRFREE( rmed->keyword );
build.c:    STRFREE( rmed->description );
build.c:    top_ed--;
build.c:    for ( ed = obj->first_extradesc; ed; ed = ed->next )
build.c:	  if ( is_name( keywords, ed->keyword ) )
build.c:	LINK( ed, obj->first_extradesc, obj->last_extradesc, next, prev );
build.c:	ed->keyword	= STRALLOC( keywords );
build.c:	ed->description	= STRALLOC( "" );
build.c:    for ( rmed = obj->first_extradesc; rmed; rmed = rmed->next )
build.c:	  if ( is_name( keywords, rmed->keyword ) )
build.c:    UNLINK( rmed, obj->first_extradesc, obj->last_extradesc, next, prev );
build.c:    STRFREE( rmed->keyword );
build.c:    STRFREE( rmed->description );
build.c:    top_ed--;
build.c:    for ( ed = obj->first_extradesc; ed; ed = ed->next )
build.c:	  if ( is_name( keywords, ed->keyword ) )
build.c:	LINK( ed, obj->first_extradesc, obj->last_extradesc, next, prev );
build.c:	ed->keyword	= STRALLOC( keywords );
build.c:	ed->description	= STRALLOC( "" );
build.c:    for ( rmed = obj->first_extradesc; rmed; rmed = rmed->next )
build.c:	  if ( is_name( keywords, rmed->keyword ) )
build.c:    UNLINK( rmed, obj->first_extradesc, obj->last_extradesc, next, prev );
build.c:    STRFREE( rmed->keyword );
build.c:    STRFREE( rmed->description );
build.c:    top_ed--;
build.c:    sprintf( buf, "Saving %s...", tarea->filename );
build.c:    fprintf( fpout, "#AREA   %s~\n\n\n\n", tarea->name );
build.c:    fprintf( fpout, "#AUTHOR %s~\n\n", tarea->author );
build.c:    fprintf( fpout, "%d %d %d %d\n", tarea->low_soft_range,
build.c:				     tarea->hi_soft_range,
build.c:		 		     tarea->low_hard_range,
build.c:			   	     tarea->hi_hard_range );
build.c:    if ( tarea->resetmsg )	/* Rennard */
build.c:	fprintf( fpout, "#RESETMSG %s~\n\n", tarea->resetmsg );
build.c:    if ( tarea->reset_frequency )
build.c:		tarea->flags, tarea->reset_frequency );
build.c:	fprintf( fpout, "#FLAGS\n%d\n\n", tarea->flags );
build.c:    fprintf( fpout, "#ECONOMY %d %d\n\n", tarea->high_economy, tarea->low_economy );
build.c:    /* Climate info - FB */
build.c:    fprintf( fpout, "#CLIMATE %d %d %d\n\n", tarea->weather->climate_temp,
build.c:    					     tarea->weather->climate_precip,
build.c:    					     tarea->weather->climate_wind);
build.c:    /* neighboring weather systems - FB */
build.c:    for(neigh = tarea->weather->first_neighbor; neigh; neigh = neigh->next)
build.c:    	fprintf( fpout, "#NEIGHBOR %s~\n\n", neigh->name);
build.c:    for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
build.c:	  xREMOVE_BIT(pMobIndex->act, ACT_PROTOTYPE);
build.c:	if ( pMobIndex->perm_str != 13	||   pMobIndex->perm_int   != 13
build.c:	||   pMobIndex->perm_wis != 13	||   pMobIndex->perm_dex   != 13
build.c:	||   pMobIndex->perm_con != 13	||   pMobIndex->perm_cha   != 13
build.c:	||   pMobIndex->perm_lck != 13
build.c:	||   pMobIndex->hitroll  != 0	||   pMobIndex->damroll    != 0
build.c:	||   pMobIndex->race	 != 0	||   pMobIndex->class	   != 3
build.c:	||  !xIS_EMPTY(pMobIndex->attacks)
build.c:	||  !xIS_EMPTY(pMobIndex->defenses)
build.c:	||   pMobIndex->height	 != 0	||   pMobIndex->weight	   != 0
build.c:	||   pMobIndex->speaks	 != 0	||   pMobIndex->speaking   != 0
build.c:	||   pMobIndex->xflags	 != 0   ||   pMobIndex->numattacks != 0 )
build.c:	fprintf( fpout, "%s~\n",	pMobIndex->player_name		);
build.c:	fprintf( fpout,	"%s~\n",	pMobIndex->short_descr		);
build.c:	fprintf( fpout,	"%s~\n",	strip_cr(pMobIndex->long_descr)	);
build.c:	fprintf( fpout, "%s~\n",	strip_cr(pMobIndex->description));
build.c:	fprintf( fpout, "%s ",		print_bitvector(&pMobIndex->act));
build.c:	fprintf( fpout, "%s %d %c\n",	print_bitvector(&pMobIndex->affected_by),
build.c:					pMobIndex->alignment,
build.c:	fprintf( fpout, "%d %d %d ",	pMobIndex->level,
build.c:					pMobIndex->mobthac0,
build.c:					pMobIndex->ac			);
build.c:	fprintf( fpout, "%dd%d+%d ",	pMobIndex->hitnodice,
build.c:					pMobIndex->hitsizedice,
build.c:					pMobIndex->hitplus		);
build.c:	fprintf( fpout, "%dd%d+%d\n",	pMobIndex->damnodice,
build.c:					pMobIndex->damsizedice,
build.c:					pMobIndex->damplus		);
build.c:	fprintf( fpout, "%d %d\n",	pMobIndex->gold,
build.c:					pMobIndex->exp			);
build.c:/* Need to convert to new positions correctly on loadup sigh -Shaddai */
build.c:	fprintf( fpout, "%d %d %d\n",	pMobIndex->position+100,
build.c:					pMobIndex->defposition+100,
build.c:					pMobIndex->sex			);
build.c:					pMobIndex->perm_str,
build.c:					pMobIndex->perm_int,
build.c:					pMobIndex->perm_wis,
build.c:					pMobIndex->perm_dex,
build.c:					pMobIndex->perm_con,
build.c:					pMobIndex->perm_cha,
build.c:					pMobIndex->perm_lck );
build.c:					pMobIndex->saving_poison_death,
build.c:					pMobIndex->saving_wand,
build.c:					pMobIndex->saving_para_petri,
build.c:					pMobIndex->saving_breath,
build.c:					pMobIndex->saving_spell_staff );
build.c:					pMobIndex->race,
build.c:					pMobIndex->class,
build.c:					pMobIndex->height,
build.c:					pMobIndex->weight,
build.c:					pMobIndex->speaks,
build.c:					pMobIndex->speaking,
build.c:					pMobIndex->numattacks );
build.c:					pMobIndex->hitroll,
build.c:					pMobIndex->damroll,
build.c:					pMobIndex->xflags,
build.c:					pMobIndex->resistant,
build.c:					pMobIndex->immune,
build.c:					pMobIndex->susceptible,
build.c:			print_bitvector(&pMobIndex->attacks) );
build.c:	  		print_bitvector(&pMobIndex->defenses) );
build.c:	if ( pMobIndex->mudprogs )
build.c:	  for ( mprog = pMobIndex->mudprogs; mprog; mprog = mprog->next )
build.c:				mprog_type_to_name( mprog->type ),
build.c:				mprog->arglist, strip_cr(mprog->comlist) );
build.c:    if ( install && vnum < tarea->hi_m_vnum )
build.c:      tarea->hi_m_vnum = vnum - 1;
build.c:    for ( vnum = tarea->low_o_vnum; vnum <= tarea->hi_o_vnum; vnum++ )
build.c:	  xREMOVE_BIT( pObjIndex->extra_flags, ITEM_PROTOTYPE );
build.c:	fprintf( fpout, "%s~\n",	pObjIndex->name			);
build.c:	fprintf( fpout, "%s~\n",	pObjIndex->short_descr		);
build.c:	fprintf( fpout, "%s~\n",	pObjIndex->description		);
build.c:	fprintf( fpout, "%s~\n",	pObjIndex->action_desc		);
build.c:	if ( pObjIndex->layers )
build.c:	  fprintf( fpout, "%d %s %d %d\n",	pObjIndex->item_type,
build.c:				print_bitvector(&pObjIndex->extra_flags),
build.c:						pObjIndex->wear_flags,
build.c:						pObjIndex->layers	);
build.c:	  fprintf( fpout, "%d %s %d\n",	pObjIndex->item_type,
build.c:			print_bitvector(&pObjIndex->extra_flags),
build.c:					pObjIndex->wear_flags		);
build.c:	val0 = pObjIndex->value[0];
build.c:	val1 = pObjIndex->value[1];
build.c:	val2 = pObjIndex->value[2];
build.c:	val3 = pObjIndex->value[3];
build.c:	val4 = pObjIndex->value[4];
build.c:	val5 = pObjIndex->value[5];
build.c:	switch ( pObjIndex->item_type )
build.c:		  val1 = skill_table[val1]->slot;
build.c:		{if ( AREA_VERSION_WRITE == 0 ) val2 = skill_table[val2]->slot;
build.c:		{if ( AREA_VERSION_WRITE == 0 ) val3 = skill_table[val3]->slot;
build.c:		{if ( AREA_VERSION_WRITE == 0 ) val3 = skill_table[val3]->slot;
build.c:		{if ( AREA_VERSION_WRITE == 0 ) val4 = skill_table[val4]->slot;
build.c:		{if ( AREA_VERSION_WRITE == 0 ) val5 = skill_table[val5]->slot;
build.c:	fprintf( fpout, "%d %d %d\n",	pObjIndex->weight,
build.c:					pObjIndex->cost,
build.c:					pObjIndex->rent ? pObjIndex->rent :
build.c:				 (int) (pObjIndex->cost / 10)		);
build.c:    	switch ( pObjIndex->item_type )
build.c:                	IS_VALID_SN(pObjIndex->value[1])?
build.c:			skill_table[pObjIndex->value[1]]->name:"NONE",
build.c:			IS_VALID_SN(pObjIndex->value[2])?
build.c:			skill_table[pObjIndex->value[2]]->name :"NONE",
build.c:			IS_VALID_SN(pObjIndex->value[3])? 
build.c:			skill_table[pObjIndex->value[3]]->name:"NONE" );
build.c:                        IS_VALID_SN(pObjIndex->value[3])?  
build.c:                	skill_table[pObjIndex->value[3]]->name:"NONE" );
build.c:                        IS_VALID_SN(pObjIndex->value[4])?  
build.c:                	skill_table[pObjIndex->value[4]]->name:"NONE",
build.c:			IS_VALID_SN(pObjIndex->value[5])?
build.c:                	skill_table[pObjIndex->value[5]]->name:"NONE" );
build.c:	for ( ed = pObjIndex->first_extradesc; ed; ed = ed->next )
build.c:			ed->keyword, strip_cr( ed->description )	);
build.c:	for ( paf = pObjIndex->first_affect; paf; paf = paf->next )
build.c:	   fprintf( fpout, "A\n%d %d\n", paf->location,
build.c:	     ((paf->location == APPLY_WEAPONSPELL
build.c:	    || paf->location == APPLY_WEARSPELL
build.c:	    || paf->location == APPLY_REMOVESPELL
build.c:	    || paf->location == APPLY_STRIPSN
build.c:	    || paf->location == APPLY_RECURRINGSPELL)
build.c:	    && IS_VALID_SN(paf->modifier))
build.c:	    ? skill_table[paf->modifier]->slot : paf->modifier		);
build.c:	if ( pObjIndex->mudprogs )
build.c:	  for ( mprog = pObjIndex->mudprogs; mprog; mprog = mprog->next )
build.c:				mprog_type_to_name( mprog->type ),
build.c:				mprog->arglist, strip_cr(mprog->comlist) );
build.c:    if ( install && vnum < tarea->hi_o_vnum )
build.c:      tarea->hi_o_vnum = vnum - 1;
build.c:    for ( vnum = tarea->low_r_vnum; vnum <= tarea->hi_r_vnum; vnum++ )
build.c:	    REMOVE_BIT( room->room_flags, ROOM_PROTOTYPE );
build.c:	    for ( victim = room->first_person; victim; victim = vnext )
build.c:		vnext = victim->next_in_room;
build.c:	    for ( obj = room->first_content; obj; obj = obj_next )
build.c:		obj_next = obj->next_content;
build.c:	fprintf( fpout, "%s~\n",	room->name			);
build.c:        if (!room->compress)
build.c:            fprintf( fpout, "%s~\n",	strip_cr( room->description )	);
build.c:            fprintf( fpout, "%s~\n",        strip_cr( room->description )  );
build.c://            DISPOSE( room->uncomp_desc );
build.c:	if ( (room->tele_delay > 0 && room->tele_vnum > 0) || room->tunnel > 0 )
build.c:	  fprintf( fpout, "0 %d %d %d %d %d\n",	room->room_flags,
build.c:						room->sector_type,
build.c:						room->tele_delay,
build.c:						room->tele_vnum,
build.c:						room->tunnel		);
build.c:	  fprintf( fpout, "0 %d %d\n",	room->room_flags,
build.c:					room->sector_type	);
build.c:	for ( xit = room->first_exit; xit; xit = xit->next )
build.c:	   if ( IS_SET(xit->exit_info, EX_PORTAL) ) /* don't fold portals */
build.c:	   fprintf( fpout, "D%d\n",		xit->vdir );
build.c:	   fprintf( fpout, "%s~\n",		strip_cr( xit->description ) );
build.c:	   fprintf( fpout, "%s~\n",		strip_cr( xit->keyword ) );
build.c:	   if ( xit->distance > 1 || xit->pull )
build.c:	     					xit->exit_info & ~EX_BASHED,
build.c:	   					xit->key,
build.c:	   					xit->vnum,
build.c:	   					xit->distance,
build.c:	   					xit->pulltype,
build.c:	   					xit->pull );
build.c:	     fprintf( fpout, "%d %d %d\n",	xit->exit_info & ~EX_BASHED,
build.c:	   					xit->key,
build.c:	   					xit->vnum );
build.c:	for ( ed = room->first_extradesc; ed; ed = ed->next )
build.c:			ed->keyword, strip_cr( ed->description ));
build.c:	if ( room->map )   /* maps */
build.c:	   fprintf( fpout, "%s~\n", strip_cr( room->map )	);
build.c:	   fprintf( fpout, "M %d %d %d %c\n",	room->map->vnum,
build.c:						room->map->x,
build.c:						room->map->y,
build.c:						room->map->entry );
build.c:	if ( room->mudprogs )
build.c:	  for ( mprog = room->mudprogs; mprog; mprog = mprog->next )
build.c:				mprog_type_to_name( mprog->type ),
build.c:				mprog->arglist, strip_cr(mprog->comlist) );
build.c:    if ( install && vnum < tarea->hi_r_vnum )
build.c:	tarea->hi_r_vnum = vnum - 1;
build.c:    for ( treset = tarea->first_reset; treset; treset = treset->next )
build.c:	switch( treset->command ) /* extra arg1 arg2 arg3 */
build.c:		fprintf( fpout, "%c %d %d %d %d\n", UPPER(treset->command),
build.c:		treset->extra, treset->arg1, treset->arg2, treset->arg3 );
build.c:		fprintf( fpout, "%c %d %d %d\n", UPPER(treset->command),
build.c:		treset->extra, treset->arg1, treset->arg2 );
build.c:    for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
build.c:	if ( (pShop = pMobIndex->pShop) == NULL )
build.c:		 pShop->keeper,
build.c:		 pShop->buy_type[0],
build.c:		 pShop->buy_type[1],
build.c:		 pShop->buy_type[2],
build.c:		 pShop->buy_type[3],
build.c:		 pShop->buy_type[4],
build.c:		 pShop->profit_buy,
build.c:		 pShop->profit_sell );
build.c:		 pShop->open_hour,
build.c:		 pShop->close_hour,
build.c:		 pMobIndex->short_descr );
build.c:    for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
build.c:	if ( (pRepair = pMobIndex->rShop) == NULL )
build.c:		 pRepair->keeper,
build.c:		 pRepair->fix_type[0],
build.c:		 pRepair->fix_type[1],
build.c:		 pRepair->fix_type[2],
build.c:		 pRepair->profit_fix,
build.c:		 pRepair->shop_type );
build.c:		 pRepair->open_hour,
build.c:		 pRepair->close_hour,
build.c:		 pMobIndex->short_descr );
build.c:    for ( vnum = tarea->low_m_vnum; vnum <= tarea->hi_m_vnum; vnum++ )
build.c:	if ( !pMobIndex->spec_fun )
build.c:	fprintf( fpout, "M  %d %s\n",	pMobIndex->vnum,
build.c:					lookup_spec( pMobIndex->spec_fun ) );
build.c:    if ( IS_NPC(ch) || get_trust( ch ) < LEVEL_CREATOR || !ch->pcdata
build.c:    ||  ( argument[0] == '\0' && !ch->pcdata->area) )
build.c:	tarea = ch->pcdata->area;
build.c:	for ( found = FALSE, tarea = first_build; tarea; tarea = tarea->next )
build.c:	    if ( !str_cmp( tarea->filename, argument ) )
build.c:/* Ensure not wiping out their area with save before load - Scryn 8/11 */
build.c:    if ( !IS_SET(tarea->status, AREA_LOADED ) )
build.c:    sprintf( filename, "%s%s", BUILD_DIR, tarea->filename );
build.c:    if ( IS_NPC(ch) || get_trust( ch ) < LEVEL_CREATOR || !ch->pcdata
build.c:    ||  ( argument[0] == '\0' && !ch->pcdata->area) )
build.c:	tarea = ch->pcdata->area;
build.c:	for ( found = FALSE, tarea = first_build; tarea; tarea = tarea->next )
build.c:	    if ( !str_cmp( tarea->filename, argument ) )
build.c:/* Stops char from loading when already loaded - Scryn 8/11 */
build.c:    if ( IS_SET ( tarea->status, AREA_LOADED) )
build.c:    sprintf( filename, "%s%s", BUILD_DIR, tarea->filename );
build.c:    if ( tarea->first_reset )
build.c:	tmp = tarea->nplayer;
build.c:	tarea->nplayer = 0;
build.c:	tarea->nplayer = tmp;
build.c: * NOTE: Use of this command is not recommended.		-Thoric
build.c:    for ( tarea = first_area; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, argument ) )
build.c:	  fold_area( tarea, tarea->filename, FALSE );
build.c:    for ( tarea = first_area; tarea; tarea = tarea->next )
build.c:	fprintf( fpout, "%s\n", tarea->filename );
build.c: * A complicated to use command as it currently exists.		-Thoric
build.c: * Once area->author and area->name are cleaned up... it will be easier
build.c:    for ( tarea = first_build; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, arg ) )
build.c:		DISPOSE( tarea->name );
build.c:		tarea->name = str_dup( argument );
build.c:	  /* Fold area with install flag -- auto-removes prototype flags */
build.c:	  fold_area( tarea, tarea->filename, TRUE );
build.c:	  for ( d = first_descriptor; d; d = d->next )
build.c:	    if ( d->character
build.c:	    &&   d->character->pcdata
build.c:	    &&   d->character->pcdata->area == tarea )
build.c:		d->character->pcdata->area = NULL;
build.c:		d->character->pcdata->r_range_lo = 0;
build.c:		d->character->pcdata->r_range_hi = 0;
build.c:		d->character->pcdata->o_range_lo = 0;
build.c:		d->character->pcdata->o_range_hi = 0;
build.c:		d->character->pcdata->m_range_lo = 0;
build.c:		d->character->pcdata->m_range_hi = 0;
build.c:	  num = tarea->nplayer;
build.c:	  tarea->nplayer = 0;
build.c:	  tarea->nplayer = num;
build.c:	  sprintf( buf, "%s%s.installed", BUILD_DIR, tarea->filename );
build.c:	  sprintf( arg, "%s%s", BUILD_DIR, tarea->filename );
build.c:   for ( obj = obj->first_content; obj; obj = obj->next_content )
build.c:	limit = obj->pIndexData->count;
build.c:	add_reset( tarea, 'P', 1, obj->pIndexData->vnum, limit,
build.c:				 obj->in_obj->pIndexData->vnum );
build.c:	if ( obj->first_content )
build.c:	    ||   !IS_SET( pexit->exit_info, EX_ISDOOR ) )
build.c:	for ( tarea = first_area; tarea; tarea = tarea->next )
build.c:	    pdeaths += tarea->pdeaths;
build.c:	    mdeaths += tarea->mdeaths;
build.c:	    pkills  += tarea->pkills;
build.c:	    mkills  += tarea->mkills;
build.c:    for ( tarea = first_area; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, argument ) )
build.c:      for ( tarea = first_build; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, argument ) )
build.c:        tarea = ch->in_room->area;
build.c:    ch_printf_color( ch, "\n\r&wName:     &W%s\n\r&wFilename: &W%-20s  &wPrototype: &W%s\n\r&wAuthor:   &W%s\n\r",
build.c:			tarea->name,
build.c:			tarea->filename,
build.c:			tarea->author );
build.c:    ch_printf_color( ch, "&wAge: &W%-3d  &wCurrent number of players: &W%-3d  &wMax players: &W%d\n\r",
build.c:			tarea->age,
build.c:			tarea->nplayer,
build.c:			tarea->max_players );
build.c:	if ( tarea->high_economy )
build.c:			tarea->high_economy,
build.c:			tarea->low_economy );
build.c:			tarea->low_economy );
build.c:			tarea->gold_looted );
build.c:			tarea->mdeaths,
build.c:			tarea->mkills,
build.c:			tarea->pdeaths,
build.c:			tarea->pkills,
build.c:			tarea->illegal_pk );
build.c:			tarea->low_r_vnum,
build.c:			tarea->hi_r_vnum );
build.c:			tarea->low_o_vnum,
build.c:			tarea->hi_o_vnum );
build.c:			tarea->low_m_vnum,
build.c:			tarea->hi_m_vnum );
build.c:    ch_printf_color( ch, "&wsoft range: &W%d - %d    &whard range: &W%d - %d\n\r",
build.c:			tarea->low_soft_range, 
build.c:			tarea->hi_soft_range,
build.c:			tarea->low_hard_range, 
build.c:			tarea->hi_hard_range );
build.c:    ch_printf_color( ch, "&wArea flags: &W%s\n\r", flag_string(tarea->flags, area_flags) );
build.c:    ch_printf_color( ch, "&wResetmsg: &W%s\n\r", tarea->resetmsg ? tarea->resetmsg
build.c:		tarea->reset_frequency ? tarea->reset_frequency : 15 );
build.c:    for ( tarea = first_area; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, arg1 ) )
build.c:      for ( tarea = first_build; tarea; tarea = tarea->next )
build.c:	if ( !str_cmp( tarea->filename, arg1 ) )
build.c:	DISPOSE( tarea->name );
build.c:	tarea->name = str_dup( argument );
build.c:	DISPOSE( tarea->filename );
build.c:	tarea->filename = str_dup( argument );
build.c:	tarea->low_economy = vnum;
build.c:	tarea->high_economy = vnum;
build.c:	tarea->low_r_vnum = vnum;
build.c:	tarea->hi_r_vnum = vnum;
build.c:	tarea->low_o_vnum = vnum;
build.c:	tarea->hi_o_vnum = vnum;
build.c:	tarea->low_m_vnum = vnum;
build.c:	tarea->hi_m_vnum = vnum;
build.c:	tarea->low_soft_range = vnum;
build.c:	tarea->hi_soft_range = vnum;
build.c:	tarea->low_hard_range = vnum;
build.c:	tarea->hi_hard_range = vnum;
build.c:	STRFREE( tarea->author );
build.c:	tarea->author = STRALLOC( argument );
build.c:        if ( tarea->resetmsg )
build.c:          DISPOSE( tarea->resetmsg );
build.c:          tarea->resetmsg = str_dup( argument );
build.c:	tarea->reset_frequency = vnum;
build.c:		if ( IS_SET( tarea->flags, 1 << value ) )
build.c:		    REMOVE_BIT( tarea->flags, 1 << value );
build.c:		    SET_BIT( tarea->flags, 1 << value );
build.c:    if ( IS_NPC(ch) || get_trust( ch ) < LEVEL_CREATOR || !ch->pcdata
build.c:    || ( !ch->pcdata->area && get_trust( ch ) < LEVEL_GREATER ) )
build.c:    tarea = ch->pcdata->area;
build.c:        lrange = tarea->low_r_vnum;	/* here.	    -Thoric */
build.c:        trange = tarea->hi_r_vnum;
build.c:      if ( ( lrange < tarea->low_r_vnum || trange > tarea->hi_r_vnum )
build.c:	pager_printf( ch, "%5d) %s\n\r", vnum, room->name );
build.c:     * Greater+ can list out of assigned range - Tri (mlist/rlist as well)
build.c:    if ( IS_NPC(ch) || get_trust( ch ) < LEVEL_CREATOR || !ch->pcdata
build.c:    || ( !ch->pcdata->area && get_trust( ch ) < LEVEL_GREATER ) )
build.c:    tarea = ch->pcdata->area;
build.c:        lrange = tarea->low_o_vnum;	/* here.	    -Thoric */
build.c:        trange = tarea->hi_o_vnum;
build.c:      if ((lrange < tarea->low_o_vnum || trange > tarea->hi_o_vnum)
build.c:	pager_printf( ch, "%5d) %-20s (%s)\n\r", vnum,
build.c:					     obj->name,
build.c:					     obj->short_descr );
build.c:    if ( IS_NPC(ch) || get_trust( ch ) < LEVEL_CREATOR || !ch->pcdata
build.c:    ||  ( !ch->pcdata->area && get_trust( ch ) < LEVEL_GREATER ) )
build.c:    tarea = ch->pcdata->area;
build.c:        lrange = tarea->low_m_vnum;	/* here.	    -Thoric */
build.c:        trange = tarea->hi_m_vnum;
build.c:      if ( ( lrange < tarea->low_m_vnum || trange > tarea->hi_m_vnum )
build.c:	  pager_printf( ch, "%5d) %-20s '%s'\n\r", vnum,
build.c:					 mob->player_name,
build.c:					 mob->short_descr );
build.c:    if ( mptype != -1 )
build.c:	mprg->type = mptype;
build.c:	if ( mprg->arglist )
build.c:	    STRFREE( mprg->arglist );
build.c:	mprg->arglist = STRALLOC( argument );
build.c:    ch->substate = SUB_MPROG_EDIT;
build.c:    ch->dest_buf = mprg;
build.c:    if ( !mprg->comlist )
build.c:	mprg->comlist = STRALLOC( "" );
build.c:    start_editing( ch, mprg->comlist );
build.c: * Mobprogram editing - cumbersome				-Thoric
build.c:    int value, mptype = -1, cnt;
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_mpedit: sub_mprog_edit: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	  mprog	 = ch->dest_buf;
build.c:	  if ( mprog->comlist )
build.c:	    STRFREE( mprog->comlist );
build.c:	  mprog->comlist = copy_buffer( ch );
build.c:    if ( get_trust( ch ) < victim->level || !IS_NPC(victim) )
build.c:    if ( !xIS_SET(victim->act, ACT_PROTOTYPE) )
build.c:    mprog = victim->pIndexData->mudprogs;
build.c:			for(mprg = mprog; mprg; mprg = mprg->next)
build.c:					mprog_type_to_name(mprg->type),
build.c:					mprg->arglist);
build.c:			for(mprg = mprog; mprg; mprg = mprg->next)
build.c:					mprog_type_to_name(mprg->type),
build.c:					mprg->arglist,
build.c:					mprg->comlist);
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	      			mprog_type_to_name( mprg->type ),
build.c:	      			mprg->arglist,
build.c:	      			mprg->comlist );
build.c:	  if ( mptype == -1 )
build.c:	  mptype = -1;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		xCLEAR_BITS(victim->pIndexData->progtypes);
build.c:		for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		   xSET_BIT(victim->pIndexData->progtypes, mprg->type);
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		mptype = mprg->type;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( mprg->type == mptype )
build.c:	   mprg_next = victim->pIndexData->mudprogs;
build.c:	   victim->pIndexData->mudprogs = mprg_next->next;
build.c:	   mprg_next = mprg->next;
build.c:	   if ( ++cnt == (value - 1) )
build.c:		mprg->next = mprg_next->next;
build.c:	    STRFREE( mprg_next->arglist );
build.c:	    STRFREE( mprg_next->comlist );
build.c:		xREMOVE_BIT( victim->pIndexData->progtypes, mptype );
build.c:	if ( mptype == -1 )
build.c:	   xSET_BIT(victim->pIndexData->progtypes, mptype);
build.c:	   mprg->next = mprog;
build.c:	   victim->pIndexData->mudprogs = mprg;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( ++cnt == value && mprg->next )
build.c:		xSET_BIT(victim->pIndexData->progtypes, mptype);
build.c:		mprg_next->next = mprg->next;
build.c:		mprg->next	= mprg_next;
build.c:	if ( mptype == -1 )
build.c:	  for ( ; mprog->next; mprog = mprog->next );
build.c:	  mprog->next			= mprg;
build.c:	  victim->pIndexData->mudprogs	= mprg;
build.c:	xSET_BIT(victim->pIndexData->progtypes,	mptype);
build.c:	mprg->next = NULL;
build.c:    int value, mptype = -1, cnt;
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_opedit: sub_oprog_edit: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	  mprog	 = ch->dest_buf;
build.c:	  if ( mprog->comlist )
build.c:	    STRFREE( mprog->comlist );
build.c:	  mprog->comlist = copy_buffer( ch );
build.c:    mprog = obj->pIndexData->mudprogs;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	      mprog_type_to_name( mprg->type ),
build.c:	      mprg->arglist,
build.c:	      mprg->comlist );
build.c:	  if ( mptype == -1 )
build.c:	  mptype = -1;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		xCLEAR_BITS(obj->pIndexData->progtypes);
build.c:		for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		   xSET_BIT(obj->pIndexData->progtypes, mprg->type);
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		mptype = mprg->type;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( mprg->type == mptype )
build.c:	   mprg_next = obj->pIndexData->mudprogs;
build.c:	   obj->pIndexData->mudprogs = mprg_next->next;
build.c:	   mprg_next = mprg->next;
build.c:	   if ( ++cnt == (value - 1) )
build.c:		mprg->next = mprg_next->next;
build.c:	    STRFREE( mprg_next->arglist );
build.c:	    STRFREE( mprg_next->comlist );
build.c:		xREMOVE_BIT( obj->pIndexData->progtypes, mptype );
build.c:	if ( mptype == -1 )
build.c:	   xSET_BIT(obj->pIndexData->progtypes, mptype);
build.c:	   mprg->next = mprog;
build.c:	   obj->pIndexData->mudprogs = mprg;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( ++cnt == value && mprg->next )
build.c:		xSET_BIT(obj->pIndexData->progtypes, mptype);
build.c:		mprg_next->next = mprg->next;
build.c:		mprg->next	= mprg_next;
build.c:	if ( mptype == -1 )
build.c:	for ( ; mprog->next; mprog = mprog->next );
build.c:	  mprog->next			 = mprg;
build.c:	  obj->pIndexData->mudprogs	 = mprg;
build.c:	xSET_BIT(obj->pIndexData->progtypes, mptype);
build.c:	mprg->next = NULL;
build.c:	if ( mptype != -1 )
build.c:	  mprg->type = mptype;
build.c:	  if ( mprg->arglist )
build.c:	    STRFREE( mprg->arglist );
build.c:	  mprg->arglist = STRALLOC( argument );
build.c:	ch->substate = SUB_MPROG_EDIT;
build.c:	ch->dest_buf = mprg;
build.c:	if(!mprg->comlist)
build.c:          mprg->comlist = STRALLOC("");
build.c:	start_editing( ch, mprg->comlist );
build.c:    int value, mptype = -1, cnt;
build.c:    if ( !ch->desc )
build.c:    switch( ch->substate )
build.c:	  if ( !ch->dest_buf )
build.c:		bug( "do_opedit: sub_oprog_edit: NULL ch->dest_buf", 0 );
build.c:		ch->substate = SUB_NONE;
build.c:	  mprog	 = ch->dest_buf;
build.c:	  if ( mprog->comlist )
build.c:	    STRFREE( mprog->comlist );
build.c:	  mprog->comlist = copy_buffer( ch );
build.c:    if ( !can_rmodify( ch, ch->in_room ) )
build.c:    mprog = ch->in_room->mudprogs;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	      mprog_type_to_name( mprg->type ),
build.c:	      mprg->arglist,
build.c:	      mprg->comlist );
build.c:	  if ( mptype == -1 )
build.c:	  mptype = -1;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		xCLEAR_BITS(ch->in_room->progtypes);
build.c:		for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		   xSET_BIT(ch->in_room->progtypes, mprg->type);
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:		mptype = mprg->type;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( mprg->type == mptype )
build.c:	   mprg_next = ch->in_room->mudprogs;
build.c:	   ch->in_room->mudprogs = mprg_next->next;
build.c:	   mprg_next = mprg->next;
build.c:	   if ( ++cnt == (value - 1) )
build.c:		mprg->next = mprg_next->next;
build.c:	    STRFREE( mprg_next->arglist );
build.c:	    STRFREE( mprg_next->comlist );
build.c:		xREMOVE_BIT( ch->in_room->progtypes, mptype );
build.c:	if ( mptype == -1 )
build.c:	   xSET_BIT(ch->in_room->progtypes, mptype);
build.c:	   mprg->next = mprog;
build.c:	   ch->in_room->mudprogs = mprg;
build.c:	for ( mprg = mprog; mprg; mprg = mprg->next )
build.c:	   if ( ++cnt == value && mprg->next )
build.c:		xSET_BIT(ch->in_room->progtypes, mptype);
build.c:		mprg_next->next = mprg->next;
build.c:		mprg->next	= mprg_next;
build.c:	if ( mptype == -1 )
build.c:	  for ( ; mprog->next; mprog = mprog->next );
build.c:	  mprog->next		= mprg;
build.c:	  ch->in_room->mudprogs	= mprg;
build.c:	xSET_BIT(ch->in_room->progtypes, mptype);
build.c:	mprg->next = NULL;
build.c:    && ( location->vnum < ch->pcdata->r_range_lo || 
build.c:         location->vnum > ch->pcdata->r_range_hi ) )
build.c:    if ( location->first_person || location->first_content )
build.c:       The function to do it is in db.c so it can access the top-room 
build.c:      obj = temp->pIndexData;
build.c:    && ( obj->vnum < ch->pcdata->o_range_lo || 
build.c:         obj->vnum > ch->pcdata->o_range_hi ) )
build.c:       The function to do it is in db.c so it can access the top-room 
build.c:      mob = temp->pIndexData;
build.c:    && ( mob->vnum < ch->pcdata->m_range_lo || 
build.c:         mob->vnum > ch->pcdata->m_range_hi ) )
build.c:	else if(!ch->in_room)
build.c:	else if(!ch->in_room->area)
build.c:	else if(!ch->in_room->area->weather)
build.c:	area = ch->in_room->area;
build.c:		ch_printf(ch, "%s:\n\r", area->name);
build.c:			temp_settings[area->weather->climate_temp]);
build.c:			precip_settings[area->weather->climate_precip]);
build.c:			wind_settings[area->weather->climate_wind]);
build.c:		if(area->weather->first_neighbor)
build.c:		for(neigh = area->weather->first_neighbor; neigh;
build.c:				neigh = neigh->next)
build.c:			ch_printf(ch, "\t%s\n\r", neigh->name);
build.c:			area->weather->climate_temp = i;
build.c:				"for %s is now %s.\n\r", area->name,
build.c:			area->weather->climate_precip = i;
build.c:				"for %s is now %s.\n\r", area->name,
build.c:			area->weather->climate_wind = i;
build.c:				"is now %s.\n\r", area->name,
build.c:		for(neigh = area->weather->first_neighbor; neigh;
build.c:				neigh = neigh->next)
build.c:			if(nifty_is_name(argument, neigh->name))
build.c:			if(! (tarea = neigh->address) )
build.c:				tarea = get_area(neigh->name);
build.c:				tarea = neigh->address;
build.c:				for(tneigh = tarea->weather->first_neighbor;
build.c:						tneigh; tneigh = tneigh->next)
build.c:					if(!strcmp(area->name, tneigh->name))
build.c:				       tarea->weather->first_neighbor,
build.c:				       tarea->weather->last_neighbor,
build.c:				STRFREE(tneigh->name);
build.c:			       area->weather->first_neighbor,
build.c:			       area->weather->last_neighbor,
build.c:				neigh->name, area->name);
build.c:			STRFREE(neigh->name);
build.c:					"own weather.\n\r", area->name);
build.c:			neigh->name = STRALLOC(tarea->name);
build.c:			neigh->address = tarea;
build.c:			     area->weather->first_neighbor,
build.c:			     area->weather->last_neighbor,
build.c:			neigh->name = STRALLOC(area->name);
build.c:			neigh->address = area;
build.c:			     tarea->weather->first_neighbor,
build.c:			     tarea->weather->last_neighbor,
build.c:				"affect one another.\n\r", tarea->name,
build.c:				area->name);
build.c:/* displays all exits from the area that the imm is physically in - shogar */
build.c:    tarea = ch->in_room->area;
build.c:    trange = tarea->hi_r_vnum;
build.c:    lrange = tarea->low_r_vnum;
build.c:		if(pexit->to_room->area != tarea)
build.c:			pager_printf(ch, "To: %-20.20s %s\n\r",
build.c:				pexit->to_room->area->filename,
build.c:				pexit->to_room->area->name);
build.c: 			pager_printf( ch,"%15d %-30.30s -> %15d (%s)\n\r", 
build.c:				vnum, room->name,pexit->vnum,dir_name[i] );
build.c:/* displays all entrances to the area that the imm is physically in - shogar */
build.c:    tarea = ch->in_room->area;
build.c:    for ( otherarea=first_area; otherarea; otherarea=otherarea->next)
build.c:    	trange = otherarea->hi_r_vnum;
build.c:    	lrange = otherarea->low_r_vnum;
build.c:			if(pexit->to_room->area == tarea)
build.c:			        pager_printf(ch, "From: %-20.20s %s\n\r",
build.c:					otherarea->filename,otherarea->name);
build.c: 				pager_printf(ch, "%15d %-30.30s -> %15d (%s)\n\r", 
build.c:					vnum, room->name,pexit->vnum,dir_name[i] );
clans.c: * -----------------------------------------------------------|   (0...0)   *
clans.c: * -----------------------------------------------------------|    {o o}    *
clans.c: * ------------------------------------------------------------------------ *
clans.c:    for ( clan = first_clan; clan; clan = clan->next )
clans.c:       if ( !str_cmp( name, clan->name ) )
clans.c:    for ( council = first_council; council; council = council->next )
clans.c:       if ( !str_cmp( name, council->name ) )
clans.c:    for ( tclan = first_clan; tclan; tclan = tclan->next )
clans.c:	fprintf( fpout, "%s\n", tclan->filename );
clans.c:    for ( tcouncil = first_council; tcouncil; tcouncil = tcouncil->next )
clans.c:	fprintf( fpout, "%s\n", tcouncil->filename );
clans.c:    if ( !clan->filename || clan->filename[0] == '\0' )
clans.c:	sprintf( buf, "save_clan: %s has no filename", clan->name );
clans.c:    sprintf( filename, "%s%s", CLAN_DIR, clan->filename );
clans.c:	fprintf( fp, "Name         %s~\n",	clan->name		);
clans.c:	fprintf( fp, "Filename     %s~\n",	clan->filename		);
clans.c:	fprintf( fp, "Motto        %s~\n",	clan->motto		);
clans.c:	fprintf( fp, "Description  %s~\n",	clan->description	);
clans.c:	fprintf( fp, "Deity        %s~\n",	clan->deity		);
clans.c:	fprintf( fp, "Leader       %s~\n",	clan->leader		);
clans.c:	fprintf( fp, "NumberOne    %s~\n",	clan->number1		);
clans.c:	fprintf( fp, "NumberTwo    %s~\n",	clan->number2		);
clans.c:	fprintf( fp, "Badge        %s~\n",	clan->badge		);
clans.c:		clan->pkills[0], clan->pkills[1], clan->pkills[2],
clans.c:		clan->pkills[3], clan->pkills[4], clan->pkills[5],
clans.c:		clan->pkills[6]);
clans.c:		clan->pdeaths[0], clan->pdeaths[1], clan->pdeaths[2],
clans.c:		clan->pdeaths[3], clan->pdeaths[4], clan->pdeaths[5],
clans.c:		clan->pdeaths[6]);
clans.c:	fprintf( fp, "MKills       %d\n",	clan->mkills		);
clans.c:	fprintf( fp, "MDeaths      %d\n",	clan->mdeaths		);
clans.c:	fprintf( fp, "IllegalPK    %d\n",	clan->illegal_pk	);
clans.c:	fprintf( fp, "Score        %d\n",	clan->score		);
clans.c:	fprintf( fp, "Type         %d\n",	clan->clan_type		);
clans.c:	fprintf( fp, "Class        %d\n",	clan->class		);
clans.c:	fprintf( fp, "Favour       %d\n",	clan->favour		);
clans.c:	fprintf( fp, "Strikes      %d\n",	clan->strikes		);
clans.c:	fprintf( fp, "Members      %d\n",   	clan->num_members      	);
clans.c:        fprintf( fp, "NameMembers  %s~\n",      clan->members           );
clans.c:        fprintf( fp, "MemLimit     %d\n",	clan->mem_limit		);
clans.c:	fprintf( fp, "Alignment    %d\n",	clan->alignment		);
clans.c:	fprintf( fp, "Board        %d\n",	clan->board		);
clans.c:	fprintf( fp, "ClanObjOne   %d\n",	clan->clanobj1		);
clans.c:	fprintf( fp, "ClanObjTwo   %d\n",	clan->clanobj2		);
clans.c:	fprintf( fp, "ClanObjThree %d\n",	clan->clanobj3		);
clans.c:        fprintf( fp, "ClanObjFour  %d\n",	clan->clanobj4		);
clans.c:	fprintf( fp, "ClanObjFive  %d\n", 	clan->clanobj5		);
clans.c:	fprintf( fp, "Recall       %d\n",	clan->recall		);
clans.c:	fprintf( fp, "Storeroom    %d\n",	clan->storeroom		);
clans.c:	fprintf( fp, "GuardOne     %d\n",	clan->guard1		);
clans.c:	fprintf( fp, "GuardTwo     %d\n",	clan->guard2		);
clans.c:    if( (endstr = strstr( council->members, name ) ) == NULL )
clans.c:    length = strlen( council->members );
clans.c:    length -= strlen( endstr );
clans.c:    memcpy( newstring, council->members, length );
clans.c:    if( (strlen( endstr ) + strlen( name ) + 1) >= strlen( council->members ) )
clans.c:    DISPOSE( council->members );
clans.c:    council->members = str_dup( finishedstring );
clans.c:    sprintf( buf, "%s %s", council->members, name );
clans.c:    DISPOSE( council->members );
clans.c:    council->members = str_dup( buf );
clans.c:    if( (endstr = strstr( clan->members, name ) ) == NULL )
clans.c:    length = strlen( clan->members );
clans.c:    length -= strlen( endstr );
clans.c:    memcpy( newstring, clan->members, length );
clans.c:    if( (strlen( endstr ) + strlen( name ) + 1) >= strlen( clan->members ) )
clans.c:    DISPOSE( clan->members );
clans.c:    clan->members = str_dup( finishedstring );
clans.c:    sprintf( buf, "%s %s", clan->members, name );
clans.c:    DISPOSE( clan->members );
clans.c:    clan->members = str_dup( buf );
clans.c:    if ( !council->filename || council->filename[0] == '\0' )
clans.c:	sprintf( buf, "save_council: %s has no filename", council->name );
clans.c:    sprintf( filename, "%s%s", COUNCIL_DIR, council->filename );
clans.c:	fprintf( fp, "Name         %s~\n",	council->name		);
clans.c:	fprintf( fp, "Filename     %s~\n",	council->filename	);
clans.c:	fprintf( fp, "Description  %s~\n",	council->description	);
clans.c:	fprintf( fp, "Head         %s~\n",	council->head		);
clans.c:      	if ( council->head2 != NULL)
clans.c:        	fprintf (fp, "Head2        %s~\n", council->head2);
clans.c:	fprintf( fp, "Members      %d\n",	council->num_members	);
clans.c:        fprintf( fp, "NameMembers  %s~\n",      council->members        );
clans.c:        fprintf( fp, "Board        %d\n",	council->board		);
clans.c:	fprintf( fp, "Meeting      %d\n",	council->meeting	);
clans.c:	fprintf( fp, "Powers       %s~\n",	council->powers		);
clans.c: * tracking support. --Shaddai
clans.c: * have set using setclan.  --Shaddai
clans.c:    clan->mem_limit = 0;  /* Set up defaults */
clans.c:	    KEY( "Alignment",	clan->alignment,	fread_number( fp ) );
clans.c:            KEY( "Badge",       clan->badge,            fread_string( fp ) );
clans.c:	    KEY( "Board",	clan->board,		fread_number( fp ) );
clans.c:	    KEY( "ClanObjOne",	clan->clanobj1,		fread_number( fp ) );
clans.c:	    KEY( "ClanObjTwo",	clan->clanobj2,		fread_number( fp ) );
clans.c:	    KEY( "ClanObjThree",clan->clanobj3,		fread_number( fp ) );
clans.c:            KEY( "ClanObjFour", clan->clanobj4,         fread_number( fp ) );
clans.c:            KEY( "ClanObjFive", clan->clanobj5,         fread_number( fp ) );
clans.c:	    KEY( "Class",	clan->class,		fread_number( fp ) );
clans.c:	    KEY( "Deity",	clan->deity,		fread_string( fp ) );
clans.c:	    KEY( "Description",	clan->description,	fread_string( fp ) );
clans.c:		if (!clan->name)
clans.c:                    clan->name		= STRALLOC( "" );
clans.c:                if (!clan->leader)
clans.c:                    clan->leader       	= STRALLOC( "" );
clans.c:                if (!clan->description)
clans.c:                    clan->description 	= STRALLOC( "" );
clans.c:                if (!clan->motto)
clans.c:                    clan->motto		= STRALLOC( "" );
clans.c:                if (!clan->number1)
clans.c:                    clan->number1      	= STRALLOC( "" );
clans.c:                if (!clan->number2)
clans.c:                    clan->number2      	= STRALLOC( "" );
clans.c:                if (!clan->deity)
clans.c:                    clan->deity		= STRALLOC( "" );
clans.c:                if (!clan->badge)
clans.c:                    clan->badge		= STRALLOC( "" );
clans.c:                if( !clan->members )
clans.c:                    clan->members       = str_dup( "" );
clans.c:	    KEY( "Favour",	clan->favour,		fread_number( fp ) );
clans.c:	    KEY( "Filename",	clan->filename,		fread_string_nohash( fp ) );
clans.c:	    KEY( "GuardOne",	clan->guard1,		fread_number( fp ) );
clans.c:	    KEY( "GuardTwo",	clan->guard2,		fread_number( fp ) );
clans.c:	    KEY( "IllegalPK",	clan->illegal_pk,	fread_number( fp ) );
clans.c:	    KEY( "Leader",	clan->leader,		fread_string( fp ) );
clans.c:	    KEY( "MDeaths",	clan->mdeaths,		fread_number( fp ) );
clans.c:            KEY( "Members",	clan->num_members,     	fread_number( fp ) );
clans.c:	    KEY( "MemLimit",	clan->mem_limit,	fread_number( fp ) );
clans.c:	    KEY( "MKills",	clan->mkills,		fread_number( fp ) );
clans.c:	    KEY( "Motto",	clan->motto,		fread_string( fp ) );
clans.c:	    KEY( "Name",	clan->name,		fread_string( fp ) );
clans.c:            KEY( "NameMembers", clan->members,          fread_string_nohash( fp ) );
clans.c:            KEY( "NumberOne",	clan->number1,		fread_string( fp ) );
clans.c:	    KEY( "NumberTwo",	clan->number2,		fread_string( fp ) );
clans.c:	    KEY( "PDeaths",	clan->pdeaths[6],	fread_number( fp ) );
clans.c:	    KEY( "PKills",	clan->pkills[6],	fread_number( fp ) );
clans.c:		clan->pdeaths[0] = fread_number( fp );
clans.c:		clan->pdeaths[1] = fread_number( fp );
clans.c:		clan->pdeaths[2] = fread_number( fp );
clans.c:		clan->pdeaths[3] = fread_number( fp );
clans.c:		clan->pdeaths[4] = fread_number( fp );
clans.c:		clan->pdeaths[5] = fread_number( fp );
clans.c:		clan->pdeaths[6] = fread_number( fp );
clans.c:		clan->pkills[0] = fread_number( fp );
clans.c:		clan->pkills[1] = fread_number( fp );
clans.c:		clan->pkills[2] = fread_number( fp );
clans.c:		clan->pkills[3] = fread_number( fp );
clans.c:		clan->pkills[4] = fread_number( fp );
clans.c:		clan->pkills[5] = fread_number( fp );
clans.c:		clan->pkills[6] = fread_number( fp );
clans.c:	    KEY( "Recall",	clan->recall,		fread_number( fp ) );
clans.c:	    KEY( "Score",	clan->score,		fread_number( fp ) );
clans.c:	    KEY( "Strikes",	clan->strikes,		fread_number( fp ) );
clans.c:	    KEY( "Storeroom",	clan->storeroom,	fread_number( fp ) );
clans.c:	    KEY( "Type",	clan->clan_type,	fread_number( fp ) );
clans.c:	    KEY( "Board",	council->board,		fread_number( fp ) );
clans.c:	    KEY( "Description",	council->description,	fread_string( fp ) );
clans.c:		if (!council->name)
clans.c:                    council->name      	= STRALLOC( "" );
clans.c:                if (!council->description)
clans.c:                    council->description= STRALLOC( "" );
clans.c:                if (!council->powers)
clans.c:                    council->powers	= STRALLOC( "" );
clans.c:                if( !council->members )
clans.c:                    council->members    = str_dup( "" );
clans.c:	    KEY( "Filename",	council->filename,	fread_string_nohash( fp ) );
clans.c:	    KEY( "Head", 	council->head, 		fread_string( fp ) );
clans.c:            KEY ("Head2", 	council->head2, 	fread_string( fp ) );
clans.c:	    KEY( "Members",	council->num_members,	fread_number( fp ) );
clans.c:	    KEY( "Meeting",   	council->meeting, 	fread_number( fp ) );
clans.c:	    KEY( "Name",	council->name,		fread_string( fp ) );
clans.c:            KEY( "NameMembers", council->members,       fread_string_nohash( fp ) );
clans.c:	    KEY( "Powers",	council->powers,	fread_string( fp ) );
clans.c:    /* Make sure we default these to 0 --Shaddai */
clans.c:    clan->pkills[0] = 0;
clans.c:    clan->pkills[1] = 0;
clans.c:    clan->pkills[2] = 0;
clans.c:    clan->pkills[3] = 0;
clans.c:    clan->pkills[4] = 0;
clans.c:    clan->pkills[5] = 0;
clans.c:    clan->pkills[6] = 0;
clans.c:    clan->pdeaths[0]= 0;
clans.c:    clan->pdeaths[1]= 0;
clans.c:    clan->pdeaths[2]= 0;
clans.c:    clan->pdeaths[3]= 0;
clans.c:    clan->pdeaths[4]= 0;
clans.c:    clan->pdeaths[5]= 0;
clans.c:    clan->pdeaths[6]= 0;
clans.c:	if ( clan->storeroom == 0
clans.c:	|| (storeroom = get_room_index( clan->storeroom )) == NULL )
clans.c:	sprintf( filename, "%s%s.vault", CLAN_DIR, clan->filename );
clans.c:		    bug( clan->name, 0 );
clans.c:		    bug( clan->name, 0 );
clans.c:	    for ( tobj = supermob->first_carrying; tobj; tobj = tobj_next )
clans.c:		tobj_next = tobj->next_content;
clans.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan )
clans.c:    clan = ch->pcdata->clan;
clans.c:    if ( str_cmp( ch->name, clan->leader )
clans.c:    &&   str_cmp( ch->name, clan->deity )
clans.c:/*    &&  (clan->clan_type != CLAN_GUILD
clans.c:    ||   (str_cmp( ch->name, clan->number1 )
clans.c:    || str_cmp( ch->name, clan->number2 ))) ) */
clans.c:    && str_cmp( ch->name, clan->number1 )
clans.c:    && str_cmp( ch->name, clan->number2 ) )
clans.c:        pObjIndex = get_obj_index( clan->clanobj1 );
clans.c:        strcat(buf, (pObjIndex ? pObjIndex->name : ""));
clans.c:        pObjIndex = get_obj_index( clan->clanobj2 );
clans.c:        strcat(buf, (pObjIndex ? pObjIndex->name : ""));
clans.c:        pObjIndex = get_obj_index( clan->clanobj3 );
clans.c:        strcat(buf, (pObjIndex ? pObjIndex->name : ""));
clans.c:        pObjIndex = get_obj_index( clan->clanobj4 );
clans.c:        strcat(buf, (pObjIndex ? pObjIndex->name : ""));
clans.c:        pObjIndex = get_obj_index( clan->clanobj5 );
clans.c:        strcat(buf, (pObjIndex ? pObjIndex->name : ""));
clans.c:    pObjIndex = get_obj_index( clan->clanobj1 );
clans.c:    if ( !pObjIndex || !is_name( arg, pObjIndex->name ) )
clans.c:      pObjIndex = get_obj_index( clan->clanobj2 );
clans.c:    if ( !pObjIndex || !is_name( arg, pObjIndex->name ) )
clans.c:      pObjIndex = get_obj_index( clan->clanobj3 );
clans.c:    if ( !pObjIndex || !is_name( arg, pObjIndex->name ) )
clans.c:      pObjIndex = get_obj_index( clan->clanobj4 );
clans.c:    if ( !pObjIndex || !is_name( arg, pObjIndex->name ) )
clans.c:      pObjIndex = get_obj_index( clan->clanobj5 );
clans.c:    if ( !pObjIndex || !is_name( arg, pObjIndex->name ) )
clans.c:    xSET_BIT( obj->extra_flags, ITEM_CLANOBJECT );
clans.c:      obj = obj_to_room( obj, ch->in_room );
clans.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan )
clans.c:    clan = ch->pcdata->clan;
clans.c:    if ( (ch->pcdata && ch->pcdata->bestowments
clans.c:    &&    is_name("induct", ch->pcdata->bestowments))
clans.c:    ||   !str_cmp( ch->name, clan->deity   )
clans.c:    ||   !str_cmp( ch->name, clan->leader  )
clans.c:    ||   !str_cmp( ch->name, clan->number1 )
clans.c:    ||   !str_cmp( ch->name, clan->number2 ) 
clans.c:    ||   IS_SET( ch->pcdata->flags, PCFLAG_INDUCTOR) )
clans.c:    if ( clan->clan_type == CLAN_GUILD )
clans.c:	if ( is_class( victim, clan->class))
clans.c:	if ( victim->level < 10 )
clans.c:	if ( victim->level > ch->level )
clans.c:    if ( victim->pcdata->clan )
clans.c:        if ( victim->pcdata->clan->clan_type == CLAN_ORDER )
clans.c:            if ( victim->pcdata->clan == clan )
clans.c:        else if ( victim->pcdata->clan->clan_type == CLAN_GUILD )
clans.c:            if ( victim->pcdata->clan == clan )
clans.c:            if ( victim->pcdata->clan == clan )
clans.c:    if ( clan->mem_limit && clan->num_members >= clan->mem_limit )
clans.c:    clan->num_members++;
clans.c:    if ( clan->clan_type != CLAN_ORDER && clan->clan_type != CLAN_GUILD )
clans.c:        SET_BIT(victim->speaks, LANG_CLAN);
clans.c:/*    if ( clan->clan_type != CLAN_NOKILL && clan->clan_type != CLAN_ORDER
clans.c:    &&   clan->clan_type != CLAN_GUILD )
clans.c:      SET_BIT( victim->pcdata->flags, PCFLAG_DEADLY ); -- Scion */
clans.c:    if ( clan->clan_type != CLAN_GUILD && clan->clan_type != CLAN_ORDER
clans.c:    &&   clan->clan_type != CLAN_NOKILL )
clans.c:	    if (skill_table[sn]->guild == clan->class &&
clans.c:		skill_table[sn]->name != NULL )
clans.c:		victim->pcdata->learned[sn] = GET_ADEPT(victim, sn);
clans.c:		ch_printf( victim, "%s instructs you in the ways of %s.\n\r", ch->name, skill_table[sn]->name);
clans.c:    victim->pcdata->clan = clan;
clans.c:    STRFREE(victim->pcdata->clan_name);
clans.c:    victim->pcdata->clan_name = QUICKLINK( clan->name );
clans.c:    add_clan_member( clan, victim->name );
clans.c:    act( AT_MAGIC, "You induct $N into $t", ch, clan->name, victim, TO_CHAR );
clans.c:    act( AT_MAGIC, "$n inducts $N into $t", ch, clan->name, victim, TO_NOTVICT );
clans.c:    act( AT_MAGIC, "$n inducts you into $t", ch, clan->name, victim, TO_VICT );
clans.c:    sprintf(buf, "%s has been inducted into %s!", victim->name, clan->name);
clans.c:  if ((council->head == NULL || str_cmp (ch->name, council->head))
clans.c:      && ( council->head2 == NULL || str_cmp ( ch->name, council->head2 ))
clans.c:      && str_cmp (council->name, "mortal council"))
clans.c:/*    if ( victim->level < LEVEL_NEOPHYTE )
clans.c:    if ( council != ch->pcdata->council
clans.c:        && council != ch->pcdata->council2 )
clans.c:    if ( victim->pcdata->council )
clans.c:        if ( victim->pcdata->council2 )
clans.c:        council->num_members++;
clans.c:        victim->pcdata->council2 = council;
clans.c:        STRFREE(victim->pcdata->council2_name);
clans.c:        victim->pcdata->council2_name = QUICKLINK( council->name );
clans.c:        act( AT_MAGIC, "You induct $N into $t", ch, council->name, victim, TO_CHAR );
clans.c:        act( AT_MAGIC, "$n inducts $N into $t", ch, council->name, victim, TO_ROOM );
clans.c:        act( AT_MAGIC, "$n inducts you into $t", ch, council->name, victim, TO_VICT );
clans.c:        add_council_member( council, victim->name );
clans.c:    council->num_members++;
clans.c:    victim->pcdata->council = council;
clans.c:    STRFREE(victim->pcdata->council_name);
clans.c:    victim->pcdata->council_name = QUICKLINK( council->name );
clans.c:    act( AT_MAGIC, "You induct $N into $t", ch, council->name, victim, TO_CHAR );
clans.c:    act( AT_MAGIC, "$n inducts $N into $t", ch, council->name, victim, TO_ROOM );
clans.c:    act( AT_MAGIC, "$n inducts you into $t", ch, council->name, victim, TO_VICT );
clans.c:    sprintf(buf, "%s has been inducted into %s!", victim->name, council->name);
clans.c:    add_council_member( council, victim->name );
clans.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan )
clans.c:    clan = ch->pcdata->clan;
clans.c:    if ( (ch->pcdata && ch->pcdata->bestowments
clans.c:    &&    is_name("outcast", ch->pcdata->bestowments))
clans.c:    ||   !str_cmp( ch->name, clan->deity   )
clans.c:    ||   !str_cmp( ch->name, clan->leader  )
clans.c:    ||   !str_cmp( ch->name, clan->number1 )
clans.c:    ||   !str_cmp( ch->name, clan->number2 ) 
clans.c:	||   IS_SET( ch->pcdata->flags, PCFLAG_INDUCTOR))
clans.c:	if ( ch->pcdata->clan->clan_type == CLAN_ORDER )
clans.c:	if ( ch->pcdata->clan->clan_type == CLAN_GUILD )
clans.c:    if ( victim->level > ch->level )
clans.c:    if ( victim->pcdata->clan != ch->pcdata->clan )
clans.c:	if ( ch->pcdata->clan->clan_type == CLAN_ORDER )
clans.c:	if ( ch->pcdata->clan->clan_type == CLAN_GUILD )
clans.c:    if ( clan->clan_type != CLAN_GUILD && clan->clan_type != CLAN_ORDER
clans.c:    &&   clan->clan_type != CLAN_NOKILL )
clans.c:	    if ( skill_table[sn]->guild == victim->pcdata->clan->class
clans.c:	    &&   skill_table[sn]->name != NULL )
clans.c:		victim->pcdata->learned[sn] = 0;
clans.c:		ch_printf( victim, "You forget the ways of %s.\n\r", skill_table[sn]->name);
clans.c:    if ( victim->speaking & LANG_CLAN )
clans.c:        victim->speaking = LANG_COMMON;
clans.c:    REMOVE_BIT( victim->speaks, LANG_CLAN );
clans.c:    --clan->num_members;
clans.c:    if ( !str_cmp( victim->name, ch->pcdata->clan->number1 ) )
clans.c:	STRFREE( ch->pcdata->clan->number1 );
clans.c:	ch->pcdata->clan->number1 = STRALLOC( "" );
clans.c:    if ( !str_cmp( victim->name, ch->pcdata->clan->number2 ) )
clans.c:	STRFREE( ch->pcdata->clan->number2 );
clans.c:	ch->pcdata->clan->number2 = STRALLOC( "" );
clans.c:    victim->pcdata->clan = NULL;
clans.c:    STRFREE(victim->pcdata->clan_name);
clans.c:    victim->pcdata->clan_name = STRALLOC( "" );
clans.c:    act( AT_MAGIC, "You outcast $N from $t", ch, clan->name, victim, TO_CHAR );
clans.c:    act( AT_MAGIC, "$n outcasts $N from $t", ch, clan->name, victim, TO_ROOM );
clans.c:    act( AT_MAGIC, "$n outcasts you from $t", ch, clan->name, victim, TO_VICT );
clans.c:    if ( clan->clan_type != CLAN_GUILD )
clans.c:	sprintf(buf, "%s has been outcasted from %s!", victim->name, clan->name);
clans.c:    rem_clan_member( clan, victim->name );
clans.c:/*    if ( clan->clan_type != CLAN_GUILD )
clans.c:	xSET_BIT(victim->act, PLR_OUTCAST);
clans.c:  if ((council->head == NULL || str_cmp (ch->name, council->head))
clans.c:      && ( council->head2 == NULL || str_cmp ( ch->name, council->head2 ))
clans.c:      && str_cmp (council->name, "mortal council"))
clans.c:    if ( council != ch->pcdata->council 
clans.c:         && council != ch->pcdata->council2 )
clans.c:    if ( victim->pcdata->council != council )
clans.c:        if ( victim->pcdata->council2 != council )
clans.c:            --council->num_members;
clans.c:            victim->pcdata->council2 = NULL;
clans.c:            STRFREE(victim->pcdata->council2_name);
clans.c:            victim->pcdata->council2_name = STRALLOC( "" );
clans.c:            act( AT_MAGIC, "You outcast $N from $t", ch, council->name, victim, TO_CHAR );
clans.c:            act( AT_MAGIC, "$n outcasts $N from $t", ch, council->name, victim, TO_ROOM );
clans.c:            act( AT_MAGIC, "$n outcasts you from $t", ch, council->name, victim, TO_VICT );
clans.c:            sprintf(buf, "%s has been outcasted from %s", victim->name, council->name);
clans.c:            rem_council_member( council, victim->name );
clans.c:    --council->num_members;
clans.c:    victim->pcdata->council2 = NULL;
clans.c:    STRFREE(victim->pcdata->council2_name);
clans.c:    victim->pcdata->council2_name = STRALLOC( "" );
clans.c:    act( AT_MAGIC, "You outcast $N from $t", ch, council->name, victim, TO_CHAR );
clans.c:    act( AT_MAGIC, "$n outcasts $N from $t", ch, council->name, victim, TO_ROOM );
clans.c:    act( AT_MAGIC, "$n outcasts you from $t", ch, council->name, victim, TO_VICT );
clans.c:    rem_council_member( council, victim->name );
clans.c:            send_to_char(" pkill1-7 pdeath1-7\n\r", ch );
clans.c:	STRFREE( clan->deity );
clans.c:	clan->deity = STRALLOC( argument );
clans.c:	STRFREE( clan->leader );
clans.c:	clan->leader = STRALLOC( argument );
clans.c:	STRFREE( clan->number1 );
clans.c:	clan->number1 = STRALLOC( argument );
clans.c:	STRFREE( clan->number2 );
clans.c:	clan->number2 = STRALLOC( argument );
clans.c:	STRFREE( clan->badge );
clans.c:	clan->badge = STRALLOC( argument );
clans.c:	clan->board = atoi( argument );
clans.c:    	clan->mem_limit = atoi( argument );
clans.c:	clan->num_members = atoi( argument );
clans.c:	clan->recall = atoi( argument );
clans.c:	clan->storeroom = atoi( argument );
clans.c:	clan->clanobj1 = atoi( argument );
clans.c:	clan->clanobj2 = atoi( argument );
clans.c:	clan->clanobj3 = atoi( argument );
clans.c:        clan->clanobj4 = atoi( argument );
clans.c:        clan->clanobj5 = atoi( argument );
clans.c:	clan->guard1 = atoi( argument );
clans.c:	clan->guard2 = atoi( argument );
clans.c:	clan->alignment = atoi( argument );
clans.c:	  clan->clan_type = CLAN_ORDER;
clans.c:	  clan->clan_type = CLAN_GUILD;
clans.c:	  clan->clan_type = atoi( argument );
clans.c:	clan->class = atoi( argument );
clans.c:	STRFREE( clan->name );
clans.c:	clan->name = STRALLOC( argument );
clans.c:	DISPOSE( clan->filename );
clans.c:	clan->filename = str_dup( argument );
clans.c:	STRFREE( clan->motto );
clans.c:	clan->motto = STRALLOC( argument );
clans.c:	STRFREE( clan->description );
clans.c:	clan->description = STRALLOC( argument );
clans.c:	clan->pkills[temp_value] = atoi( argument );
clans.c:	clan->pdeaths[temp_value] = atoi( argument );
clans.c:	STRFREE( council->head );
clans.c:	council->head = STRALLOC( argument );
clans.c:        if ( council->head2 != NULL )
clans.c:            STRFREE (council->head2);
clans.c:            council->head2 = NULL;
clans.c:            council->head2 = STRALLOC (argument);
clans.c:	council->board = atoi( argument );
clans.c:	council->num_members = atoi( argument );
clans.c:	council->meeting = atoi( argument );
clans.c:	STRFREE( council->name );
clans.c:	council->name = STRALLOC( argument );
clans.c:	DISPOSE( council->filename );
clans.c:	council->filename = str_dup( argument );
clans.c:	STRFREE( council->description );
clans.c:	council->description = STRALLOC( argument );
clans.c:	STRFREE( council->powers );
clans.c:	council->powers = STRALLOC( argument );
clans.c: * Added multiple levels on pkills and pdeaths. -- Shaddai
clans.c:			clan->clan_type == CLAN_ORDER ? "Order" :
clans.c:		       (clan->clan_type == CLAN_GUILD ? "Guild" : "Clan"),
clans.c:    			clan->name,
clans.c:			clan->badge ? clan->badge : "(not set)",
clans.c:    			clan->filename,
clans.c:    			clan->motto );
clans.c:    			clan->description,
clans.c:    			clan->deity,
clans.c:    			clan->leader );
clans.c:    			clan->number1,
clans.c:    			clan->number2);
clans.c:    ch_printf_color( ch, "&wPKills   : &w1-9:&W%-3d &w10-14:&W%-3d &w15-19:&W%-3d &w20-29:&W%-3d &w30-39:&W%-3d &w40-49:&W%-3d &w50:&W%-3d\n\r",  
clans.c:    			clan->pkills[0], clan->pkills[1], clan->pkills[2],
clans.c:    			clan->pkills[3], clan->pkills[4], clan->pkills[5],
clans.c:			clan->pkills[6]);
clans.c:    ch_printf_color( ch, "&wPDeaths  : &w1-9:&W%-3d &w10-14:&W%-3d &w15-19:&W%-3d &w20-29:&W%-3d &w30-39:&W%-3d &w40-49:&W%-3d &w50:&W%-3d\n\r",  
clans.c:    			clan->pdeaths[0], clan->pdeaths[1], clan->pdeaths[2],
clans.c:    			clan->pdeaths[3], clan->pdeaths[4], clan->pdeaths[5],
clans.c:			clan->pdeaths[6] );
clans.c:    ch_printf_color( ch, "&wIllegalPK: &W%-6d\n\r",
clans.c:			clan->illegal_pk );
clans.c:    ch_printf_color( ch, "&wMKills   : &W%-6d   &wMDeaths: &W%-6d\n\r",
clans.c:    			clan->mkills,
clans.c:    			clan->mdeaths );
clans.c:    ch_printf_color( ch, "&wScore    : &W%-6d   &wFavor  : &W%-6d   &wStrikes: &W%d\n\r",
clans.c:    			clan->score,
clans.c:    			clan->favour,
clans.c:    			clan->strikes );
clans.c:    ch_printf_color( ch, "&wMembers  : &W%-6d   &wMLimit : &W%-6d   &wAlign  : &W%-6d",
clans.c:    			clan->num_members,
clans.c:    			clan->mem_limit,
clans.c:                     clan->alignment );
clans.c:    if ( clan->clan_type == CLAN_GUILD )
clans.c:			clan->class,
clans.c:			npc_class[clan->class] );
clans.c:    ch_printf_color( ch, "&wMembers  : &W%s\n\r", clan->members );
clans.c:    ch_printf_color( ch, "&wBoard    : &W%-5d    &wRecall : &W%-5d    &wStorage: &W%-5d\n\r",
clans.c:			clan->board,
clans.c:			clan->recall,
clans.c:			clan->storeroom ); 
clans.c:    ch_printf_color( ch, "&wGuard1   : &W%-5d    &wGuard2 : &W%-5d\n\r",
clans.c: 			clan->guard1,
clans.c:			clan->guard2 );
clans.c:    			clan->clanobj1,
clans.c:    			clan->clanobj2,
clans.c:    			clan->clanobj3,
clans.c:			clan->clanobj4,
clans.c:			clan->clanobj5 );
clans.c:                     council->name,
clans.c:                     council->filename );
clans.c:    ch_printf_color (ch, "&wHead:      &W%s\n\r", council->head );
clans.c:    ch_printf_color (ch, "&wHead2:     &W%s\n\r", (council->head2) ?
clans.c:                     council->head2 : "" );
clans.c:    ch_printf_color (ch, "&wMembers:   &W%-d\n\r", council->num_members );
clans.c:    ch_printf_color (ch, "&wMembers:   &W%s\n\r", council->members );
clans.c:    ch_printf_color( ch, "&wBoard:     &W%-5d\n\r&wMeeting:   &W%-5d\n\r&wPowers:    &W%s\n\r",
clans.c:                     council->board,
clans.c:                     council->meeting,
clans.c:                     council->powers );
clans.c:    ch_printf_color( ch, "&wDescription:\n\r&W%s\n\r", council->description );
clans.c:    clan->name		= STRALLOC( argument );
clans.c:    clan->motto		= STRALLOC( "" );
clans.c:    clan->description	= STRALLOC( "" );
clans.c:    clan->deity		= STRALLOC( "" );
clans.c:    clan->leader	= STRALLOC( "" );
clans.c:    clan->number1	= STRALLOC( "" );
clans.c:    clan->number2	= STRALLOC( "" );
clans.c:    clan->badge		= STRALLOC( "" );
clans.c:    clan->members       = str_dup( "" );
clans.c:    council->name		= STRALLOC( argument );
clans.c:    council->head		= STRALLOC( "" );
clans.c:    council->head2 		= NULL;
clans.c:    council->powers		= STRALLOC( "" );
clans.c:    council->members            = str_dup( "" );
clans.c: * Added multiple level pkill and pdeath support. --Shaddai
clans.c:        for ( clan = first_clan; clan; clan = clan->next )
clans.c:            if ( clan->clan_type == CLAN_ORDER || clan->clan_type == CLAN_GUILD )
clans.c:            ch_printf( ch, "%-13s %-13s %-13s", clan->name, clan->deity, clan->leader );
clans.c:                        clan->pkills[6],
clans.c:                       (clan->pkills[2]+clan->pkills[3]+
clans.c:                        clan->pkills[4]+clan->pkills[5]) );
clans.c:    if ( !clan || clan->clan_type == CLAN_GUILD || clan->clan_type == CLAN_ORDER )
clans.c:    ch_printf( ch, "\n\r%s, '%s'\n\r\n\r", clan->name, clan->motto );
clans.c:    ch_printf_color( ch, "    &w15-19...  &r%-4d\n\r    &w20-29...  &r%-4d\n\r    &w30-39...  &r%-4d\n\r    &w40-49...  &r%-4d\n\r",
clans.c:                     clan->pkills[2],
clans.c:                     clan->pkills[3],
clans.c:                     clan->pkills[4],
clans.c:                     clan->pkills[5] );
clans.c:    ch_printf_color( ch, "   &wAvatar...  &r%-4d\n\r",
clans.c:                     clan->pkills[6] );
clans.c:               clan->leader,
clans.c:               clan->number1,
clans.c:               clan->number2,
clans.c:               clan->deity );
clans.c:    if ( !str_cmp( ch->name, clan->deity   )
clans.c:    ||   !str_cmp( ch->name, clan->leader  )
clans.c:    ||   !str_cmp( ch->name, clan->number1 )
clans.c:    ||   !str_cmp( ch->name, clan->number2 ) )
clans.c:        ch_printf( ch, "# of Members:  %d\n\r", clan->num_members );
clans.c:        ch_printf( ch, "Current members: %s\n\r", clan->members );
clans.c:    ch_printf( ch, "\n\rDescription:  %s\n\r", clan->description );
clans.c:        for ( order = first_clan; order; order = order->next )
clans.c:        if ( order->clan_type == CLAN_ORDER )
clans.c:            ch_printf( ch, "%-16s %-14s %-14s   %-7d       %5d\n\r",
clans.c:	      order->name, order->deity, order->leader, order->mkills, order->mdeaths );
clans.c:    if ( !order || order->clan_type != CLAN_ORDER )
clans.c:    ch_printf( ch, "\n\rOrder of %s\n\r'%s'\n\r\n\r", order->name, order->motto );
clans.c:                        order->deity,
clans.c:                        order->leader,
clans.c:                        order->number1,
clans.c:                        order->number2 );
clans.c:    if ( !str_cmp( ch->name, order->deity   )
clans.c:    ||   !str_cmp( ch->name, order->leader  )
clans.c:    ||   !str_cmp( ch->name, order->number1 )
clans.c:    ||   !str_cmp( ch->name, order->number2 ) )
clans.c:        ch_printf( ch, "# of Members:  %d\n\r", order->num_members );
clans.c:        ch_printf( ch, "Current members: %s\n\r", order->members );
clans.c:    ch_printf( ch, "\n\rDescription:\n\r%s\n\r", order->description );
clans.c:        for (council = first_council; council; council = council->next)
clans.c:            if ( council->head2 != NULL )
clans.c:                ch_printf_color (ch, "&w%-24s %s and %s\n\r",  council->name,
clans.c:                                 council->head, council->head2 );
clans.c:                ch_printf_color (ch, "&w%-24s %-14s\n\r", council->name, council->head);
clans.c:    ch_printf_color( ch, "&c\n\r%s\n\r", council->name );
clans.c:    if ( council->head2 == NULL )
clans.c:                         council->head, council->num_members );
clans.c:        ch_printf_color (ch, "&cCo-Heads:     &w%s &cand &w%s\n\r&cMembers:  &w%d\n\r",
clans.c:                         council->head, council->head2, council->num_members );
clans.c:    ch_printf_color( ch, "&cMembers: &w%s\n\r", council->members );
clans.c:                     council->description );
clans.c:        for ( guild = first_clan; guild; guild = guild->next )
clans.c:        if ( guild->clan_type == CLAN_GUILD )
clans.c:	    ch_printf( ch, "%-20s   %-14s     %-6d       %6d\n\r", guild->name, guild->leader, guild->mkills, guild->mdeaths );
clans.c:    if ( !guild || guild->clan_type != CLAN_GUILD )
clans.c:    ch_printf( ch, "\n\r%s\n\r", guild->name );
clans.c:                        guild->leader,
clans.c:                        guild->number1,
clans.c:                        guild->number2,
clans.c:			guild->motto );
clans.c:    if ( !str_cmp( ch->name, guild->deity   )
clans.c:    ||   !str_cmp( ch->name, guild->leader  )
clans.c:    ||   !str_cmp( ch->name, guild->number1 )
clans.c:    ||   !str_cmp( ch->name, guild->number2 ) )
clans.c:        ch_printf( ch, "# of Members:   %d\n\r", guild->num_members );
clans.c:        ch_printf( ch, "Current members: %s\n\r", guild->members );
clans.c:    ch_printf( ch, "Guild Description:\n\r%s\n\r", guild->description );
clans.c:    if ( IS_NPC( ch ) || !ch->pcdata->clan ) {
clans.c:    if ( ch->pcdata->clan->clan_type != CLAN_ORDER
clans.c:    &&   ch->pcdata->clan->clan_type != CLAN_GUILD ) {
clans.c:          CLAN_DIR, ch->pcdata->clan->name );
clans.c:	if ( !str_cmp( ch->name, ch->pcdata->clan->leader )
clans.c:    || !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) )
clans.c:    } -- Scion */
clans.c:    || !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) )
clans.c:    } -- Scion */
clans.c:    if ( ch->level - victim->level > 10 
clans.c:    ||   victim->level - ch->level > 10 )
clans.c:    if ( (victim->position) != POS_STANDING )
clans.c:    if ( IS_SET(victim->in_room->room_flags, ROOM_SAFE)
clans.c:    victim->position = POS_SHOVE;
clans.c:    if ((pexit = get_exit(ch->in_room, exit_dir)) == NULL )
clans.c:    if ( IS_SET(pexit->exit_info, EX_CLOSED)
clans.c:    ||   IS_SET(pexit->exit_info, EX_NOPASSDOOR)) )
clans.c:        victim->position = POS_STANDING;
clans.c:    to_room = pexit->to_room;
clans.c:    if (IS_SET(to_room->room_flags, ROOM_DEATH))
clans.c:      victim->position = POS_STANDING;
clans.c:    if (ch->in_room->area != to_room->area
clans.c:    &&  !in_hard_range( victim, to_room->area ) )
clans.c:      victim->position = POS_STANDING;
clans.c:    chance += ((get_curr_str(ch) - 15) * 3);
clans.c:    chance += (ch->level - victim->level);
clans.c:    if (ch->race == 1)
clans.c:        race_bonus = -3;
clans.c:    else if (ch->race == 2)
clans.c:    else if (ch->race == 3)
clans.c:        race_bonus = -5;
clans.c:    else if (ch->race == 4)
clans.c:        race_bonus = -7;
clans.c:    else if (ch->race == 6)
clans.c:    else if (ch->race == 7)
clans.c:    else if (ch->race == 8)
clans.c:    else if (ch->race == 9)
clans.c:        race_bonus = -2;
clans.c:    /* Debugging purposes - show percentage for testing */
clans.c:    /* sprintf(buf, "Shove percentage of %s = %d", ch->name, chance);
clans.c:        victim->position = POS_STANDING;
clans.c:    move_char( victim, get_exit(ch->in_room,exit_dir), 0);
clans.c:        victim->position = POS_STANDING;
clans.c:    /* Remove protection from shove/drag if char shoves -- Blodkai */
clans.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_SAFE)
clans.c:    /* || !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) )  */
clans.c:         /* || !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) ) */
clans.c:    if ( !xIS_SET( victim->act, PLR_SHOVEDRAG)
clans.c:/*    &&   !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY) -- Scion */)
clans.c:    if ( victim->fighting )
clans.c:/*    if( !IS_SET(ch->pcdata->flags, PCFLAG_DEADLY ) && IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) ){
clans.c:    } -- Scion */
clans.c:    if ( /*!IS_SET(victim->pcdata->flags, PCFLAG_DEADLY) && -- Scion */ victim->position > 3 )
clans.c:    if ( ch->level - victim->level > 10
clans.c:    ||   victim->level - ch->level > 10 )
clans.c:/*	if ( IS_SET(victim->pcdata->flags, PCFLAG_DEADLY)
clans.c:	&&   IS_SET(ch->pcdata->flags, PCFLAG_DEADLY) ) -- Scion */
clans.c:    if ( IS_SET(victim->in_room->room_flags, ROOM_SAFE)
clans.c:    if ((pexit = get_exit(ch->in_room, exit_dir)) == NULL )
clans.c:    if ( IS_SET(pexit->exit_info, EX_CLOSED)
clans.c:    ||   IS_SET(pexit->exit_info, EX_NOPASSDOOR)) )
clans.c:    to_room = pexit->to_room;
clans.c:    if (IS_SET(to_room->room_flags, ROOM_DEATH))
clans.c:    if (ch->in_room->area != to_room->area
clans.c:    && !in_hard_range( victim, to_room->area ) )
clans.c:      victim->position = POS_STANDING;
clans.c:    chance += ((get_curr_str(ch) - 15) * 3);
clans.c:    chance += (ch->level - victim->level);
clans.c:    if (ch->race == 1)
clans.c:        race_bonus = -3;
clans.c:    else if (ch->race == 2)
clans.c:    else if (ch->race == 3)
clans.c:        race_bonus = -5;
clans.c:    else if (ch->race == 4)
clans.c:        race_bonus = -7;
clans.c:    else if (ch->race == 6)
clans.c:    else if (ch->race == 7)
clans.c:    else if (ch->race == 8)
clans.c:    else if (ch->race == 9)
clans.c:        race_bonus = -2;
clans.c:     sprintf(buf, "Drag percentage of %s = %d", ch->name, chance);
clans.c:        victim->position = POS_STANDING;
clans.c:    if ( victim->position < POS_STANDING )
clans.c:	temp = victim->position;
clans.c:	victim->position = POS_DRAG;
clans.c:	move_char( victim, get_exit(ch->in_room,exit_dir), 0);
clans.c:	  victim->position = temp;
clans.c:/* Move ch to the room too.. they are doing dragging - Scryn */
clans.c:	move_char( ch, get_exit(ch->in_room,exit_dir), 0);
comm.c: * -----------------------------------------------------------|   (0...0)   *
comm.c: * -----------------------------------------------------------|    {o o}    *
comm.c: * ------------------------------------------------------------------------ *
comm.c: * ------------------------------------------------------------------------ *
comm.c: *			 Low-level communication module			    *
comm.c:/* For ispell -- Kratas */
comm.c: * OS-dependent local functions.
comm.c: * Other local functions (OS-independent).
comm.c:        desc_next = desc->next;
comm.c:        if( desc->character )
comm.c:            desc->character->desc = NULL;
comm.c:            desc->character = NULL;
comm.c:        ch_next = ch->next;
comm.c:            cmd_next = cmd->next;
comm.c:        help_next = help->next;
comm.c:        STRFREE( help->text );
comm.c:        STRFREE( help->keyword );
comm.c:        morph_next = morph->next;
comm.c:            social_next = social->next;
comm.c:        board_next = board->next;
comm.c:        for( note = board->first_note ; note ; note = note_next )
comm.c:            note_next = note->next;
comm.c:        DISPOSE( board->note_file );
comm.c:        DISPOSE( board->read_group );
comm.c:        DISPOSE( board->post_group );
comm.c:        DISPOSE( board->extra_readers );
comm.c:        DISPOSE( board->extra_removers );
comm.c:        area_next = area->next;
comm.c:        DISPOSE( area->weather );
comm.c:            for( ch = room->first_person ; ch ; ch = ch->next )
comm.c:        if( !skill_table[sn]->name )
comm.c:        DISPOSE( skill->name );
comm.c:        if( skill->affects )
comm.c:            for( aff = skill->affects ; aff ; aff = aff_next )
comm.c:                aff_next = aff->next;
comm.c:                DISPOSE( aff->duration );
comm.c:                DISPOSE( aff->modifier );
comm.c:        DISPOSE( skill->components );
comm.c:        DISPOSE( skill->noun_damage );
comm.c:        DISPOSE( skill->dice );
comm.c:        if( skill->die_char )
comm.c:            DISPOSE( skill->die_char );
comm.c:        if( skill->die_room )
comm.c:            DISPOSE( skill->die_room );
comm.c:        if( skill->die_vict )
comm.c:            DISPOSE( skill->die_vict );
comm.c:        DISPOSE( skill->hit_char );
comm.c:        DISPOSE( skill->hit_dest );
comm.c:        DISPOSE( skill->hit_room );
comm.c:        DISPOSE( skill->hit_vict );
comm.c:        DISPOSE( skill->imm_char );
comm.c:        DISPOSE( skill->imm_room );
comm.c:        DISPOSE( skill->imm_vict );
comm.c:        DISPOSE( skill->miss_char );
comm.c:        DISPOSE( skill->miss_room );
comm.c:        DISPOSE( skill->miss_vict );
comm.c:        DISPOSE( skill->teachers );
comm.c:        DISPOSE( skill->msg_off );
comm.c:        score_next = score->next;
comm.c:        destroy_hitable( score->keyword );
comm.c:        plane_next = plane->next;
comm.c:        STRFREE(plane->name);
comm.c:        watch_next =watch->next;
comm.c:        /* Oops someone forgot to clear up the memory --Shaddai */
comm.c:        if ( watch->imm_name ) DISPOSE ( watch->imm_name );
comm.c:        if ( watch->player_site ) DISPOSE( watch->player_site );
comm.c:        if ( watch->target_name ) DISPOSE( watch->target_name );
comm.c:         * pointer -- Shaddai
comm.c:            if( race->where_name[i] )
comm.c:                DISPOSE( race->where_name[i] );
comm.c:        shop_next = shop->next;
comm.c:        if( !class || !class->who_name )
comm.c:        STRFREE( class->who_name );
comm.c:    boot_time = time(0);         /*  <-- I think this is what you wanted */
comm.c:    set_boot_time->manual = 0;
comm.c:     new_boot_time to new_boot_struct again. -- Alty */
comm.c:    new_boot_time->tm_mday += 1; /* Should set reboots for every 1 days */
comm.c:    if(new_boot_time->tm_hour > 12)
comm.c:        new_boot_time->tm_mday += 1;
comm.c:    new_boot_time->tm_sec = 0;
comm.c:    new_boot_time->tm_min = 0;
comm.c:    new_boot_time->tm_hour = 6;
comm.c:    /* Start Ispell -- Kratas */
comm.c:     have one handy, and the man pages are ever-so-helpful.. -- Alty */
comm.c:    /* Save the world's position -- Scion */
comm.c:        for (vch = first_char; vch; vch = vch->next) {
comm.c:        for ( vch = first_char; vch; vch = vch->next )
comm.c:    if ( bind( fd, (struct sockaddr *) &sa, sizeof(sa) ) == -1 )
comm.c:  for ( ch = first_char; ch; ch = ch->next )
comm.c:    sprintf( buf, "%cPC: %-20s room: %d", IS_NPC(ch) ? 'N' : ' ',
comm.c:    		ch->name, ch->in_room->vnum );
comm.c: * LAG alarm!							-Thoric
comm.c: * Fixed little alarm_section bug in the sprintf -- Kratas
comm.c: * Determine whether this player is to be watched  --Gorog
comm.c:    for ( pw = first_watch; pw; pw = pw->next )
comm.c:        if ( pw->target_name )
comm.c:           if ( !str_cmp(pw->target_name, player_name)
comm.c:           &&   player_level < pw->imm_level )
comm.c:        if ( pw->player_site )
comm.c:           if ( !str_prefix(pw->player_site, player_site)
comm.c:           &&   player_level < pw->imm_level )
comm.c:	for ( d = first_descriptor; d; d = d->next )
comm.c:	    maxdesc = UMAX( maxdesc, d->descriptor );
comm.c:	    FD_SET( d->descriptor, &in_set  );
comm.c:	    FD_SET( d->descriptor, &out_set );
comm.c:	    FD_SET( d->descriptor, &exc_set );
comm.c:	 *				--Callidyrr
comm.c:	    if ( d == d->next )
comm.c:	      d->next = NULL;
comm.c: 	    d_next = d->next;
comm.c:	    d->idle++;	/* make it so a descriptor can idle out */
comm.c:	    if ( FD_ISSET( d->descriptor, &exc_set ) )
comm.c:		FD_CLR( d->descriptor, &in_set  );
comm.c:		FD_CLR( d->descriptor, &out_set );
comm.c:		if ( d->character
comm.c:		&& ( d->connected == CON_PLAYING
comm.c:                ||   d->connected == CON_EDITING
comm.c:                || ( d->connected >= CON_NOTE_TO
comm.c:                &&   d->connected <= CON_NOTE_FINISH)))
comm.c:                     save_char_obj( d->character );
comm.c:		d->outtop	= 0;
comm.c:	    if ( (!d->character && d->idle > 360)		  /* 2 mins */
comm.c:            ||   ( d->connected != CON_PLAYING && d->idle > 1200) /* 5 mins */
comm.c:	    ||     d->idle > 28800 )				  /* 2 hrs  */
comm.c:		d->outtop	= 0;
comm.c:		d->fcommand	= FALSE;
comm.c:		if ( FD_ISSET( d->descriptor, &in_set ) )
comm.c:			d->idle = 0;
comm.c:			if ( d->character )
comm.c:			  d->character->timer = 0;
comm.c:			    FD_CLR( d->descriptor, &out_set );
comm.c:			    if ( d->character
comm.c:			    && ( d->connected == CON_PLAYING
comm.c:                            ||   d->connected == CON_EDITING
comm.c:                            || ( d->connected >= CON_NOTE_TO
comm.c:                            &&   d->connected <= CON_NOTE_FINISH)))
comm.c:				save_char_obj( d->character );
comm.c:			    d->outtop	= 0;
comm.c:		if ( d->character && d->character->wait > 0 )
comm.c:			--d->character->wait;
comm.c:                /* Check for running aliases -- Scion */
comm.c:                if ( d->connected == CON_PLAYING && d->character->pcdata && d->character->pcdata->alias_queue != NULL )
comm.c:                    temp=d->character->pcdata->alias_queue;
comm.c:                    interpret( d->character, d->character->pcdata->alias_queue->cmd );
comm.c:                    d->character->pcdata->alias_queue = d->character->pcdata->alias_queue->next;
comm.c:                    d->character->pcdata->alias_used++;
comm.c:                    if (d->character->pcdata->alias_used >= 20) {
comm.c:                        d->character->pcdata->alias_queue=NULL;
comm.c:                        d->character->pcdata->alias_used=0;
comm.c:                        send_to_char("Infinite loop detected... Your alias has been terminated.\r\n", d->character);
comm.c:		if ( d->incomm[0] != '\0' )
comm.c:			d->fcommand	= TRUE;
comm.c:			stop_idling( d->character );
comm.c:			strcpy( cmdline, d->incomm );
comm.c:			d->incomm[0] = '\0';
comm.c:			if ( d->character )
comm.c:			  set_cur_char( d->character );
comm.c:                        if( d->character )
comm.c:                            if( IS_NPC( d->character ) )
comm.c:                                         d->character->pIndexData->vnum, d->character->name, d->character->in_room ?
comm.c:                                         d->character->in_room->vnum : 0, cmdline );
comm.c:                                         d->character->name, d->character->in_room ? d->character->in_room->vnum : 0, cmdline );
comm.c:                        if ( d->pagepoint )
comm.c:                            switch( d->connected )
comm.c:                                if (d->character && !IS_NPC(d->character))
comm.c:                                    d->character->pcdata->alias_used=0;
comm.c:                                interpret( d->character, cmdline );
comm.c:                                edit_buffer( d->character, cmdline );
comm.c:                                handle_con_note_text( d->character, cmdline );
comm.c:	    d_next = d->next;   
comm.c:	    if ( ( d->fcommand || d->outtop > 0 )
comm.c:	    &&   FD_ISSET(d->descriptor, &out_set) )
comm.c:	        if ( d->pagepoint )
comm.c:	            if ( d->character
comm.c:	            && ( d->connected == CON_PLAYING
comm.c:                    ||   d->connected == CON_EDITING
comm.c:                    || ( d->connected >= CON_NOTE_TO
comm.c:                    &&   d->connected <= CON_NOTE_FINISH)))
comm.c:	                save_char_obj( d->character );
comm.c:	            d->outtop = 0;
comm.c:		    if ( d->character
comm.c:		    && ( d->connected == CON_PLAYING
comm.c:                    ||   d->connected == CON_EDITING
comm.c:                    || ( d->connected >= CON_NOTE_TO
comm.c:                    &&   d->connected <= CON_NOTE_FINISH)))
comm.c:			save_char_obj( d->character );
comm.c:		    d->outtop	= 0;
comm.c:	 * Sleep( last_time + 1/PULSE_PER_SECOND - now ).
comm.c:	    usecDelta	= ((int) last_time.tv_usec) - ((int) now_time.tv_usec)
comm.c:	    secDelta	= ((int) last_time.tv_sec ) - ((int) now_time.tv_sec );
comm.c:		secDelta  -= 1;
comm.c:		usecDelta -= 1000000;
comm.c:    /*  Save morphs so can sort later. --Shaddai */
comm.c:    dnew->next		= NULL;
comm.c:    dnew->descriptor	= desc;
comm.c:    dnew->connected	= CON_ANSI; /* Josh */
comm.c:    dnew->outsize	= 2000;
comm.c:    dnew->idle		= 0;
comm.c:    dnew->lines		= 0;
comm.c:    dnew->scrlen	= 24;
comm.c:    dnew->user		= STRALLOC("unknown");
comm.c:    dnew->newstate	= 0;
comm.c:    dnew->prevcolor	= 0x07;
comm.c:    CREATE( dnew->outbuf, char, dnew->outsize );
comm.c:    if ( ioctlsocket(desc, FIONBIO, &arg) == -1 )
comm.c:    if ( fcntl( desc, F_SETFL, FNDELAY ) == -1 )
comm.c:    dnew->port		= ntohs( sock.sin_port );
comm.c:		buf, dnew->port );
comm.c:      dnew->host = STRALLOC( buf );
comm.c:       dnew->host = STRALLOC( (char *)( from ? from->h_name : buf) );
comm.c:	for ( d = first_descriptor; d; d = d->next )
comm.c:	   if ( !d->next )
comm.c:    write_to_buffer( dnew, buf, 0 ); /* -- Kratas */
comm.c:	sprintf( log_buf, "Broke all-time maximum player record: %d", sysdata.alltimemax );
comm.c:    closesocket( d->descriptor );
comm.c:    STRFREE( d->host );
comm.c:    DISPOSE( d->outbuf );
comm.c:    STRFREE( d->user );    /* identd */
comm.c:    if ( d->pagebuf )
comm.c:	DISPOSE( d->pagebuf );
comm.c:/*    --num_descriptors;  This is called from more than close_socket -- Alty */
comm.c:    if ( !force && dclose->outtop > 0 )
comm.c:    if ( dclose->snoop_by )
comm.c:	write_to_buffer( dclose->snoop_by,
comm.c:    for ( d = first_descriptor; d; d = d->next )
comm.c:	if ( d->snoop_by == dclose )
comm.c:	  d->snoop_by = NULL;
comm.c:    /* Check for switched people who go link-dead. -- Altrag */
comm.c:    if ( dclose->original )
comm.c:	if ( ( ch = dclose->character ) != NULL )
comm.c:            bug( "Close_socket: dclose->original without character %s",
comm.c:                 (dclose->original->name ? dclose->original->name : "unknown") );
comm.c:            dclose->character = dclose->original;
comm.c:            dclose->original = NULL;
comm.c:    ch = dclose->character;
comm.c:    if ( !dclose->prev && dclose != first_descriptor )
comm.c:	bug( "Close_socket: %s desc:%p != first_desc:%p and desc->prev = NULL!",
comm.c:		ch ? ch->name : d->host, dclose, first_descriptor );
comm.c:	   dn = d->next;
comm.c:		    ch ? ch->name : d->host, dclose, dp );
comm.c:		dclose->prev = dp;
comm.c:	if ( !dclose->prev )
comm.c:		    ch ? ch->name : dclose->host, dclose );
comm.c:    if ( !dclose->next && dclose != last_descriptor )
comm.c:	bug( "Close_socket: %s desc:%p != last_desc:%p and desc->next = NULL!",
comm.c:		ch ? ch->name : d->host, dclose, last_descriptor );
comm.c:	   dp = d->prev;
comm.c:		    ch ? ch->name : d->host, dclose, dn );
comm.c:		dclose->next = dn;
comm.c:	if ( !dclose->next )
comm.c:		    ch ? ch->name : dclose->host, dclose );
comm.c:    if ( dclose->character )
comm.c:		drop_artifacts(ch, ch->last_carrying);
comm.c:	sprintf( log_buf, "Closing link to %s.", ch->pcdata->filename );
comm.c:	log_string_plus( log_buf, LOG_COMM, UMAX( sysdata.log_level, ch->level ) );
comm.c:	if ( ch->level < LEVEL_DEMI )
comm.c:	  to_channel( log_buf, CHANNEL_MONITOR, "Monitor", ch->level );
comm.c:        if ( (dclose->connected == CON_PLAYING
comm.c:        || dclose->connected == CON_EDITING)
comm.c:        ||(dclose->connected >= CON_NOTE_TO
comm.c:        && dclose->connected <= CON_NOTE_FINISH))
comm.c:        if ( dclose->connected == CON_PLAYING
comm.c:	||   dclose->connected == CON_EDITING ) */
comm.c:	    ch->desc = NULL;
comm.c:	else if ( dclose->connected == CON_OEDIT
comm.c:	||        dclose->connected == CON_REDIT
comm.c:	||        dclose->connected == CON_MEDIT )
comm.c:	    ch->desc = NULL;
comm.c:	    dclose->character->desc = NULL;
comm.c:	    free_char( dclose->character );
comm.c:	  d_next = d_next->next;
comm.c:    if ( dclose->descriptor == maxdesc )
comm.c:      --maxdesc;
comm.c:    --num_descriptors;
comm.c:    if ( d->incomm[0] != '\0' )
comm.c:    iStart = strlen(d->inbuf);
comm.c:    if ( iStart >= sizeof(d->inbuf) - 10 )
comm.c:	sprintf( log_buf, "%s input overflow!", d->host );
comm.c:	nRead = recv( d->descriptor, d->inbuf + iStart,
comm.c:	    sizeof(d->inbuf) - 10 - iStart, 0 );
comm.c:	    if ( d->inbuf[iStart-1] == '\n' || d->inbuf[iStart-1] == '\r' )
comm.c:    d->inbuf[iStart] = '\0';
comm.c:    if ( d->incomm[0] != '\0' )
comm.c:    for ( i = 0; d->inbuf[i] != '\n' && d->inbuf[i] != '\r' && i<MAX_INBUF_SIZE;
comm.c:	if ( d->inbuf[i] == '\0' )
comm.c:    for ( i = 0, k = 0; d->inbuf[i] != '\n' && d->inbuf[i] != '\r'; i++ )
comm.c:	    for ( ; d->inbuf[i] != '\0' || i>= MAX_INBUF_SIZE ; i++ )
comm.c:		if ( d->inbuf[i] == '\n' || d->inbuf[i] == '\r' )
comm.c:	    d->inbuf[i]   = '\n';
comm.c:	    d->inbuf[i+1] = '\0';
comm.c:        if ( d->inbuf[i] == (signed char)IAC )
comm.c:        else if ( iac==1 && (d->inbuf[i] == (signed char)DO || d->inbuf[i] == (signed char)DONT) )
comm.c:            if ( d->inbuf[i] == (signed char)TELOPT_COMPRESS )
comm.c:                if ( d->inbuf[i-1] == (signed char)DO )
comm.c:                else if ( d->inbuf[i-1] == (signed char)DONT )
comm.c:            if ( d->inbuf[i] == '\b' && k > 0 )
comm.c:            --k;
comm.c:        else if ( isascii(d->inbuf[i]) && isprint(d->inbuf[i]) )
comm.c:            d->incomm[k++] = d->inbuf[i];
comm.c:	d->incomm[k++] = ' ';
comm.c:    d->incomm[k] = '\0';
comm.c:    if ( k > 1 || d->incomm[0] == '!' )
comm.c:	if ( d->incomm[0] != '!' && strcmp( d->incomm, d->inlast ) )
comm.c:	    d->repeat = 0;
comm.c:            /* Was 20, now 40 -- Kratas */
comm.c:            if ( ++d->repeat >= 40 )
comm.c:/*		sprintf( log_buf, "%s input spamming!", d->host );
comm.c:		strcpy( d->incomm, "quit" );
comm.c:    if(d->incomm[0] == '!' && d->incomm[1] == '!')
comm.c:	strcpy(d->incomm, d->incomm + 2);
comm.c:        strcat(d->incomm," ");
comm.c:        strcat(d->incomm,d->inlast);
comm.c:    else if ( d->incomm[0] == '!' )
comm.c:	strcpy( d->incomm, d->inlast );
comm.c:	strcpy( d->inlast, d->incomm );
comm.c:    while ( d->inbuf[i] == '\n' || d->inbuf[i] == '\r' )
comm.c:    for ( j = 0; ( d->inbuf[j] = d->inbuf[i+j] ) != '\0'; j++ )
comm.c:     * If buffer has more than 4K inside, spit out .5K at a time   -Thoric
comm.c:    if ( !mud_down && d->outtop > 4096 )
comm.c:        memcpy( buf, d->outbuf, 512 );
comm.c:        memmove( d->outbuf, d->outbuf + 512, d->outtop - 512 );
comm.c:        d->outtop -= 512;
comm.c:	if ( d->snoop_by )
comm.c:	    if ( d->character && d->character->name )
comm.c:		if (d->original && d->original->name)
comm.c:		    sprintf( snoopbuf, "%s (%s)", d->character->name, d->original->name );
comm.c:		    sprintf( snoopbuf, "%s", d->character->name);
comm.c:		write_to_buffer( d->snoop_by, snoopbuf, 0);
comm.c:	    write_to_buffer( d->snoop_by, "% ", 2 );
comm.c:	    write_to_buffer( d->snoop_by, buf, 0 );
comm.c:	    d->outtop = 0;
comm.c:    if ( fPrompt && !mud_down && d->connected == CON_PLAYING )
comm.c:	ch = d->original ? d->original : d->character;
comm.c:	if ( xIS_SET(ch->act, PLR_BLANK) )
comm.c:	if ( xIS_SET(ch->act, PLR_PROMPT) )
comm.c:	if ( xIS_SET(ch->act, PLR_TELNET_GA) )
comm.c:     * Short-circuit if nothing to write.
comm.c:    if ( d->outtop == 0 )
comm.c:     * Snoop-o-rama.
comm.c:    if ( d->snoop_by )
comm.c:        /* without check, 'force mortal quit' while snooped caused crash, -h */
comm.c:	if ( d->character && d->character->name )
comm.c:	    /* Show original snooped names. -- Altrag */
comm.c:	    if ( d->original && d->original->name )
comm.c:		sprintf( buf, "%s (%s)", d->character->name, d->original->name );
comm.c:		sprintf( buf, "%s", d->character->name);
comm.c:	    write_to_buffer( d->snoop_by, buf, 0);
comm.c:	write_to_buffer( d->snoop_by, "% ", 2 );
comm.c:	write_to_buffer( d->snoop_by, d->outbuf, d->outtop );
comm.c:     * OS-dependent output.
comm.c:    if ( !write_to_descriptor( d, d->outbuf, d->outtop ) )
comm.c:	d->outtop = 0;
comm.c:	d->outtop = 0;
comm.c:    if ( !d->outbuf )
comm.c:    if ( d->outtop == 0 && !d->fcommand )
comm.c:	d->outbuf[0]	= '\n';
comm.c:	d->outbuf[1]	= '\r';
comm.c:	d->outtop	= 2;
comm.c:    while ( d->outtop + length >= d->outsize )
comm.c:        if (d->outsize > 32000)
comm.c:	    d->outtop = 0;
comm.c:	    bug("Buffer overflow. Closing (%s).", d->character ? d->character->name : "???" );
comm.c:	d->outsize *= 2;
comm.c:	RECREATE( d->outbuf, char, d->outsize );
comm.c:    strncpy( d->outbuf + d->outtop, txt, length );
comm.c:    d->outtop += length;
comm.c:    d->outbuf[d->outtop] = '\0';
comm.c:	nBlock = UMIN( length - iStart, 4096 );
comm.c:    if( d->out_compress )
comm.c:        return write_to_descriptor2( d->descriptor, txt, length );
comm.c:    return write_to_descriptor2( d->descriptor, txt, length );
comm.c:    ch = d->character;
comm.c:    if ( !IS_SET( ch->pcdata->flags, PCFLAG_NOINTRO ) )
comm.c:	if (xIS_SET(ch->act, PLR_RIP))
comm.c:	if (xIS_SET(ch->act, PLR_ANSI))
comm.c:    d->connected = CON_PRESS_ENTER;
comm.c: * -- Kratas
comm.c:    if( !str_cmp( d->character->pcdata->hair_length, "Bald" ) )
comm.c:        d->character->pcdata->hair_color = STRALLOC( "Non-Existant" );
comm.c:        d->connected = CON_GET_EYE_COLOR;
comm.c:            if( IS_SET( race->attribs[HAIR_COLOR], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[HAIR_COLOR], 1 << x ) )
comm.c:        d->character->pcdata->hair_color = STRALLOC( hair_colors[x] );
comm.c:        d->connected = CON_GET_EYE_COLOR;
comm.c:        "Bald", "Crew-Cut", "Short", "Medium", "Long", "Waist", NULL
comm.c:            if( IS_SET( race->attribs[HAIR_LENGTH], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[HAIR_LENGTH], 1 << x ) )
comm.c:        d->character->pcdata->hair_length = STRALLOC( hair_lengths[x] );
comm.c:        d->connected = CON_GET_HAIR_COLOR;
comm.c:        "Aqua", "Brown", "Green", "Teal", "Blue-Green", "Hazel", "Blue",
comm.c:        "Hazel-Blue", "Hazel-Green", "Light Brown", "Baby Blue",
comm.c:        "Jade", "Red", "Blood-Red", "Silver", NULL
comm.c:            if( IS_SET( race->attribs[EYE_COLOR], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[EYE_COLOR], 1 << x ) )
comm.c:        d->character->pcdata->eye_color = STRALLOC( eye_colors[x] );
comm.c:        d->connected = CON_GET_SKIN_TONE;
comm.c:            if( IS_SET( race->attribs[SKIN_TONE], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[SKIN_TONE], 1 << x ) )
comm.c:        d->character->pcdata->skin_tone = STRALLOC( skin_tones[x] );
comm.c:        d->connected = CON_GET_BUILD;
comm.c:            if( IS_SET( race->attribs[RACE_BUILD], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[RACE_BUILD], 1 << x ) )
comm.c:        d->character->pcdata->ch_build = STRALLOC( builds[x] );
comm.c:        d->connected = CON_GET_HEIGHT;
comm.c:            if( IS_SET( race->attribs[RACE_HEIGHT], 1 << x ) )
comm.c:        write_to_buffer( d, buf->data, 0 );
comm.c:    x = toupper(answer) - 'A'; /* Gets Number */
comm.c:    if( IS_SET( race->attribs[RACE_HEIGHT], 1 << x ) )
comm.c:        d->character->pcdata->ch_height = STRALLOC( heights[x] );
comm.c:    ch = d->character;
comm.c:    switch ( d->connected )
comm.c:	bug( "Nanny: bad d->connected %d.", d->connected );
comm.c:            d->character = tmp;
comm.c:            tmp->desc = d;
comm.c:            xSET_BIT( tmp->act, PLR_ANSI );
comm.c:            d->ansi = TRUE;
comm.c:            send_to_char_color("&RAnsi enabled!&w\n\r",d->character);
comm.c:            d->connected = CON_GET_NAME;
comm.c:                  send_to_char_color( help_greeting+1, d->character );
comm.c:                  send_to_char_color( help_greeting , d->character );
comm.c:            tmp->desc = NULL;
comm.c:            d->character = NULL;
comm.c:            d->ansi = FALSE;
comm.c:            d->connected = CON_GET_NAME;
comm.c:	/* Old players can keep their characters. -- Alty */
comm.c:	if ( !check_parse_name( argument, (d->newstate != 0) ) )
comm.c:	    if (d->newstate == 0)
comm.c:	      d->newstate++;
comm.c:	      d->connected = CON_GET_NAME;
comm.c:	if ( !d->character )
comm.c:	    sprintf( log_buf, "Bad player file %s@%s.", argument, d->host );
comm.c:	ch   = d->character;
comm.c:	if ( xIS_SET(ch->act, PLR_DENY) )
comm.c:	    sprintf( log_buf, "Denying access to %s@%s.", argument, d->host );
comm.c:	    if (d->newstate != 0)
comm.c:	      d->connected = CON_GET_NAME;
comm.c:	      d->character->desc = NULL;
comm.c:	      free_char( d->character ); /* Big Memory Leak before --Shaddai */
comm.c:	      d->character = NULL;
comm.c:           && !check_immortal_domain( ch , d->host) )
comm.c:        sprintf (log_buf, "%s's char being hacked from %s.", argument, d->host);
comm.c:	    if (d->newstate != 0)
comm.c:	      d->connected = CON_GET_NAME;
comm.c:	      d->character->desc = NULL;
comm.c:	      free_char( d->character ); /* Big Memory Leak before --Shaddai */
comm.c:	      d->character = NULL;
comm.c:	    d->connected = CON_GET_OLD_PASSWORD;
comm.c:	    if (d->newstate == 0)
comm.c:	      d->connected = CON_GET_NAME;
comm.c:	      d->character->desc = NULL;
comm.c:	      free_char( d->character ); /* Big Memory Leak before --Shaddai */
comm.c:	      d->character = NULL;
comm.c:			STRFREE( ch->name );
comm.c:			ch->name = STRALLOC( argument );
comm.c:			d->connected = CON_CONFIRM_NEW_NAME;
comm.c:	if ( strcmp( crypt( argument, ch->pcdata->pwd ), ch->pcdata->pwd ) )
comm.c:	    d->character->desc = NULL;
comm.c:	if ( check_playing( d, ch->pcdata->filename, TRUE ) )
comm.c:	chk = check_reconnect( d, ch->pcdata->filename, TRUE );
comm.c:	    if ( d->character && d->character->desc )
comm.c:	      d->character->desc = NULL;
comm.c:	sprintf( buf, ch->pcdata->filename );
comm.c:	d->character->desc = NULL;
comm.c:	free_char( d->character );
comm.c:	d->character = NULL;
comm.c:	ch = d->character;
comm.c:        if ( ch->position ==  POS_FIGHTING
comm.c:          || ch->position ==  POS_EVASIVE
comm.c:          || ch->position ==  POS_DEFENSIVE
comm.c:          || ch->position ==  POS_AGGRESSIVE
comm.c:          || ch->position ==  POS_BERSERK )
comm.c:		ch->position = POS_STANDING;
comm.c:	sprintf( log_buf, "%s@%s(%s) has connected.", ch->pcdata->filename, 
comm.c:		d->host, d->user );
comm.c:	if ( ch->level < LEVEL_DEMI )
comm.c:	  /*to_channel( log_buf, CHANNEL_MONITOR, "Monitor", ch->level );*/
comm.c:	  log_string_plus( log_buf, LOG_COMM, ch->level );
comm.c:/* i need this for debugging - shogar */
comm.c:		ch->name, echo_off_str );
comm.c:	    d->connected = CON_GET_NEW_PASSWORD;
comm.c:	    d->character->desc = NULL;
comm.c:	    free_char( d->character );
comm.c:	    d->character = NULL;
comm.c:	    d->connected = CON_GET_NAME;
comm.c:	pwdnew = crypt( argument, ch->name );
comm.c:	DISPOSE( ch->pcdata->pwd );
comm.c:	ch->pcdata->pwd	= str_dup( pwdnew );
comm.c:	d->connected = CON_CONFIRM_NEW_PASSWORD;
comm.c:	if ( strcmp( crypt( argument, ch->pcdata->pwd ), ch->pcdata->pwd ) )
comm.c:	    d->connected = CON_GET_NEW_PASSWORD;
comm.c:	d->connected = CON_GET_NEW_SEX;
comm.c:    /* All switch statements below are now simplified a bit. -- Kratas */
comm.c:	case 'M': ch->sex = SEX_MALE;    break;
comm.c:	case 'F': ch->sex = SEX_FEMALE;  break;
comm.c:	case 'N': ch->sex = SEX_NEUTRAL; break;
comm.c:		if ( strlen(buf)+strlen(class_table[iClass]->who_name) > 77 )
comm.c:	    strcat( buf, class_table[iClass]->who_name );
comm.c:	d->connected = CON_GET_NEW_CLASS;
comm.c:	STRFREE(ch->pcdata->hair_color);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->hair_color = STRALLOC( "" );
comm.c://            d->connected = CON_GET_EYE_COLOR;
comm.c:        d->connected = CON_GET_EYE_COLOR;
comm.c:	STRFREE(ch->pcdata->hair_length);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->hair_length = STRALLOC( "" );
comm.c://            d->connected = CON_GET_HAIR_COLOR;
comm.c:        d->connected = CON_GET_HAIR_COLOR;
comm.c:	STRFREE(ch->pcdata->eye_color);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->eye_color = STRALLOC( "" );
comm.c://            d->connected = CON_GET_SKIN_TONE;
comm.c:        d->connected = CON_GET_SKIN_TONE;
comm.c:	STRFREE(ch->pcdata->skin_tone);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->skin_tone = STRALLOC("");
comm.c://            d->connected = CON_GET_BUILD;
comm.c:        d->connected = CON_GET_BUILD;
comm.c:	STRFREE(ch->pcdata->ch_build);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->ch_build = STRALLOC("");
comm.c://            d->connected = CON_GET_HEIGHT;
comm.c:        d->connected = CON_GET_HEIGHT;
comm.c:	STRFREE(ch->pcdata->ch_height);
comm.c:        race = race_table[d->character->race];
comm.c:            ch->pcdata->ch_height = STRALLOC("");
comm.c:            d->connected = CON_GET_WANT_RIPANSI;
comm.c:	d->connected = CON_GET_WANT_RIPANSI;
comm.c:          if ( toupper(argument[0]) == toupper(class_table[iClass]->who_name[0])
comm.c:	  &&   !str_prefix( argument, class_table[iClass]->who_name ) )
comm.c:	    if ( toupper(arg[0]) == toupper(class_table[iClass]->who_name[0])
comm.c:	    &&   !str_prefix( arg, class_table[iClass]->who_name ) )
comm.c:		ch->class =  iClass;
comm.c:	  if (race_table[iRace]->race_name && race_table[iRace]->race_name[0] != '\0'
comm.c:	  && !IS_SET(race_table[iRace]->class_restriction, 1 << ch->class) 
comm.c:	  && str_cmp(race_table[iRace]->race_name,"unused") )
comm.c:		if ( strlen(buf)+strlen(race_table[iRace]->race_name) > 77 )
comm.c:	    strcat( buf, race_table[iRace]->race_name );
comm.c:	d->connected = CON_GET_NEW_RACE;
comm.c:	    if ( toupper(argument[0]) == toupper(race_table[iRace]->race_name[0])
comm.c:	    &&  !str_prefix( argument, race_table[iRace]->race_name) )
comm.c:	    if ( toupper(arg[0]) == toupper(race_table[iRace]->race_name[0])
comm.c:	    &&   !str_prefix( arg, race_table[iRace]->race_name ) )
comm.c:		ch->race = iRace;
comm.c:    ||  !race_table[iRace]->race_name || race_table[iRace]->race_name[0] == '\0'
comm.c:    ||   IS_SET(race_table[iRace]->class_restriction, 1 << ch->class )
comm.c:    ||   !str_cmp(race_table[iRace]->race_name,"unused")
comm.c:        race = race_table[d->character->race];
comm.c:        d->connected = CON_GET_HAIR_LENGTH;
comm.c:            d->connected = CON_GET_HAIR_LENGTH;
comm.c:        d->connected = CON_GET_WANT_RIPANSI;
comm.c:	case 'a': case 'A': xSET_BIT(ch->act,PLR_ANSI);  break;
comm.c:	sprintf( log_buf, "%s@%s new %s %s.", ch->name, d->host,
comm.c:		race_table[ch->race]->race_name,
comm.c:		class_table[ch->class]->who_name );
comm.c:	ch->level = 0;
comm.c:	ch->position = POS_STANDING;
comm.c:	d->connected = CON_MAINMENU; /* Change that to CON_PRESS_ENTER to show the motd -- Scion */
comm.c:	/* fixes 2nd , 3rd pager pages from not showing up - shogar */
comm.c:        if ( chk_watch(get_trust(ch), ch->name, d->host) ) /*  --Gorog */
comm.c:           SET_BIT( ch->pcdata->flags, PCFLAG_WATCH );
comm.c:           REMOVE_BIT( ch->pcdata->flags, PCFLAG_WATCH );
comm.c:	if ( xIS_SET(ch->act, PLR_RIP) )
comm.c:	if ( xIS_SET(ch->act, PLR_ANSI) )
comm.c:	else if (ch->level == 0)
comm.c:    if (xIS_SET(ch->act, PLR_NOMENU) || (ch->level < 2))   
comm.c:		d->connected = CON_READ_MOTD;
comm.c:		d->connected = CON_MAINMENU;
comm.c:        if (ch->level < 2) {
comm.c:			d->connected=CON_READ_MOTD; /* Skip mainmenu cause newbies can't see -- Scion */
comm.c:		if ( xIS_SET(ch->act, PLR_ANSI) )
comm.c:		if ( !xIS_SET(ch->act, PLR_NOMENU) ) {
comm.c:	        d->connected = CON_MAINMENU2;
comm.c:			d->connected = CON_READ_MOTD;
comm.c:        value = is_number( arg ) ? atoi( arg ) : -1;
comm.c:        if ( atoi(arg) < -1 && value == -1)
comm.c:            d->connected=CON_READ_MOTD;
comm.c:			  d->connected=CON_MAINMENU;
comm.c:			d->connected=CON_MAINMENU;
comm.c:			if ( ch->level == 50)
comm.c:			if ( ch->level < 50 && ch->level > 0 )
comm.c:			if ( ch->level == 0 )
comm.c:			d->connected=CON_MAINMENU;
comm.c:			  d->connected=CON_MAINMENU;
comm.c:			  d->connected=CON_MAINMENU;
comm.c:                          d->connected=CON_MAINMENU;
comm.c:			d->connected=CON_MAINMENU;
comm.c:	d->connected	= CON_PLAYING;
comm.c:	if ( ch->level == 0 )
comm.c:	    ch->pcdata->clan_name = STRALLOC( "" );
comm.c:	    ch->pcdata->clan	  = NULL;
comm.c:	    switch ( class_table[ch->class]->attr_prime )
comm.c:	    case APPLY_STR: ch->perm_str = 16; break;
comm.c:	    case APPLY_INT: ch->perm_int = 16; break;
comm.c:	    case APPLY_WIS: ch->perm_wis = 16; break;
comm.c:	    case APPLY_DEX: ch->perm_dex = 16; break;
comm.c:	    case APPLY_CON: ch->perm_con = 16; break;
comm.c:	    case APPLY_CHA: ch->perm_cha = 16; break;
comm.c:	    case APPLY_LCK: ch->perm_lck = 16; break;
comm.c:	    ch->perm_str	 += race_table[ch->race]->str_plus;
comm.c:	    ch->perm_int	 += race_table[ch->race]->int_plus;
comm.c:	    ch->perm_wis	 += race_table[ch->race]->wis_plus;
comm.c:	    ch->perm_dex	 += race_table[ch->race]->dex_plus;
comm.c:	    ch->perm_con	 += race_table[ch->race]->con_plus;
comm.c:	    ch->perm_cha	 += race_table[ch->race]->cha_plus;
comm.c:	    ch->affected_by	  = race_table[ch->race]->affected;
comm.c:	    ch->perm_lck	 += race_table[ch->race]->lck_plus;
comm.c:            ch->armor		 += race_table[ch->race]->ac_plus;
comm.c:            /* Scion -- Average the two alignments. This way a drow paladin is
comm.c:            ch->alignment	 += (race_table[ch->race]->alignment + class_table[ch->class]->alignment) / 2;
comm.c:            ch->attacks              = race_table[ch->race]->attacks;
comm.c:            ch->defenses             = race_table[ch->race]->defenses;
comm.c:	    ch->saving_poison_death  	= race_table[ch->race]->saving_poison_death;
comm.c:	    ch->saving_wand  		= race_table[ch->race]->saving_wand;
comm.c:	    ch->saving_para_petri  	= race_table[ch->race]->saving_para_petri;
comm.c:	    ch->saving_breath  		= race_table[ch->race]->saving_breath;
comm.c:	    ch->saving_spell_staff	= race_table[ch->race]->saving_spell_staff;
comm.c:	    ch->height = number_range(race_table[ch->race]->height *.9, race_table[ch->race]->height *1.1);
comm.c:	    ch->weight = number_range(race_table[ch->race]->weight *.9, race_table[ch->race]->weight *1.1);
comm.c:	    	ch->pcdata->learned[iLang] = 100;
comm.c:	    	if ( lang_array[iLang] == race_table[ch->race]->language )
comm.c:	    		ch->pcdata->learned[iLang] = 100;
comm.c:            /* ch->resist           += race_table[ch->race]->resist;    drats */
comm.c:            /* ch->susceptible     += race_table[ch->race]->suscept;    drats */
comm.c:	    ch->level	= 1;
comm.c:	    ch->exp	= 0;
comm.c:	    ch->hit	= ch->max_hit;
comm.c:	    ch->mana	= ch->max_mana;
comm.c:            ch->hit    += race_table[ch->race]->hit;
comm.c:            ch->mana   += race_table[ch->race]->mana;
comm.c:	    ch->move	= ch->max_move;
comm.c:            if( ch->pcdata->clan )
comm.c:                ch->pcdata->memorize[0] = ch->pcdata->clan->recall;
comm.c:                ch->pcdata->memorize[0] = ROOM_VNUM_TEMPLE;
comm.c:                     title_table [ch->class] [ch->level]
comm.c:                     [ch->sex == SEX_FEMALE ? 1 : 0] );
comm.c:	    xSET_BIT( ch->act, PLR_AUTOGOLD ); 
comm.c:	    xSET_BIT( ch->act, PLR_AUTOEXIT ); 
comm.c:	    obj = create_object( get_obj_index(class_table[ch->class]->weapon),
comm.c:                ch->pcdata->auth_state = 0;
comm.c:                SET_BIT(ch->pcdata->flags, PCFLAG_UNAUTHED);
comm.c:            ch->pcdata->prompt = STRALLOC("");
comm.c:        else if ( !IS_IMMORTAL(ch) && ch->pcdata->release_date > 0 &&
comm.c:                  ch->pcdata->release_date > current_time )
comm.c:            if ( ch->in_room->vnum == 6 )
comm.c:                char_to_room( ch, ch->in_room );
comm.c:	else if ( ch->in_room && ( IS_IMMORTAL( ch )
comm.c:        || !IS_SET( ch->in_room->room_flags, ROOM_PROTOTYPE ) ) )
comm.c:            char_to_room( ch, ch->in_room );
comm.c:        ch->pcdata->outputprefix=NULL;
comm.c:        ch->pcdata->outputsuffix=NULL;
comm.c:	ch->pcdata->alias_queue=NULL;
comm.c:/*	for ( vch = first_char; vch; vch = vch->next )
comm.c: Don't really need this.. just annoys me :)   -- Scion
comm.c:	sprintf(buf, "%s has entered the realm.", ch->name);
comm.c:        /* This should just do descriptor since it skips npcs anyway -- Kratas*/
comm.c:            for( tmp = first_descriptor ; tmp ; tmp = tmp->next )
comm.c:                if( tmp->connected != CON_PLAYING )
comm.c:                wch = tmp->original ? tmp->original : tmp->character;
comm.c:        log_string_plus( buf, LOG_COMM, ch->level+1 );
comm.c:        if ( ch->pcdata->pet )
comm.c:                 ch->pcdata->pet, NULL, ch, TO_NOTVICT );
comm.c:                 ch, NULL, ch->pcdata->pet, TO_CHAR );
comm.c:			pool -- TRI */
comm.c:        SET_BIT(ch->pcdata->flags,PCFLAG_IMMPROOF);
comm.c:        if ( !ch->was_in_room && ch->in_room == get_room_index( ROOM_VNUM_TEMPLE ))
comm.c:            ch->was_in_room = get_room_index( ROOM_VNUM_TEMPLE );
comm.c:        else if ( ch->was_in_room == get_room_index( ROOM_VNUM_TEMPLE ))
comm.c:            ch->was_in_room = get_room_index( ROOM_VNUM_TEMPLE );
comm.c:        else if ( !ch->was_in_room )
comm.c:            ch->was_in_room = ch->in_room;
comm.c:  for (res = first_reserved; res; res = res->next)
comm.c:    if ((*res->name == '*' && !str_infix(res->name+1, name)) ||
comm.c:        !str_cmp(res->name, name))
comm.c:  * players too though, so I don't mind that removal.  -- Alty
comm.c:      * Outdated stuff -- Alty
comm.c: * Look for link-dead player to reconnect.
comm.c:    for ( ch = first_char; ch; ch = ch->next )
comm.c:	&& ( !fConn || !ch->desc )
comm.c:	&&    ch->pcdata->filename
comm.c:	&&   !str_cmp( name, ch->pcdata->filename ) )
comm.c:	    if ( fConn && ch->switched )
comm.c:	      d->connected = CON_GET_NAME;
comm.c:	      if ( d->character )
comm.c:		 d->character->desc = NULL;
comm.c:		 free_char( d->character );
comm.c:		 d->character = NULL;
comm.c:		DISPOSE( d->character->pcdata->pwd );
comm.c:		d->character->pcdata->pwd = str_dup( ch->pcdata->pwd );
comm.c:		d->character->desc = NULL;
comm.c:		free_char( d->character );
comm.c:		d->character = ch;
comm.c:		ch->desc	 = d;
comm.c:		ch->timer	 = 0;
comm.c:				ch->pcdata->filename, d->host, d->user );
comm.c:		log_string_plus( log_buf, LOG_COMM, UMAX( sysdata.log_level, ch->level ) );
comm.c:		if ( ch->level < LEVEL_SAVIOR )
comm.c:		  to_channel( log_buf, CHANNEL_MONITOR, "Monitor", ch->level );
comm.c:                d->connected = CON_PLAYING;
comm.c:                if (ch->pcdata->in_progress)
comm.c:    for ( dold = first_descriptor; dold; dold = dold->next )
comm.c:	&& (  dold->character || dold->original )
comm.c:	&&   !str_cmp( name, dold->original
comm.c:		 ? dold->original->pcdata->filename : 
comm.c:		 dold->character->pcdata->filename ) )
comm.c:            cstate = dold->connected;
comm.c:	    ch = dold->original ? dold->original : dold->character;
comm.c:	    if ( !ch->name
comm.c:		write_to_buffer( d, "Already connected - try again.\n\r", 0 );
comm.c:				ch->pcdata->filename );
comm.c:	    d->character->desc = NULL;
comm.c:	    free_char( d->character );
comm.c:	    d->character = ch;
comm.c:	    ch->desc	 = d;
comm.c:	    ch->timer	 = 0;
comm.c:	    if ( ch->switched )
comm.c:	      do_return( ch->switched, "" );
comm.c:	    ch->switched = NULL;
comm.c:	             ch->pcdata->filename, d->host );
comm.c:	    log_string_plus( log_buf, LOG_COMM, UMAX( sysdata.log_level, ch->level ) );
comm.c:	    if ( ch->level < LEVEL_SAVIOR )
comm.c:	      to_channel( log_buf, CHANNEL_MONITOR, "Monitor", ch->level );
comm.c:	    d->connected = cstate;
comm.c:    ||   !ch->desc
comm.c:    ||    ch->desc->connected != CON_PLAYING
comm.c:    ||   !ch->was_in_room
comm.c:    ||    ch->in_room != get_room_index( ROOM_VNUM_LIMBO ) )
comm.c:    ch->timer = 0;
comm.c:    was_in_room = ch->was_in_room;
comm.c:    ch->was_in_room	= NULL;
comm.c:    if ( txt && ch->desc )
comm.c:	write_to_buffer( ch->desc, txt, strlen(txt) );
comm.c:  if ( !txt || !ch->desc )
comm.c:  d = ch->desc;
comm.c:      write_to_buffer(d, prevstr, (colstr-prevstr));
comm.c:  if ( !d->pagebuf )
comm.c:    d->pagesize = MAX_STRING_LENGTH;
comm.c:    CREATE( d->pagebuf, char, d->pagesize );
comm.c:  if ( !d->pagepoint )
comm.c:    d->pagepoint = d->pagebuf;
comm.c:    d->pagetop = 0;
comm.c:    d->pagecmd = '\0';
comm.c:  if ( d->pagetop == 0 && !d->fcommand )
comm.c:    d->pagebuf[0] = '\n';
comm.c:    d->pagebuf[1] = '\r';
comm.c:    d->pagetop = 2;
comm.c:  pageroffset = d->pagepoint - d->pagebuf;	/* pager fix (goofup fixed 08/21/97) */
comm.c:  while ( d->pagetop + length >= d->pagesize )
comm.c:    if ( d->pagesize > 32000 )
comm.c:      d->pagetop = 0;
comm.c:      d->pagepoint = NULL;
comm.c:      DISPOSE(d->pagebuf);
comm.c:      d->pagesize = MAX_STRING_LENGTH;
comm.c:    d->pagesize *= 2;
comm.c:    RECREATE(d->pagebuf, char, d->pagesize);
comm.c:  d->pagepoint = d->pagebuf + pageroffset;	/* pager fix (goofup fixed 08/21/97) */
comm.c:  strncpy(d->pagebuf+d->pagetop, txt, length);
comm.c:  d->pagetop += length;
comm.c:  d->pagebuf[d->pagetop] = '\0';
comm.c:  if ( txt && ch->desc )
comm.c:    DESCRIPTOR_DATA *d = ch->desc;
comm.c:    ch = d->original ? d->original : d->character;
comm.c:    if ( IS_NPC(ch) || !IS_SET(ch->pcdata->flags, PCFLAG_PAGERON) )
comm.c:	send_to_char(txt, d->character);
comm.c:  if ( !txt || !ch->desc )
comm.c:  d = ch->desc;
comm.c:  ch = d->original ? d->original : d->character;
comm.c:  if ( IS_NPC(ch) || !IS_SET(ch->pcdata->flags, PCFLAG_PAGERON) )
comm.c:    send_to_char_color(txt, d->character);
comm.c:      write_to_pager(d, prevstr, (colstr-prevstr));
comm.c:    if ( !ch || !ch->desc )
comm.c:    och = (ch->desc->original ? ch->desc->original : ch);
comm.c:    if ( !IS_NPC(och) && xIS_SET(och->act, PLR_ANSI) )
comm.c:	ch->desc->prevcolor = AType; /* added this, was in 1.02 */
comm.c:	ch->desc->pagecolor = AType; /* cooridnate page & nopage shogar*/
comm.c:	write_to_buffer( ch->desc, buf, strlen(buf) );
comm.c:    if ( !ch || !ch->desc )
comm.c:    och = (ch->desc->original ? ch->desc->original : ch);
comm.c:    if ( !IS_NPC(och) && xIS_SET(och->act, PLR_ANSI) )
comm.c:	ch->desc->pagecolor = AType;
comm.c:	ch->desc->prevcolor = AType; /* cooridnate page & nopage shogar*/
comm.c: * since it contains keywords that may not look proper.		-Thoric
comm.c:    if ( !str_prefix("a ", obj->short_descr) )
comm.c:	return obj->short_descr + 2;
comm.c:    if ( !str_prefix("an ", obj->short_descr) )
comm.c:	return obj->short_descr + 3;
comm.c:    if ( !str_prefix("the ", obj->short_descr) )
comm.c:	return obj->short_descr + 4;
comm.c:    if ( !str_prefix("some ", obj->short_descr) )
comm.c:	return obj->short_descr + 5;
comm.c:    return obj->short_descr;
comm.c:    if ( obj->count > 1 )
comm.c:	sprintf( buf, "%s (%d)", obj->short_descr, obj->count );
comm.c:    return obj->short_descr;
comm.c:/* Major overhaul. -- Alty */
comm.c:#define MORPHNAME(ch)   ((ch->morph&&ch->morph->morph)? \
comm.c:                         ch->morph->morph->short_desc: \
comm.c:                         IS_NPC(ch) ? ch->short_descr : ch->name)
comm.c:#define NAME(ch)        (IS_NPC(ch) ? ch->short_descr : ch->name)
comm.c:              if ( ch->morph == NULL )
comm.c:              if ( vch->morph == NULL )
comm.c:      case 'e': if (ch->sex > 2 || ch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", ch->name,
comm.c:		      ch->sex);
comm.c:		  i = he_she [URANGE(0,  ch->sex, 2)];
comm.c:      case 'E': if (vch->sex > 2 || vch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", vch->name,
comm.c:		      vch->sex);
comm.c:		  i = he_she [URANGE(0, vch->sex, 2)];
comm.c:      case 'm': if (ch->sex > 2 || ch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", ch->name,
comm.c:		      ch->sex);
comm.c:		  i = him_her[URANGE(0,  ch->sex, 2)];
comm.c:      case 'M': if (vch->sex > 2 || vch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", vch->name,
comm.c:		      vch->sex);
comm.c:		  i = him_her[URANGE(0, vch->sex, 2)];
comm.c:      case 's': if (ch->sex > 2 || ch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", ch->name,
comm.c:		      ch->sex);
comm.c:		  i = his_her[URANGE(0,  ch->sex, 2)];
comm.c:      case 'S': if (vch->sex > 2 || vch->sex < 0)
comm.c:		  bug("act_string: player %s has sex set at %d!", vch->name,
comm.c:		      vch->sex);
comm.c:		  i = his_her[URANGE(0, vch->sex, 2)];
comm.c:		    his_her[URANGE(0,  ch->sex, 2)];			break;
comm.c:     * Discard null and zero-length messages.
comm.c:    if ( !ch->in_room )
comm.c:      to = ch->in_room->first_person;
comm.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_SECRETIVE) && type != TO_CHAR )
comm.c:	    bug( "%s (%s)", ch->name, format );
comm.c:	if ( !vch->in_room )
comm.c:	    bug( "%s -> %s (%s)", ch->name, vch->name, format );
comm.c:/*	to = vch->in_room->first_person;*/
comm.c:      if ( HAS_PROG(to->in_room, ACT_PROG) )
comm.c:        rprog_act_trigger(txt, to->in_room, ch, (OBJ_DATA *)arg1, (void *)arg2);
comm.c:      for ( to_obj = to->in_room->first_content; to_obj;
comm.c:            to_obj = to_obj->next_content )
comm.c:        if ( HAS_PROG(to_obj->pIndexData, ACT_PROG) )
comm.c:       room when we're only sending to one char anyways..? -- Alty */
comm.c:                     ? NULL : to->next_in_room )
comm.c:	if ((!to->desc 
comm.c:	&& (  IS_NPC(to) && !HAS_PROG(to->pIndexData, ACT_PROG) ))
comm.c:        /* OasisOLC II check - Tagith */
comm.c:        if ( to->desc
comm.c:        &&   is_inolc( to->desc ) )
comm.c:	    (!IS_IMMORTAL(to) && !IS_NPC(ch) && (xIS_SET(ch->act, PLR_WIZINVIS) 
comm.c:	    && (get_trust(to) < (ch->pcdata ? ch->pcdata->wizinvis : 0) ) ) ) ) )
comm.c:	if (to->desc)
comm.c:	  /* write_to_buffer( to->desc, txt, strlen(txt) ); */
comm.c:          /* Note: use original string, not string with ANSI. -- Alty */
comm.c:  if ( !NOT_AUTHED(ch) || ch->pcdata->auth_state != 2)
comm.c:  if (!str_cmp(ch->name, argument))
comm.c:  for ( tmp = first_char; tmp; tmp = tmp->next )
comm.c:    if (!str_cmp(argument, tmp->name))
comm.c:  if ( stat( fname, &fst ) != -1 )
comm.c:  STRFREE( ch->name );
comm.c:  ch->name = STRALLOC( argument );
comm.c:  STRFREE( ch->pcdata->filename );
comm.c:  ch->pcdata->filename = STRALLOC( argument ); 
comm.c:  ch->pcdata->auth_state = 0;
comm.c:  return -1;
comm.c:  CHAR_DATA *ch = d->character;
comm.c:  CHAR_DATA *och = (d->original ? d->original : d->character);
comm.c:  bool ansi = (!IS_NPC(och) && xIS_SET(och->act, PLR_ANSI));
comm.c:  if ( !IS_NPC(ch) && !IS_SET(ch->pcdata->flags, PCFLAG_HELPSTART ) )
comm.c:else if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_AFK) )
comm.c:  else if ( !IS_NPC(ch) && ch->substate != SUB_NONE && ch->pcdata->subprompt
comm.c:  &&   ch->pcdata->subprompt[0] != '\0' )
comm.c:    prompt = ch->pcdata->subprompt;
comm.c:  else if (IS_NPC (ch) || (!ch->fighting && (!ch->pcdata->prompt
comm.c:                || !*ch->pcdata->prompt) ) )
comm.c:  else if ( ch->fighting )
comm.c:        if ( !ch->pcdata->fprompt || !*ch->pcdata->fprompt )
comm.c:                prompt = ch->pcdata->fprompt;
comm.c:    prompt = ch->pcdata->prompt;
comm.c:    d->prevcolor = 0x07;
comm.c:    if ( *prompt == *(prompt-1) )
comm.c:    switch(*(prompt-1))
comm.c:      bug( "Display_prompt: bad command char '%c'.", *(prompt-1) );
comm.c:      stat = make_color_sequence(&prompt[-1], pbuf, d);
comm.c:        --prompt;
comm.c:	if ( ch->level >= 10 )
comm.c:	  stat = ch->alignment;
comm.c:          if ( !ch->fighting || ( victim = ch->fighting->who ) == NULL )
comm.c:          else if(!victim->fighting||(victim = victim->fighting->who)==NULL)
comm.c:              if ( victim->max_hit > 0 )
comm.c:                    percent = (100 * victim->hit) / victim->max_hit;
comm.c:                    percent = -1;
comm.c:          if ( !ch->fighting || ( victim = ch->fighting->who ) == NULL )
comm.c:              if ( victim->max_hit > 0 )
comm.c:                    percent = (100 * victim->hit) / victim->max_hit;
comm.c:                    percent = -1;
comm.c:	stat = ch->hit;
comm.c:	stat = ch->max_hit;
comm.c:	  stat = ch->mana;
comm.c:	  stat = ch->max_mana;
comm.c:          if ( !ch->fighting || ( victim = ch->fighting->who ) == NULL )
comm.c:          else if(!victim->fighting||(victim=victim->fighting->who)==NULL)
comm.c:                    strcpy ( pbuf, victim->short_descr );
comm.c:                    strcpy ( pbuf, victim->name );
comm.c:          if (!ch->fighting || (victim = ch->fighting->who) == NULL )
comm.c:                    strcpy ( pbuf, victim->short_descr );
comm.c:                    strcpy ( pbuf, victim->name );
comm.c:	  stat = ch->pcdata->condition[COND_BLOODTHIRST];
comm.c:	  stat = ch->level + 10;
comm.c:	stat = ch->move;
comm.c:	stat = ch->max_move;
comm.c:	stat = ch->gold;
comm.c:	  stat = ch->in_room->vnum;
comm.c:	  sprintf( pbuf, "%s", flag_string( ch->in_room->room_flags, r_flags) );
comm.c:	if ( xIS_SET(och->act, PLR_ROOMVNUM) )
comm.c:	  sprintf(pbuf, "<#%d> ", ch->in_room->vnum);
comm.c:	if ( xIS_SET(ch->act, PLR_AFK) )
comm.c:	stat = ch->exp;
comm.c:	stat = exp_level(ch, ch->level+1) - ch->exp;
comm.c:        if      ( ch->style == STYLE_BERSERK )    strcpy( pbuf, "B" );
comm.c:        else if ( ch->style == STYLE_AGGRESSIVE ) strcpy( pbuf, "A" );
comm.c:        else if ( ch->style == STYLE_DEFENSIVE )  strcpy( pbuf, "D" );
comm.c:        else if ( ch->style == STYLE_EVASIVE )    strcpy( pbuf, "E" );
comm.c:	if ( (!IS_NPC(ch) && xIS_SET(ch->act, PLR_WIZINVIS)) ||
comm.c:	      (IS_NPC(ch) && xIS_SET(ch->act, ACT_MOBINVIS)) )
comm.c:	  sprintf(pbuf, "(Invis %d) ", (IS_NPC(ch) ? ch->mobinvis : ch->pcdata->wizinvis));
comm.c:	stat = (IS_NPC(ch) ? (xIS_SET(ch->act, ACT_MOBINVIS) ? ch->mobinvis : 0)
comm.c:	     : (xIS_SET(ch->act, PLR_WIZINVIS) ? ch->pcdata->wizinvis : 0));
comm.c:  write_to_buffer(d, buf, (pbuf-buf));
comm.c:  och = (d->original ? d->original : d->character);
comm.c:  ansi = (!IS_NPC(och) && xIS_SET(och->act, PLR_ANSI));
comm.c:    ln = -1;
comm.c:    ln = -1;
comm.c:    cl = d->prevcolor;
comm.c:      ln = -1;
comm.c:      if ( *col == '-' )
comm.c:      if ( cl == d->prevcolor )
comm.c:      if ( (cl & 0x88) != (d->prevcolor & 0x88) )
comm.c:        d->prevcolor = 0x07 | (cl & 0x88);
comm.c:      if ( (cl & 0x07) != (d->prevcolor & 0x07) )
comm.c:      if ( (cl & 0x70) != (d->prevcolor & 0x70) )
comm.c:      if ( buf[ln-1] == ';' )
comm.c:        buf[ln-1] = 'm';
comm.c:      d->prevcolor = cl;
comm.c:  d->pagecmd = *argument;
comm.c:  if ( !d || !d->pagepoint || d->pagecmd == -1 )
comm.c:  ch = d->original ? d->original : d->character;
comm.c:  pclines = UMAX(ch->pcdata->pagerlen, 5) - 1;
comm.c:  switch(LOWER(d->pagecmd))
comm.c:    lines = -1-(pclines*2);
comm.c:    lines = -1-pclines;
comm.c:    d->pagetop = 0;
comm.c:    d->pagepoint = NULL;
comm.c:    DISPOSE(d->pagebuf);
comm.c:    d->pagesize = MAX_STRING_LENGTH;
comm.c:  while ( lines < 0 && d->pagepoint >= d->pagebuf )
comm.c:    if ( *(--d->pagepoint) == '\n' )
comm.c:  if ( *d->pagepoint == '\n' && *(++d->pagepoint) == '\r' )
comm.c:      ++d->pagepoint;
comm.c:  if ( d->pagepoint < d->pagebuf )
comm.c:    d->pagepoint = d->pagebuf;
comm.c:  for ( lines = 0, last = d->pagepoint; lines < pclines; ++last )
comm.c:  if ( last != d->pagepoint )
comm.c:    if ( !write_to_descriptor(d, d->pagepoint,
comm.c:          (last-d->pagepoint)) )
comm.c:    d->pagepoint = last;
comm.c:    d->pagetop = 0;
comm.c:    d->pagepoint = NULL;
comm.c:    DISPOSE(d->pagebuf);
comm.c:    d->pagesize = MAX_STRING_LENGTH;
comm.c:  d->pagecmd = -1;
comm.c:  if ( xIS_SET( ch->act, PLR_ANSI ) )
comm.c:  if ( xIS_SET( ch->act, PLR_ANSI ) )
comm.c:      if ( d->pagecolor == 7 )
comm.c:	sprintf(buf, "\033[0;%d;%s%dm", (d->pagecolor & 8) == 8,
comm.c:		(d->pagecolor > 15 ? "5;" : ""), (d->pagecolor & 7)+30);
comm.c:/* CrashGuard - A reduced version of Warm reboot - Josh */
comm.c:     *					--Callidyrr
comm.c:    sprintf (buf, "\r\n&R[&WINFO&R] &cCRASHGUARD - please remain seated!\r\n\a");
comm.c:        d_next = d->next;
comm.c:        if( d && d->out_compress )
comm.c:        if (!d->character || d->connected < 0)
comm.c:            fprintf (fp, "%d %s %s\n", d->descriptor, och->name, d->host);
comm.c:            if (och->level == 1)
comm.c:                och->level++;
comm.c:            send_to_char( buf, d->character );
comm.c:    fprintf (fp, "-1\n");
comm.c:/* End of CrashGuard - Josh */
comm.c:    /* do_asave (NULL, ""); - autosave changed areas */
comm.c:    sprintf (buf, "\r\n[INFO] COPYOVER by %s - please remain seated!\r\n\a", ch->name);
comm.c:        d_next = d->next; /* We delete from the list , so need to save this */
comm.c:        if( d && d->out_compress )
comm.c:        if (!d->character || d->connected < 0) /* drop those logging on */
comm.c:            fprintf (fp, "%d %s %s\n", d->descriptor, och->name, d->host);
comm.c:            if (och->level == 1)
comm.c:                och->level++; /* Advance_level doesn't do that */
comm.c:    fprintf (fp, "-1\n");
comm.c:    /* Close reserve and other always-open files and release other resources */
comm.c:    /* more redhat fixes - shogar */
comm.c:    /* exec - descriptors are inherited */
comm.c:    /* Failed - sucessful exec will not return */
comm.c:    /* If it failed, lets get imc and everything back up? -- Kratas */
comm.c:/* Recover from a copyover - load players */
comm.c:                             - doesn't prevent reading */
comm.c:        if (desc == -1)
comm.c:        /* Write something, and check if it goes error-free */
comm.c:        d->host = STRALLOC( host );
comm.c:        d->connected = CON_COPYOVER_RECOVER; /* negative so close_socket
comm.c:            /* no longer needed - but save for rainy day, shogar */
comm.c:            if (!d->character->in_room)
comm.c:                d->character->in_room = get_room_index (ROOM_VNUM_TEMPLE);
comm.c:            LINK( d->character, first_char, last_char, next, prev );
comm.c:            d->character->pcdata->board = &boards[0];
comm.c:            char_to_room (d->character, d->character->in_room);
comm.c:            do_look (d->character, "auto noprog");
comm.c:            act (AT_ACTION, "$n materializes!", d->character, NULL, NULL, TO_ROOM);
comm.c:            d->connected = CON_PLAYING;
comm.c:    int space = ( size - const_color_str_len( argument ) );
comm.c:    int space = ( size - color_str_len( argument ) );
comm.c:    if ( count < maxlength ) return ((str - count) + maxlength);
comm.c:    if ( count < maxlength ) return ((str - count) + maxlength);
comm.c:/* Signal handling - Josh */
comm.c:  /* Block other terminal-generated signals while handler runs. */
comm.c:    /* Ignore SIGSEGV and SIGBUS by Josh - Signal Blocking by Josh */
comm.c:    if (sysdata.crashguard == FALSE) /* in case I -want- a core dump -- Scion */
comm.c:/* End of Signal Handler - Josh */
comments.c: * -----------------------------------------------------------|   (0...0)   *
comments.c: * -----------------------------------------------------------|    {o o}    *
comments.c: * ------------------------------------------------------------------------ *
comments.c: * ------------------------------------------------------------------------ *
comments.c: *           and problem players.  -haus 6/25/1995                          * 
comments.c: * save.c:107:     if ( ch->comments )                                              (* saves comments *)
comments.c: * save.c:411:    ch->comments                        = NULL;                   (* nulls ch->comments *)
comments.c:    if ( !victim->comments )
comments.c:    if ( !pnote->prev )
comments.c:      victim->comments	= pnote->next;
comments.c:      pnote->prev->next = pnote->next;
comments.c:    STRFREE( pnote->text    );
comments.c:    STRFREE( pnote->subject );
comments.c:    STRFREE( pnote->to_list );
comments.c:    STRFREE( pnote->date    );
comments.c:    STRFREE( pnote->sender  );
comments.c:    if ( !ch->desc )
comments.c:       from within the editor. -Narn */
comments.c:    if ( ch->desc->connected == CON_EDITING || ch->desc->connected == CON_NOTE_TO )
comments.c:    switch( ch->substate )
comments.c:	  if ( !ch->pnote )
comments.c:	  if ( ch->dest_buf != ch->pnote )
comments.c:	     bug( "do_comment: sub_writing_note: ch->dest_buf != ch->pnote", 0 );
comments.c:	  STRFREE( ch->pnote->text );
comments.c:	  ch->pnote->text = copy_buffer( ch );
comments.c:	if ( !victim->comments )
comments.c:	for ( pnote = victim->comments; pnote; pnote = pnote->next )
comments.c:	  sprintf( buf, "%2d) %-10s [%s] %s\n\r",
comments.c:	     pnote->sender,
comments.c:             pnote->date, 
comments.c:	     pnote->subject );
comments.c:	if ( !victim->comments )
comments.c:	for ( pnote = victim->comments; pnote; pnote = pnote->next )
comments.c:		    pnote->sender,
comments.c:		    pnote->subject,
comments.c:		    pnote->date,
comments.c:		    pnote->to_list
comments.c:		send_to_char( pnote->text, ch );
comments.c:	ch->substate = SUB_WRITING_NOTE;
comments.c:	ch->dest_buf = ch->pnote;
comments.c:	start_editing( ch, ch->pnote->text );
comments.c:	STRFREE( ch->pnote->subject );
comments.c:	ch->pnote->subject = STRALLOC( argument );
comments.c:	STRFREE( ch->pnote->to_list );
comments.c:	ch->pnote->to_list = STRALLOC( argument );
comments.c:	if ( ch->pnote )
comments.c:	    STRFREE( ch->pnote->text );
comments.c:	    STRFREE( ch->pnote->subject );
comments.c:	    STRFREE( ch->pnote->to_list );
comments.c:	    STRFREE( ch->pnote->date );
comments.c:	    STRFREE( ch->pnote->sender );
comments.c:	    DISPOSE( ch->pnote );
comments.c:	ch->pnote = NULL;
comments.c:	if ( !ch->pnote )
comments.c:	    ch->pnote->sender,
comments.c:	    ch->pnote->subject,
comments.c:	    ch->pnote->to_list
comments.c:	send_to_char( ch->pnote->text, ch );
comments.c:	if ( !ch->pnote )
comments.c:	strtime[strlen(strtime)-1]	= '\0';
comments.c:	ch->pnote->date			= STRALLOC( strtime );
comments.c:	pnote		= ch->pnote;
comments.c:	ch->pnote	= NULL;
comments.c:	pnote->next = victim->comments;
comments.c:        if (victim->comments)
comments.c:	   victim->comments->prev = pnote;
comments.c:        pnote->prev = NULL;
comments.c:        victim->comments = pnote;
comments.c:	sprintf( notefile, "%s/%s", BOARD_DIR, board->note_file );
comments.c:		pnote->sender,
comments.c:		pnote->date,
comments.c:		pnote->to_list,
comments.c:		pnote->subject,
comments.c:		pnote->text
comments.c:	for ( pnote = victim->comments; pnote; pnote = pnote->next )
comments.c:   if(!ch->comments)
comments.c:   for(pnote=ch->comments;pnote;pnote=pnote->next)
comments.c:       fprintf( fp,"sender	%s~\n",pnote->sender);
comments.c:       fprintf( fp,"date  	%s~\n",pnote->date);
comments.c:       fprintf( fp,"to     	%s~\n",pnote->to_list);
comments.c:       fprintf( fp,"subject	%s~\n",pnote->subject);
comments.c:       fprintf( fp,"text\n%s~\n",pnote->text);
comments.c:	pnote->sender	= fread_string( fp );
comments.c:	pnote->date	= fread_string( fp );
comments.c:	pnote->to_list	= fread_string( fp );
comments.c:	pnote->subject	= fread_string( fp );
comments.c:	pnote->text	= fread_string( fp );
comments.c:	pnote->next		= ch->comments;
comments.c:	pnote->prev		= NULL;
comments.c:	ch->comments		= pnote;
comments.c:-----------------------------------------------------------------------
const.c: * -----------------------------------------------------------|   (0...0)   *
const.c: * -----------------------------------------------------------|    {o o}    *
const.c: * ------------------------------------------------------------------------ *
const.c: * ------------------------------------------------------------------------ *
const.c:	"Elf",	 {{1 << AFF_DETECT_MAGIC,0,0,0}},     -1, 2, 0, 1,-1, 1, 0, -2,10, 0, 0,	0,										    LANG_ELVEN
const.c:	"Dwarf",     {{1 << AFF_INFRARED,0,0,0}},	1, 0, 1, 0, 2,-1, 0, 6,-6, 0, 0,	(1 << CLASS_MAGE) | (1 << 8),								    LANG_DWARVEN
const.c:	"Halfling",     {{1<<AFF_SNEAK,0,0,0}},     -2, 1, 0, 0, 1, 0, 0, -3,10, 0, 0,	(1 << CLASS_MAGE) | (1 << CLASS_DRUID) | (1 << CLASS_CLERIC) | (1 << CLASS_AUGURER) | (1 << 8),			    LANG_HALFLING
const.c:	"Pixie",       {{1<<AFF_FLYING,0,0,0}},     -4, 3, 0,-1,-2, 3, 0, -5,40, 0, 0,	
const.c:	"Vampire",   {{1<<AFF_INFRARED,0,0,0}},	1, 0, 0, 0, 2,-2, 0,	0,												    LANG_COMMON
const.c:	"Half-Ogre",   {{1<<AFF_INFRARED,0,0,0}},    2,-3,-1,-2, 3,-4, 0, 5,-8, 0, 0,	
const.c:	"Half-Orc",    {{1<<AFF_INFRARED,0,0,0}},    1,-2,-2,-1, 2,-4, 0, 6,-9, 0, 0,
const.c:	"Half-Troll",  {{1<<AFF_INFRARED,0,0,0}},    3,-2,-2, 1, 2,-5, 0, 7,-9, 0, 0,
const.c:	"Half-Elf",    {{1<<AFF_INFRARED,0,0,0}},   -1, 1, 0, 1,-1, 1, 0, 3, 3, 0, 0, 
const.c:	"Gith",        {{1<<AFF_DETECT_INVIS,0,0,0}},    1, 2,-1, 1,-2,-5, 1, 4,20, 0, 0,
const.c:	"Centaur",        {{1<<AFF_SCRYING,0,0,0}},    2,-4,-1,+2,+1,-2, 0, 5, 0, 0,0, 
const.c:	"Minotaur",	{{1<<AFF_INFRARED,0,0,0}},	2,-3,-1,-2,3,-4,0,5,-8,0,0,
const.c:	"Sprite",	{{1<<AFF_FLYING,0,0,0}},	-4,3,0,-1,-2,3,0,-5,40,0,0,
const.c:	"Leprechaun",   {{1<<AFF_SNEAK, 0,0,0}}, -2,1,0,0,1,0,0,-3,10,0,0,
const.c:	"Kender",       {{1<<AFF_SNEAK, 0,0,0}}, -2,1,0,0,1,0,0,-3,10,0,0,
const.c:	"Ariel", {{1<<AFF_DETECT_MAGIC,0,0,0}}, -1,2,0,1,-1,1,0,-2,10,0,0,0,LANG_ELVEN
const.c:	"Slith", {{1<<AFF_INFRARED,0,0,0}}, 1,0,1,0,2,-1,0,6,-6,0,0, (1<<CLASS_MAGE) | (1<<8), LANG_DWARVEN
const.c:	"Mrrshan", {{1<<AFF_DETECT_INVIS,0,0,0}},1,2,-1,1,-2,-5,1,4,20,0,0,
const.c:"half-ogre", "half-orc", "half-troll", "half-elf", "gith", "drow",    /* 12 */
const.c:"sea-elf", "lizardman", "gnome", "minotaur", "sprite", "leprechaun",  /* 18 */
const.c:"assassin", "warlock", "battlemage", "knight", "anti-paladin", "harper",
const.c:    { -5, -4,   0,  0 },  /* 0  */
const.c:    { -5, -4,   3,  1 },  /* 1  */
const.c:    { -3, -2,   3,  2 },
const.c:    { -3, -1,  10,  3 },  /* 3  */
const.c:    { -2, -1,  25,  4 },
const.c:    { -2, -1,  55,  5 },  /* 5  */
const.c:    { -1,  0,  80,  6 },
const.c:    { -1,  0,  90,  7 },
const.c:    { - 10 },   /* 15 */
const.c:    { - 15 },
const.c:    { - 20 },
const.c:    { - 30 },
const.c:    { - 40 },
const.c:    { - 50 },   /* 20 */
const.c:    { - 60 },
const.c:    { - 75 },
const.c:    { - 90 },
const.c:    { -105 },
const.c:    { -120 }    /* 25 */
const.c:    { -4, 20 },   /*  0 */
const.c:    { -3, 25 },   /*  1 */
const.c:    { -2, 30 },
const.c:    { -2, 35 },	  /*  3 */
const.c:    { -1, 40 },
const.c:    { -1, 45 },   /*  5 */
const.c:    { -1, 50 },
const.c:    { - 60 },   /* 0 */
const.c:    { - 50 },   /* 1 */
const.c:    { - 50 },
const.c:    { - 40 },
const.c:    { - 30 },
const.c:    { - 20 },   /* 5 */
const.c:    { - 10 },
const.c:    { -  5 },
const.c:    { -  1 },
const.c:/* Have to fix this up - not exactly sure how it works (Scryn) */
const.c:    { - 10 },   /* 15 */
const.c:    { - 15 },
const.c:    { - 20 },
const.c:    { - 30 },
const.c:    { - 40 },
const.c:    { - 50 },   /* 20 */
const.c:    { - 60 },
const.c:    { - 75 },
const.c:    { - 90 },
const.c:    { -105 },
const.c:    { -120 }    /* 25 */
const.c:    { "slime mold juice",	"green",	{  0, 4, -8 }	},
const.c:    { "blood",			"red",		{  0, 2, -1 }	},
const.c:    { "salt water",		"clear",	{  0, 1, -2 }	},
const.c:/* Weather constants - FB */
const.c:		"Gale-like winds whip up the warm air",
copyover.c:#define CH(descriptor)  ((descriptor)->original ? \
copyover.c:(descriptor)->original : (descriptor)->character)
copyover.c:COPYOVER_FILE - temporary data file used
copyover.c:EXE_FILE      - file to be exec'ed (i.e. the MUD)
copyover.c:Note that I advance level 1 chars to level 2 - this is necessary in MERC and
copyover.c:the connected state so that negative states represent logging-in, while as
copyover.c:The command was inspired by the discussion on merc-l about how Fusion's MUD++
copyover.c:could reboot without players having to re-login :)
copyover.c:	/* do_asave (NULL, ""); - autosave changed areas */
copyover.c:	sprintf (buf, "\n\r&R[&WINFO&R] &cCOPYOVER initiated by %s, sorry for the inconvenience!\n\r", ch->name);
copyover.c:		d_next = d->next; /* We delete from the list , so need to save this */
copyover.c:		if (!d->character || d->connected > CON_PLAYING) /* drop those logging on */
copyover.c:			write_to_descriptor (d->descriptor, "\n\rSorry, we are rebooting. Come back in a few minutes.\n\r", 0);
copyover.c:			fprintf (fp, "%d %s %s\n", d->descriptor, och->name, d->host);
copyover.c:			if (och->level == 1)
copyover.c:				write_to_descriptor (d->descriptor, "Since you are level one, and level one characters do not save, you gain a free level!\n\r", 0);
copyover.c:				och->level++; /* Advance_level doesn't do that */
copyover.c:			write_to_descriptor (d->descriptor, buf, 0);
copyover.c:	fprintf (fp, "-1\n");
copyover.c:	/* Close reserve and other always-open files and release other resources */
copyover.c:	/* exec - descriptors are inherited */
copyover.c:	/* Failed - sucessful exec will not return */
copyover.c:/* Recover from a copyover - load players */
copyover.c:	unlink (COPYOVER_FILE); /* In case something crashes - doesn't prevent reading	*/
copyover.c:		if (desc == -1)
copyover.c:		/* Write something, and check if it goes error-free */		
copyover.c:		d->host = str_dup (host);
copyover.c:		d->next = descriptor_list;
copyover.c:		d->connected = CON_COPYOVER_RECOVER; /* -15, so close_socket frees the char */
copyover.c:			if (!d->character->in_room)
copyover.c:				d->character->in_room = get_room_index (ROOM_VNUM_TEMPLE);
copyover.c:			d->character->next = char_list;
copyover.c:			char_list = d->character;
copyover.c:			char_to_room (d->character, d->character->in_room);
copyover.c:			do_look (d->character, "");
copyover.c:			act ("$n materializes!", d->character, NULL, NULL, TO_ROOM);
copyover.c:			d->connected = CON_PLAYING;
crwrapper.c:#include "imc-mercbase.h"
db.c: * -----------------------------------------------------------|   (0...0)   *
db.c: * -----------------------------------------------------------|    {o o}    *
db.c: * ------------------------------------------------------------------------ *
db.c: * ------------------------------------------------------------------------ *
db.c:/* spell casting skills -- Scion */
db.c:/* For styles?  Trying to rebuild from some kind of accident here - Blod */
db.c:/* sharpen skill --Cronel */
db.c: * Semi-locals.
db.c:    boot_log( "---------------------[ Boot Log ]--------------------" );
db.c:	if ( !gsn_first_spell && skill_table[x]->type == SKILL_SPELL )
db.c:	if ( !gsn_first_skill && skill_table[x]->type == SKILL_SKILL )
db.c:	if ( !gsn_first_weapon && skill_table[x]->type == SKILL_WEAPON )
db.c:	if ( !gsn_first_tongue && skill_table[x]->type == SKILL_TONGUE )
db.c:    auction->item 	= NULL;
db.c:    auction->hist_timer = 0;
db.c:    	auction->history[x] = NULL;
db.c:	lhour		= (current_time - 650336715)
db.c:	ASSIGN_GSN( gsn_sharpen,	"sharpen" ); /* sharpen skill --Cronel */
db.c:/* hiscore shtuff -- Scion */
db.c:        log_string( "Loading slay tables" ); /* Online slay tables - Samson 8-3-98 */
db.c:/* Morphs MUST be loaded after class and race tables are set up --Shaddai */
db.c:    pArea->first_reset	= NULL;
db.c:    pArea->last_reset	= NULL;
db.c:    pArea->name		= fread_string_nohash( fp );
db.c:    pArea->author       = STRALLOC( "unknown" );
db.c:    pArea->filename	= str_dup( strArea );
db.c:    pArea->age		= 15;
db.c:    pArea->nplayer	= 0;
db.c:    pArea->low_r_vnum	= 0;
db.c:    pArea->low_o_vnum	= 0;
db.c:    pArea->low_m_vnum	= 0;
db.c:    pArea->hi_r_vnum	= 0;
db.c:    pArea->hi_o_vnum	= 0;
db.c:    pArea->hi_m_vnum	= 0;
db.c:    pArea->low_soft_range = 0;
db.c:    pArea->hi_soft_range  = MAX_LEVEL;
db.c:    pArea->low_hard_range = 0;
db.c:    pArea->hi_hard_range  = MAX_LEVEL;
db.c:    /* initialize weather data - FB */
db.c:    CREATE(pArea->weather, WEATHER_DATA, 1);
db.c:    pArea->weather->temp = 0;
db.c:    pArea->weather->precip = 0;
db.c:    pArea->weather->wind = 0;
db.c:    pArea->weather->temp_vector = 0;
db.c:    pArea->weather->precip_vector = 0;
db.c:    pArea->weather->wind_vector = 0;
db.c:    pArea->weather->climate_temp = 2;
db.c:    pArea->weather->climate_precip = 2;
db.c:    pArea->weather->climate_wind = 2;
db.c:    pArea->weather->first_neighbor = NULL;
db.c:    pArea->weather->last_neighbor = NULL;
db.c:    pArea->weather->echo = NULL;
db.c:    pArea->weather->echo_color = AT_GREY;
db.c: * the #AREA here.  --Shaddai
db.c:    if ( tarea->author )
db.c:      STRFREE( tarea->author );
db.c:    tarea->author   = fread_string( fp );
db.c:    tarea->high_economy	= fread_number( fp );
db.c:    tarea->low_economy	= fread_number( fp );
db.c:    if ( tarea->resetmsg )
db.c:	DISPOSE( tarea->resetmsg );
db.c:    tarea->resetmsg = fread_string_nohash( fp );
db.c:    tarea->flags = x1;
db.c:    tarea->reset_frequency = x2;
db.c:	tarea->age = x2;
db.c: * Page is insert-sorted by keyword.			-Thoric
db.c:    for ( tHelp = first_help; tHelp; tHelp = tHelp->next )
db.c:	if ( pHelp->level == tHelp->level
db.c:	&&   strcmp(pHelp->keyword, tHelp->keyword) == 0 )
db.c:	    bug( "add_help: duplicate: %s.  Deleting.", pHelp->keyword );
db.c:	    STRFREE( pHelp->text );
db.c:	    STRFREE( pHelp->keyword );
db.c:	if ( (match=strcmp(pHelp->keyword[0]=='\'' ? pHelp->keyword+1 : pHelp->keyword,
db.c:			   tHelp->keyword[0]=='\'' ? tHelp->keyword+1 : tHelp->keyword)) < 0
db.c:	||   (match == 0 && pHelp->level > tHelp->level) )
db.c:	    if ( !tHelp->prev )
db.c:		tHelp->prev->next = pHelp;
db.c:	    pHelp->prev		  = tHelp->prev;
db.c:	    pHelp->next		  = tHelp;
db.c:	    tHelp->prev		  = pHelp;
db.c:	pHelp->level	= fread_number( fp );
db.c:	pHelp->keyword	= fread_string( fp );
db.c:	if ( pHelp->keyword[0] == '$' )
db.c:	    STRFREE( pHelp->keyword );
db.c:	pHelp->text	= fread_string( fp );
db.c:	if ( pHelp->keyword[0] == '\0' )
db.c:	    STRFREE( pHelp->text );
db.c:	    STRFREE( pHelp->keyword );
db.c:	if ( !str_cmp( pHelp->keyword, "greeting" ) )
db.c:	    help_greeting = pHelp->text;
db.c:	if ( !str_cmp( pHelp->keyword, "greeting2" ) ) /* Josh */
db.c:	    help_greeting2 = pHelp->text;
db.c: * Add a character to the list of all characters		-Thoric
db.c:	pMobIndex->vnum			= vnum;
db.c:	    if ( !tarea->low_m_vnum )
db.c:		tarea->low_m_vnum	= vnum;
db.c:	    if ( vnum > tarea->hi_m_vnum )
db.c:		tarea->hi_m_vnum	= vnum;
db.c:	pMobIndex->player_name		= fread_string( fp );
db.c:	pMobIndex->short_descr		= fread_string( fp );
db.c:	pMobIndex->long_descr		= fread_string( fp );
db.c:	pMobIndex->description		= fread_string( fp );
db.c:	pMobIndex->long_descr[0]	= UPPER(pMobIndex->long_descr[0]);
db.c:	pMobIndex->description[0]	= UPPER(pMobIndex->description[0]);
db.c:	pMobIndex->act			= fread_bitvector( fp );
db.c:	xSET_BIT(pMobIndex->act, ACT_IS_NPC);
db.c:	pMobIndex->affected_by		= fread_bitvector( fp );
db.c:	pMobIndex->pShop		= NULL;
db.c:	pMobIndex->rShop		= NULL;
db.c:	pMobIndex->alignment		= fread_number( fp );
db.c:	pMobIndex->level		= fread_number( fp );
db.c:	   but it stops here - shogar)
db.c:        if(pMobIndex->level > (LEVEL_AVATAR + 5))
db.c:			vnum,pMobIndex->level,LEVEL_AVATAR);
db.c:		pMobIndex->level=LEVEL_AVATAR;
db.c:	pMobIndex->mobthac0		= fread_number( fp );
db.c:	pMobIndex->ac			= fread_number( fp );
db.c:	pMobIndex->hitnodice		= fread_number( fp );
db.c:	pMobIndex->hitsizedice		= fread_number( fp );
db.c:	pMobIndex->hitplus		= fread_number( fp );
db.c:	pMobIndex->damnodice		= fread_number( fp );
db.c:	pMobIndex->damsizedice		= fread_number( fp );
db.c:	pMobIndex->damplus		= fread_number( fp );
db.c:	pMobIndex->gold			= fread_number( fp );
db.c:	pMobIndex->exp			= fread_number( fp );
db.c:	/* pMobIndex->position		= fread_number( fp ); */
db.c:         pMobIndex->position          = fread_number( fp );
db.c:         if(pMobIndex->position<100){
db.c:            switch(pMobIndex->position){
db.c:                case 5: pMobIndex->position=6; break;
db.c:                case 6: pMobIndex->position=8; break;
db.c:                case 7: pMobIndex->position=9; break;
db.c:                case 8: pMobIndex->position=12; break;
db.c:                case 9: pMobIndex->position=13; break;
db.c:                case 10: pMobIndex->position=14; break;
db.c:                case 11: pMobIndex->position=15; break;
db.c:            pMobIndex->position-=100;
db.c:	/* pMobIndex->defposition		= fread_number( fp ); */
db.c:         pMobIndex->defposition          = fread_number( fp );
db.c:         if(pMobIndex->defposition<100){
db.c:            switch(pMobIndex->defposition){
db.c:                case 5: pMobIndex->defposition=6; break;
db.c:                case 6: pMobIndex->defposition=8; break;
db.c:                case 7: pMobIndex->defposition=9; break;
db.c:                case 8: pMobIndex->defposition=12; break;
db.c:                case 9: pMobIndex->defposition=13; break;
db.c:                case 10: pMobIndex->defposition=14; break;
db.c:                case 11: pMobIndex->defposition=15; break;
db.c:            pMobIndex->defposition-=100;
db.c:	pMobIndex->sex			= fread_number( fp );
db.c:	if ( letter == 'C' ) /* Realms complex mob 	-Thoric */
db.c:	    pMobIndex->perm_str			= fread_number( fp );
db.c:	    pMobIndex->perm_int			= fread_number( fp );
db.c:	    pMobIndex->perm_wis			= fread_number( fp );
db.c:	    pMobIndex->perm_dex			= fread_number( fp );
db.c:	    pMobIndex->perm_con			= fread_number( fp );
db.c:	    pMobIndex->perm_cha			= fread_number( fp );
db.c:	    pMobIndex->perm_lck			= fread_number( fp );
db.c: 	    pMobIndex->saving_poison_death	= fread_number( fp );
db.c:	    pMobIndex->saving_wand		= fread_number( fp );
db.c:	    pMobIndex->saving_para_petri	= fread_number( fp );
db.c:	    pMobIndex->saving_breath		= fread_number( fp );
db.c:	    pMobIndex->saving_spell_staff	= fread_number( fp );
db.c:	    pMobIndex->race		= x1;
db.c:	    pMobIndex->class		= x2;
db.c:	    pMobIndex->height		= x3;
db.c:	    pMobIndex->weight		= x4;
db.c:	    pMobIndex->speaks		= x5;
db.c:	    pMobIndex->speaking		= x6;
db.c:	    pMobIndex->numattacks	= x7;
db.c:            if ( !pMobIndex->speaks )
db.c:		pMobIndex->speaks = race_table[pMobIndex->race]->language | LANG_COMMON;
db.c:	    if ( !pMobIndex->speaking )
db.c:            pMobIndex->speaking = race_table[pMobIndex->race]->language;
db.c:	    pMobIndex->hitroll		= x1;
db.c:	    pMobIndex->damroll		= x2;
db.c:	    pMobIndex->xflags		= x3;
db.c:	    pMobIndex->resistant	= x4;
db.c:	    pMobIndex->immune		= x5;
db.c:	    pMobIndex->susceptible	= x6;
db.c:	    pMobIndex->attacks		= x7;
db.c:	    pMobIndex->defenses		= x8;
db.c:	    pMobIndex->hitroll		= fread_number(fp);
db.c:	    pMobIndex->damroll		= fread_number(fp);
db.c:	    pMobIndex->xflags		= fread_number(fp);
db.c:	    pMobIndex->resistant	= fread_number(fp);
db.c:	    pMobIndex->immune		= fread_number(fp);
db.c:	    pMobIndex->susceptible	= fread_number(fp);
db.c:	    pMobIndex->attacks		= fread_bitvector(fp);
db.c:	    pMobIndex->defenses		= fread_bitvector(fp);
db.c:	    pMobIndex->perm_str		= 13;
db.c:	    pMobIndex->perm_dex		= 13;
db.c:	    pMobIndex->perm_int		= 13;
db.c:	    pMobIndex->perm_wis		= 13;
db.c:	    pMobIndex->perm_cha		= 13;
db.c:	    pMobIndex->perm_con		= 13;
db.c:	    pMobIndex->perm_lck		= 13;
db.c:	    pMobIndex->race		= 0;
db.c:	    pMobIndex->class		= 3;
db.c:	    pMobIndex->xflags		= 0;
db.c:	    pMobIndex->resistant	= 0;
db.c:	    pMobIndex->immune		= 0;
db.c:	    pMobIndex->susceptible	= 0;
db.c:	    pMobIndex->numattacks	= 0;
db.c:	    xCLEAR_BITS(pMobIndex->attacks);
db.c:	    xCLEAR_BITS(pMobIndex->defenses);
db.c:	    pMobIndex->attacks		= 0;
db.c:	    pMobIndex->defenses		= 0;
db.c:	    pMobIndex->next		= mob_index_hash[iHash];
db.c:	pObjIndex->vnum			= vnum;
db.c:	  if ( !tarea->low_o_vnum )
db.c:	    tarea->low_o_vnum		= vnum;
db.c:	  if ( vnum > tarea->hi_o_vnum )
db.c:	    tarea->hi_o_vnum		= vnum;
db.c:	pObjIndex->name			= fread_string( fp );
db.c:	pObjIndex->short_descr		= fread_string( fp );
db.c:	pObjIndex->description		= fread_string( fp );
db.c:	pObjIndex->action_desc		= fread_string( fp );
db.c:	/*pObjIndex->short_descr[0]	= LOWER(pObjIndex->short_descr[0]);*/
db.c:	pObjIndex->description[0]	= UPPER(pObjIndex->description[0]);
db.c:	pObjIndex->item_type		= fread_number(fp);
db.c:	pObjIndex->extra_flags		= fread_bitvector(fp);
db.c:	pObjIndex->wear_flags		= x1;
db.c:	pObjIndex->layers		= x2;
db.c:	pObjIndex->value[0]		= x1;
db.c:	pObjIndex->value[1]		= x2;
db.c:	pObjIndex->value[2]		= x3;
db.c:	pObjIndex->value[3]		= x4;
db.c:	pObjIndex->value[4]		= x5;
db.c:	pObjIndex->value[5]		= x6;
db.c:	pObjIndex->weight		= fread_number( fp );
db.c:	pObjIndex->weight = UMAX( 1, pObjIndex->weight );
db.c:	pObjIndex->cost			= fread_number( fp );
db.c:	pObjIndex->rent		  	= fread_number( fp ); /* unused */
db.c:	  switch ( pObjIndex->item_type )
db.c:	      pObjIndex->value[1] = skill_lookup ( fread_word( fp )) ;
db.c:	      pObjIndex->value[2] = skill_lookup ( fread_word( fp )) ;
db.c:	      pObjIndex->value[3] = skill_lookup ( fread_word( fp )) ;
db.c:	      pObjIndex->value[3] = skill_lookup ( fread_word( fp )) ;
db.c:	      pObjIndex->value[4] = skill_lookup ( fread_word( fp )) ;
db.c:	      pObjIndex->value[5] = skill_lookup ( fread_word( fp )) ;
db.c:		paf->type		= -1;
db.c:		paf->duration		= -1;
db.c:		paf->location		= fread_number( fp );
db.c:		if ( paf->location == APPLY_WEAPONSPELL
db.c:		||   paf->location == APPLY_WEARSPELL
db.c:		||   paf->location == APPLY_REMOVESPELL
db.c:		||   paf->location == APPLY_STRIPSN
db.c:		||   paf->location == APPLY_RECURRINGSPELL )
db.c:		  paf->modifier		= slot_lookup( fread_number(fp) );
db.c:		  paf->modifier		= fread_number( fp );
db.c:		xCLEAR_BITS(paf->bitvector);
db.c:		LINK( paf, pObjIndex->first_affect, pObjIndex->last_affect,
db.c:		ed->keyword		= fread_string( fp );
db.c:		ed->description		= fread_string( fp );
db.c:		LINK( ed, pObjIndex->first_extradesc, pObjIndex->last_extradesc,
db.c:	   switch ( pObjIndex->item_type )
db.c:	       pObjIndex->value[1] = slot_lookup( pObjIndex->value[1] );
db.c:	       pObjIndex->value[2] = slot_lookup( pObjIndex->value[2] );
db.c:	       pObjIndex->value[3] = slot_lookup( pObjIndex->value[3] );
db.c:	       pObjIndex->value[3] = slot_lookup( pObjIndex->value[3] );
db.c:	       pObjIndex->value[4] = slot_lookup( pObjIndex->value[4] );
db.c:	       pObjIndex->value[5] = slot_lookup( pObjIndex->value[5] );
db.c:	  pObjIndex->next	= obj_index_hash[iHash];
db.c:    if ( tarea->first_reset )
db.c:	  for ( rtmp = tarea->first_reset; rtmp; rtmp = rtmp->next )
db.c:	  sprintf( buf, "Cleaning resets: %s", tarea->name );
db.c:	      boot_log( "Load_resets: %s (%d) bad command '%c'.", tarea->filename, count, letter );
db.c:		    tarea->filename, count, arg1 );
db.c:		    tarea->filename, count, arg3 );
db.c:		    tarea->filename, count, letter, arg1 );
db.c:		    tarea->filename, count, letter, arg3 );
db.c:		    tarea->filename, count, letter, arg1 );
db.c:			tarea->filename, count, arg3 );}
db.c:		    tarea->filename, count, letter, arg1 );
db.c:			tarea->filename, count, arg1 );
db.c:			tarea->filename, count, arg1 );
db.c:			tarea->filename, count, door );
db.c:	                tarea->filename, count, arg1 );
db.c:	              tarea->filename, count, arg1 );
db.c:	              tarea->filename, count, arg1 );
db.c:	           tarea->filename, count, arg2 & BIT_RESET_TYPE_MASK );
db.c:			tarea->filename, count, arg1 );
db.c:	    || !IS_SET( pexit->exit_info, EX_ISDOOR ) )
db.c:			tarea->filename, count, arg2 );
db.c:			tarea->filename, count, arg3 );
db.c:		    tarea->filename, count, arg1 );
db.c:			tarea->filename, count, arg2 );
db.c:    if( room->compress )
db.c:    if( !room->description )
db.c:    length = strlen( room->description );
db.c:    room->desc_size  = length;
db.c://    room->desc_alloc = length*2+15;
db.c:    room->desc_alloc = length*2+15;
db.c:    CREATE( room->compress_desc, unsigned char, room->desc_alloc );
db.c:    s->next_in = room->description;
db.c:    s->avail_in = length;
db.c:    s->next_out = room->compress_desc;
db.c:    s->avail_out = room->desc_alloc;
db.c:    s->zalloc = zlib_alloc;
db.c:    s->zfree  = zlib_free;
db.c:    s->opaque = NULL;
db.c:        DISPOSE( room->compress_desc );
db.c://    compress( room->compress_desc, (length+(length*.5)+24) , room->description, length );
db.c:    room->compress = s;
db.c:    while( s->avail_in )
db.c:        s->avail_out = room->desc_alloc - (s->next_out - room->compress_desc);
db.c:        if( s->avail_out )
db.c:        s->next_out = room->compress_desc;
db.c:    status = deflate( room->compress, Z_FINISH );
db.c:        //        bug( "Failed compressing of room! %d", room->vnum );
db.c:        bug( "stream error: %d", room->vnum );
db.c:        DISPOSE( room->compress_desc );
db.c:        bug( "buf error: %d", room->vnum );
db.c:        DISPOSE( room->compress_desc );
db.c:        bug( "Failed compressing of room! %d", room->vnum );
db.c:        DISPOSE( room->compress_desc );
db.c:    deflateEnd( room->compress );
db.c:    room->desc_alloc = strlen( room->compress_desc );
db.c:    RECREATE( room->compress_desc, unsigned char, room->desc_alloc );
db.c:    /* Get rid of old description! -- Kratas */
db.c:    DISPOSE( room->description );
db.c:    rdecomp->room = room;
db.c:    room->rdecomp = rdecomp;
db.c:    rdecomp->ttl_decomp = 8;
db.c:    rdecomp->room->rdecomp = NULL;
db.c:    DISPOSE( rdecomp->room->description );
db.c:    if( !room->compress )
db.c:    if( room->description )
db.c:        room->rdecomp->ttl_decomp = 8;
db.c:    /* This here will soon be obsolete -- Kratas */
db.c:    if( room->description )
db.c:        DISPOSE( room->description );
db.c:        CREATE( room->description, unsigned char, room->desc_size );
db.c:    if( !room->description )
db.c:        CREATE( room->description, unsigned char, room->desc_size );
db.c:    s = room->compress;
db.c:    s->next_in = room->compress_desc;
db.c:    s->next_out = room->description;
db.c:    s->avail_in = strlen( room->compress_desc )+1;
db.c:    s->avail_out = room->desc_size;
db.c:        DISPOSE( room->compress_desc );
db.c:        DISPOSE( room->description );
db.c:    room->compress = s;
db.c://    status = uncompress( room->description, room->desc_size,
db.c:    if( !room->compress )
db.c:    room->compress->avail_in = 0;
db.c:    room->compress->next_in = dummy;
db.c:    if( deflate( room->compress, Z_FINISH) != Z_STREAM_END )
db.c:    deflateEnd( room->compress );
db.c:    DISPOSE( room->compress_desc );
db.c:    DISPOSE( room->compress );
db.c:    for( rdecomp = first_decompress ; rdecomp ; rdecomp = rdecomp->next )
db.c:        if( rdecomp->ttl_decomp <= 0 )
db.c:            bug( "room_update: Decompress room: %d.", rdecomp->room->vnum );
db.c:            rdecomp->ttl_decomp -= 1;
db.c:	  pRoomIndex->first_person	= NULL;
db.c:	  pRoomIndex->last_person	= NULL;
db.c:	  pRoomIndex->first_content	= NULL;
db.c:	  pRoomIndex->last_content	= NULL;
db.c:	pRoomIndex->area		= tarea;
db.c:	pRoomIndex->vnum		= vnum;
db.c:	pRoomIndex->first_extradesc	= NULL;
db.c:	pRoomIndex->last_extradesc	= NULL;
db.c:	  if ( !tarea->low_r_vnum )
db.c:	    tarea->low_r_vnum		= vnum;
db.c:	  if ( vnum > tarea->hi_r_vnum )
db.c:	    tarea->hi_r_vnum		= vnum;
db.c:	pRoomIndex->name		= fread_string( fp );
db.c: 	pRoomIndex->description		= fread_string_nohash( fp );
db.c:            DISPOSE( pRoomIndex->description ); */
db.c:	pRoomIndex->room_flags		= x2;
db.c:	pRoomIndex->sector_type		= x3;
db.c:	pRoomIndex->tele_delay		= x4;
db.c:	pRoomIndex->tele_vnum		= x5;
db.c:	pRoomIndex->tunnel		= x6;
db.c:	if (pRoomIndex->sector_type < 0 || pRoomIndex->sector_type == SECT_MAX)
db.c:	      pRoomIndex->sector_type);
db.c:	  pRoomIndex->sector_type = 1;
db.c:	pRoomIndex->light		= 0;
db.c:	pRoomIndex->first_exit		= NULL;
db.c:	pRoomIndex->last_exit		= NULL;
db.c:		  pexit->description	= fread_string( fp );
db.c:		  pexit->keyword	= fread_string( fp );
db.c:		  pexit->exit_info	= 0;
db.c:		  pexit->key		= x2;
db.c:		  pexit->vnum		= x3;
db.c:		  pexit->vdir		= door;
db.c:		  pexit->distance	= x4;
db.c:		  pexit->pulltype	= x5;
db.c:		  pexit->pull		= x6;
db.c:		    case 1:  pexit->exit_info = EX_ISDOOR;                break;
db.c:		    case 2:  pexit->exit_info = EX_ISDOOR | EX_PICKPROOF; break;
db.c:		    default: pexit->exit_info = locks;
db.c:		ed->keyword		= fread_string( fp );
db.c:		ed->description		= fread_string( fp );
db.c:		LINK( ed, pRoomIndex->first_extradesc, pRoomIndex->last_extradesc,
db.c:                map->vnum                     = fread_number( fp );
db.c:                map->x                        = fread_number( fp ); 
db.c:                map->y                        = fread_number( fp );
db.c:		map->entry		      = fread_letter( fp );
db.c:                pRoomIndex->map               = map;
db.c:		if(  (map_index = get_map_index(map->vnum)) == NULL  )
db.c:		     map_index->vnum = map->vnum;
db.c:		     map_index->next = first_map;
db.c:			       map_index->map_of_vnums[i][j] = -1; */
db.c:			       /* map_index->map_of_ptrs[i][j] = NULL; */
db.c:		if( (map->y <0) || (map->y >48) )
db.c:                    bug("Map y coord out of range.  Room %d\n\r", map->y);
db.c:		if( (map->x <0) || (map->x >78) )
db.c:                    bug("Map x coord out of range.  Room %d\n\r", map->x);
db.c:		if(  (map->x >0) 
db.c:		   &&(map->x <80) 
db.c:		   &&(map->y >0) 
db.c:		   &&(map->y <48) )
db.c:		   map_index->map_of_vnums[map->y][map->x]=pRoomIndex->vnum;
db.c:	  pRoomIndex->next	 = room_index_hash[iHash];
db.c:	pShop->keeper		= fread_number( fp );
db.c:	if ( pShop->keeper == 0 )
db.c:	    pShop->buy_type[iTrade]	= fread_number( fp );
db.c:	pShop->profit_buy	= fread_number( fp );
db.c:	pShop->profit_sell	= fread_number( fp );
db.c:	pShop->profit_buy	= URANGE( pShop->profit_sell+5, pShop->profit_buy, 1000 );
db.c:	pShop->profit_sell	= URANGE( 0, pShop->profit_sell, pShop->profit_buy-5 );
db.c:	pShop->open_hour	= fread_number( fp );
db.c:	pShop->close_hour	= fread_number( fp );
db.c:	pMobIndex		= get_mob_index( pShop->keeper );
db.c:	pMobIndex->pShop	= pShop;
db.c:	    last_shop->next	= pShop;
db.c:	pShop->next		= NULL;
db.c:	pShop->prev		= last_shop;
db.c: * Load a repair shop section.					-Thoric
db.c:	rShop->keeper		= fread_number( fp );
db.c:	if ( rShop->keeper == 0 )
db.c:	  rShop->fix_type[iFix] = fread_number( fp );
db.c:	rShop->profit_fix	= fread_number( fp );
db.c:	rShop->shop_type	= fread_number( fp );
db.c:	rShop->open_hour	= fread_number( fp );
db.c:	rShop->close_hour	= fread_number( fp );
db.c:	pMobIndex		= get_mob_index( rShop->keeper );
db.c:	pMobIndex->rShop	= rShop;
db.c:	  last_repair->next	= rShop;
db.c:	rShop->next		= NULL;
db.c:	rShop->prev		= last_repair;
db.c:	    pMobIndex->spec_fun	= spec_lookup	( fread_word   ( fp ) );
db.c:	    if ( pMobIndex->spec_fun == 0 )
db.c:		bug( "Load_specials: 'M': vnum %d.", pMobIndex->vnum );
db.c:	tarea->low_soft_range = x1;
db.c:	tarea->hi_soft_range = x2;
db.c:	tarea->low_hard_range = x3;
db.c:	tarea->hi_hard_range = x4;
db.c:	tarea->weather->climate_temp = fread_number(fp);
db.c:	tarea->weather->climate_precip = fread_number(fp);
db.c:	tarea->weather->climate_wind = fread_number(fp);
db.c:	new->next = NULL;
db.c:	new->prev = NULL;
db.c:	new->address = NULL;
db.c:	new->name = fread_string(fp);
db.c:	     tarea->weather->first_neighbor,
db.c:	     tarea->weather->last_neighbor,
db.c:    for ( tarea = first_area; tarea; tarea = tarea->next )
db.c:	if ( tarea->high_economy > 0 || tarea->low_economy > 10000 )
db.c:	rng = tarea->hi_soft_range - tarea->low_soft_range;
db.c:	for ( idx = tarea->low_m_vnum; idx < tarea->hi_m_vnum; idx++ )
db.c:		boost_economy( tarea, mob->gold * 10 );
db.c:	      pRoomIndex  = pRoomIndex->next )
db.c:	    for ( pexit = pRoomIndex->first_exit; pexit; pexit = pexit_next )
db.c:		pexit_next = pexit->next;
db.c:		pexit->rvnum = pRoomIndex->vnum;
db.c:		if ( pexit->vnum <= 0
db.c:		||  (pexit->to_room=get_room_index(pexit->vnum)) == NULL )
db.c:				pRoomIndex->vnum, dir_name[pexit->vdir], pexit->vnum );
db.c:		    bug( "Deleting %s exit in room %d", dir_name[pexit->vdir],
db.c:				pRoomIndex->vnum );
db.c:	      SET_BIT( pRoomIndex->room_flags, ROOM_NO_MOB );
db.c:    /* Set all the rexit pointers 	-Thoric */
db.c:	      pRoomIndex  = pRoomIndex->next )
db.c:	    for ( pexit = pRoomIndex->first_exit; pexit; pexit = pexit->next )
db.c:		if ( pexit->to_room && !pexit->rexit )
db.c:		   rev_exit = get_exit_to( pexit->to_room, rev_dir[pexit->vdir], pRoomIndex->vnum );
db.c:			pexit->rexit	= rev_exit;
db.c:			rev_exit->rexit	= pexit;
db.c: * Get diku-compatable exit by number				-Thoric
db.c:    for ( pexit = room->first_exit; pexit; pexit = pexit->next )
db.c:    d1 = (*xit1)->vdir;
db.c:    d2 = (*xit2)->vdir;
db.c:      return -1;
db.c:    for ( pexit = room->first_exit; pexit; pexit = pexit->next )
db.c:	  exits[x]->prev	= exits[x-1];
db.c:	  exits[x]->prev	= NULL;
db.c:	  room->first_exit	= exits[x];
db.c:	if ( x >= (nexits - 1) )
db.c:	  exits[x]->next	= NULL;
db.c:	  room->last_exit	= exits[x];
db.c:	  exits[x]->next	= exits[x+1];
db.c:    for ( pexit = room->first_exit; pexit; pexit = pexit->next )
db.c:       vdirs[nexits++] = pexit->vdir;
db.c:	while ( vdirs[(d1 = number_range( d0, nexits - 1 ))] > maxdir
db.c:    for ( pexit = room->first_exit; pexit; pexit = pexit->next )
db.c:       pexit->vdir = vdirs[count++];
db.c:    for ( pArea = first_area; pArea; pArea = pArea->next )
db.c:	int reset_age = pArea->reset_frequency ? pArea->reset_frequency : 15;
db.c:        if( !IS_SET( pArea->flags, AFLAG_PLR_LOADED ) )
db.c:	if ( (reset_age == -1 && pArea->age == -1)
db.c:	||    ++pArea->age < (reset_age-1) )
db.c:        if( pArea->ttl == 0 && pArea->nplayer < 1 )
db.c:            if( IS_SET( pArea->flags, AFLAG_RESET_ON_BOOT ) )
db.c:                pArea->ttl = -1;
db.c:            sprintf( buf, "Unloading %s.", pArea->filename );
db.c:            for( vnum = pArea->low_r_vnum ; vnum <= pArea->hi_r_vnum ;
db.c:                if( IS_SET( room->room_flags, ROOM_DONATION )
db.c:                    || IS_SET( room->room_flags, ROOM_CLANSTOREROOM ) )
db.c:                for( victim = room->first_person ; victim ;
db.c:                    vic_next = victim->next;
db.c:                for ( obj = room->first_content; obj; obj = obj_next )
db.c:                    obj_next = obj->next_content;
db.c:                    if( obj->item_type == ITEM_CORPSE_PC )
db.c:            REMOVE_BIT( pArea->flags, AFLAG_PLR_LOADED );
db.c:        else if( pArea->nplayer > 0 )
db.c:            pArea->ttl = -1;
db.c:        if( pArea->ttl > 0 )
db.c:            pArea->ttl--;
db.c:	if ( pArea->nplayer > 0 && pArea->age == (reset_age-1) )
db.c:	    if ( pArea->resetmsg )
db.c:		sprintf( buf, "%s\n\r", pArea->resetmsg );
db.c:	    for ( pch = first_char; pch; pch = pch->next )
db.c:		&&   pch->in_room
db.c:		&&   pch->in_room->area == pArea
db.c:		&&   (pch->desc
db.c:		&&    pch->desc->connected == CON_PLAYING ) )
db.c:/*	-- Don't reset the area if players are in it. -- Scion */
db.c:/* NEVER RESET if the total number of objects is less than the number of areas * 60  -- Scion */
db.c:	if ( (pArea->nplayer == 0 || pArea->age >= reset_age) &&
db.c:	    fprintf( lfp, "Resetting: %s\n", pArea->filename );
db.c:	    if ( reset_age == -1 )
db.c:		pArea->age = -1;
db.c:		pArea->age = number_range( 0, reset_age / 5 );
db.c:	    if ( pRoomIndex != NULL && pArea == pRoomIndex->area
db.c:	    &&   pArea->reset_frequency == 0 )
db.c:		pArea->age = 15 - 3;
db.c:    mob->pIndexData		= pMobIndex;
db.c:    mob->editor			= NULL;
db.c:    mob->name			= QUICKLINK( pMobIndex->player_name );
db.c:    mob->short_descr		= QUICKLINK( pMobIndex->short_descr );
db.c:    mob->long_descr		= QUICKLINK( pMobIndex->long_descr  );
db.c:    mob->description		= QUICKLINK( pMobIndex->description );
db.c:    mob->spec_fun		= pMobIndex->spec_fun;
db.c:    mob->mpscriptpos		= 0;
db.c:    mob->level			= number_fuzzy( pMobIndex->level );
db.c:    mob->act			= pMobIndex->act;
db.c:    if ( xIS_SET( mob->act, ACT_MOBINVIS) )
db.c:	mob->mobinvis = mob->level;
db.c:    mob->affected_by		= pMobIndex->affected_by;
db.c:    mob->alignment		= pMobIndex->alignment;
db.c:    mob->sex			= pMobIndex->sex;
db.c:     * was:  if ( !pMobIndex->ac )
db.c:    if ( pMobIndex->ac )
db.c:	mob->armor		= pMobIndex->ac;
db.c:	mob->armor		= interpolate( mob->level, 100, -100 );
db.c:    if ( !pMobIndex->hitnodice )
db.c:	mob->max_hit		= mob->level * 8 + number_range(
db.c:					mob->level * mob->level / 4,
db.c:					mob->level * mob->level );
db.c:	mob->max_hit		= pMobIndex->hitnodice * number_range(1, pMobIndex->hitsizedice )
db.c:				      + pMobIndex->hitplus;
db.c:    mob->hit			= mob->max_hit;
db.c:    /* lets put things back the way they used to be! -Thoric */
db.c:    mob->gold			= pMobIndex->gold;
db.c:    mob->exp			= pMobIndex->exp;
db.c:    mob->position		= pMobIndex->position;
db.c:    mob->defposition		= pMobIndex->defposition;
db.c:    mob->barenumdie		= pMobIndex->damnodice;
db.c:    mob->baresizedie		= pMobIndex->damsizedice;
db.c:    mob->mobthac0		= pMobIndex->mobthac0;
db.c:    mob->hitplus		= pMobIndex->hitplus;
db.c:    mob->damplus		= pMobIndex->damplus;
db.c:    mob->perm_str		= pMobIndex->perm_str;
db.c:    mob->perm_dex		= pMobIndex->perm_dex;
db.c:    mob->perm_wis		= pMobIndex->perm_wis;
db.c:    mob->perm_int		= pMobIndex->perm_int;
db.c:    mob->perm_con		= pMobIndex->perm_con;
db.c:    mob->perm_cha		= pMobIndex->perm_cha;
db.c:    mob->perm_lck 		= pMobIndex->perm_lck;
db.c:    mob->hitroll		= pMobIndex->hitroll;
db.c:    mob->damroll		= pMobIndex->damroll;
db.c:    mob->race			= pMobIndex->race;
db.c:    mob->class			= pMobIndex->class;
db.c:    mob->xflags			= pMobIndex->xflags;
db.c:    mob->saving_poison_death	= pMobIndex->saving_poison_death;
db.c:    mob->saving_wand		= pMobIndex->saving_wand;
db.c:    mob->saving_para_petri	= pMobIndex->saving_para_petri;
db.c:    mob->saving_breath		= pMobIndex->saving_breath;
db.c:    mob->saving_spell_staff	= pMobIndex->saving_spell_staff;
db.c:    mob->height			= pMobIndex->height;
db.c:    mob->weight			= pMobIndex->weight;
db.c:    mob->resistant		= pMobIndex->resistant;
db.c:    mob->immune			= pMobIndex->immune;
db.c:    mob->susceptible		= pMobIndex->susceptible;
db.c:    mob->attacks		= pMobIndex->attacks;
db.c:    mob->defenses		= pMobIndex->defenses;
db.c:    mob->numattacks		= pMobIndex->numattacks;
db.c:    mob->speaks			= pMobIndex->speaks;
db.c:    mob->speaking		= pMobIndex->speaking;
db.c:   * Perhaps add this to the index later --Shaddai
db.c:    xCLEAR_BITS(mob->no_affected_by);
db.c:    mob->no_resistant   	= 0;
db.c:    mob->no_immune      	= 0;
db.c:    mob->no_susceptible 	= 0;
db.c:    pMobIndex->count++;
db.c:    obj->pIndexData	= pObjIndex;
db.c:    obj->in_room	= NULL;
db.c:    obj->level		= level;
db.c:    obj->wear_loc	= -1;
db.c:    obj->count		= 1;
db.c:    cur_obj_serial = UMAX((cur_obj_serial + 1 ) & (BV30-1), 1);
db.c:    obj->serial = obj->pIndexData->serial = cur_obj_serial;
db.c:    obj->name		= QUICKLINK( pObjIndex->name 	 );
db.c:    obj->short_descr	= QUICKLINK( pObjIndex->short_descr );
db.c:    obj->description	= QUICKLINK( pObjIndex->description );
db.c:    obj->action_desc	= QUICKLINK( pObjIndex->action_desc );
db.c:    obj->item_type	= pObjIndex->item_type;
db.c:    obj->extra_flags	= pObjIndex->extra_flags;
db.c:    obj->wear_flags	= pObjIndex->wear_flags;
db.c:    obj->value[0]	= pObjIndex->value[0];
db.c:    obj->value[1]	= pObjIndex->value[1];
db.c:    obj->value[2]	= pObjIndex->value[2];
db.c:    obj->value[3]	= pObjIndex->value[3];
db.c:    obj->value[4]	= pObjIndex->value[4];
db.c:    obj->value[5]	= pObjIndex->value[5];
db.c:    obj->weight		= pObjIndex->weight;
db.c:    obj->cost		= pObjIndex->cost;
db.c:    obj->cost		= number_fuzzy( 10 )
db.c:    switch ( obj->item_type )
db.c:	bug( "Read_object: vnum %d bad type.", pObjIndex->vnum );
db.c:	bug( "------------------------>     ", obj->item_type );
db.c:	 * optional food condition (rotting food)		-Thoric
db.c:	if ( obj->value[4] )
db.c:	  obj->timer = obj->value[4];
db.c:	  obj->timer = obj->value[1];
db.c:	obj->value[3]	= number_fuzzy( obj->value[3] );
db.c:	obj->value[0]	= number_fuzzy( obj->value[0] );
db.c:	obj->value[0]	= number_fuzzy( obj->value[0] );
db.c:	obj->value[1]	= number_fuzzy( obj->value[1] );
db.c:	obj->value[2]	= obj->value[1];
db.c:	if ( obj->value[1] && obj->value[2] )
db.c:	   obj->value[2] *= obj->value[1];
db.c:	   obj->value[1] = number_fuzzy( number_fuzzy( 1 * level / 4 + 2 ) );
db.c:	   obj->value[2] = number_fuzzy( number_fuzzy( 3 * level / 4 + 6 ) );
db.c:	if (obj->value[0] == 0)
db.c:	   obj->value[0] = INIT_WEAPON_CONDITION;
db.c:	if ( obj->value[0] == 0 )
db.c:	  obj->value[0]	= number_fuzzy( level / 4 + 2 );
db.c:	if (obj->value[1] == 0)
db.c:	    obj->value[1] = obj->value[0];
db.c:	obj->value[0]	= number_fuzzy( number_fuzzy( obj->value[0] ) );
db.c:	obj->value[0]	= obj->cost;
db.c:	if ( obj->value[0] == 0 )
db.c:		obj->value[0] = 1;
db.c:    ++pObjIndex->count;
db.c:    ch->editor			= NULL;
db.c:    ch->hunting			= NULL;
db.c:    ch->fearing			= NULL;
db.c:    ch->hating			= NULL;
db.c:    ch->name			= NULL;
db.c:    ch->short_descr		= NULL;
db.c:    ch->long_descr		= NULL;
db.c:    ch->description		= NULL;
db.c:    ch->next			= NULL;
db.c:    ch->prev			= NULL;
db.c:    ch->reply			= NULL;
db.c:    ch->retell			= NULL;
db.c:    ch->first_carrying		= NULL;
db.c:    ch->last_carrying		= NULL;
db.c:    ch->next_in_room		= NULL;
db.c:    ch->prev_in_room		= NULL;
db.c:    ch->fighting		= NULL;
db.c:    ch->switched		= NULL;
db.c:    ch->first_affect		= NULL;
db.c:    ch->last_affect		= NULL;
db.c:    ch->prev_cmd		= NULL;    /* maps */
db.c:    ch->last_cmd		= NULL;
db.c:    ch->dest_buf		= NULL;
db.c:    ch->alloc_ptr		= NULL;
db.c:    ch->spare_ptr		= NULL;
db.c:    ch->mount			= NULL;
db.c:    ch->morph    		= NULL;
db.c:    xCLEAR_BITS(ch->affected_by);
db.c:    ch->logon			= current_time;
db.c:    ch->armor			= 100;
db.c:    ch->position		= POS_STANDING;
db.c:    ch->practice		= 0;
db.c:    ch->hit			= 20;
db.c:    ch->max_hit			= 20;
db.c:    ch->mana			= 100;
db.c:    ch->max_mana		= 100;
db.c:    ch->move			= 100;
db.c:    ch->max_move		= 100;
db.c:    ch->height			= 72;
db.c:    ch->weight			= 180;
db.c:    ch->xflags			= 0;
db.c:    ch->race			= 0;
db.c:    ch->class			= 3;
db.c:    ch->class2                  = 0;
db.c:    ch->level2                  = -1;
db.c:    ch->speaking		= LANG_COMMON;
db.c:    ch->speaks			= LANG_COMMON;
db.c:    ch->barenumdie		= 1;
db.c:    ch->baresizedie		= 4;
db.c:    ch->substate		= 0;
db.c:    ch->tempnum			= 0;
db.c:    ch->perm_str		= 13;
db.c:    ch->perm_dex		= 13;
db.c:    ch->perm_int		= 13;
db.c:    ch->perm_wis		= 13;
db.c:    ch->perm_cha		= 13;
db.c:    ch->perm_con		= 13;
db.c:    ch->perm_lck		= 13;
db.c:    ch->mod_str			= 0;
db.c:    ch->mod_dex			= 0;
db.c:    ch->mod_int			= 0;
db.c:    ch->mod_wis			= 0;
db.c:    ch->mod_cha			= 0;
db.c:    ch->mod_con			= 0;
db.c:    ch->mod_lck			= 0;
db.c:    ch->pagelen                 = 24; 		     /* BUILD INTERFACE */
db.c:    ch->inter_page 		= NO_PAGE;           /* BUILD INTERFACE */
db.c:    ch->inter_type 		= NO_TYPE;           /* BUILD INTERFACE */
db.c:    ch->inter_editing    	= NULL;              /* BUILD INTERFACE */
db.c:    ch->inter_editing_vnum	= -1;                /* BUILD INTERFACE */
db.c:    ch->inter_substate    	= SUB_NORTH;         /* BUILD INTERFACE */
db.c:    if ( ch->desc )
db.c:    if ( ch->morph )
db.c:    	free_char_morph( ch->morph );
db.c:    while ( (obj = ch->last_carrying) != NULL )
db.c:    while ( (paf = ch->last_affect) != NULL )
db.c:    while ( (timer = ch->first_timer) != NULL )
db.c:    if ( ch->editor )
db.c:    STRFREE( ch->name		);
db.c:    STRFREE( ch->short_descr	);
db.c:    STRFREE( ch->long_descr	);
db.c:    STRFREE( ch->description	);
db.c:    if ( ch->inter_editing )
db.c:      DISPOSE( ch->inter_editing );
db.c:    if ( ch->pnote )
db.c:	free_note( ch->pnote );
db.c:    if ( ch->pcdata )
db.c:    	for(temp = ch->pcdata->first_ignored; temp; temp = next)
db.c:    		next = temp->next;
db.c:    		UNLINK(temp, ch->pcdata->first_ignored,
db.c:    			ch->pcdata->last_ignored, next, prev);
db.c:    		STRFREE(temp->name);
db.c:	STRFREE( ch->pcdata->filename   );
db.c:	STRFREE( ch->pcdata->deity_name );
db.c:	STRFREE( ch->pcdata->clan_name	);
db.c:	STRFREE( ch->pcdata->council_name );
db.c:	STRFREE( ch->pcdata->council2_name );
db.c:        DISPOSE( ch->pcdata->pwd	);  /* no hash */
db.c:	DISPOSE( ch->pcdata->bamfin	);  /* no hash */
db.c:	DISPOSE( ch->pcdata->bamfout	);  /* no hash */
db.c:	DISPOSE( ch->pcdata->rank	);
db.c:	STRFREE( ch->pcdata->title	);
db.c:	STRFREE( ch->pcdata->bio	); 
db.c:        STRFREE( ch->pcdata->hair_color );
db.c:        STRFREE( ch->pcdata->eye_color );
db.c:        STRFREE( ch->pcdata->skin_tone );
db.c:        STRFREE( ch->pcdata->ch_build );
db.c:        STRFREE( ch->pcdata->hair_length );
db.c:        STRFREE( ch->pcdata->ch_height );
db.c:        if( ch->pcdata->wedto )
db.c:            STRFREE( ch->pcdata->wedto );
db.c:        if( ch->pcdata->in_progress )
db.c:            free_global_note( ch->pcdata->in_progress );
db.c:        if( ch->pcdata->extraname )
db.c:            STRFREE( ch->pcdata->extraname );
db.c:        if( ch->pcdata->lastname )
db.c:            STRFREE( ch->pcdata->lastname );
db.c:        for( count = 0 ; ch->pcdata->alias[count] ; count++ )
db.c:            DISPOSE( ch->pcdata->alias[count] );
db.c:            DISPOSE( ch->pcdata->alias_sub[count] );
db.c:        if( ch->pcdata->outputprefix )
db.c:            DISPOSE( ch->pcdata->outputprefix );
db.c:        if( ch->pcdata->outputsuffix )
db.c:            DISPOSE( ch->pcdata->outputsuffix );
db.c:        for( alias = ch->pcdata->first_alias ; alias ; alias = alias_next )
db.c:            alias_next = alias->next;
db.c:            STRFREE( alias->alias );
db.c:            STRFREE( alias->name );
db.c:        if( ch->pcdata->arena )
db.c:            DISPOSE( ch->pcdata->arena );
db.c:            if( ch->pcdata->say_history[x] )
db.c:                DISPOSE( ch->pcdata->say_history[x] );
db.c:        if ( ch->pcdata->rreply )
db.c:            DISPOSE( ch->pcdata->rreply ); /* no hash */
db.c:        if ( ch->pcdata->rreply_name )
db.c:            DISPOSE( ch->pcdata->rreply_name ); /* no hash */
db.c:	DISPOSE( ch->pcdata->bestowments ); /* no hash */
db.c:	DISPOSE( ch->pcdata->homepage	);  /* no hash */
db.c:	DISPOSE( ch->pcdata->email	);  /* no hash */
db.c:	STRFREE( ch->pcdata->authed_by	);
db.c:	STRFREE( ch->pcdata->prompt	);
db.c:	STRFREE( ch->pcdata->fprompt	);
db.c:        if ( ch->pcdata->helled_by )
db.c:            STRFREE( ch->pcdata->helled_by );
db.c:	if ( ch->pcdata->subprompt )
db.c:            STRFREE( ch->pcdata->subprompt );
db.c:        if(ch->pcdata->tell_history)
db.c:			if(ch->pcdata->tell_history[i])
db.c:				STRFREE(ch->pcdata->tell_history[i]);
db.c:		DISPOSE(ch->pcdata->tell_history);
db.c:	DISPOSE(ch->pcdata->ice_listen);
db.c:	DISPOSE( ch->pcdata );
db.c:    for ( mpact = ch->mpact; mpact; mpact = mpact_next )
db.c:	mpact_next = mpact->next;
db.c:	DISPOSE( mpact->buf );
db.c:    for ( comments = ch->comments; comments; comments = comments_next )
db.c:	comments_next = comments->next;
db.c:	STRFREE( comments->text    );
db.c:	STRFREE( comments->to_list );
db.c:	STRFREE( comments->subject );
db.c:	STRFREE( comments->sender  );
db.c:	STRFREE( comments->date    );
db.c:    for ( ; ed; ed = ed->next )
db.c:	if ( is_name( name, ed->keyword ) )
db.c:	    return ed->description;
db.c:	  pMobIndex  = pMobIndex->next )
db.c:	if ( pMobIndex->vnum == vnum )
db.c:	  pObjIndex  = pObjIndex->next )
db.c:	if ( pObjIndex->vnum == vnum )
db.c:	  pRoomIndex  = pRoomIndex->next )
db.c:	if ( pRoomIndex->vnum == vnum )
db.c: * should include player files, and in-progress areas that are not loaded
db.c: * -- Altrag
db.c:    else if ( c == '-' )
db.c:	number = number * 10 + c - '0';
db.c:	number = 0 - number;
db.c: * custom str_dup using create					-Thoric
db.c:	if ( ln >= (MAX_STRING_LENGTH - 1) )
db.c:	if ( ln >= (MAX_STRING_LENGTH - 1) )
db.c: * Read to end of line into static buffer			-Thoric
db.c:	if ( ln >= (MAX_STRING_LENGTH - 1) )
db.c:    send_to_char_color( "\n\r&wSystem Memory [arguments - hash, check, showhigh]\n\r", ch );
db.c:    ch_printf_color( ch, "&wPotion Val:  &W%-16d   &wScribe/Brew: &W%d/%d\n\r",
db.c:    ch_printf_color( ch, "&wPill Val:    &W%-16d   &wGlobal loot: &W%d\n\r",
db.c:      hash = -1;
db.c:        if ( hash != -1 )
db.c:	case 0:  number -= 1; break;
db.c:    if ( ( to = to - from + 1 ) <= 1 )
db.c:    while ( ( number = number_mm( ) & (power - 1) ) >= to )
db.c:    while ( ( percent = number_mm( ) & (128-1) ) > 99 )
db.c:    while ( ( door = number_mm( ) & (16-1) ) > 9 )
db.c:    return number_mm( ) & ( ( 1 << width ) - 1 );
db.c: * I've gotten too many bad reports on OS-supplied random number generators.
db.c: * This is the Mitchell-Moore algorithm from Knuth Volume II.
db.c: * -- Furey
db.c:    piState[-2]	= 55 - 55;
db.c:    piState[-1]	= 55 - 24;
db.c:    piState[0]	= ((int) current_time) & ((1 << 30) - 1);
db.c:	piState[iState] = (piState[iState-1] + piState[iState-2])
db.c:			& ((1 << 30) - 1);
db.c:    iState1	 	= piState[-2];
db.c:    iState2	 	= piState[-1];
db.c:			& ((1 << 30) - 1);
db.c:    piState[-2]		= iState1;
db.c:    piState[-1]		= iState2;
db.c: * Roll some dice.						-Thoric
db.c:    return value_00 + level * (value_32 - value_00) / 32;
db.c: * Used for player-entered strings that go into disk files.
db.c:	    *str = '-';
db.c: * Encodes the tildes in a string.				-Thoric
db.c: * Used for player-entered strings that go into disk files.
db.c:    for ( ichar = 0; ichar <= sstr2 - sstr1; ichar++ )
db.c:    if ( sstr1 <= sstr2 && !str_cmp( astr, bstr + sstr2 - sstr1 ) )
db.c: * Returns an initial-capped string.
db.c:        if(i && str[i-1] != '&' && str[i-1] != '^') /* color fix - shogar */
db.c: * Returns TRUE or FALSE if a letter is a vowel			-Thoric
db.c: * Shove either "a " or "an " onto the beginning of a string	-Thoric
db.c:    fpLOG=NULL; /* redhat 5.1 fix - shogar */
db.c:	    ch->in_room ? ch->in_room->vnum : 0, ch->name, str );
db.c:	if ( stat( SHUTDOWN_FILE, &fst ) != -1 )	/* file exists */
db.c:    		fp=NULL; /* redhat 5.1 fix - shogar */
db.c:    fpLOG=NULL; /* redhat 5.1 fix - shogar */
db.c: * Add a string to the boot-up log				-Thoric
db.c:    fpLOG=NULL; /* redhat 5.1 fix - shogar */
db.c: * Dump a text file to a player, a line at a time		-Thoric
db.c:	&&      num < (MAX_STRING_LENGTH-2))
db.c: * Show the boot log file					-Thoric
db.c: * Writes a string to the log, extended version			-Thoric
db.c:    strtime[strlen(strtime)-1] = '\0';
db.c:                --length;
db.c: * wizlist builder!						-Thoric
db.c: * Modified so seperate function wouldn't be needed for guestlist - Kratas
db.c:        filler = ( 78-strlen_color( line ) );
db.c:    wiz->name	= str_dup( name );
db.c:    wiz->level	= level;
db.c:        wiz->last	= NULL;
db.c:        wiz->next	= NULL;
db.c:    for ( tmp = first_wiz; tmp; tmp = tmp->next )
db.c:        if ( (level > tmp->level) )
db.c:            if ( !tmp->last )
db.c:                tmp->last->next = wiz;
db.c:            wiz->last = tmp->last;
db.c:            wiz->next = tmp;
db.c:            tmp->last = wiz;
db.c:    wiz->last		= last_wiz;
db.c:    wiz->next		= NULL;
db.c:    last_wiz->next	= wiz;
db.c: * Wizlist builder						-Thoric
db.c: * Now excludes guests -- Scion
db.c:        if ( dentry->d_name[0] != '.' )
db.c:            char *s = strchr( dentry->d_name, '.' );
db.c:            sprintf (pbuf, "%s%c", "../player/", LOWER(dentry->d_name[0]));
db.c:                    if (!str_cmp(pentry->d_name, dentry->d_name))
db.c:            	sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
db.c:            /* log_string(buf);  *scream* We have too many imms/guests for this! -- Scion */
db.c:                	    ilevel = MAX_LEVEL - 16;
db.c:                	    ilevel = MAX_LEVEL - 17;
db.c:                	add_to_wizlist( dentry->d_name, ilevel );
db.c:    sprintf(buf, "Immortals - Staff of %s!", sysdata.mud_name);
db.c:    for ( wiz = first_wiz; wiz; wiz = wiz->next )
db.c:        if ( wiz->level < ilevel )
db.c:            ilevel = wiz->level;
db.c:            case MAX_LEVEL -  0: towizfile( " &ROmnipotent &w(Level 116) &ROwner&W", TRUE );      break;
db.c:            case MAX_LEVEL -  1: towizfile( " &RSupreme Entity &w(Level 115) &RHead Implementors&W", TRUE ); break;
db.c:            case MAX_LEVEL -  2: towizfile( " &RInfinite &w(Level 114) &RImplementors&W", TRUE );            break;
db.c:            case MAX_LEVEL -  3: towizfile( " &REternal &w(Level 113) &RAssistant Implementors&W", TRUE );   break;
db.c:            case MAX_LEVEL -  4: towizfile( " &RAncient &w(Level 112) &RAdministrators&W", TRUE );           break;
db.c:            case MAX_LEVEL -  5: towizfile( " &cExalted &w(Level 111) &cCoders&W", TRUE );                   break;
db.c:            case MAX_LEVEL -  6: towizfile( " &cAscendant &w(Level 110) &cRepresentatives&W", TRUE );        break;
db.c:            case MAX_LEVEL -  7: towizfile( " &cMaster Gods &w(Level 109) &cMaster Builders&W", TRUE );      break;
db.c:            case MAX_LEVEL -  8: towizfile( " &cGreater Gods &w(Level 108) &cGreater Builders&W", TRUE );    break;
db.c:            case MAX_LEVEL -  9: towizfile( " &cGods &w(Level 107) &cBuilders&W", TRUE );                    break;
db.c:            case MAX_LEVEL - 10: towizfile( " &cLesser Gods &w(Level 106) &cLesser Builders&W", TRUE );      break;
db.c:            case MAX_LEVEL - 11: towizfile( " &cNew Gods &w(Level 105) &cNew Builders&W", TRUE );            break;
db.c:            case MAX_LEVEL - 12: towizfile( " &cSaviors &w(Level 104) &cGeneral Staff&W", TRUE );            break;
db.c:            case MAX_LEVEL - 13: towizfile( " &BCreators &w(Level 103) &BImmortal Family&W", TRUE );         break;
db.c:            case MAX_LEVEL - 14: towizfile( " &BAcolytes &w(Level 102) &BInter-MUD Guest&W", TRUE );         break;
db.c:            case MAX_LEVEL - 15: towizfile( " &BNeophytes &w(Level 101) &BAmbassador&W", TRUE );             break;
db.c:            case MAX_LEVEL - 16: towizfile( " &BRetired&W", TRUE );                                          break;
db.c:            case MAX_LEVEL - 17: towizfile( " &BGuests&W", TRUE );                                           break;
db.c:        if ( strlen( buf ) + strlen( wiz->name ) > 76 )
db.c:        strcat( buf, wiz->name );
db.c:        wiznext = wiz->next;
db.c:        DISPOSE(wiz->name);
db.c: * -- Kratas
db.c:        if ( dentry->d_name[0] != '.' )
db.c:            if( strstr( dentry->d_name, "immlist" ) )
db.c:            	sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
db.c:                        ilevel = MAX_LEVEL - 16;
db.c:                        ilevel = MAX_LEVEL - 17;
db.c:                    add_to_wizlist( dentry->d_name, ilevel );
db.c:    sprintf(buf, "Immortals - Guests of %s!", sysdata.mud_name);
db.c:    for ( wiz = first_wiz; wiz; wiz = wiz->next )
db.c:        if ( wiz->level < ilevel )
db.c:            ilevel = wiz->level;
db.c:            case MAX_LEVEL -  0: towizfile( " &ROmnipotent &w(Level 116) &ROwner&W", FALSE );      break;
db.c:            case MAX_LEVEL -  1: towizfile( " &RSupreme Entity &w(Level 115) &RHead Implementors&W", FALSE ); break;
db.c:            case MAX_LEVEL -  2: towizfile( " &RInfinite &w(Level 114) &RImplementors&W", FALSE );            break;
db.c:            case MAX_LEVEL -  3: towizfile( " &REternal &w(Level 113) &RAssistant Implementors&W", FALSE );   break;
db.c:            case MAX_LEVEL -  4: towizfile( " &RAncient &w(Level 112) &RAdministrators&W", FALSE );           break;
db.c:            case MAX_LEVEL -  5: towizfile( " &cExalted &w(Level 111) &cCoders&W", FALSE );                   break;
db.c:            case MAX_LEVEL -  6: towizfile( " &cAscendant &w(Level 110) &cRepresentatives&W", FALSE );        break;
db.c:            case MAX_LEVEL -  7: towizfile( " &cMaster Gods &w(Level 109) &cMaster Builders&W", FALSE );      break;
db.c:            case MAX_LEVEL -  8: towizfile( " &cGreater Gods &w(Level 108) &cGreater Builders&W", FALSE );    break;
db.c:            case MAX_LEVEL -  9: towizfile( " &cGods &w(Level 107) &cBuilders&W", FALSE );                    break;
db.c:            case MAX_LEVEL - 10: towizfile( " &cLesser Gods &w(Level 106) &cLesser Builders&W", FALSE );      break;
db.c:            case MAX_LEVEL - 11: towizfile( " &cNew Gods &w(Level 105) &cNew Builders&W", FALSE );            break;
db.c:            case MAX_LEVEL - 12: towizfile( " &cSaviors &w(Level 104) &cGeneral Staff&W", FALSE );            break;
db.c:            case MAX_LEVEL - 13: towizfile( " &BCreators &w(Level 103) &BImmortal Family&W", FALSE );         break;
db.c:            case MAX_LEVEL - 14: towizfile( " &BAcolytes &w(Level 102) &BInter-MUD Guest&W", FALSE );         break;
db.c:            case MAX_LEVEL - 15: towizfile( " &BNeophytes &w(Level 101) &BAmbassador&W", FALSE );             break;
db.c:            case MAX_LEVEL - 16: towizfile( " &BRetired&W", FALSE );                                          break;
db.c:            case MAX_LEVEL - 17: towizfile( " &BGuests&W", FALSE );                                           break;
db.c:        if ( strlen( buf ) + strlen( wiz->name ) > 76 )
db.c:        strcat( buf, wiz->name );
db.c:        wiznext = wiz->next;
db.c:        DISPOSE(wiz->name);
db.c: *	Makes a wizlist for showing on the Telnet Interface WWW Site -- KCAH
db.c:      if ( dentry->d_name[0] != '.' )
db.c:          if( strstr( dentry->d_name, "immlist" ) )
db.c:          sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
db.c:            ilevel = MAX_LEVEL - 15;
db.c:            ilevel = MAX_LEVEL - 16;
db.c:	  add_to_wizlist( dentry->d_name, ilevel );
db.c:  sprintf(buf, "<BR>&YImmortals - Staff of %s!", sysdata.mud_name);
db.c:  for ( wiz = first_wiz; wiz; wiz = wiz->next )
db.c:    if ( wiz->level < ilevel )
db.c:      ilevel = wiz->level;
db.c:	case MAX_LEVEL -  0: towebwiz( "<P>&ROmnipotent &w(Level 116) &ROwner<BR>&W" ); break;
db.c:	case MAX_LEVEL -  1: towebwiz( "<P>&RSupreme Entity &w(Level 115) &RHead Implementors<BR>&W" ); break;
db.c:	case MAX_LEVEL -  2: towebwiz( "<P>&RInfinite &w(Level 114) &RImplementors<BR>&W" ); break;
db.c:	case MAX_LEVEL -  3: towebwiz( "<P>&REternal &w(Level 113) &RAssistant Implementors<BR>&W" ); break;
db.c:	case MAX_LEVEL -  4: towebwiz( "<P>&RAncient &w(Level 112) &RAdministrators<BR>&W" ); break;
db.c:	case MAX_LEVEL -  5: towebwiz( "<P>&cExalted &w(Level 111) &cCoders<BR>&W" ); break;
db.c:	case MAX_LEVEL -  6: towebwiz( "<P>&cAscendant &w(Level 110) &cRepresentatives<BR>&W" ); break;
db.c:	case MAX_LEVEL -  7: towebwiz( "<P>&cMaster Gods &w(Level 109) &cMaster Builders<BR>&W" ); break;
db.c:	case MAX_LEVEL -  8: towebwiz( "<P>&cGreater Gods &w(Level 108) &cGreater Builders<BR>&W" ); break;
db.c:	case MAX_LEVEL -  9: towebwiz( "<P>&cGods &w(Level 107) &cBuilders<BR>&W" ); break;
db.c:	case MAX_LEVEL - 10: towebwiz( "<P>&cLesser Gods &w(Level 106) &cLesser Builders<BR>&W" ); break;
db.c:	case MAX_LEVEL - 11: towebwiz( "<P>&cNew Gods &w(Level 105) &cNew Builders<BR>&W" ); break;
db.c:	case MAX_LEVEL - 12: towebwiz( "<P>&cSaviors &w(Level 104) &cGeneral Staff<BR>&W" ); break;
db.c:	case MAX_LEVEL - 13: towebwiz( "<P>&BCreators &w(Level 103) &BImmortal Family<BR>&W" ); break;
db.c:	case MAX_LEVEL - 14: towebwiz( "<P>&BAcolytes &w(Level 102) &BInter-MUD Guest<BR>&W" ); break;
db.c:	case MAX_LEVEL - 15: towebwiz( "<P>&BNeophytes &w(Level 101) &BAmbassador<BR>&W" ); break;
db.c:	case MAX_LEVEL - 16: towebwiz( "<P>&BRetired<BR>&W" ); break;
db.c:	case MAX_LEVEL - 17: towebwiz( "<P>&BGuests<BR>&W" ); break;
db.c:    if ( strlen( buf ) + strlen( wiz->name ) > 999 )
db.c:    strcat( buf, wiz->name );
db.c:    wiznext = wiz->next;
db.c:    DISPOSE(wiz->name);
db.c:     bug( "Mob: %d couldn't open mudprog file", pMobIndex->vnum );
db.c:    mprg2->type = mprog_name_to_type( fread_word( progfile ) );
db.c:    switch ( mprg2->type )
db.c:	xSET_BIT(pMobIndex->progtypes, mprg2->type);
db.c:	mprg2->arglist       = fread_string( progfile );
db.c:	mprg2->comlist       = fread_string( progfile );
db.c:	     mprg_next->next = mprg2;
db.c:      if ( (original = iMob->mudprogs) != NULL )
db.c:	for ( ; original->next; original = original->next );
db.c:	original->next = working;
db.c:	iMob->mudprogs = working;
db.c:      working->next = NULL;
db.c:      bug( "Load_mobiles: vnum %d MUDPROG char", pMobIndex->vnum );
db.c:  pMobIndex->mudprogs = mprg;
db.c:    mprg->type = mprog_name_to_type( fread_word( fp ) );
db.c:    switch ( mprg->type )
db.c:	bug( "Load_mobiles: vnum %d MUDPROG type.", pMobIndex->vnum );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_mobiles: vnum %d bad MUDPROG.", pMobIndex->vnum );
db.c:	xSET_BIT(pMobIndex->progtypes, mprg->type);
db.c:	mprg->arglist        = fread_string( fp );
db.c:	mprg->comlist        = fread_string( fp );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_mobiles: vnum %d bad MUDPROG.", pMobIndex->vnum );
db.c:     bug( "Obj: %d couldnt open mudprog file", pObjIndex->vnum );
db.c:    mprg2->type = mprog_name_to_type( fread_word( progfile ) );
db.c:    switch ( mprg2->type )
db.c:	xSET_BIT(pObjIndex->progtypes, mprg2->type);
db.c:	mprg2->arglist       = fread_string( progfile );
db.c:	mprg2->comlist       = fread_string( progfile );
db.c:	     mprg_next->next = mprg2;
db.c:      if ( (original = iObj->mudprogs) != NULL )
db.c:	for ( ; original->next; original = original->next );
db.c:	original->next = working;
db.c:	iObj->mudprogs = working;
db.c:      working->next = NULL;
db.c:      bug( "Load_objects: vnum %d OBJPROG char", pObjIndex->vnum );
db.c:  pObjIndex->mudprogs = mprg;
db.c:    mprg->type = mprog_name_to_type( fread_word( fp ) );
db.c:    switch ( mprg->type )
db.c:	bug( "Load_objects: vnum %d OBJPROG type.", pObjIndex->vnum );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_objects: vnum %d bad OBJPROG.", pObjIndex->vnum );
db.c:	xSET_BIT(pObjIndex->progtypes, mprg->type);
db.c:	mprg->arglist        = fread_string( fp );
db.c:	mprg->comlist        = fread_string( fp );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_objects: vnum %d bad OBJPROG.", pObjIndex->vnum );
db.c:     bug( "Room: %d couldnt open roomprog file", RoomIndex->vnum );
db.c:    mprg2->type = mprog_name_to_type( fread_word( progfile ) );
db.c:    switch ( mprg2->type )
db.c:	xSET_BIT(RoomIndex->progtypes, mprg2->type);
db.c:	mprg2->arglist       = fread_string( progfile );
db.c:	mprg2->comlist       = fread_string( progfile );
db.c:	     mprg_next->next = mprg2;
db.c:      if ( (original = iRoom->mudprogs) != NULL )
db.c:	for ( ; original->next; original = original->next );
db.c:	original->next = working;
db.c:	iRoom->mudprogs = working;
db.c:      working->next = NULL;
db.c:      bug( "Load_rooms: vnum %d ROOMPROG char", pRoomIndex->vnum );
db.c:  pRoomIndex->mudprogs = mprg;
db.c:    mprg->type = mprog_name_to_type( fread_word( fp ) );
db.c:    switch ( mprg->type )
db.c:	bug( "Load_rooms: vnum %d ROOMPROG type.", pRoomIndex->vnum );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_rooms: vnum %d bad ROOMPROG.", pRoomIndex->vnum );
db.c:	xSET_BIT(pRoomIndex->progtypes, mprg->type);
db.c:	mprg->arglist        = fread_string( fp );
db.c:	mprg->comlist        = fread_string( fp );
db.c:	     CREATE( mprg->next, MPROG_DATA, 1 );
db.c:	     mprg = mprg->next;
db.c:	     mprg->next = NULL;
db.c:	     bug( "Load_rooms: vnum %d bad ROOMPROG.", pRoomIndex->vnum );
db.c:   Don't ask me why they return bool.. :).. oh well.. -- Alty
db.c:  while ((ch = room->first_person) != NULL)
db.c:  while ((o = room->first_content) != NULL)
db.c:  while ((ed = room->first_extradesc) != NULL)
db.c:    room->first_extradesc = ed->next;
db.c:    STRFREE(ed->keyword);
db.c:    STRFREE(ed->description);
db.c:    --top_ed;
db.c:  while ((ex = room->first_exit) != NULL)
db.c:  while ((mpact = room->mpact) != NULL) 
db.c:    room->mpact = mpact->next;
db.c:    DISPOSE(mpact->buf);
db.c:  while ((mp = room->mudprogs) != NULL)
db.c:    room->mudprogs = mp->next;
db.c:    STRFREE(mp->arglist);
db.c:    STRFREE(mp->comlist);
db.c:/*  if (room->map)
db.c:    if ((mapi = get_map_index(room->map->vnum)) != NULL)
db.c:      if (room->map->x > 0 && room->map->x < 80 &&
db.c:          room->map->y > 0 && room->map->y < 48)
db.c:        mapi->map_of_vnums[room->map->y][room->map->x] = -1;
db.c:    DISPOSE(room->map);
db.c:  STRFREE(room->name);
db.c:  STRFREE(room->description);
db.c:  hash = room->vnum%MAX_KEY_HASH;
db.c:    room_index_hash[hash] = room->next;
db.c:    for (prev = room_index_hash[hash]; prev; prev = prev->next)
db.c:      if (prev->next == room)
db.c:      prev->next = room->next;
db.c:      bug("delete_room: room %d not in hash bucket %d.", room->vnum, hash);
db.c:  --top_room;
db.c:    o_next = o->next;
db.c:    if (o->pIndexData == obj)
db.c:  while ((ed = obj->first_extradesc) != NULL)
db.c:    obj->first_extradesc = ed->next;
db.c:    STRFREE(ed->keyword);
db.c:    STRFREE(ed->description);
db.c:    --top_ed;
db.c:  while ((af = obj->first_affect) != NULL)
db.c:    obj->first_affect = af->next;
db.c:    --top_affect;
db.c:  while ((mp = obj->mudprogs) != NULL)
db.c:    obj->mudprogs = mp->next;
db.c:    STRFREE(mp->arglist);
db.c:    STRFREE(mp->comlist);
db.c:  STRFREE(obj->name);
db.c:  STRFREE(obj->short_descr);
db.c:  STRFREE(obj->description);
db.c:  STRFREE(obj->action_desc);
db.c:    if (auction->history[auc] == obj)
db.c:      if (auc < AUCTION_MEM-1)
db.c:        memmove(&auction->history[auc], &auction->history[auc+1],
db.c:            (AUCTION_MEM-auc-1)*sizeof(OBJ_INDEX_DATA *));
db.c:      auction->history[AUCTION_MEM-1] = NULL;
db.c:      --auc;
db.c:  hash = obj->vnum%MAX_KEY_HASH;
db.c:    obj_index_hash[hash] = obj->next;
db.c:    for (prev = obj_index_hash[hash]; prev; prev = prev->next)
db.c:      if (prev->next == obj)
db.c:      prev->next = obj->next;
db.c:      bug("delete_obj: object %d not in hash bucket %d.", obj->vnum, hash);
db.c:  --top_obj_index;
db.c:    ch_next = ch->next;
db.c:    if (ch->pIndexData == mob)
db.c:  while ((mp = mob->mudprogs) != NULL)
db.c:    mob->mudprogs = mp->next;
db.c:    STRFREE(mp->arglist);
db.c:    STRFREE(mp->comlist);
db.c:  if (mob->pShop)
db.c:    UNLINK(mob->pShop, first_shop, last_shop, next, prev);
db.c:    DISPOSE(mob->pShop);
db.c:    --top_shop;
db.c:  if (mob->rShop)
db.c:    UNLINK(mob->rShop, first_repair, last_repair, next, prev);
db.c:    DISPOSE(mob->rShop);
db.c:    --top_repair;
db.c:  STRFREE(mob->player_name);
db.c:  STRFREE(mob->short_descr);
db.c:  STRFREE(mob->long_descr);
db.c:  STRFREE(mob->description);
db.c:  hash = mob->vnum%MAX_KEY_HASH;
db.c:    mob_index_hash[hash] = mob->next;
db.c:    for (prev = mob_index_hash[hash]; prev; prev = prev->next)
db.c:      if (prev->next == mob)
db.c:      prev->next = mob->next;
db.c:      bug("delete_mob: mobile %d not in hash bucket %d.", mob->vnum, hash);
db.c:  --top_mob_index;
db.c: * Creat a new room (for online building)			-Thoric
db.c:	pRoomIndex->first_person	= NULL;
db.c:	pRoomIndex->last_person		= NULL;
db.c:	pRoomIndex->first_content	= NULL;
db.c:	pRoomIndex->last_content	= NULL;
db.c:	pRoomIndex->first_extradesc	= NULL;
db.c:	pRoomIndex->last_extradesc	= NULL;
db.c:	pRoomIndex->area		= NULL;
db.c:	pRoomIndex->vnum		= vnum;
db.c:	pRoomIndex->name		= STRALLOC("Floating in a void");
db.c:	pRoomIndex->description		= STRALLOC("");
db.c:	pRoomIndex->room_flags		= ROOM_PROTOTYPE;
db.c:	pRoomIndex->sector_type		= 1;
db.c:	pRoomIndex->light		= 0;
db.c:	pRoomIndex->first_exit		= NULL;
db.c:	pRoomIndex->last_exit		= NULL;
db.c:	pRoomIndex->next	= room_index_hash[iHash];
db.c: * Create a new INDEX object (for online building)		-Thoric
db.c:	pObjIndex->vnum			= vnum;
db.c:	pObjIndex->name			= STRALLOC( name );
db.c:	pObjIndex->first_affect		= NULL;
db.c:	pObjIndex->last_affect		= NULL;
db.c:	pObjIndex->first_extradesc	= NULL;
db.c:	pObjIndex->last_extradesc	= NULL;
db.c:	  pObjIndex->short_descr	= STRALLOC( buf  );
db.c:	  pObjIndex->description	= STRALLOC( buf );
db.c:	  pObjIndex->action_desc	= STRALLOC( "" );
db.c:	  pObjIndex->short_descr[0]	= LOWER(pObjIndex->short_descr[0]);
db.c:	  pObjIndex->description[0]	= UPPER(pObjIndex->description[0]);
db.c:	  pObjIndex->item_type		= ITEM_TRASH;
db.c:	  xCLEAR_BITS(pObjIndex->extra_flags);
db.c:	  xSET_BIT(pObjIndex->extra_flags, ITEM_PROTOTYPE);
db.c:	  pObjIndex->wear_flags		= 0;
db.c:	  pObjIndex->value[0]		= 0;
db.c:	  pObjIndex->value[1]		= 0;
db.c:	  pObjIndex->value[2]		= 0;
db.c:	  pObjIndex->value[3]		= 0;
db.c:	  pObjIndex->weight		= 1;
db.c:	  pObjIndex->cost		= 0;
db.c:	  pObjIndex->short_descr	= QUICKLINK( cObjIndex->short_descr );
db.c:	  pObjIndex->description	= QUICKLINK( cObjIndex->description );
db.c:	  pObjIndex->action_desc	= QUICKLINK( cObjIndex->action_desc );
db.c:	  pObjIndex->item_type		= cObjIndex->item_type;
db.c:	  pObjIndex->extra_flags	= cObjIndex->extra_flags;
db.c:	  xSET_BIT(pObjIndex->extra_flags, ITEM_PROTOTYPE);
db.c:	  pObjIndex->wear_flags		= cObjIndex->wear_flags;
db.c:	  pObjIndex->value[0]		= cObjIndex->value[0];
db.c:	  pObjIndex->value[1]		= cObjIndex->value[1];
db.c:	  pObjIndex->value[2]		= cObjIndex->value[2];
db.c:	  pObjIndex->value[3]		= cObjIndex->value[3];
db.c:	  pObjIndex->weight		= cObjIndex->weight;
db.c:	  pObjIndex->cost		= cObjIndex->cost;
db.c:	  for ( ced = cObjIndex->first_extradesc; ced; ced = ced->next )
db.c:		ed->keyword		= QUICKLINK( ced->keyword );
db.c:		ed->description		= QUICKLINK( ced->description );
db.c:		LINK( ed, pObjIndex->first_extradesc, pObjIndex->last_extradesc,
db.c:	  for ( cpaf = cObjIndex->first_affect; cpaf; cpaf = cpaf->next )
db.c:		paf->type		= cpaf->type;
db.c:		paf->duration		= cpaf->duration;
db.c:		paf->location		= cpaf->location;
db.c:		paf->modifier		= cpaf->modifier;
db.c:		paf->bitvector		= cpaf->bitvector;
db.c:		LINK( paf, pObjIndex->first_affect, pObjIndex->last_affect,
db.c:	pObjIndex->count		= 0;
db.c:	pObjIndex->next			= obj_index_hash[iHash];
db.c: * Create a new INDEX mobile (for online building)		-Thoric
db.c:	pMobIndex->vnum			= vnum;
db.c:	pMobIndex->count		= 0;
db.c:	pMobIndex->killed		= 0;
db.c:	pMobIndex->player_name		= STRALLOC( name );
db.c:	  pMobIndex->short_descr	= STRALLOC( buf  );
db.c:	  pMobIndex->long_descr		= STRALLOC( buf );
db.c:	  pMobIndex->description	= STRALLOC( "" );
db.c:	  pMobIndex->short_descr[0]	= LOWER(pMobIndex->short_descr[0]);
db.c:	  pMobIndex->long_descr[0]	= UPPER(pMobIndex->long_descr[0]);
db.c:	  pMobIndex->description[0]	= UPPER(pMobIndex->description[0]);
db.c:	  xCLEAR_BITS(pMobIndex->act);
db.c:	  xSET_BIT(pMobIndex->act, ACT_IS_NPC);
db.c:	  xSET_BIT(pMobIndex->act, ACT_PROTOTYPE);
db.c:	  xCLEAR_BITS(pMobIndex->affected_by);
db.c:	  pMobIndex->pShop		= NULL;
db.c:	  pMobIndex->rShop		= NULL;
db.c:	  pMobIndex->spec_fun		= NULL;
db.c:	  pMobIndex->mudprogs		= NULL;
db.c:	  xCLEAR_BITS(pMobIndex->progtypes);
db.c:	  pMobIndex->alignment		= 0;
db.c:	  pMobIndex->level		= 1;
db.c:	  pMobIndex->mobthac0		= 0;
db.c:	  pMobIndex->ac			= 0;
db.c:	  pMobIndex->hitnodice		= 0;
db.c:	  pMobIndex->hitsizedice	= 0;
db.c:	  pMobIndex->hitplus		= 0;
db.c:	  pMobIndex->damnodice		= 0;
db.c:	  pMobIndex->damsizedice	= 0;
db.c:	  pMobIndex->damplus		= 0;
db.c:	  pMobIndex->gold		= 0;
db.c:	  pMobIndex->exp		= 0;
db.c:- shogar
db.c:	  pMobIndex->position		= 12;
db.c:	  pMobIndex->defposition	= 12;
db.c:	  pMobIndex->position		= POS_STANDING;
db.c:	  pMobIndex->defposition	= POS_STANDING;
db.c:	  pMobIndex->sex		= 0;
db.c:	  pMobIndex->perm_str		= 13;
db.c:	  pMobIndex->perm_dex		= 13;
db.c:	  pMobIndex->perm_int		= 13;
db.c:	  pMobIndex->perm_wis		= 13;
db.c:	  pMobIndex->perm_cha		= 13;
db.c:	  pMobIndex->perm_con		= 13;
db.c:	  pMobIndex->perm_lck		= 13;
db.c:	  pMobIndex->race		= 0;
db.c:	  pMobIndex->class		= 3;
db.c:	  pMobIndex->xflags		= 0;
db.c:	  pMobIndex->resistant		= 0;
db.c:	  pMobIndex->immune		= 0;
db.c:	  pMobIndex->susceptible	= 0;
db.c:          pMobIndex->numattacks		= 0;
db.c:          pMobIndex->speaks             = LANG_COMMON;
db.c:          pMobIndex->speaking           = LANG_COMMON;
db.c:	  xCLEAR_BITS(pMobIndex->attacks);
db.c:	  xCLEAR_BITS(pMobIndex->defenses);
db.c:	  pMobIndex->short_descr	= QUICKLINK( cMobIndex->short_descr );
db.c:	  pMobIndex->long_descr		= QUICKLINK( cMobIndex->long_descr  );
db.c:	  pMobIndex->description	= QUICKLINK( cMobIndex->description );
db.c:	  pMobIndex->act		= cMobIndex->act;
db.c:	  xSET_BIT(pMobIndex->act, ACT_PROTOTYPE);
db.c:	  pMobIndex->affected_by	= cMobIndex->affected_by;
db.c:	  pMobIndex->pShop		= NULL;
db.c:	  pMobIndex->rShop		= NULL;
db.c:	  pMobIndex->spec_fun		= cMobIndex->spec_fun;
db.c:	  pMobIndex->mudprogs		= NULL;
db.c:	  xCLEAR_BITS(pMobIndex->progtypes);
db.c:	  pMobIndex->alignment		= cMobIndex->alignment;
db.c:	  pMobIndex->level		= cMobIndex->level;
db.c:	  pMobIndex->mobthac0		= cMobIndex->mobthac0;
db.c:	  pMobIndex->ac			= cMobIndex->ac;
db.c:	  pMobIndex->hitnodice		= cMobIndex->hitnodice;
db.c:	  pMobIndex->hitsizedice	= cMobIndex->hitsizedice;
db.c:	  pMobIndex->hitplus		= cMobIndex->hitplus;
db.c:	  pMobIndex->damnodice		= cMobIndex->damnodice;
db.c:	  pMobIndex->damsizedice	= cMobIndex->damsizedice;
db.c:	  pMobIndex->damplus		= cMobIndex->damplus;
db.c:	  pMobIndex->gold		= cMobIndex->gold;
db.c:	  pMobIndex->exp		= cMobIndex->exp;
db.c:	  pMobIndex->position		= cMobIndex->position;
db.c:	  pMobIndex->defposition	= cMobIndex->defposition;
db.c:	  pMobIndex->sex		= cMobIndex->sex;
db.c:	  pMobIndex->perm_str		= cMobIndex->perm_str;
db.c:	  pMobIndex->perm_dex		= cMobIndex->perm_dex;
db.c:	  pMobIndex->perm_int		= cMobIndex->perm_int;
db.c:	  pMobIndex->perm_wis		= cMobIndex->perm_wis;
db.c:	  pMobIndex->perm_cha		= cMobIndex->perm_cha;
db.c:	  pMobIndex->perm_con		= cMobIndex->perm_con;
db.c:	  pMobIndex->perm_lck		= cMobIndex->perm_lck;
db.c:	  pMobIndex->race		= cMobIndex->race;
db.c:	  pMobIndex->class		= cMobIndex->class;
db.c:	  pMobIndex->xflags		= cMobIndex->xflags;
db.c:	  pMobIndex->resistant		= cMobIndex->resistant;
db.c:	  pMobIndex->immune		= cMobIndex->immune;
db.c:	  pMobIndex->susceptible	= cMobIndex->susceptible;
db.c:	  pMobIndex->numattacks		= cMobIndex->numattacks;
db.c:	  pMobIndex->attacks		= cMobIndex->attacks;
db.c:          pMobIndex->defenses		= cMobIndex->defenses;
db.c:	pMobIndex->next			= mob_index_hash[iHash];
db.c: * to_room and vnum.						-Thoric
db.c:	pexit->vdir		= door;
db.c:	pexit->rvnum		= pRoomIndex->vnum;
db.c:	pexit->to_room		= to_room;
db.c:	pexit->distance		= 1;
db.c:	    pexit->vnum = to_room->vnum;
db.c:	    texit = get_exit_to( to_room, rev_dir[door], pRoomIndex->vnum );
db.c:		texit->rexit = pexit;
db.c:		pexit->rexit = texit;
db.c:	for ( texit = pRoomIndex->first_exit; texit; texit = texit->next )
db.c:	   if ( door < texit->vdir )
db.c:	if ( !pRoomIndex->first_exit )
db.c:	  pRoomIndex->first_exit	= pexit;
db.c:	  /* keep exits in incremental order - insert exit into list */
db.c:	    if ( !texit->prev )
db.c:	      pRoomIndex->first_exit	= pexit;
db.c:	      texit->prev->next		= pexit;
db.c:	    pexit->prev			= texit->prev;
db.c:	    pexit->next			= texit;
db.c:	    texit->prev			= pexit;
db.c:	  pRoomIndex->last_exit->next	= pexit;
db.c:	pexit->next			= NULL;
db.c:	pexit->prev			= pRoomIndex->last_exit;
db.c:	pRoomIndex->last_exit		= pexit;
db.c:    for ( rnum = tarea->low_r_vnum; rnum <= tarea->hi_r_vnum; rnum++ )
db.c:	for ( pexit = pRoomIndex->first_exit; pexit; pexit = pexit->next )
db.c:		pexit->rvnum = pRoomIndex->vnum;
db.c:		if ( pexit->vnum <= 0 )
db.c:	       	  pexit->to_room = NULL;
db.c:		  pexit->to_room = get_room_index( pexit->vnum );
db.c:	  SET_BIT( pRoomIndex->room_flags, ROOM_NO_MOB );
db.c:    for ( rnum = tarea->low_r_vnum; rnum <= tarea->hi_r_vnum; rnum++ )
db.c:	for ( pexit = pRoomIndex->first_exit; pexit; pexit = pexit->next )
db.c:		if ( pexit->to_room && !pexit->rexit )
db.c:		   rev_exit = get_exit_to( pexit->to_room, rev_dir[pexit->vdir], pRoomIndex->vnum );
db.c:			pexit->rexit	= rev_exit;
db.c:			rev_exit->rexit	= pexit;
db.c:      --TRI  */
db.c:	    bug( tarea->filename );
db.c:		  DISPOSE( tarea->name );
db.c:		  tarea->name = fread_string_nohash( fpArea );
db.c:	    bug( tarea->filename );
db.c:       needs it null if you reuse it. - shogar */ 
db.c:            if( IS_SET( tarea->flags, AFLAG_RESET_ON_BOOT) )
db.c:                tarea->ttl = -1;
db.c:                SET_BIT( tarea->flags, AFLAG_PLR_LOADED );
db.c:	fprintf( lfp, "%-14s: Rooms: %5d - %-5d Objs: %5d - %-5d Mobs: %5d - %d\n",
db.c:		 tarea->filename,
db.c:		 tarea->low_r_vnum, tarea->hi_r_vnum,
db.c:		 tarea->low_o_vnum, tarea->hi_o_vnum,
db.c:		 tarea->low_m_vnum, tarea->hi_m_vnum );
db.c:	if ( !tarea->author )
db.c:	  tarea->author = STRALLOC( "" );
db.c:        SET_BIT( tarea->status, AREA_LOADED );
db.c:        if( !IS_SET( tarea->flags, AFLAG_RESET_ON_BOOT ) )
db.c:            REMOVE_BIT( tarea->flags, AFLAG_PLR_LOADED );
db.c:    res->name = fread_string_nohash(fp);
db.c:    if (*res->name == '$')
db.c:  DISPOSE(res->name);
db.c: * them out of the area files. -- Altrag */
db.c:		if ( dentry->d_name[0] != '.' )
db.c:			sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
db.c:							dentry->d_name, low, LEVEL_IMMORTAL );
db.c:				sprintf( buf, "%s%s.are", BUILD_DIR, dentry->d_name );
db.c:						dentry->d_name );
db.c:				sprintf( buf, "%s.are", dentry->d_name );
db.c:				pArea->author = STRALLOC( dentry->d_name );
db.c:				pArea->filename = str_dup( buf );
db.c:				pArea->name = fread_string_nohash( fp );
db.c:				sprintf( buf, "{PROTO} %s's area in progress", dentry->d_name );
db.c:				pArea->name = str_dup( buf );
db.c:				pArea->low_r_vnum = rlow; pArea->hi_r_vnum = rhi;
db.c:				pArea->low_m_vnum = mlow; pArea->hi_m_vnum = mhi;
db.c:				pArea->low_o_vnum = olow; pArea->hi_o_vnum = ohi;
db.c:				pArea->low_soft_range = -1; pArea->hi_soft_range = -1;
db.c:				pArea->low_hard_range = -1; pArea->hi_hard_range = -1;
db.c:				CREATE(pArea->weather, WEATHER_DATA, 1); /* FB */
db.c:				pArea->weather->temp = 0;
db.c:				pArea->weather->precip = 0;
db.c:				pArea->weather->wind = 0;
db.c:				pArea->weather->temp_vector = 0;
db.c:				pArea->weather->precip_vector = 0;
db.c:				pArea->weather->wind_vector = 0;
db.c:				pArea->weather->climate_temp = 2;
db.c:				pArea->weather->climate_precip = 2;
db.c:				pArea->weather->climate_wind = 2;
db.c:				pArea->weather->first_neighbor = NULL;
db.c:				pArea->weather->last_neighbor = NULL;
db.c:				pArea->weather->echo = NULL;
db.c:				pArea->weather->echo_color = AT_GREY;
db.c:				pArea->first_reset = NULL; pArea->last_reset = NULL;
db.c:				fprintf( lfp, "%-14s: Rooms: %5d - %-5d Objs: %5d - %-5d "
db.c:								 "Mobs: %5d - %-5d\n",
db.c:					pArea->filename,
db.c:					pArea->low_r_vnum, pArea->hi_r_vnum,
db.c:					pArea->low_o_vnum, pArea->hi_o_vnum,
db.c:					pArea->low_m_vnum, pArea->hi_m_vnum );
db.c:/* Rebuilt from broken copy, but bugged - commented out for now - Blod */
db.c:    pRes->next = NULL;
db.c:    pRes->prev = NULL;
db.c:    for ( res = first_reserved; res; res = res->next )
db.c:        if ( strcasecmp(pRes->name, res->name) > 0 )
db.c: *      - 4/27/97, Fireblade
db.c:                        temp_area = temp_area->next_sort_name)
db.c:                if(strcmp(pArea->name, temp_area->name) < 0)
db.c: * Sort by room vnums					-Altrag & Thoric
db.c:    pArea->next_sort = NULL;
db.c:    pArea->prev_sort = NULL;
db.c:	pArea->prev_sort = NULL;
db.c:	pArea->next_sort = NULL;
db.c:    for ( area = first_sort; area; area = area->next_sort )
db.c:	if ( pArea->low_r_vnum < area->low_r_vnum )
db.c:	    if ( !area->prev_sort )
db.c:	      area->prev_sort->next_sort = pArea;
db.c:	    pArea->prev_sort = area->prev_sort;
db.c:	    pArea->next_sort = area;
db.c:	    area->prev_sort  = pArea;
db.c:	pArea->prev_sort     = last_sort;
db.c:	pArea->next_sort     = NULL;
db.c:	last_sort->next_sort = pArea;
db.c: * Display vnums currently assigned to areas		-Altrag & Thoric
db.c:    for ( pArea = first_sort; pArea; pArea = pArea->next_sort )
db.c:	if ( IS_SET( pArea->status, AREA_DELETED ) )
db.c:	if ( pArea->low_r_vnum < low )
db.c:	if ( pArea->hi_r_vnum > high )
db.c:	if ( IS_SET(pArea->status, AREA_LOADED) )
db.c:	pager_printf(ch, "&W%-15s&w| &cRooms: %5d - %-5d"
db.c:		     " &CObjs: %5d - %-5d &BMobs: %5d - %-5d%s&w\n\r",
db.c:		(pArea->filename ? pArea->filename : "(invalid)"),
db.c:		pArea->low_r_vnum, pArea->hi_r_vnum,
db.c:		pArea->low_o_vnum, pArea->hi_o_vnum,
db.c:		pArea->low_m_vnum, pArea->hi_m_vnum,
db.c:		IS_SET(pArea->status, AREA_LOADED) ? loadst : notloadst );
db.c:    sys->time_of_max = NULL;
db.c:    sys->mud_name = NULL;
db.c:            KEY( "Bashpvp",     sys->bash_plr_vs_plr, fread_number( fp ) );
db.c:            KEY( "Bashnontank", sys->bash_nontank,    fread_number( fp ) );
db.c:	    KEY( "Bestowdif",   sys->bestow_dif,      fread_number( fp ) );
db.c:	    KEY( "Build",	sys->build_level,     fread_number( fp ) );
db.c:            KEY ("BanSiteLevel", sys->ban_site_level, fread_number (fp));
db.c:            KEY ("BanClassLevel", sys->ban_class_level, fread_number (fp));
db.c:            KEY ("BanRaceLevel", sys->ban_race_level, fread_number (fp));
db.c:            KEY ("CheckImmHost", sys->check_imm_host, fread_number (fp));
db.c:			KEY ("Crashguard", sys->crashguard, fread_number(fp));
db.c:	    KEY( "Damplrvsplr",	   sys->dam_plr_vs_plr,	  fread_number( fp ) );
db.c:	    KEY( "Damplrvsmob",	   sys->dam_plr_vs_mob,	  fread_number( fp ) );
db.c:	    KEY( "Dammobvsplr",	   sys->dam_mob_vs_plr,	  fread_number( fp ) );
db.c:	    KEY( "Dammobvsmob",	   sys->dam_mob_vs_mob,	  fread_number( fp ) );
db.c:            KEY( "Dodgemod",       sys->dodge_mod,        fread_number( fp ) );
db.c:            KEY( "DoubleEXP",      sys->double_exp,       fread_number( fp ) );
db.c:		if ( !sys->time_of_max )
db.c:		    sys->time_of_max = str_dup("(not recorded)");
db.c:		if ( !sys->mud_name )
db.c:		    sys->mud_name = str_dup("(Name Not Set)");
db.c:	    KEY( "Forcepc",	   sys->level_forcepc,	  fread_number( fp ) );
db.c:            KEY( "Gougepvp",     sys->gouge_plr_vs_plr, fread_number( fp ) );
db.c:            KEY( "Gougenontank", sys->gouge_nontank,   fread_number( fp ) );
db.c:	    KEY( "Guildoverseer",  sys->guild_overseer,  fread_string( fp ) );
db.c:	    KEY( "Guildadvisor",   sys->guild_advisor,   fread_string( fp ) );
db.c:	    KEY( "Homepage",	   sys->homepage,	  fread_string_nohash( fp ) );
db.c:	    KEY( "Highplayers",	   sys->alltimemax,	  fread_number( fp ) );
db.c:	    KEY( "Highplayertime", sys->time_of_max,      fread_string_nohash( fp ) );
db.c:	    KEY( "IdentTries",	   sys->ident_retries,	  fread_number( fp ) );
db.c:	    KEY( "IMCMailVnum",	   sys->imc_mail_vnum,	  fread_number( fp ) );
db.c:	    KEY( "Imm_arena",	   sys->imm_arena,	  fread_number( fp ) );
db.c:	    KEY( "Log",		   sys->log_level,	  fread_number( fp ) );
db.c:            KEY ("MorphOpt", sys->morph_opt, fread_number (fp));
db.c:	    KEY( "Msetplayer",	   sys->level_mset_player, fread_number( fp ) );
db.c:	    KEY( "MudName", sys->mud_name, fread_string_nohash(fp));
db.c:	    KEY( "Muse",	   sys->muse_level,	   fread_number( fp ) );
db.c:            KEY( "Nameresolving",  sys->NO_NAME_RESOLVING, fread_number( fp ) );
db.c:	    KEY( "Overridepriv",   sys->level_override_private, fread_number( fp ) );
db.c:	    KEY( "Parrymod",    sys->parry_mod,   fread_number( fp ) );
db.c:	    KEY( "PetSave", 	sys->save_pets,	  fread_number( fp ) );
db.c:	    KEY( "Protoflag",	sys->level_modify_proto, fread_number( fp ) );
db.c:	    KEY( "Readallmail",	   sys->read_all_mail,	fread_number( fp ) );
db.c:	    KEY( "Readmailfree",   sys->read_mail_free,	fread_number( fp ) );
db.c:	    KEY( "Stunplrvsplr",   sys->stun_plr_vs_plr, fread_number( fp ) );
db.c:	    KEY( "Stunregular",    sys->stun_regular,	fread_number( fp ) );
db.c:	    KEY( "Saveflags",	   sys->save_flags,	fread_number( fp ) );
db.c:	    KEY( "Savefreq",	   sys->save_frequency,	fread_number( fp ) );
db.c:	    KEY( "Staff",          sys->muse_level,     fread_number( fp ) );
db.c:	    KEY( "Takeothersmail", sys->take_others_mail, fread_number( fp ) );
db.c:	    KEY( "Think",	   sys->think_level,	fread_number( fp ) );
db.c:	    KEY( "Tumblemod",   sys->tumble_mod, fread_number( fp ) );
db.c:            KEY ("WebCounter", sys->webcounter, fread_number(fp));
db.c:	    KEY ("WebServer", sys->webtoggle, fread_number(fp));
db.c:            KEY( "Webport",   sys->webport, fread_number( fp ) );
db.c:            KEY( "Wizlock",        sys->wizlock,          fread_number( fp ) );
db.c:	    KEY( "Waitforauth",	   sys->WAIT_FOR_AUTH,	  fread_number( fp ) );
db.c:	    KEY( "Writemailfree",  sys->write_mail_free,  fread_number( fp ) );
db.c:      bug( "Load_watchlist: no -1 found." );
db.c:    if ( number == -1 )
db.c:    pwatch->imm_level   = number;
db.c:    pwatch->imm_name    = fread_string_nohash(fp);
db.c:    pwatch->target_name = fread_string_nohash(fp);
db.c:    if ( strlen( pwatch->target_name ) < 2 )
db.c:    	DISPOSE( pwatch->target_name );
db.c:    pwatch->player_site = fread_string_nohash(fp);
db.c:    if ( strlen ( pwatch->player_site ) < 2 )
db.c:    	DISPOSE( pwatch->player_site );
db.c:    if ( pwatch->target_name )
db.c:    for(cmd = command_hash[(int)pwatch->target_name[0]]; cmd; cmd = cmd->next)
db.c:    	if(!str_cmp(pwatch->target_name, cmd->name))
db.c:            SET_BIT(cmd->flags, CMD_WATCH);
db.c:/* Check to make sure range of vnums is free - Scryn 2/27/96 */
db.c:    for ( pArea = first_asort; pArea; pArea = pArea->next_sort )
db.c:	if ( IS_SET( pArea->status, AREA_DELETED ) )
db.c:	  if ( low_range < pArea->low_r_vnum && pArea->low_r_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_r_vnum && pArea->hi_r_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_r_vnum )
db.c:	  && ( low_range <= pArea->hi_r_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_r_vnum )
db.c:	  && ( high_range >= pArea->low_r_vnum ) ) 
db.c:	  if ( low_range < pArea->low_m_vnum && pArea->low_m_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_m_vnum && pArea->hi_m_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_m_vnum )
db.c:	  && ( low_range <= pArea->hi_m_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_m_vnum )
db.c:	  && ( high_range >= pArea->low_m_vnum ) )
db.c:	  if ( low_range < pArea->low_o_vnum && pArea->low_o_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_o_vnum && pArea->hi_o_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_o_vnum )
db.c:	  && ( low_range <= pArea->hi_o_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_o_vnum )
db.c:	  && ( high_range >= pArea->low_o_vnum ) )
db.c:	sprintf(buf, "Conflict:%-15s| ",
db.c:		(pArea->filename ? pArea->filename : "(invalid)"));
db.c:          sprintf( buf2, "Rooms: %5d - %-5d\n\r", pArea->low_r_vnum, 
db.c:          pArea->hi_r_vnum);
db.c:          sprintf( buf2, "Mobs: %5d - %-5d\n\r", pArea->low_m_vnum, 
db.c:          pArea->hi_m_vnum);
db.c:          sprintf( buf2, "Objects: %5d - %-5d\n\r", pArea->low_o_vnum, 
db.c:          pArea->hi_o_vnum);
db.c:    for ( pArea = first_bsort; pArea; pArea = pArea->next_sort )
db.c:	if ( IS_SET( pArea->status, AREA_DELETED ) )
db.c:	  if ( low_range < pArea->low_r_vnum && pArea->low_r_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_r_vnum && pArea->hi_r_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_r_vnum )
db.c:	  && ( low_range <= pArea->hi_r_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_r_vnum )
db.c:	  && ( high_range >= pArea->low_r_vnum ) ) 
db.c:	  if ( low_range < pArea->low_m_vnum && pArea->low_m_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_m_vnum && pArea->hi_m_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_m_vnum )
db.c:	  && ( low_range <= pArea->hi_m_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_m_vnum )
db.c:	  && ( high_range >= pArea->low_m_vnum ) )
db.c:	  if ( low_range < pArea->low_o_vnum && pArea->low_o_vnum < high_range )
db.c:	  if ( low_range < pArea->hi_o_vnum && pArea->hi_o_vnum < high_range )
db.c:	  if ( ( low_range >= pArea->low_o_vnum )
db.c:	  && ( low_range <= pArea->hi_o_vnum ) )
db.c:	  if ( ( high_range <= pArea->hi_o_vnum )
db.c:	  && ( high_range >= pArea->low_o_vnum ) )
db.c:	sprintf(buf, "Conflict:%-15s| ",
db.c:		(pArea->filename ? pArea->filename : "(invalid)"));
db.c:          sprintf( buf2, "Rooms: %5d - %-5d\n\r", pArea->low_r_vnum, 
db.c:          pArea->hi_r_vnum);
db.c:          sprintf( buf2, "Mobs: %5d - %-5d\n\r", pArea->low_m_vnum, 
db.c:          pArea->hi_m_vnum);
db.c:          sprintf( buf2, "Objects: %5d - %-5d\n\r", pArea->low_o_vnum, 
db.c:          pArea->hi_o_vnum);
db.c:    for ( pArea = first_asort; pArea; pArea = pArea->next_sort )
db.c:	if ( IS_SET( pArea->status, AREA_DELETED ) )
db.c:	  if((pArea->low_r_vnum >= low_range) 
db.c:	  && (pArea->hi_r_vnum <= high_range))
db.c:	  if((pArea->low_m_vnum >= low_range) 
db.c:	  && (pArea->hi_m_vnum <= high_range))
db.c:	  if((pArea->low_o_vnum >= low_range) 
db.c:	  && (pArea->hi_o_vnum <= high_range))
db.c:	  ch_printf(ch, "Conflict:%-15s| Rooms: %5d - %-5d"
db.c:		     " Objs: %5d - %-5d Mobs: %5d - %-5d\n\r",
db.c:		(pArea->filename ? pArea->filename : "(invalid)"),
db.c:		pArea->low_r_vnum, pArea->hi_r_vnum,
db.c:		pArea->low_o_vnum, pArea->hi_o_vnum,
db.c:		pArea->low_m_vnum, pArea->hi_m_vnum );
db.c:    for ( pArea = first_bsort; pArea; pArea = pArea->next_sort )
db.c:	if ( IS_SET( pArea->status, AREA_DELETED ) )
db.c:	  if((pArea->low_r_vnum >= low_range) 
db.c:	  && (pArea->hi_r_vnum <= high_range))
db.c:	  if((pArea->low_m_vnum >= low_range) 
db.c:	  && (pArea->hi_m_vnum <= high_range))
db.c:	  if((pArea->low_o_vnum >= low_range) 
db.c:	  && (pArea->hi_o_vnum <= high_range))
db.c:	  sprintf(ch, "Conflict:%-15s| Rooms: %5d - %-5d"
db.c:		     " Objs: %5d - %-5d Mobs: %5d - %-5d\n\r",
db.c:		(pArea->filename ? pArea->filename : "(invalid)"),
db.c:		pArea->low_r_vnum, pArea->hi_r_vnum,
db.c:		pArea->low_o_vnum, pArea->hi_o_vnum,
db.c:		pArea->low_m_vnum, pArea->hi_m_vnum );
db.c: * -- Furey
db.c:	for(pArea = first_area; pArea; pArea = pArea->next)
db.c:		cf = pArea->weather->climate_temp - 2;
db.c:		pArea->weather->temp =
db.c:			number_range(-weath_unit, weath_unit) +
db.c:		pArea->weather->temp_vector =
db.c:			cf + number_range(-rand_factor, rand_factor);
db.c:		cf = pArea->weather->climate_precip - 2;
db.c:		pArea->weather->precip = 
db.c:			number_range(-weath_unit, weath_unit) +
db.c:		pArea->weather->precip_vector =
db.c:			cf + number_range(-rand_factor, rand_factor);
db.c:		cf = pArea->weather->climate_wind - 2;
db.c:		pArea->weather->wind = 
db.c:			number_range(-weath_unit, weath_unit) +
db.c:		pArea->weather->wind_vector =
db.c:			cf + number_range(-rand_factor, rand_factor);
db.c:		for(neigh = pArea->weather->first_neighbor; neigh;
db.c:			if(!neigh->address)
db.c:				neigh->address = get_area(neigh->name);
db.c:			if(!neigh->address)
db.c:				next_neigh = tneigh->next;
db.c:					pArea->weather->first_neighbor,
db.c:					pArea->weather->last_neighbor,
db.c:				STRFREE(tneigh->name);
db.c:				fold_area(pArea, pArea->filename, FALSE);
db.c:			tarea = neigh->address;
db.c:			for(tneigh = tarea->weather->first_neighbor; tneigh;
db.c:					tneigh = tneigh->next)
db.c:				if(!strcmp(pArea->name, tneigh->name))
db.c:				tneigh->name = STRALLOC(pArea->name);
db.c:					tarea->weather->first_neighbor,
db.c:					tarea->weather->last_neighbor,
db.c:				fold_area(tarea, tarea->filename, FALSE);
db.c:			tneigh->address = pArea;
db.c:			next_neigh = neigh->next;
db.c:   project->first_log = NULL;
db.c:   project->last_log  = NULL;
db.c:   project->next       = NULL;
db.c:   project->prev       = NULL;
db.c:   project->coder = NULL;
db.c:   project->description = STRALLOC("");
db.c:   project->name = STRALLOC( "" );
db.c:   project->owner = STRALLOC( "" );
db.c:   project->date = STRALLOC( "Not Set?!");
db.c:   project->status = STRALLOC( "No update." );
db.c:		KEY("Coder",	project->coder,	fread_string_nohash(fp));
db.c:			STRFREE(project->date);
db.c:			STRFREE(project->description);
db.c:		KEY("Date",		project->date,		fread_string( fp ));		
db.c:	   	KEY("Description",project->description,fread_string(fp));
db.c:	      if ( !project->description )
db.c:	      	project->description = STRALLOC( "" );
db.c:	      if ( !project->name )
db.c:	        project->name = STRALLOC( "" );
db.c:	      if ( !project->owner )
db.c:	        project->owner = STRALLOC( "" );
db.c:	      if ( !project->date )
db.c:	        project->date = STRALLOC( "Not Set?!" );
db.c:	      if ( !project->status )
db.c:	        project->status = STRALLOC( "No update." );
db.c:	      if ( str_cmp(project->owner, "None") )
db.c:		project->taken = TRUE;
db.c:		if(!log->sender)
db.c:		  log->sender = STRALLOC( "" );
db.c:		if(!log->date)
db.c:		  log->date   = STRALLOC( "" );
db.c:		if(!log->subject)
db.c:		  log->subject = STRALLOC( "None" );
db.c:		  log->to_list = STRALLOC( "" );
db.c:		LINK( log, project->first_log, project->last_log, next, prev );
db.c:	    	STRFREE(project->name );
db.c:	    KEY( "Name", 		project->name, 		fread_string_nohash( fp ) );
db.c:	    	STRFREE(project->owner);
db.c:	    KEY( "Owner", 		project->owner, 	fread_string( fp ) );
db.c:	    	STRFREE(project->status);
db.c:	    KEY( "Status", 		project->status,	fread_string( fp ) );
db.c:  log = project->last_log;
db.c:    UNLINK( log, project->first_log, project->last_log, next, prev );
db.c:    tlog = log->prev;
db.c:  if ( project->coder )
db.c:  	DISPOSE( project->coder );
db.c:  if ( project->description )
db.c:  	STRFREE( project->description );
db.c:  if ( project->name )
db.c:  	STRFREE( project->name );
db.c:  if ( project->owner )
db.c:  	STRFREE( project->owner );
db.c:  if ( project->date )
db.c:  	STRFREE( project->date );
db.c:  if ( project->status )
db.c:  	STRFREE( project->status );
db.c:      log->sender   = fread_string( fp );
db.c:      log->date     = fread_string( fp );
db.c:        log->subject  = fread_string( fp );
db.c:        log->text     = fread_string( fp );
db.c:        log->next             = NULL;
db.c:        log->prev             = NULL;
db.c:    for ( project = first_project; project; project = project->next )
db.c:	fprintf( fpout, "Name		   %s~\n",  project->name	    );
db.c:       	fprintf( fpout, "Owner		   %s~\n",  (project->owner) ? project->owner : "None" );
db.c:	if ( project->coder )
db.c:	 fprintf( fpout, "Coder		    %s~\n", project->coder );
db.c:	fprintf( fpout, "Status		   %s~\n",  (project->status) ? project->status : "No update." );
db.c: 	fprintf( fpout, "Date		   %s~\n",  (project->date) ? project->date : "Not Set?!?" );
db.c:	if ( project->description )
db.c:	  fprintf( fpout, "Description         %s~\n", project->description );
db.c:	for( log = project->first_log; log; log = log->next )
db.c:                log->sender,
db.c:                log->date,
db.c:                log->subject,
db.c:                log->text
deity.c: * -----------------------------------------------------------|   (0...0)   *
deity.c: * -----------------------------------------------------------|    {o o}    *
deity.c: * ------------------------------------------------------------------------ *
deity.c: * ------------------------------------------------------------------------ *
deity.c:     for ( deity = first_deity; deity; deity = deity->next )
deity.c:	if ( !str_cmp( name, deity->name ) )
deity.c:       for ( tdeity = first_deity; tdeity; tdeity = tdeity->next )
deity.c:	  fprintf( fpout, "%s\n", tdeity->filename );
deity.c:     if ( !deity->filename || deity->filename[0] == '\0' )
deity.c:	sprintf( buf, "save_deity: %s has no filename", deity->name );
deity.c:     sprintf( filename, "%s%s", DEITY_DIR, deity->filename );
deity.c:	fprintf( fp, "Filename		%s~\n",	deity->filename );
deity.c:	fprintf( fp, "Name		%s~\n",	deity->name	);
deity.c:	fprintf( fp, "Description	%s~\n",	deity->description );
deity.c:	fprintf( fp, "Alignment		%d\n",	deity->alignment );
deity.c:	fprintf( fp, "Worshippers	%d\n",	deity->worshippers );
deity.c:	fprintf( fp, "Flee		%d\n",	deity->flee );
deity.c:	fprintf( fp, "Flee_npcrace	%d\n",	deity->flee_npcrace );
deity.c:	fprintf( fp, "Flee_npcfoe	%d\n",	deity->flee_npcfoe );
deity.c:	fprintf( fp, "Kill		%d\n",	deity->kill );
deity.c:	fprintf( fp, "Kill_npcrace	%d\n",	deity->kill_npcrace );
deity.c:	fprintf( fp, "Kill_npcfoe	%d\n",	deity->kill_npcfoe );
deity.c:	fprintf( fp, "Kill_magic	%d\n",	deity->kill_magic );
deity.c:	fprintf( fp, "Sac		%d\n",	deity->sac );
deity.c:	fprintf( fp, "Bury_corpse	%d\n",	deity->bury_corpse );
deity.c:	fprintf( fp, "Aid_spell		%d\n",	deity->aid_spell );
deity.c:	fprintf( fp, "Aid		%d\n",	deity->aid );
deity.c:	fprintf( fp, "Steal		%d\n",	deity->steal );
deity.c:	fprintf( fp, "Backstab		%d\n",	deity->backstab );
deity.c:	fprintf( fp, "Die		%d\n",	deity->die );
deity.c:	fprintf( fp, "Die_npcrace	%d\n",	deity->die_npcrace );
deity.c:	fprintf( fp, "Die_npcfoe	%d\n",	deity->die_npcfoe );
deity.c:	fprintf( fp, "Spell_aid		%d\n",	deity->spell_aid );
deity.c:	fprintf( fp, "Dig_corpse	%d\n",	deity->dig_corpse );
deity.c:	fprintf( fp, "Scorpse		%d\n",	deity->scorpse );
deity.c:	fprintf( fp, "Savatar		%d\n",	deity->savatar );
deity.c:	fprintf( fp, "Sdeityobj		%d\n",	deity->sdeityobj );
deity.c:	fprintf( fp, "Srecall		%d\n",	deity->srecall );
deity.c:	fprintf( fp, "Suplift		%d\n",  deity->suplift );
deity.c:	fprintf( fp, "Race		%d\n",	deity->race );
deity.c:	fprintf( fp, "Class		%d\n",	deity->class );
deity.c:	fprintf( fp, "Element		%d\n",	deity->element );
deity.c:	fprintf( fp, "Sex		%d\n",	deity->sex );
deity.c:	fprintf( fp, "Affected		%s\n",	print_bitvector(&deity->affected) );
deity.c:	fprintf( fp, "Npcrace		%d\n",	deity->npcrace );
deity.c:	fprintf( fp, "Npcfoe		%d\n",	deity->npcfoe );
deity.c:	fprintf( fp, "Suscept		%d\n",	deity->suscept );
deity.c:	fprintf( fp, "Race2		%d\n",	deity->race2 );
deity.c:	fprintf( fp, "Susceptnum	%d\n",  deity->susceptnum );
deity.c:	fprintf( fp, "Elementnum	%d\n",  deity->elementnum );
deity.c:	fprintf( fp, "Affectednum	%d\n",	deity->affectednum );
deity.c:	fprintf( fp, "Objstat		%d\n",	deity->objstat	);
deity.c:	    KEY( "Affected",	deity->affected,	fread_bitvector( fp ) );
deity.c:	    KEY( "Affectednum",	deity->affectednum,	fread_number( fp ) );
deity.c:	    KEY( "Aid",		deity->aid,		fread_number( fp ) );
deity.c:	    KEY( "Aid_spell",	deity->aid_spell,	fread_number( fp ) );
deity.c:	    KEY( "Alignment",	deity->alignment,	fread_number( fp ) );
deity.c:	    KEY( "Backstab",	deity->backstab,	fread_number( fp ) );
deity.c:	    KEY( "Bury_corpse",	deity->bury_corpse,	fread_number( fp ) );
deity.c:	    KEY( "Class",	deity->class,		fread_number( fp ) );	
deity.c:	    KEY( "Description",	deity->description,	fread_string( fp ) );
deity.c:	    KEY( "Die",		deity->die,		fread_number( fp ) );
deity.c:	    KEY( "Die_npcrace",	deity->die_npcrace,	fread_number( fp ) );
deity.c:	    KEY( "Die_npcfoe",	deity->die_npcfoe,	fread_number( fp ) );
deity.c:	    KEY( "Dig_corpse",	deity->dig_corpse,	fread_number( fp ) );
deity.c:		if (!deity->name)
deity.c:		  deity->name			= STRALLOC( "" );
deity.c:		if (!deity->description)
deity.c:		  deity->description		= STRALLOC( "" );
deity.c:	    KEY( "Element",	deity->element,		fread_number( fp ) );
deity.c:	    KEY( "Elementnum",	deity->elementnum,	fread_number( fp ) );
deity.c:	    KEY( "Filename",	deity->filename,	fread_string_nohash( fp ) );
deity.c:	    KEY( "Flee",	deity->flee,		fread_number( fp ) ); 
deity.c:	    KEY( "Flee_npcrace",deity->flee_npcrace,	fread_number( fp ) );
deity.c:	    KEY( "Flee_npcfoe",	deity->flee_npcfoe,	fread_number( fp ) );
deity.c:	    KEY( "Kill",	deity->kill,		fread_number( fp ) );
deity.c:	    KEY( "Kill_npcrace",deity->kill_npcrace,	fread_number( fp ) );
deity.c:	    KEY( "Kill_npcfoe",	deity->kill_npcfoe,	fread_number( fp ) );
deity.c:	    KEY( "Kill_magic",	deity->kill_magic,	fread_number( fp ) );
deity.c:	    KEY( "Name",	deity->name,		fread_string( fp ) );
deity.c:	    KEY( "Npcfoe",	deity->npcfoe,		fread_number( fp ) );
deity.c:	    KEY( "Npcrace",	deity->npcrace,		fread_number( fp ) );
deity.c:	    KEY( "Objstat",	deity->objstat,		fread_number( fp ) );
deity.c:	    KEY( "Race",	deity->race,		fread_number( fp ) );
deity.c:	    KEY( "Race2",	deity->race2,		fread_number( fp ) );
deity.c:	    KEY( "Sac",		deity->sac,		fread_number( fp ) );
deity.c:	    KEY( "Savatar",	deity->savatar,		fread_number( fp ) );
deity.c:	    KEY( "Scorpse",	deity->scorpse,		fread_number( fp ) );
deity.c:	    KEY( "Sdeityobj",	deity->sdeityobj,	fread_number( fp ) );
deity.c:	    KEY( "Srecall",	deity->srecall,		fread_number( fp ) );
deity.c:	    KEY( "Sex",		deity->sex,		fread_number( fp ) );
deity.c:	    KEY( "Spell_aid",   deity->spell_aid,	fread_number( fp ) );
deity.c:	    KEY( "Steal",	deity->steal,		fread_number( fp ) );
deity.c:	    KEY( "Suplift",     deity->suplift,		fread_number( fp ) );
deity.c:	    KEY( "Suscept",	deity->suscept,		fread_number( fp ) );
deity.c:	    KEY( "Susceptnum",  deity->susceptnum,	fread_number( fp ) );
deity.c:	    KEY( "Worshippers",	deity->worshippers,	fread_number( fp ) );
deity.c:    switch( ch->substate )
deity.c:		deity = ch->dest_buf;
deity.c:        	STRFREE( deity->description );
deity.c:        	deity->description = copy_buffer( ch );
deity.c:      		ch->substate = ch->tempnum;
deity.c:	send_to_char( "Objstat - being one of:\n\r", ch );
deity.c:	send_to_char( " 0 - 1 - 2 - 3 - 4 - 5 - 6\n\r", ch );
deity.c:	STRFREE( deity->name );
deity.c:	deity->name = STRALLOC( argument );
deity.c:	DISPOSE( deity->filename );
deity.c:	deity->filename = str_dup( argument );
deity.c:	if ( ch->substate == SUB_REPEATCMD )
deity.c:	  ch->tempnum = SUB_REPEATCMD;
deity.c:          ch->tempnum = SUB_NONE;
deity.c:        ch->substate = SUB_DEITYDESC;
deity.c:        ch->dest_buf = deity;
deity.c:        start_editing( ch, deity->description );
deity.c:	deity->alignment = atoi( argument );
deity.c:	deity->flee = atoi( argument );
deity.c:        deity->flee_npcrace = atoi( argument );
deity.c:	deity->flee_npcfoe = atoi( argument );
deity.c:        deity->kill = atoi( argument );
deity.c:        deity->kill_npcrace = atoi( argument );
deity.c:	deity->kill_npcfoe = atoi( argument );
deity.c:        deity->kill_magic = atoi( argument );
deity.c:        deity->sac = atoi( argument );
deity.c:        deity->bury_corpse = atoi( argument );
deity.c:        deity->aid_spell = atoi( argument );
deity.c:        deity->aid = atoi( argument );
deity.c:        deity->steal = atoi( argument );
deity.c:        deity->backstab = atoi( argument );
deity.c:        deity->die = atoi( argument );
deity.c:        deity->die_npcrace = atoi( argument );
deity.c:	deity->die_npcfoe = atoi( argument );
deity.c:        deity->spell_aid = atoi( argument );
deity.c:        deity->dig_corpse = atoi( argument );
deity.c:        deity->scorpse = atoi( argument );
deity.c:        deity->savatar = atoi( argument );
deity.c:        deity->sdeityobj = atoi( argument );
deity.c:	deity->suplift = atoi( argument );
deity.c:	deity->objstat = atoi( argument );
deity.c:        deity->srecall = atoi( argument );
deity.c:	deity->worshippers = atoi( argument );
deity.c:	  deity->race = -1;
deity.c:	deity->race = value;
deity.c:          deity->race2 = -1;
deity.c:        deity->race2 = value;
deity.c:	deity->npcrace = value;
deity.c:	deity->npcfoe = value;
deity.c:	deity->class = atoi( argument );
deity.c:	if ( ( deity->class < 0 ) || ( deity->class >= MAX_CLASS ) ) deity->class = -1;
deity.c:	deity->susceptnum = atoi( argument );
deity.c:	deity->elementnum = atoi( argument );
deity.c:	deity->affectednum = atoi( argument );
deity.c:            deity->suscept = 0;
deity.c:              TOGGLE_BIT( deity->suscept, 1 << value );
deity.c:            deity->element = 0;
deity.c:              TOGGLE_BIT( deity->element, 1 << value );
deity.c:	deity->sex = atoi( argument );
deity.c:		xCLEAR_BITS(deity->affected);
deity.c:        	    xTOGGLE_BIT( deity->affected, value );
deity.c:    ch_printf( ch, "Deity: %s\n\rFilename: %s\n\rDescription:\n\r%s\n\r", deity->name, deity->filename, deity->description );   
deity.c:    ch_printf( ch, "Alignment: %-7dNpcrace: %-9sNpcfoe: %s\n\r", 
deity.c:	deity->alignment, 
deity.c:	( deity->npcrace < 0 || deity->npcrace > MAX_NPC_RACE ) ? "none" : npc_race[deity->npcrace],
deity.c:	( deity->npcfoe < 0 || deity->npcfoe > MAX_NPC_RACE ) ? "none" : npc_race[deity->npcfoe] );
deity.c:    ch_printf( ch, "Race: %-12sClass: %-11sSex: %-13sRace2: %s\n\r", 
deity.c:	( deity->race < 0 || deity->race > MAX_RACE ) ? "none" : npc_race[deity->race],
deity.c:	( deity->class < 0 || deity->class > MAX_CLASS ) ? "none" : npc_class[deity->class],
deity.c:	deity->sex == -1	  ? "none"   :
deity.c:        deity->sex == SEX_MALE    ? "male"   :
deity.c:        deity->sex == SEX_FEMALE  ? "female" : "neutral",
deity.c:	( deity->race2 < 0 || deity->race2 > MAX_RACE ) ? "none" : npc_race[deity->race2] );
deity.c:    ch_printf( ch, "Objstat: %-9dWorshippers: %d\n\r", 
deity.c:	deity->objstat, deity->worshippers );
deity.c:    ch_printf( ch, "Affectednum: %-5dElementnum: %-6dSusceptnum: %d\n\r", deity->affectednum, deity->elementnum, deity->susceptnum );
deity.c:    ch_printf( ch, "\n\rAffected: %s\n\r", affect_bit_name(&deity->affected) );
deity.c:    ch_printf( ch, "Suscept: %s\n\r", flag_string( deity->suscept, ris_flags ));
deity.c:    ch_printf( ch, "Element: %s\n\r", flag_string( deity->element, ris_flags ));
deity.c:    ch_printf( ch, "\n\rFlee: %-12dFlee_npcrace: %-4dKill_npcrace: "
deity.c:	"%-4dKill: %d\n\r", deity->flee, deity->flee_npcrace,
deity.c:	deity->kill_npcrace, deity->kill );
deity.c:    ch_printf( ch, "Kill_magic: %-6dSac: %-13dBury_corpse: %-5dAid_spell: "
deity.c: 	"%d\n\r", deity->kill_magic, deity->sac, deity->bury_corpse, 
deity.c:	deity->aid_spell );
deity.c:    ch_printf( ch, "Aid: %-13dSteal: %-11dBackstab: %-8dDie: %d\n\r", 
deity.c:	deity->aid, deity->steal, deity->backstab, deity->die );
deity.c:    ch_printf( ch, "Die_npcrace: %-5dDig_corpse: %-6dSpell_aid: %-7dKill_npcfoe: %d\n\r",
deity.c:	deity->die_npcrace, deity->dig_corpse, deity->spell_aid, deity->kill_npcfoe );
deity.c:    ch_printf( ch, "Die_npcfoe: %-6dFlee_npcfoe: %d\n\r", 
deity.c:	deity->die_npcfoe, deity->flee_npcfoe );
deity.c:    ch_printf( ch, "\n\rScorpse: %-9dSavatar: %-9dSdeityobj: %-7d"
deity.c:	"Srecall: %d Suplift: %d\n\r", deity->scorpse, deity->savatar,
deity.c:	deity->sdeityobj, deity->srecall, deity->suplift );
deity.c:    deity->name		= STRALLOC( argument );
deity.c:    deity->description  = STRALLOC( "" );
deity.c:    deity->filename	= str_dup( filename );
deity.c:/*    if ( ch->level < 5 )
deity.c:        if ( !ch->pcdata->deity )
deity.c:        --ch->pcdata->deity->worshippers;
deity.c:        ch->pcdata->favor = -2500;
deity.c:	ch->mental_state = -80;
deity.c:	xREMOVE_BITS( ch->affected_by, ch->pcdata->deity->affected );
deity.c:	REMOVE_BIT( ch->resistant, ch->pcdata->deity->element );
deity.c:	REMOVE_BIT( ch->susceptible, ch->pcdata->deity->suscept );
deity.c:        af.modifier     = -4;
deity.c:        save_deity(ch->pcdata->deity);
deity.c:        ch->pcdata->deity = NULL;
deity.c:        STRFREE(ch->pcdata->deity_name);
deity.c:        ch->pcdata->deity_name = STRALLOC( "" );
deity.c:    if ( ch->pcdata->deity )
deity.c:    if ( ( deity->class != -1 )
deity.c:    && ( is_class( ch, deity->class )) )
deity.c:    if ( ( deity->sex != -1 )
deity.c:    && ( deity->sex != ch->sex ) )
deity.c:    if ( ( deity->race == -1 ) && ( deity->race2 == -1 ) );    
deity.c:    if ( ( deity->race != ch->race ) && ( deity->race2 != ch->race ) )
deity.c:    if ( ch->pcdata->deity )
deity.c:	--ch->pcdata->deity->worshippers;
deity.c:	ch->pcdata->favor = -2500;
deity.c:	xREMOVE_BITs( ch->affected_by, ch->pcdata->deity->affected );
deity.c:	REMOVE_BIT( ch->resistant, ch->pcdata->deity->element );
deity.c:	af.modifier	= -4;
deity.c:	save_deity(ch->pcdata->deity);
deity.c:    STRFREE(ch->pcdata->deity_name);
deity.c:    ch->pcdata->deity_name = QUICKLINK( deity->name );
deity.c:    ch->pcdata->deity = deity;
deity.c:    if ( ch->pcdata->favor > deity->affectednum )
deity.c:	 xSET_BITS( ch->affected_by, ch->pcdata->deity->affected );
deity.c:    if ( ch->pcdata->favor > deity->elementnum )
deity.c:	SET_BIT( ch->resistant, ch->pcdata->deity->element );
deity.c:    if ( ch->pcdata->favor < deity->susceptnum )
deity.c:	SET_BIT( ch->susceptible, ch->pcdata->deity->suscept );
deity.c:    act( AT_MAGIC, "Body and soul, you devote yourself to $t!", ch, ch->pcdata->deity_name, NULL, TO_CHAR );
deity.c:    ++ch->pcdata->deity->worshippers;
deity.c:    save_deity(ch->pcdata->deity);
deity.c:	for ( deity = first_deity; deity; deity = deity->next )
deity.c:	   pager_printf_color( ch, "&G%-14s	&g%19d\n\r", deity->name, deity->worshippers );
deity.c:    pager_printf_color( ch, "&gDeity:        &G%s\n\r", deity->name );
deity.c:    pager_printf_color( ch, "&gDescription:\n\r&G%s", deity->description );
deity.c:    if ( IS_NPC(ch) || !ch->pcdata->deity )
deity.c:    oldfavor = ch->pcdata->favor;
deity.c:	if ( ch->pcdata->favor < ch->pcdata->deity->scorpse )
deity.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_CLANSTOREROOM ) )
deity.c:	sprintf(buf2,"the corpse of %s", ch->name);
deity.c:	for ( obj = first_object; obj; obj = obj->next )
deity.c:	   if ( obj->in_room
deity.c:	   && !str_cmp( buf2, obj->short_descr )
deity.c:	   && (obj->pIndexData->vnum == 11 ) )
deity.c:		if ( IS_SET( obj->in_room->room_flags, ROOM_NOSUPPLICATE ) || (obj->timer > 35) )
deity.c:		obj = obj_to_room(obj, ch->in_room);
deity.c:	ch->pcdata->favor -= ch->pcdata->deity->scorpse;
deity.c:	if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:		SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:	if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:           (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:           (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:            ch->pcdata->favor >= ch->pcdata->deity->susceptnum))
deity.c:        if ( ch->pcdata->favor < ch->pcdata->deity->savatar )
deity.c:        char_to_room( victim, ch->in_room );
deity.c:        sprintf( buf, victim->short_descr, ch->pcdata->deity->name );
deity.c:        STRFREE( victim->short_descr );
deity.c:        victim->short_descr = STRALLOC( buf );
deity.c:	sprintf( buf, victim->long_descr, ch->pcdata->deity->name );
deity.c:	STRFREE( victim->long_descr );
deity.c:	victim->long_descr = STRALLOC( buf );
deity.c:        sprintf( buf, victim->description, ch->pcdata->deity->name );
deity.c:        STRFREE( victim->description );
deity.c:        victim->description = STRALLOC( buf );	
deity.c:	xSET_BIT( victim->affected_by, AFF_CHARM );
deity.c:	victim->level = 10;
deity.c:	victim->hit = ch->hit*6 + ch->pcdata->favor;
deity.c:	victim->alignment = ch->pcdata->deity->alignment;
deity.c:	victim->max_hit = ch->hit*6 + ch->pcdata->favor;
deity.c:	ch->pcdata->favor -= ch->pcdata->deity->savatar;
deity.c:        if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:        	SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:	if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:           (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:           (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:            ch->pcdata->favor >= ch->pcdata->deity->susceptnum))        
deity.c:	if ( ch->pcdata->favor < ch->pcdata->deity->sdeityobj )
deity.c:	obj = create_object( pObjIndex, ch->level );
deity.c:	   obj = obj_to_room( obj, ch->in_room );
deity.c:	sprintf( buf, "sigil %s", ch->pcdata->deity->name );
deity.c:        STRFREE( obj->name );
deity.c:        obj->name = STRALLOC( buf );
deity.c:        sprintf( buf, obj->short_descr, ch->pcdata->deity->name );
deity.c:        STRFREE( obj->short_descr );
deity.c:        obj->short_descr = STRALLOC( buf );
deity.c:        sprintf( buf, obj->description, ch->pcdata->deity->name );
deity.c:        STRFREE( obj->description );
deity.c:        obj->description = STRALLOC( buf );
deity.c:  	ch->pcdata->favor -= ch->pcdata->deity->sdeityobj;
deity.c:	if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:		SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:	if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:           (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:           (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:            ch->pcdata->favor >= ch->pcdata->deity->susceptnum))
deity.c:        paf->type           = -1;
deity.c:        paf->duration       = -1;
deity.c:	switch( ch->pcdata->deity->objstat )
deity.c:	case 0: paf->location = APPLY_STR; break;
deity.c:	case 1: paf->location = APPLY_INT; break;
deity.c:	case 2: paf->location = APPLY_WIS; break;
deity.c:	case 3: paf->location = APPLY_CON; break;
deity.c:	case 4: paf->location = APPLY_DEX; break;
deity.c:	case 5: paf->location = APPLY_CHA; break;
deity.c:	case 6: paf->location = APPLY_LCK; break;
deity.c:        paf->modifier       = 1;
deity.c: 	xCLEAR_BITS(paf->bitvector);
deity.c:        LINK( paf, obj->first_affect, obj->last_affect, next, prev );
deity.c:      if (ch->pcdata->favor < ch->pcdata->deity->suplift ) {
deity.c:      if ( IS_SET( ch->in_room->room_flags, ROOM_NOSUPPLICATE ) )
deity.c:      if ((ch->hit) > (ch->max_hit/10))
deity.c:      ch->hit+=10;
deity.c:	if ( ch->pcdata->favor < ch->pcdata->deity->srecall )
deity.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_NOSUPPLICATE ) )
deity.c:	if (ch->position == POS_FIGHTING) {
deity.c:	if ( !IS_NPC(ch) && ch->pcdata->clan )
deity.c:      	  location = get_room_index( ch->pcdata->clan->recall );
deity.c:    	if ( ch->mount )
deity.c:            char_from_room( ch->mount );
deity.c:            char_to_room( ch->mount, location );
deity.c:    	ch->pcdata->favor -= ch->pcdata->deity->srecall; 
deity.c:	if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:		SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:	if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:           (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:            ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:           (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:            ch->pcdata->favor >= ch->pcdata->deity->susceptnum))
deity.c:   ||   !ch->pcdata->deity )   
deity.c:   oldfavor = ch->pcdata->favor;
deity.c:   if ( (ch->alignment - ch->pcdata->deity->alignment > 650
deity.c:   ||    ch->alignment - ch->pcdata->deity->alignment < -650)
deity.c:   &&	 ch->pcdata->deity->alignment != 0 )
deity.c:	ch->pcdata->favor -= 2;
deity.c:	ch->pcdata->favor = URANGE( -2500, ch->pcdata->favor, 2500 );
deity.c:	if(ch->pcdata->favor > ch->pcdata->deity->affectednum)
deity.c:		xSET_BITS(ch->affected_by, ch->pcdata->deity->affected);
deity.c:	if(ch->pcdata->favor > ch->pcdata->deity->elementnum)
deity.c:		SET_BIT(ch->resistant, ch->pcdata->deity->element);
deity.c:	if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:		SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:	if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:	    ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:	   (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:	    ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:	   (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:	    ch->pcdata->favor >= ch->pcdata->deity->susceptnum))
deity.c:	case 0:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->flee / mod);	break;
deity.c:	case 1:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->flee_npcrace / mod);	 break;
deity.c:	case 2:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->kill / mod);	break;
deity.c:	case 3:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->kill_npcrace / mod);	 break;
deity.c:	case 4:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->kill_magic / mod);	 break;
deity.c:	case 5:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->sac / mod);	break;
deity.c:	case 6:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->bury_corpse / mod);	 break;
deity.c:	case 7:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->aid_spell / mod);	 break;
deity.c:	case 8:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->aid / mod);	break;	
deity.c:	case 9:  ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->steal / mod);	break;
deity.c:	case 10: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->backstab / mod); break;
deity.c:	case 11: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->die / mod);	break;
deity.c:	case 12: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->die_npcrace / mod);	 break;
deity.c:	case 13: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->spell_aid / mod);	 break;
deity.c:	case 14: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->dig_corpse / mod);	 break;
deity.c:	case 15: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->die_npcfoe / mod);	 break;
deity.c:	case 16: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->flee_npcfoe / mod);	 break;
deity.c:	case 17: ch->pcdata->favor += number_fuzzy(ch->pcdata->deity->kill_npcfoe / mod);	 break;
deity.c:   ch->pcdata->favor = URANGE( -2500, ch->pcdata->favor, 2500 );
deity.c:   if(ch->pcdata->favor > ch->pcdata->deity->affectednum)
deity.c:   	xSET_BITS(ch->affected_by, ch->pcdata->deity->affected);
deity.c:   if(ch->pcdata->favor > ch->pcdata->deity->elementnum)
deity.c:   	SET_BIT(ch->resistant, ch->pcdata->deity->element);
deity.c:   if(ch->pcdata->favor < ch->pcdata->deity->susceptnum)
deity.c:   	SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
deity.c:   if((oldfavor > ch->pcdata->deity->affectednum &&
deity.c:       ch->pcdata->favor <= ch->pcdata->deity->affectednum) ||
deity.c:      (oldfavor > ch->pcdata->deity->elementnum &&
deity.c:       ch->pcdata->favor <= ch->pcdata->deity->elementnum) ||
deity.c:      (oldfavor < ch->pcdata->deity->susceptnum &&
deity.c:       ch->pcdata->favor >= ch->pcdata->deity->susceptnum))
disable.c:        sprintf( buf, "Disabled commands:\n\r%-10s %5s     %-15s\n\r",
disable.c:        for( disabled = first_disabled ; disabled ; disabled = disabled->next )
disable.c:            sprintf( buf+strlen(buf), "%-10s %5d     %-15s\n\r",
disable.c:                     disabled->command->name, disabled->level,
disable.c:                     disabled->who );
disable.c:    for( disabled = first_disabled ; disabled ; disabled = disabled->next )
disable.c:        if( disabled->command == cmd )
disable.c:        if( disabled->level > get_trust( ch ) )
disable.c:            send_to_char( "You don't have the access to un-disable this command.\n\r", ch );
disable.c:            first_disabled = disabled->next;
disable.c:            for( tmp = first_disabled ; tmp->next != disabled ; tmp = tmp->next )
disable.c:            tmp->next = disabled->next;
disable.c:        STRFREE( disabled->who );
disable.c:        if( cmd->level > get_trust( ch ) )
disable.c:        disabled->command = cmd;
disable.c:        disabled->who = STRALLOC( ch->name );
disable.c:        disabled->level = get_trust( ch );
disable.c:        disabled->next = first_disabled;
disable.c:        ch_printf( ch, "%s is now disabled.\n\r", cmd->name );
disable.c:        disabled->command = cmd;
disable.c:        disabled->level = fread_number( fp );
disable.c:        disabled->who   = STRALLOC( fread_word( fp ) );
disable.c:        disabled->next = first_disabled;
disable.c:    for( disabled = first_disabled ; disabled ; disabled = disabled->next )
disable.c:        fprintf( fp, "%s %d %s\n", disabled->command->name,
disable.c:                 disabled->level, disabled->who );
disable.c:    for( disabled = first_disabled ; disabled ; disabled = disabled->next )
disable.c:        if( disabled->command->do_fun == cmd->do_fun )
do.c:#include "imc-mercbase.h"
do.c:#include "icec-mercbase.h"
do.c:	if ( !str_cmp( name, "do_sharpen" ))		return do_sharpen; /* sharpen skill --Cronel */
do.c:    if ( skill == do_sharpen )		return "do_sharpen"; /* sharpen skill --Cronel */
fear.c:  if( !ch->fighting )
fear.c:  victim = ch->fighting->who;
fear.c:  if( (IS_NPC(victim) && xIS_SET(victim->act, ACT_SENTINEL) )
fight.c: * -----------------------------------------------------------|   (0...0)   *
fight.c: * -----------------------------------------------------------|    {o o}    *
fight.c: * ------------------------------------------------------------------------ *
fight.c: * ------------------------------------------------------------------------ *
fight.c:/* From antitank.c  --Cronel */
fight.c:    if ( ipk->name )
fight.c:      DISPOSE( ipk->name );
fight.c:    if ( ipk->vict )
fight.c:      DISPOSE( ipk->vict );
fight.c:    if ( ipk->date )
fight.c:      DISPOSE( ipk->date );
fight.c:        for ( illegal_pk = first_pk; illegal_pk; illegal_pk = illegal_pk->next )
fight.c:            if ( !illegal_pk->name || illegal_pk->name[0] == '\0' )
fight.c:            fprintf( fpout, "Name       %s~\n",        illegal_pk->name );
fight.c:            fprintf( fpout, "Vict       %s~\n",        illegal_pk->vict );
fight.c:            fprintf( fpout, "Date       %s~\n",        illegal_pk->date );     
fight.c:            KEY( "Date",        illegal_pk->date, fread_string(fp) );
fight.c:                if ( !illegal_pk->name )
fight.c:                if ( !illegal_pk->vict )
fight.c:            KEY( "Name",	illegal_pk->name, fread_string(fp) );
fight.c:            KEY( "Vict",	illegal_pk->vict, fread_string(fp) );
fight.c:  /* perma-supression -- bard? (can be reset at end of fight, or spell, etc) */
fight.c:  if ( timer->value == -1 )
fight.c:  if ( timer->count >= 1 )
fight.c:  if( !IS_NPC( ch ) && ch->pcdata->arena && sysdata.arena != 2 )
fight.c:    hitroll = ch->hitroll + str_app[get_curr_str(ch)].tohit + 2
fight.c:        - (abs((ch)->mental_state)/10);
fight.c:    damroll = ch->damroll + ch->damplus + str_app[get_curr_str(ch)].todam
fight.c:        + ((ch->mental_state > 5 && ch->mental_state < 15) ? 1 : 0);
fight.c: * hunting, hating and fearing code				-Thoric
fight.c:    if ( !ch->hunting || ch->hunting->who != victim )
fight.c:    if ( !ch->hating || ch->hating->who != victim )
fight.c:    if ( !ch->fearing || ch->fearing->who != victim )
fight.c:    if ( ch->hunting )
fight.c:	STRFREE( ch->hunting->name );
fight.c:	DISPOSE( ch->hunting );
fight.c:	ch->hunting = NULL;
fight.c:    if ( ch->hating )
fight.c:	STRFREE( ch->hating->name );
fight.c:	DISPOSE( ch->hating );
fight.c:	ch->hating = NULL;
fight.c:    if ( ch->fearing )
fight.c:	STRFREE( ch->fearing->name );
fight.c:	DISPOSE( ch->fearing );
fight.c:	ch->fearing = NULL;
fight.c:    if ( ch->hunting )
fight.c:    CREATE( ch->hunting, HHF_DATA, 1 );
fight.c:    ch->hunting->name = QUICKLINK( victim->name );
fight.c:    ch->hunting->who  = victim;
fight.c:    if ( ch->hating )
fight.c:    CREATE( ch->hating, HHF_DATA, 1 );
fight.c:    ch->hating->name = QUICKLINK( victim->name );
fight.c:    ch->hating->who  = victim;
fight.c:    if ( ch->fearing )
fight.c:    CREATE( ch->fearing, HHF_DATA, 1 );
fight.c:    ch->fearing->name = QUICKLINK( victim->name );
fight.c:    ch->fearing->who  = victim;
fight.c:      return -10;
fight.c: * Note:  This function also handles some non-violence updates.
fight.c:	if ( ch == first_char && ch->prev )
fight.c:	   bug( "ERROR: first_char->prev != NULL, fixing...", 0 );
fight.c:	   ch->prev = NULL;
fight.c:	gch_prev	= ch->prev;
fight.c:	if ( gch_prev && gch_prev->next != ch )
fight.c:	    sprintf( buf, "FATAL: violence_update: %s->prev->next doesn't point to ch.",
fight.c:		ch->name );
fight.c:	    bug( "Short-cutting here", 0 );
fight.c:	    ch->prev = NULL;
fight.c:	if ( !ch->in_room || !ch->name )
fight.c:	    sprintf( buf, "ch: %d  ch->in_room: %d  ch->prev: %d  ch->next: %d",
fight.c:	    	(int) ch, (int) ch->in_room, (int) ch->prev, (int) ch->next );
fight.c:	      sprintf( buf, "lst_ch: %d  lst_ch->prev: %d  lst_ch->next: %d",
fight.c:	      		(int) lst_ch, (int) lst_ch->prev, (int) lst_ch->next );
fight.c:         * Stops from fighting nobody - Garinan
fight.c:        if ( ( ch->position == POS_FIGHTING
fight.c:	||     ch->position == POS_EVASIVE
fight.c:        ||     ch->position == POS_DEFENSIVE
fight.c:        ||     ch->position == POS_AGGRESSIVE
fight.c:        ||     ch->position == POS_BERSERK ) 
fight.c:           sprintf( buf, "%s fighting NULL! (Correcting)", ch->name );
fight.c:           ch->position = POS_STANDING;
fight.c:	if ( ch->fighting )
fight.c:	  if ( (++ch->fighting->duration % 24) == 0 )
fight.c:	    ch->fighting->xp = ((ch->fighting->xp * 9) / 10);
fight.c:	for ( timer = ch->first_timer; timer; timer = timer_next )
fight.c:	    timer_next = timer->next;
fight.c:	    if ( --timer->count <= 0 )
fight.c:		if ( timer->type == TIMER_ASUPRESSED )
fight.c:		    if ( timer->value == -1 )
fight.c:			timer->count = 1000;
fight.c:		if ( timer->type == TIMER_NUISANCE )
fight.c:		    DISPOSE( ch->pcdata->nuisance );
fight.c:		if ( timer->type == TIMER_DO_FUN )
fight.c:		    tempsub = ch->substate;
fight.c:		    ch->substate = timer->value;
fight.c:		    (timer->do_fun)( ch, "" );
fight.c:		    ch->substate = tempsub;
fight.c:	 * So a melee round sounds good to me... -Thoric
fight.c:	for ( paf = ch->first_affect; paf; paf = paf_next )
fight.c:	    paf_next	= paf->next;
fight.c:	    if ( paf->duration > 0 )
fight.c:		paf->duration--;
fight.c:	    if ( paf->duration < 0 )
fight.c:		||    paf_next->type != paf->type
fight.c:		||    paf_next->duration > 0 )
fight.c:		    skill = get_skilltype(paf->type);
fight.c:		    if ( paf->type > 0 && skill && skill->msg_off )
fight.c:			send_to_char( skill->msg_off, ch );
fight.c:		if (paf->type == gsn_possess)
fight.c:		    ch->desc->character = ch->desc->original;
fight.c:		    ch->desc->original  = NULL;
fight.c:		    ch->desc->character->desc = ch->desc;
fight.c:		    ch->desc->character->switched = NULL;
fight.c:		    ch->desc            = NULL;
fight.c:	/* Anti powerlevel tanking code --Cronel */
fight.c:            if( ch->pcdata->arena && ch->pcdata->arena->status == 2 && sysdata.arena != 2 )
fight.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_SAFE ) && !ch->bounty > 0 && !victim->bounty > 0)
fight.c:	   	ch->name, victim->name );
fight.c:	else if ( IS_AWAKE(ch) && ch->in_room == victim->in_room )
fight.c:            /* haste affect -- Scion */
fight.c:                for (i=number_range(0, 5); i>0; i--)
fight.c:	 * NPC special attack flags				-Thoric
fight.c:	    if ( !xIS_EMPTY(ch->attacks) )
fight.c:		attacktype = -1;
fight.c:		if ( 30 + (ch->level/4) >= number_percent( ) )
fight.c:			    attacktype = -1;
fight.c:			attacktype = number_range( 7, MAX_ATTACK_TYPE-1 );
fight.c:			if ( xIS_SET( ch->attacks, attacktype ) )
fight.c:			    retcode = spell_energy_drain( skill_lookup( "energy drain" ), ch->level, ch, victim );
fight.c:			    retcode = spell_fire_breath( skill_lookup( "fire breath" ), ch->level, ch, victim );
fight.c:			    retcode = spell_frost_breath( skill_lookup( "frost breath" ), ch->level, ch, victim );
fight.c:			    retcode = spell_acid_breath( skill_lookup( "acid breath" ), ch->level, ch, victim );
fight.c:			    retcode = spell_lightning_breath( skill_lookup( "lightning breath" ), ch->level, ch, victim );
fight.c:			    retcode = spell_gas_breath( skill_lookup( "gas breath" ), ch->level, ch, victim );
fight.c:				ch->level, ch, victim );
fight.c:			    retcode = spell_poison( gsn_poison, ch->level, ch, victim );
fight.c:			    retcode = spell_nasty_poison( skill_lookup( "nasty poison" ), ch->level, ch, victim );
fight.c:			    retcode = spell_gaze( skill_lookup( "gaze" ), ch->level, ch, victim );
fight.c:			    retcode = spell_blindness( gsn_blindness, ch->level, ch, victim );
fight.c:			    retcode = spell_cause_serious( skill_lookup( "cause serious" ), ch->level, ch, victim );
fight.c:			    retcode = spell_earthquake( skill_lookup( "earthquake" ), ch->level, ch, victim );
fight.c:			    retcode = spell_cause_critical( skill_lookup( "cause critical" ), ch->level, ch, victim );
fight.c:			    retcode = spell_curse( skill_lookup( "curse" ), ch->level, ch, victim );
fight.c:			    retcode = spell_flamestrike( skill_lookup( "flamestrike" ), ch->level, ch, victim );
fight.c:			    retcode = spell_harm( skill_lookup( "harm" ), ch->level, ch, victim );
fight.c:			    retcode = spell_fireball( skill_lookup( "fireball" ), ch->level, ch, victim );
fight.c:			    retcode = spell_colour_spray( skill_lookup( "colour spray" ), ch->level, ch, victim );
fight.c:			    retcode = spell_weaken( skill_lookup( "weaken" ), ch->level, ch, victim );
fight.c:		    if ( attacktype != -1 && (retcode == rCHAR_DIED || char_died(ch)) )
fight.c:	     * NPC special defense flags				-Thoric
fight.c:	    if ( !xIS_EMPTY(ch->defenses) )
fight.c:		attacktype = -1;
fight.c:		if ( 50 + (ch->level/4) > number_percent( ) )
fight.c:			    attacktype = -1;
fight.c:			attacktype = number_range( 2, MAX_DEFENSE_TYPE-1 );
fight.c:			if ( xIS_SET( ch->defenses, attacktype ) )
fight.c:                        if( ch->hit < ch->max_hit )
fight.c:                            retcode = spell_smaug( skill_lookup( "cure light" ), ch->level, ch, ch );
fight.c:                        if( ch->hit < ch->max_hit )
fight.c:			    retcode = spell_smaug( skill_lookup( "cure serious" ), ch->level, ch, ch );
fight.c:                        if( ch->hit < ch->max_hit )
fight.c:                            retcode = spell_smaug( skill_lookup( "cure critical" ), ch->level, ch, ch );
fight.c:                        if( ch->hit < ch->max_hit )
fight.c:                            retcode = spell_smaug( skill_lookup( "heal" ), ch->level, ch, ch );
fight.c:                        if( victim->fighting && victim->first_affect )
fight.c:                            retcode = spell_dispel_magic( skill_lookup( "dispel magic" ), ch->level, ch, victim );
fight.c:                        retcode = spell_dispel_evil( skill_lookup( "dispel evil" ), ch->level, ch, victim );
fight.c:                            retcode = spell_smaug( skill_lookup( "shockshield" ), ch->level, ch, ch );
fight.c:                            retcode = spell_smaug( skill_lookup( "fireshield" ), ch->level, ch, ch );
fight.c:                            retcode = spell_smaug( skill_lookup( "iceshield" ), ch->level, ch, ch );
fight.c:                            retcode = spell_smaug( skill_lookup( "true" ), ch->level, ch, ch );
fight.c:                            retcode = spell_smaug( skill_lookup( "sanctuary" ), ch->level, ch, ch );
fight.c:		    if ( attacktype != -1 && (retcode == rCHAR_DIED || char_died(ch)) )
fight.c:	for ( rch = ch->in_room->first_person; rch; rch = rch_next )
fight.c:	    rch_next = rch->next_in_room;
fight.c:             *   Then rch is the new tank   -h
fight.c:              &&( rch->fighting               )
fight.c:              &&( who_fighting(rch->fighting->who) == ch    )
fight.c:              &&( !xIS_SET( rch->fighting->who->act, ACT_AUTONOMOUS ) )
fight.c:              &&( rch->style < ch->style      )
fight.c:                 rch->fighting->who->fighting->who = rch; 
fight.c:	    if ( IS_AWAKE(rch) && !rch->fighting )
fight.c:		 * PC's auto-assist others in their group.
fight.c:                    if ( ( ( !IS_NPC(rch) && rch->desc )
fight.c:		&&  !xIS_SET(rch->act, ACT_NOASSIST) )
fight.c:		    if ( rch->pIndexData == ch->pIndexData
fight.c:                        for ( vch = ch->in_room->first_person; vch; vch = vch->next )
fight.c:				if ( vch->mount && vch->mount == rch )
fight.c:        if ( xIS_SET(ch->act, PLR_NICE) ) return rNONE;
fight.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_NOATTACK) )
fight.c:    /* -- Altrag */
fight.c:      dual_bonus = IS_NPC(ch) ? (ch->level / 10) : (LEARNED(ch, gsn_dual_wield) / 10);
fight.c:      chance = IS_NPC(ch) ? ch->level : LEARNED(ch, gsn_dual_wield);
fight.c:    if ( ch->move < 10 )
fight.c:      dual_bonus = -20;
fight.c:     * NPC predetermined number of attacks			-Thoric
fight.c:    if ( IS_NPC(ch) && ch->numattacks > 0 )
fight.c:	for ( chance = 0; chance < ch->numattacks; chance++ )
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? ch->level
fight.c:    chance = IS_NPC(ch) ? (int) (ch->level / 2) : 0;
fight.c:	  move = encumbrance( ch, movement_loss[UMIN(SECT_MAX-1, ch->in_room->sector_type)] );
fight.c:	if ( ch->move )
fight.c:	  ch->move = UMAX( 0, ch->move - move );
fight.c:    bonus = 0;	*gsn_ptr = -1;
fight.c:    if ( !IS_NPC(ch) && ch->level > 5 && wield )   
fight.c:	switch(wield->value[3])
fight.c:	   default:		*gsn_ptr = -1;			break;
fight.c:	if ( *gsn_ptr != -1 )
fight.c:	  bonus = (int) ((LEARNED(ch, *gsn_ptr) -50)/10);
fight.c:          ( 1 + abs( ch->alignment - ch->pcdata->clan->alignment ) / 1000 );
fight.c:	   bonus -= ch->pcdata->favor / -400 ;
fight.c: * -- Altrag
fight.c:	for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
fight.c:		if ( paf->location == APPLY_HITROLL )
fight.c:			tohit += paf->modifier;
fight.c:	for ( paf = obj->first_affect; paf; paf = paf->next )
fight.c:		if ( paf->location == APPLY_HITROLL )
fight.c:			tohit += paf->modifier;
fight.c:        lvl = UMAX( 1, (ch->level - 10) / 2 );
fight.c:        if ( number_percent() + (victim->level - lvl) < 40 )
fight.c:	    return ch->level;
fight.c:	lvl = ch->level / 2;
fight.c:	if ( number_percent() + (victim->level - lvl) < 70 )
fight.c:    int	prof_gsn = -1;
fight.c:     * Guard against weird room-leavings.
fight.c:    if ( victim->position == POS_DEAD || ch->in_room != victim->in_room )
fight.c:     * Figure out the weapon doing the damage			-Thoric
fight.c:     * Dual wield support -- switch weapons each attack
fight.c:    if ( ch->fighting		/* make sure fight is already started */
fight.c:    &&  !xIS_EMPTY(ch->attacks) )
fight.c:	/* slow affect -- Scion */
fight.c:	    if ( xIS_SET( ch->attacks, attacktype ) )
fight.c:		  attacktype = -1;
fight.c:	    attacktype = -1;
fight.c:	    attacktype = -1;
fight.c:	    attacktype = -1;
fight.c:	if ( wield && wield->item_type == ITEM_WEAPON )
fight.c:	    dt += wield->value[3];
fight.c:     * Calculate to-hit-armor-class-0 versus armor.
fight.c:	thac0_00 = ch->mobthac0;
fight.c:	thac0_00 = class_table[ch->class]->thac0_00;
fight.c:	thac0_32 = class_table[ch->class]->thac0_32;
fight.c://    thac0     = interpolate( ch->level, thac0_00, thac0_32 ) - GET_HITROLL(ch);
fight.c:    thac0     = interpolate( ch->level, thac0_00, thac0_32 ) - get_hitroll( ch, FALSE );
fight.c:    victim_ac = UMAX( -19, (int) (GET_AC(victim) / 10) );
fight.c:	victim_ac -= 4;
fight.c:     * given to whoever is more intelligent		-Thoric
fight.c:    if ( ch->fighting && ch->fighting->who == victim )
fight.c:	sh_int times = ch->fighting->timeskilled;
fight.c:	    sh_int intdiff = get_curr_int(ch) - get_curr_int(victim);
fight.c:    || ( diceroll != 19 && diceroll < thac0 - victim_ac ) )
fight.c:	if ( prof_gsn != -1 )
fight.c:	dam = number_range( ch->barenumdie, ch->baresizedie * ch->barenumdie );
fight.c:	dam = number_range( wield->value[1], wield->value[2] );
fight.c:    if ( victim->position == POS_BERSERK )
fight.c:    else if ( victim->position == POS_AGGRESSIVE )
fight.c:    else if ( victim->position == POS_DEFENSIVE )
fight.c:    else if ( victim->position == POS_EVASIVE )
fight.c:    if ( ch->position == POS_BERSERK )
fight.c:    else if ( ch->position == POS_AGGRESSIVE )
fight.c:    else if ( ch->position == POS_DEFENSIVE )
fight.c:    else if ( ch->position == POS_EVASIVE )
fight.c:    if ( !IS_NPC(ch) && ch->pcdata->learned[gsn_enhanced_damage] > 0 )
fight.c:	dam *= (2 + URANGE( 2, ch->level - (victim->level/4), 30 ) / 8);
fight.c: 	dam *= (2 + URANGE( 2, ch->level - (victim->level/4), 30 ) / 16); 
fight.c:	 * Handle PLUS1 - PLUS6 ris bits vs. weapon hitroll	-Thoric
fight.c:    /* check for RIS_PLUSx 					-Thoric */
fight.c:	imm = res = -1;  sus = 1;
fight.c:	    if ( IS_SET( victim->immune, x ) )
fight.c:	    if ( IS_SET( victim->resistant, x ) )
fight.c:	    if ( IS_SET( victim->susceptible, x ) )
fight.c:	    mod -= 10;
fight.c:	    mod -= 2;
fight.c:	    dam = -1;
fight.c:    if ( prof_gsn != -1 )
fight.c:    if ( dam == -1 )
fight.c:	    if ( skill->imm_char && skill->imm_char[0] != '\0' )
fight.c:		act( AT_HIT, skill->imm_char, ch, NULL, victim, TO_CHAR );
fight.c:	    if ( skill->imm_vict && skill->imm_vict[0] != '\0' )
fight.c:		act( AT_HITME, skill->imm_vict, ch, NULL, victim, TO_VICT );
fight.c:	    if ( skill->imm_room && skill->imm_room[0] != '\0' )
fight.c:		act( AT_ACTION, skill->imm_room, ch, NULL, victim, TO_NOTVICT );
fight.c:     * Weapon spell support				-Thoric
fight.c:    &&  !IS_SET(victim->immune, RIS_MAGIC)
fight.c:    &&  !IS_SET(victim->in_room->room_flags, ROOM_NO_MAGIC) )
fight.c:	for ( aff = wield->pIndexData->first_affect; aff; aff = aff->next )
fight.c:	   if ( aff->location == APPLY_WEAPONSPELL
fight.c:	   &&   IS_VALID_SN(aff->modifier)
fight.c:	   &&   skill_table[aff->modifier]->spell_fun )
fight.c:		retcode = (*skill_table[aff->modifier]->spell_fun) ( aff->modifier, (wield->level+3)/3, ch, victim );
fight.c:	for ( aff = wield->first_affect; aff; aff = aff->next )
fight.c:	   if ( aff->location == APPLY_WEAPONSPELL
fight.c:	   &&   IS_VALID_SN(aff->modifier)
fight.c:	   &&   skill_table[aff->modifier]->spell_fun )
fight.c:		retcode = (*skill_table[aff->modifier]->spell_fun) ( aff->modifier, (wield->level+3)/3, ch, victim );
fight.c:     * magic shields that retaliate				-Thoric
fight.c:    int	prof_gsn = -1;
fight.c:    if ( projectile->item_type == ITEM_PROJECTILE 
fight.c:    ||   projectile->item_type == ITEM_WEAPON )
fight.c:	dt = TYPE_HIT + projectile->value[3];
fight.c:	proj_bonus = number_range(projectile->value[1], projectile->value[2]);
fight.c:    if ( victim->position == POS_DEAD || char_died(victim) )
fight.c:	if ( wield && wield->item_type == ITEM_MISSILE_WEAPON )
fight.c:	    dt += wield->value[3];
fight.c:     * Calculate to-hit-armor-class-0 versus armor.
fight.c:	thac0_00 = ch->mobthac0;
fight.c:	thac0_00 = class_table[ch->class]->thac0_00;
fight.c:	thac0_32 = class_table[ch->class]->thac0_32;
fight.c:    //    thac0     = interpolate( ch->level, thac0_00, thac0_32 ) - GET_HITROLL(ch) + (dist*2);
fight.c:    thac0     = interpolate( ch->level, thac0_00, thac0_32 ) - get_hitroll( ch, FALSE ) + (dist*2);
fight.c:    victim_ac = UMAX( -19, (int) (GET_AC(victim) / 10) );
fight.c:	victim_ac -= 4;
fight.c:    || ( diceroll != 19 && diceroll < thac0 - victim_ac ) )
fight.c:	if ( prof_gsn != -1 )
fight.c:	    if ( projectile->in_obj )
fight.c:	    if ( projectile->carried_by )
fight.c:	    obj_to_room(projectile, victim->in_room);
fight.c:	dam = number_range(wield->value[1], wield->value[2]) + (proj_bonus / 10);
fight.c:    if ( victim->position == POS_BERSERK )
fight.c:    else if ( victim->position == POS_AGGRESSIVE )
fight.c:    else if ( victim->position == POS_DEFENSIVE )
fight.c:    else if ( victim->position == POS_EVASIVE )
fight.c:    if ( !IS_NPC(ch) && ch->pcdata->learned[gsn_enhanced_damage] > 0 )
fight.c:     * Handle PLUS1 - PLUS6 ris bits vs. weapon hitroll	-Thoric
fight.c:    /* check for RIS_PLUSx 					-Thoric */
fight.c:	imm = res = -1;  sus = 1;
fight.c:	   if ( IS_SET( victim->immune, x ) )
fight.c:	   if ( IS_SET( victim->resistant, x ) )
fight.c:	   if ( IS_SET( victim->susceptible, x ) )
fight.c:	  mod -= 10;
fight.c:	  mod -= 2;
fight.c:	  dam = -1;
fight.c:    if ( prof_gsn != -1 )
fight.c:    if ( dam == -1 )
fight.c:	    if ( skill->imm_char && skill->imm_char[0] != '\0' )
fight.c:		act( AT_HIT, skill->imm_char, ch, NULL, victim, TO_CHAR );
fight.c:	    if ( skill->imm_vict && skill->imm_vict[0] != '\0' )
fight.c:		act( AT_HITME, skill->imm_vict, ch, NULL, victim, TO_VICT );
fight.c:	    if ( skill->imm_room && skill->imm_room[0] != '\0' )
fight.c:		act( AT_ACTION, skill->imm_room, ch, NULL, victim, TO_NOTVICT );
fight.c:		    if ( projectile->in_obj )
fight.c:		    if ( projectile->carried_by )
fight.c:		    obj_to_room(projectile, victim->in_room);
fight.c:	    if ( projectile->in_obj )
fight.c:	    if ( projectile->carried_by )
fight.c:	    obj_to_room(projectile, victim->in_room);
fight.c:/* weapon spells	-Thoric */
fight.c:    &&  !IS_SET(victim->immune, RIS_MAGIC)
fight.c:    &&  !IS_SET(victim->in_room->room_flags, ROOM_NO_MAGIC) )
fight.c:	for ( aff = wield->pIndexData->first_affect; aff; aff = aff->next )
fight.c:	   if ( aff->location == APPLY_WEAPONSPELL
fight.c:	   &&   IS_VALID_SN(aff->modifier)
fight.c:	   &&   skill_table[aff->modifier]->spell_fun )
fight.c:		retcode = (*skill_table[aff->modifier]->spell_fun) ( aff->modifier, (wield->level+3)/3, ch, victim );
fight.c:	for ( aff = wield->first_affect; aff; aff = aff->next )
fight.c:	   if ( aff->location == APPLY_WEAPONSPELL
fight.c:	   &&   IS_VALID_SN(aff->modifier)
fight.c:	   &&   skill_table[aff->modifier]->spell_fun )
fight.c:		retcode = (*skill_table[aff->modifier]->spell_fun) ( aff->modifier, (wield->level+3)/3, ch, victim );
fight.c: *					-Thoric
fight.c:   if ( IS_SET(ch->immune, ris )  && !IS_SET(ch->no_immune, ris) )
fight.c:     modifier -= 10;
fight.c:   if ( IS_SET(ch->resistant, ris ) && !IS_SET(ch->no_resistant, ris) )
fight.c:     modifier -= 2;
fight.c:   if ( IS_SET(ch->susceptible, ris ) && !IS_SET(ch->no_susceptible, ris) )
fight.c:     return -1;
fight.c:    sh_int anopc = 0;  /* # of (non-pkill) pc in a (ch) */
fight.c:    sh_int bnopc = 0;  /* # of (non-pkill) pc in b (victim) */
fight.c:        sprintf( buf, "Damage: null victim! Player: %s", ch->name );
fight.c:    if ( victim->position == POS_DEAD )
fight.c:     * Check damage types for RIS				-Thoric
fight.c:	if ( dam == -1 )
fight.c:		if ( skill->imm_char && skill->imm_char[0] != '\0' )
fight.c:		   act( AT_HIT, skill->imm_char, ch, NULL, victim, TO_CHAR );
fight.c:		if ( skill->imm_vict && skill->imm_vict[0] != '\0' )
fight.c:		   act( AT_HITME, skill->imm_vict, ch, NULL, victim, TO_VICT );
fight.c:		if ( skill->imm_room && skill->imm_room[0] != '\0' )
fight.c:		   act( AT_ACTION, skill->imm_room, ch, NULL, victim, TO_NOTVICT );
fight.c:    if( !victim || !victim->name || victim->name[0] == '\0' )
fight.c:        for( attemptFix = first_char ; attemptFix ; attemptFix = attemptFix->next )
fight.c:            if( attemptFix->prev )
fight.c:                if( attemptFix->prev->next != attemptFix )
fight.c:                    bug( "damage: attemptFix->prev->next != attemptFix. Fixing." );
fight.c:                    attemptFix->prev->next = attemptFix;
fight.c:            if( attemptFix->next )
fight.c:                if( attemptFix->next->prev != attemptFix )
fight.c:                    bug( "damage: attemptFix->next->prev != attemptFix. Fixing." );
fight.c:                    attemptFix->next->prev = attemptFix;
fight.c:            if( attemptFix->fighting != NULL && attemptFix->fighting->who->fighting == NULL )
fight.c:    if (ch->next)
fight.c:        if (ch->next->prev != ch)
fight.c:            bug("who_fighting: ch->next->prev != ch. Shortcutting!!",0);
fight.c:            ch->next->prev=ch;
fight.c:    if (ch->prev)
fight.c:        if (ch->prev->next != ch)
fight.c:            bug("who_fighting: ch->prev->next != ch. Shortcutting!!",0);
fight.c:            ch->prev->next=ch;
fight.c:     * a way out. --Shaddai
fight.c:    if ( IS_SET(victim->in_room->room_flags, ROOM_SAFE) && !victim->bounty > 0 && !ch->bounty > 0 )
fight.c:	if ( !xIS_SET( victim->act, ACT_SENTINEL ) )
fight.c:	    if ( victim->hunting )
fight.c:		if ( victim->hunting->who != ch )	
fight.c:		    STRFREE( victim->hunting->name );
fight.c:		    victim->hunting->name = QUICKLINK( ch->name );
fight.c:		    victim->hunting->who  = ch;
fight.c:            if ( !xIS_SET(victim->act, ACT_PACIFIST)  ) /* Gorog */
fight.c:	if ( victim->hating )
fight.c:   	    if ( victim->hating->who != ch )
fight.c:		STRFREE( victim->hating->name );
fight.c:		victim->hating->name = QUICKLINK( ch->name );
fight.c:		victim->hating->who  = ch;
fight.c:	if ( !xIS_SET(victim->act, ACT_PACIFIST)  ) /* Gorog */
fight.c:        maxdam = (ch->level2 == -1) ? ch->level * 80 : ch->level2 * 80;
fight.c:        maxdam = (ch->level2 == -1) ? ch->level * 40 : ch->level2 * 40;
fight.c:    if ( dam > maxdam && !( ch->level >= 115 ) )
fight.c:	sprintf(buf, "** %s (lvl %d) -> %s **",
fight.c:		ch->name,
fight.c:		ch->level,
fight.c:	        victim->name);
fight.c:	if (victim->position > POS_STUNNED)
fight.c:	    if (!victim->fighting && victim->in_room == ch->in_room)
fight.c:	       vwas: victim->position = POS_FIGHTING; 
fight.c:	    if ( IS_NPC(victim) && victim->fighting )
fight.c:		victim->position = POS_FIGHTING;
fight.c:	    else if (victim->fighting)
fight.c:		switch (victim->style)
fight.c:			victim->position = POS_EVASIVE;
fight.c:			victim->position = POS_DEFENSIVE;
fight.c:			victim->position = POS_AGGRESSIVE;
fight.c:			victim->position = POS_BERSERK;
fight.c:			victim->position = POS_FIGHTING;
fight.c:	if (victim->position > POS_STUNNED)
fight.c:	    if (!ch->fighting && victim->in_room == ch->in_room)
fight.c:		&& victim->master
fight.c:		&& victim->master->in_room == ch->in_room
fight.c:		retcode = multi_hit(ch, victim->master, TYPE_UNDEFINED);
fight.c:	if (victim->master == ch)
fight.c:	/* count the # of non-pkill pc in a ( not including == ch ) */
fight.c:	for (gch = ch->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:	/* count the # of non-pkill pc in b ( not including == victim ) */
fight.c:	for (gch = victim->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:	/* only consider disbanding if both groups have 1(+) non-pk pc */
fight.c:	    lch = ch->leader ? ch->leader : ch;
fight.c:		    /* disband non-pk members from lch's group if it is pk */
fight.c:		    for (gch = ch->in_room->first_person; gch;
fight.c:			 gch = gch->next_in_room)
fight.c:		for (gch = ch->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:		    /* ch is leader - disband non-pks from group */
fight.c:	    lch = victim->leader ? victim->leader : victim;
fight.c:		    /* lch is pk, disband non-pk's from group */
fight.c:		    for (gch = victim->in_room->first_person; gch;
fight.c:			 gch = gch->next_in_room)
fight.c:		/* victim is leader of group - disband non-pks */
fight.c:		for (gch = victim->in_room->first_person; gch;
fight.c:		     gch = gch->next_in_room)
fight.c:	   count the # of non-pkill pc in a ( not including == ch ) 
fight.c:	for (gch = ch->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:	   count the # of non-pkill pc in b ( not including == victim ) 
fight.c:	for (gch = victim->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:	   only consider disbanding if both groups have 1(+) non-pk pc,
fight.c:		    (ch->leader == victim) ? victim : ch, NULL,
fight.c:		    (ch->leader == victim) ? victim->master : ch->master,
fight.c:		if (ch->leader == victim)
fight.c:	    if (ch->leader != NULL && !IS_NPC(ch->leader) &&
fight.c:		!IS_PKILL(ch->leader))
fight.c:		    ch->master, TO_NOTVICT);
fight.c:		for (gch = ch->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:			    gch->master, TO_NOTVICT);
fight.c:	    if (victim->leader != NULL && !IS_NPC(victim->leader) &&
fight.c:		!IS_PKILL(victim->leader))
fight.c:		    victim->master, TO_NOTVICT);
fight.c:		for (gch = victim->in_room->first_person; gch; gch = gch->next_in_room)
fight.c:			    gch->master, TO_NOTVICT);
fight.c:	for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
fight.c:	for ( gch = victim->in_room->first_person; gch; gch = gch->next_in_room )
fight.c:	    xREMOVE_BIT(ch->affected_by, AFF_INVISIBLE);
fight.c:	    xREMOVE_BIT(ch->affected_by, AFF_HIDE);
fight.c:	    dam -= (int) (dam / 4);
fight.c:	if (dt >= TYPE_HIT && ch->in_room == victim->in_room)
fight.c:		&& xIS_SET(ch->defenses, DFND_DISARM)
fight.c:		&& ch->level > 9
fight.c:		&& number_percent() < ch->level / 3) /* Was 2 try this --Shaddai*/
fight.c:		&& xIS_SET(ch->attacks, ATCK_TRIP)
fight.c:		&& ch->level > 5
fight.c:		&& number_percent() < ch->level / 2)
fight.c:     * Code to handle equipment getting damaged, and also support  -Thoric
fight.c:	    dam -= 5;  /* add a bonus for having something to block the blow */
fight.c:    victim->hit -= dam;
fight.c:     * Get experience based on % of damage done			-Thoric
fight.c:    &&  !IS_NPC(ch) && ch->fighting && ch->fighting->xp )
fight.c:	if ( ch->fighting->who == victim )
fight.c:	    xp_gain = (int) (ch->fighting->xp * dam) / victim->max_hit;
fight.c:	    xp_gain = (int) (xp_compute( ch, victim ) * 0.85 * dam) / victim->max_hit;
fight.c:    &&   victim->level >= LEVEL_IMMORTAL
fight.c:    &&   victim->hit < 1 
fight.c:       victim->hit = 1;
fight.c:    if (!IS_NPC(victim) && NOT_AUTHED(victim) && victim->hit < 1)
fight.c:	victim->hit = 1;
fight.c:    &&  !IS_SET( victim->immune, RIS_POISON )
fight.c:    &&  !saves_poison_death( ch->level, victim ) )
fight.c:	af.modifier  = -2;
fight.c:        /* Was ch, supposed to have been victim -- Kratas */
fight.c:        victim->mental_state = URANGE( 20, victim->mental_state + (IS_PKILL(ch) ? 1 : 2), 100 );
fight.c:     * Vampire self preservation				-Thoric
fight.c:      if ( dam >= (victim->max_hit / 10) )	/* get hit hard, lose blood */
fight.c:	gain_condition(victim, COND_BLOODTHIRST, -1 - (victim->level / 20));
fight.c:      if ( victim->hit <= (victim->max_hit / 8)
fight.c:      && victim->pcdata->condition[COND_BLOODTHIRST]>5 )
fight.c:		-URANGE(3, victim->level / 10, 8) );
fight.c:	victim->hit += URANGE( 4, (victim->max_hit / 30), 15);
fight.c:    &&   victim->hit < 1 
fight.c:	victim->hit = 1;
fight.c:    switch( victim->position )
fight.c:	    if ( skill->die_char && skill->die_char[0] != '\0' )
fight.c:	      act( AT_DEAD, skill->die_char, ch, NULL, victim, TO_CHAR );
fight.c:	    if ( skill->die_vict && skill->die_vict[0] != '\0' )
fight.c:	      act( AT_DEAD, skill->die_vict, ch, NULL, victim, TO_VICT );
fight.c:	    if ( skill->die_room && skill->die_room[0] != '\0' )
fight.c:	      act( AT_DEAD, skill->die_room, ch, NULL, victim, TO_NOTVICT );
fight.c:	if ( dam > victim->max_hit / 4 )
fight.c:/* should be the victim - shogar 
fight.c:	if ( victim->hit < victim->max_hit / 4 )
fight.c:/* should be the victim - shogar 
fight.c:	if ( victim->fighting
fight.c:	&&   victim->fighting->who->hunting
fight.c:	&&   victim->fighting->who->hunting->who == victim )
fight.c:	   stop_hunting( victim->fighting->who );
fight.c:	if ( victim->fighting
fight.c:	&&   victim->fighting->who->hating
fight.c:	&&   victim->fighting->who->hating->who == victim )
fight.c:	   stop_hating( victim->fighting->who );
fight.c:    if ( victim->position == POS_DEAD )
fight.c:                sprintf(log_buf, "%s has died!", victim->name);           
fight.c:       /* Bounty stuff begins - Garinan */
fight.c:            if ( !IS_NPC( ch ) && !IS_NPC( victim ) && victim->bounty > 0 && ch != victim && ch->name != victim->name )
fight.c:                ch->bowed += victim->bounty;
fight.c:                ch->bkills++;
fight.c:                    adjust_hiscore("bounty", ch, ch->bkills);
fight.c:                sprintf( log_buf, "&YYou have claimed %d gold from the head of %s!\n\r", victim->bounty, victim->name );
fight.c:                victim->bounty = 0;
fight.c:                sprintf( log_buf, "%s has claimed the bounty from the head of %s!", ch->name, victim->name );
fight.c:       /* Bounty stuff ends - Garinan */
fight.c:                sprintf( log_buf, "%s has been killed by %s!", victim->name,
fight.c:                         (IS_NPC(ch) ? ch->short_descr : ch->name) );
fight.c:                     victim->name,
fight.c:                     victim->level,
fight.c:                     (IS_NPC(ch) ? ch->short_descr : ch->name),
fight.c:                     victim->in_room->vnum );
fight.c:            if (!IS_NPC( ch ) && !IS_IMMORTAL( ch ) && ch->pcdata->clan
fight.c:	    &&   ch->pcdata->clan->clan_type != CLAN_ORDER
fight.c:            &&   ch->pcdata->clan->clan_type != CLAN_GUILD
fight.c:                sprintf( filename, "%s%s.record", CLAN_DIR, ch->pcdata->clan->name );
fight.c:                sprintf( log_buf, "&P(%2d) %-12s &wvs &P(%2d) %s &P%s ... &w%s",
fight.c:		  ch->level,
fight.c:                  ch->name,
fight.c:		  victim->level,
fight.c:		    victim->pcdata->clan ? victim->pcdata->clan->badge :
fight.c:		  victim->name,
fight.c:                  ch->in_room->area->name );
fight.c:		if ( victim->pcdata->clan &&
fight.c:		     victim->pcdata->clan->name == ch->pcdata->clan->name)
fight.c:	    if ( victim->exp > exp_level(victim, victim->level) )
fight.c:		gain_exp( victim, (exp_level(victim, victim->level) - victim->exp)/4 );
fight.c:	     victim->exp = exp_level( victim, victim->level );
fight.c:	if ( ch->in_room == victim->in_room )
fight.c:	    if ( xIS_SET(ch->act, PLR_AUTOGOLD) )
fight.c:		init_gold = ch->gold;
fight.c:		new_gold = ch->gold;
fight.c:		gold_diff = (new_gold - init_gold);
fight.c:	    if ( xIS_SET(ch->act, PLR_AUTOLOOT)
fight.c:	    &&   victim != ch )  /* prevent nasty obj problems -- Blodkai */
fight.c:	    if ( xIS_SET(ch->act, PLR_AUTOSAC) )
fight.c:    if ( !npcvict && !victim->desc  
fight.c:    && !IS_SET( victim->pcdata->flags, PCFLAG_NORECALL ) )
fight.c:	if ( number_range( 0, victim->wait ) == 0)
fight.c:	if ( ( xIS_SET(victim->act, ACT_WIMPY) && number_bits( 1 ) == 0
fight.c:	&&   victim->hit < victim->max_hit / 2 )
fight.c:	||   ( IS_AFFECTED(victim, AFF_CHARM) && victim->master
fight.c:	&&     victim->master->in_room != victim->in_room ) )
fight.c:    &&   victim->hit > 0
fight.c:    &&   victim->hit <= victim->wimpy
fight.c:    &&   victim->wait == 0 )
fight.c:    if ( !npcvict && xIS_SET( victim->act, PLR_FLEE ) )
fight.c:    if ( !victim ) /*Gonna find this is_safe crash bug -Blod*/
fight.c:        bug( "Is_safe: %s opponent does not exist!", ch->name );
fight.c:    if ( victim->in_room == NULL )
fight.c:	bug( "Is_safe: %s has no physical location!", victim->name );
fight.c:    if ( IS_SET( victim->in_room->room_flags, ROOM_SAFE ) && !victim->bounty > 0 && !ch->bounty > 0)
fight.c://    if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PACIFIST) ) /* Gorog */
fight.c:                capitalize(victim->short_descr));
fight.c:    if ( !IS_NPC( ch ) && ch->level >= LEVEL_IMMORTAL )
fight.c:    &&   IS_SET( victim->in_room->area->flags, AFLAG_NOPKILL ) ) 
fight.c:    if ( (get_age( ch ) < 18 || ch->level < 5) && !in_arena(ch) ) /* Scion arenacode */
fight.c:    if ( (get_age( victim ) < 18 || victim->level < 5) && !in_arena(victim) ) /* Scion arenacode */
fight.c:/*    if ( ch->level - victim->level > 5 
fight.c:    ||   victim->level - ch->level > 5 )
fight.c:    if ((ch->level - victim->level > 10
fight.c:       || victim->level - ch->level > 10)
fight.c:    /* non-charmed mobs can loot anything */
fight.c:    if ( IS_NPC(ch) && !ch->master )
fight.c:    /* members of different clans can loot too! -Thoric */
fight.c:/*    &&    IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) 
fight.c:    &&    IS_SET( victim->pcdata->flags, PCFLAG_DEADLY )*/ ) 
fight.c:	  level_ratio = URANGE( 1, ch->level / victim->level, LEVEL_AVATAR);
fight.c:	  if ( ch->pcdata->clan )
fight.c:	    ch->pcdata->clan->mkills++;
fight.c:	  ch->pcdata->mkills++;
fight.c:	    adjust_hiscore("mkill", ch, ch->pcdata->mkills);
fight.c:	  ch->in_room->area->mkills++;
fight.c:	  if ( ch->pcdata->deity ) 
fight.c:	    if ( victim->race == ch->pcdata->deity->npcrace )
fight.c:	      if ( victim->race == ch->pcdata->deity->npcfoe )
fight.c:    if ( ch == victim || ch->level >= LEVEL_IMMORTAL )
fight.c:	  ch->pcdata->pkills++;
fight.c:	      adjust_hiscore("pkill", ch, ch->pcdata->pkills);
fight.c:	  victim->pcdata->pdeaths++;
fight.c:    if ( xIS_SET(victim->act, PLR_KILLER)
fight.c:    ||   xIS_SET(victim->act, PLR_THIEF) )
fight.c:	  if ( ch->pcdata->clan )
fight.c:	    if ( victim->level < 10 )
fight.c:	      ch->pcdata->clan->pkills[0]++;
fight.c:	    else if ( victim->level < 15 )
fight.c:	      ch->pcdata->clan->pkills[1]++;
fight.c:	    else if ( victim->level < 20 )
fight.c:	      ch->pcdata->clan->pkills[2]++;
fight.c:	    else if ( victim->level < 30 )
fight.c:	      ch->pcdata->clan->pkills[3]++;
fight.c:	    else if ( victim->level < 40 )
fight.c:	      ch->pcdata->clan->pkills[4]++;
fight.c:	    else if ( victim->level < 50 )
fight.c:	      ch->pcdata->clan->pkills[5]++;
fight.c:	      ch->pcdata->clan->pkills[6]++;
fight.c:	  ch->pcdata->pkills++;
fight.c:    	      adjust_hiscore("pkill",ch, ch->pcdata->pkills);
fight.c:	  ch->in_room->area->pkills++;
fight.c:    /* clan checks					-Thoric */
fight.c:/*    &&    IS_SET( ch->pcdata->flags, PCFLAG_DEADLY )
fight.c:    &&    IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) */)
fight.c:      if ( !ch->pcdata->clan
fight.c:      ||   !victim->pcdata->clan 
fight.c:      ||   ( ch->pcdata->clan->clan_type != CLAN_NOKILL
fight.c:      &&   victim->pcdata->clan->clan_type != CLAN_NOKILL
fight.c:      &&   ch->pcdata->clan != victim->pcdata->clan ) )
fight.c:	if ( ch->pcdata->clan ) 
fight.c:            if ( victim->level < 10 )
fight.c:              ch->pcdata->clan->pkills[0]++;
fight.c:            else if ( victim->level < 15 )
fight.c:              ch->pcdata->clan->pkills[1]++;
fight.c:            else if ( victim->level < 20 )
fight.c:              ch->pcdata->clan->pkills[2]++;
fight.c:            else if ( victim->level < 30 )
fight.c:              ch->pcdata->clan->pkills[3]++;
fight.c:            else if ( victim->level < 40 )
fight.c:              ch->pcdata->clan->pkills[4]++;
fight.c:            else if ( victim->level < 50 )
fight.c:              ch->pcdata->clan->pkills[5]++;
fight.c:              ch->pcdata->clan->pkills[6]++;
fight.c:	  ch->pcdata->pkills++;
fight.c:	      adjust_hiscore("pkill",ch,ch->pcdata->pkills);
fight.c:	  ch->hit = ch->max_hit;
fight.c:	  ch->mana = ch->max_mana;
fight.c:	  ch->move = ch->max_move;
fight.c:	if ( ch->pcdata )
fight.c:	  ch->pcdata->condition[COND_BLOODTHIRST] = (10 + ch->level);
fight.c:	  act( AT_MAGIC, "Bolts of blue energy rise from the corpse, seeping into $n.", ch, victim->name, NULL, TO_ROOM );
fight.c:	  act( AT_MAGIC, "Bolts of blue energy rise from the corpse, seeping into you.", ch, victim->name, NULL, TO_CHAR ); 
fight.c:	if ( victim->pcdata->clan )
fight.c:            if ( ch->level < 10 )
fight.c:              victim->pcdata->clan->pdeaths[0]++;
fight.c:            else if ( ch->level < 15 )
fight.c:              victim->pcdata->clan->pdeaths[1]++;
fight.c:            else if ( ch->level < 20 )
fight.c:              victim->pcdata->clan->pdeaths[2]++;
fight.c:            else if ( ch->level < 30 )
fight.c:              victim->pcdata->clan->pdeaths[3]++;
fight.c:            else if ( ch->level < 40 )
fight.c:              victim->pcdata->clan->pdeaths[4]++;
fight.c:            else if ( ch->level < 50 )
fight.c:              victim->pcdata->clan->pdeaths[5]++;
fight.c:              victim->pcdata->clan->pdeaths[6]++;
fight.c:	victim->pcdata->pdeaths++;   
fight.c:	/* xSET_BIT(victim->act, PLR_PK); */
fight.c:     * Charm-o-rama.
fight.c:	if ( !ch->master )
fight.c:		IS_NPC(ch) ? ch->short_descr : ch->name );
fight.c:	    xREMOVE_BIT( ch->affected_by, AFF_CHARM );
fight.c:	if ( ch->master )
fight.c:	  check_killer( ch->master, victim );
fight.c:        if ( victim->pcdata->clan )
fight.c:          victim->pcdata->clan->mdeaths++;
fight.c:        victim->pcdata->mdeaths++;
fight.c:		adjust_hiscore( "mdeath", victim, victim->pcdata->mdeaths );
fight.c:	victim->in_room->area->mdeaths++;
fight.c:	level_ratio = URANGE( 1, ch->level / victim->level, LEVEL_AVATAR );
fight.c:	if ( victim->pcdata->deity )
fight.c:	  if ( ch->race == victim->pcdata->deity->npcrace )
fight.c:	    if ( ch->race == victim->pcdata->deity->npcfoe )
fight.c:      if ( ch->pcdata->clan )
fight.c:        ch->pcdata->clan->illegal_pk++;
fight.c:      ch->pcdata->illegal_pk++;
fight.c:      ch->in_room->area->illegal_pk++;
fight.c:      if ( victim->pcdata->clan )
fight.c:            if ( ch->level < 10 )
fight.c:              victim->pcdata->clan->pdeaths[0]++;
fight.c:            else if ( ch->level < 15 )
fight.c:              victim->pcdata->clan->pdeaths[1]++;
fight.c:            else if ( ch->level < 20 )
fight.c:              victim->pcdata->clan->pdeaths[2]++;
fight.c:            else if ( ch->level < 30 )
fight.c:              victim->pcdata->clan->pdeaths[3]++;
fight.c:            else if ( ch->level < 40 )
fight.c:              victim->pcdata->clan->pdeaths[4]++;
fight.c:            else if ( ch->level < 50 )
fight.c:              victim->pcdata->clan->pdeaths[5]++;
fight.c:              victim->pcdata->clan->pdeaths[6]++;
fight.c:      victim->pcdata->pdeaths++;
fight.c:      victim->in_room->area->pdeaths++;
fight.c:    if ( xIS_SET(ch->act, PLR_KILLER) )
fight.c:    xSET_BIT(ch->act, PLR_KILLER);
fight.c:    if ( xIS_SET( ch->act, PLR_ATTACKER) )
fight.c:      xREMOVE_BIT(ch->act, PLR_ATTACKER);
fight.c: * of attacker flags in the realms. -Narn
fight.c:    ||  xIS_SET(victim->act, PLR_KILLER)
fight.c:    ||  xIS_SET(victim->act, PLR_THIEF) )
fight.c:    { if ( !(ch->pcdata->clan && victim->pcdata->clan
fight.c:      && ch->pcdata->clan == victim->pcdata->clan ) )  return; }
fight.c:     * Charm-o-rama.
fight.c:	if ( !ch->master )
fight.c:		IS_NPC(ch) ? ch->short_descr : ch->name );
fight.c:	    xREMOVE_BIT( ch->affected_by, AFF_CHARM );
fight.c:           do_murder. -Narn */
fight.c:	/* xSET_BIT(ch->master->act, PLR_ATTACKER);*/
fight.c:    ||   ch->level >= LEVEL_IMMORTAL
fight.c:    ||   xIS_SET(ch->act, PLR_ATTACKER)
fight.c:    ||   xIS_SET(ch->act, PLR_KILLER)
fight.c:    xSET_BIT(ch->act, PLR_ATTACKER);
fight.c:    if ( victim->hit > 0 )
fight.c:	if ( victim->position <= POS_STUNNED )
fight.c:	  victim->position = POS_STANDING;
fight.c:	  victim->position = POS_STUNNED;
fight.c:    if ( IS_NPC(victim) || victim->hit <= -11 )
fight.c:	if ( victim->mount )
fight.c:		victim, NULL, victim->mount, TO_ROOM );
fight.c:	  xREMOVE_BIT( victim->mount->act, ACT_MOUNTED );
fight.c:	  victim->mount = NULL;
fight.c:	victim->position = POS_DEAD;
fight.c:	 if ( victim->hit <= -6 ) victim->position = POS_MORTAL;
fight.c:    else if ( victim->hit <= -3 ) victim->position = POS_INCAP;
fight.c:    else                          victim->position = POS_STUNNED;
fight.c:    if ( victim->position > POS_STUNNED
fight.c:      victim->position = POS_STUNNED;
fight.c:    if ( victim->mount )
fight.c:		victim, NULL, victim->mount, TO_ROOM );
fight.c:	xREMOVE_BIT( victim->mount->act, ACT_MOUNTED );
fight.c:	victim->mount = NULL;
fight.c:    if ( ch->fighting )
fight.c:	sprintf( buf, "Set_fighting: %s -> %s (already fighting %s)",
fight.c:		ch->name, victim->name, ch->fighting->who->name );
fight.c:    /* Limit attackers -Thoric */
fight.c:    if ( victim->num_fighting > max_fight(victim) )
fight.c:    fight->who	 = victim;
fight.c:    fight->xp	 = (int) xp_compute( ch, victim ) * 0.85;
fight.c:    fight->align = align_compute( ch, victim );
fight.c:      fight->timeskilled = times_killed(ch, victim);
fight.c:    ch->num_fighting = 1;
fight.c:    ch->fighting = fight;
fight.c:    /* ch->position = POS_FIGHTING; */
fight.c:        ch->position = POS_FIGHTING;
fight.c:        switch(ch->style)
fight.c:            ch->position = POS_EVASIVE;
fight.c:            ch->position = POS_DEFENSIVE;
fight.c:            ch->position = POS_AGGRESSIVE;
fight.c:            ch->position = POS_BERSERK;
fight.c:        default: ch->position = POS_FIGHTING;
fight.c:    victim->num_fighting++;
fight.c:    if ( victim->switched && IS_AFFECTED(victim->switched, AFF_POSSESS) )
fight.c:	send_to_char( "You are disturbed!\n\r", victim->switched );
fight.c:	do_return( victim->switched, "" );
fight.c:    if ( !ch->fighting )
fight.c:    if (ch->next)
fight.c:        if (ch->next->prev != ch)
fight.c:            bug("who_fighting: ch->next->prev != ch. Shortcutting!!",0);
fight.c:            ch->next->prev=ch;
fight.c:    if (ch->prev)
fight.c:        if (ch->prev->next != ch)
fight.c:            bug("who_fighting: ch->prev->next != ch. Shortcutting!!",0);
fight.c:            ch->prev->next=ch;
fight.c:    return ch->fighting->who;
fight.c:    if ( ch->fighting )
fight.c:        if ( !char_died(ch->fighting->who) )
fight.c:            --ch->fighting->who->num_fighting;
fight.c:        DISPOSE( ch->fighting );
fight.c:    ch->fighting = NULL;
fight.c:    if ( ch->mount )
fight.c:        ch->position = POS_MOUNTED;
fight.c:        ch->position = POS_STANDING;
fight.c:    /* Berserk wears off after combat. -- Altrag */
fight.c:        send_to_char(skill_table[gsn_berserk]->msg_off, ch);
fight.c:    for ( fch = first_char; fch; fch = fch->next )
fight.c:       	for(i = 0;i < 32 && ch->xflags;i++)
fight.c:	name		= IS_NPC(ch) ? ch->short_descr : ch->name;
fight.c:	obj->timer	= number_range( 4, 7 );
fight.c:	  obj->value[3] = 10;
fight.c:	sprintf( buf, obj->short_descr, name );
fight.c:	STRFREE( obj->short_descr );
fight.c:	obj->short_descr = STRALLOC( buf );
fight.c:	sprintf( buf, obj->description, name );
fight.c:	STRFREE( obj->description );
fight.c:	obj->description = STRALLOC( buf );
fight.c:	obj = obj_to_room( obj, ch->in_room );
fight.c:    was_in_room = ch->in_room;
fight.c:    for ( pexit = was_in_room->first_exit; pexit; pexit = pexit->next )
fight.c:	if ( pexit->to_room
fight.c:	&&   pexit->to_room != was_in_room )
fight.c:	    ch->in_room = pexit->to_room;
fight.c:    ch->in_room = was_in_room;
fight.c:    if(victim->morph)
fight.c:    if ( victim->in_room->sector_type == SECT_OCEANFLOOR
fight.c:    ||   victim->in_room->sector_type == SECT_UNDERWATER
fight.c:    ||   victim->in_room->sector_type == SECT_WATER_SWIM
fight.c:    ||   victim->in_room->sector_type == SECT_WATER_NOSWIM )
fight.c:    else if ( victim->in_room->sector_type == SECT_AIR )
fight.c:	victim->pIndexData->killed++;
fight.c:    if ( victim->pcdata->mdeaths + victim->pcdata->pdeaths < 3 )
fight.c:    while ( victim->first_affect )
fight.c:	affect_remove( victim, victim->first_affect );
fight.c:    victim->affected_by	= race_table[victim->race]->affected;
fight.c:    victim->resistant   = 0;
fight.c:    victim->susceptible = 0;
fight.c:    victim->immune      = 0;
fight.c:    victim->carry_weight= 0;
fight.c:    victim->armor	= 100;
fight.c:    victim->armor	+= race_table[victim->race]->ac_plus;
fight.c:    victim->attacks	= race_table[victim->race]->attacks;
fight.c:    victim->defenses	= race_table[victim->race]->defenses;
fight.c:    victim->mod_str	= 0;
fight.c:    victim->mod_dex	= 0;
fight.c:    victim->mod_wis	= 0;
fight.c:    victim->mod_int	= 0;
fight.c:    victim->mod_con	= 0;
fight.c:    victim->mod_cha	= 0;
fight.c:    victim->mod_lck   	= 0;
fight.c:    victim->damroll	= 0;
fight.c:    victim->hitroll	= 0;
fight.c:    victim->mental_state = -10;
fight.c:    victim->alignment	= URANGE( -1000, victim->alignment, 1000 );
fight.c:/*  victim->alignment		= race_table[victim->race]->alignment;
fight.c:-- switched lines just for now to prevent mortals from building up
fight.c:    victim->saving_poison_death = race_table[victim->race]->saving_poison_death;
fight.c:    victim->saving_wand 	= race_table[victim->race]->saving_wand;
fight.c:    victim->saving_para_petri 	= race_table[victim->race]->saving_para_petri;
fight.c:    victim->saving_breath 	= race_table[victim->race]->saving_breath;
fight.c:    victim->saving_spell_staff 	= race_table[victim->race]->saving_spell_staff;
fight.c:    victim->position	= POS_RESTING;
fight.c:    victim->hit		= UMAX( 1, victim->hit  );
fight.c:    victim->mana	= UMAX( 1, victim->mana );
fight.c:    victim->move	= UMAX( 1, victim->move );
fight.c:     * Pardon crimes...						-Thoric
fight.c:    if ( xIS_SET( victim->act, PLR_KILLER) )
fight.c:      xREMOVE_BIT( victim->act, PLR_KILLER);
fight.c:    if ( xIS_SET( victim->act, PLR_THIEF) )
fight.c:      xREMOVE_BIT( victim->act, PLR_THIEF);
fight.c:    victim->pcdata->condition[COND_FULL]   = 12;
fight.c:    victim->pcdata->condition[COND_THIRST] = 12;
fight.c:      victim->pcdata->condition[COND_BLOODTHIRST] = (victim->level / 2);
fight.c:    for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
fight.c:        if (xIS_SET(ch->act, PLR_QUESTOR)&&IS_NPC(victim))
fight.c:            if (ch->questmob == victim->pIndexData->vnum)
fight.c:                ch->questmob = -1;
fight.c:    lch = ch->leader ? ch->leader : ch;
fight.c:    for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
fight.c:	if ( gch->level - lch->level >  8 )
fight.c:	if ( gch->level - lch->level < -8 )
fight.c:	if ( !gch->fighting )
fight.c:	gch->alignment = align_compute( gch, victim );
fight.c:	for ( obj = ch->first_carrying; obj; obj = obj_next )
fight.c:	    obj_next = obj->next_content;
fight.c:	    if ( obj->wear_loc == WEAR_NONE )
fight.c:		obj = obj_to_room( obj, ch->in_room );
fight.c:    if (gch->level <= 5)
fight.c:        return gch->alignment;
fight.c:    align = gch->alignment - victim->alignment;
fight.c:    /* Added divalign to keep neutral chars shifting faster -- Blodkai */
fight.c:    if ( gch->alignment > -350 && gch->alignment < 350 )
fight.c:	newalign  = UMIN( gch->alignment + (align-500)/divalign,  1000 );
fight.c:    if ( align < -500 )
fight.c:	newalign  = UMAX( gch->alignment + (align+500)/divalign, -1000 );
fight.c:	newalign  = gch->alignment - (int) (gch->alignment/divalign);
fight.c:    int gchlev = gch->level;
fight.c:    	  *  URANGE( 0, (victim->level - gchlev) + 10, 13 )) / 10;
fight.c:    align = gch->alignment - victim->alignment;
fight.c:    if ( align >  990 || align < -990 )
fight.c:    if ( gch->alignment > 300 && align < 250 )
fight.c:    /* get 1/4 exp for players					-Thoric */
fight.c:    /* reduce exp for killing the same mob repeatedly		-Thoric */
fight.c:	   xp = (xp * (20-times)) / 20;
fight.c:     * semi-intelligent experienced player vs. novice player xp gain
fight.c:	xp_ratio = (int) gch->played / gchlev;
fight.c:     * a kill than the amount for your current experience level   -Thoric
fight.c:    return URANGE(0, xp, exp_level(gch, gchlev+1) - exp_level(gch, gchlev) );
fight.c: * Added code to produce different messages based on weapon type - FB
fight.c: * Added better bug message so you can track down the bad dt's -Shaddai
fight.c:	dampc = ( (dam * 1000) / victim->max_hit) +
fight.c:              ( 50 - ((victim->hit * 50) / victim->max_hit) );
fight.c:    if ( ch->in_room != victim->in_room )
fight.c:	was_in_room = ch->in_room;
fight.c:	char_to_room(ch, victim->in_room);
fight.c:   	w_index = dt - TYPE_HIT;
fight.c:		dt, ch->name, ch->in_room->vnum );
fight.c:   	d_index = 11 + (dampc - 100)/20;
fight.c:   	d_index = 16 + (dampc - 200)/100;
fight.c:       (IS_SET(ch->pcdata->flags, PCFLAG_GAG)))) gcflag = TRUE;
fight.c:       (IS_SET(victim->pcdata->flags, PCFLAG_GAG)))) gvflag = TRUE;
fight.c:	    attack	= attack_table[dt - TYPE_HIT];
fight.c:                    dt, ch->name, ch->in_room->vnum );
fight.c:	    attack	= skill->noun_damage;
fight.c:		if ( skill->miss_char && skill->miss_char[0] != '\0' )
fight.c:		   act( AT_HIT, skill->miss_char, ch, NULL, victim, TO_CHAR );
fight.c:		if ( skill->miss_vict && skill->miss_vict[0] != '\0' )
fight.c:		   act( AT_HITME, skill->miss_vict, ch, NULL, victim, TO_VICT );
fight.c:		if ( skill->miss_room && skill->miss_room[0] != '\0' )
fight.c:		   if (strcmp( skill->miss_room,"supress" ) )
fight.c:			act( AT_ACTION, skill->miss_room, ch, NULL, victim, TO_NOTVICT );
fight.c:		if ( skill->hit_char && skill->hit_char[0] != '\0' )
fight.c:		  act( AT_HIT, skill->hit_char, ch, NULL, victim, TO_CHAR );
fight.c:		if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
fight.c:		  act( AT_HITME, skill->hit_vict, ch, NULL, victim, TO_VICT );
fight.c:		if ( skill->hit_room && skill->hit_room[0] != '\0' )
fight.c:		  act( AT_ACTION, skill->hit_room, ch, NULL, victim, TO_NOTVICT );
fight.c:		attack = obj->short_descr;
fight.c:		attack = attack_table[dt - TYPE_HIT];
fight.c:                dt, ch->name, ch->in_room->vnum );
fight.c:    if ( IS_NPC(victim) && victim->morph)
fight.c:	if ( !xIS_SET(victim->act, PLR_KILLER)
fight.c:	&&   !xIS_SET(victim->act, PLR_THIEF)
fight.c:	if ( IS_AFFECTED(victim, AFF_CHARM) && victim->master != NULL )
fight.c:    if ( IS_AFFECTED(ch, AFF_CHARM) && ch->master == victim )
fight.c:    if ( ch->position == POS_FIGHTING 
fight.c:       || ch->position ==  POS_EVASIVE
fight.c:       || ch->position ==  POS_DEFENSIVE
fight.c:       || ch->position ==  POS_AGGRESSIVE
fight.c:       || ch->position ==  POS_BERSERK
fight.c:      if ( ch->master == victim )
fight.c:        if ( ch->master )
fight.c:          xSET_BIT(ch->master->act, PLR_ATTACKER);
fight.c:    if ( ch->position == POS_FIGHTING 
fight.c:       || ch->position ==  POS_EVASIVE
fight.c:       || ch->position ==  POS_DEFENSIVE
fight.c:       || ch->position ==  POS_AGGRESSIVE
fight.c:       || ch->position ==  POS_BERSERK
fight.c:    if ( !IS_NPC( victim ) && xIS_SET(ch->act, PLR_NICE ) )
fight.c:    if ( !IS_NPC( victim ) && xIS_SET(victim->act, PLR_PK ) )
fight.c:       sprintf( log_buf, "%s: murder %s.", ch->name, victim->name );
fight.c:       log_string_plus( log_buf, LOG_NORMAL, ch->level );
fight.c:/*    sprintf( buf, "Help!  I am being attacked by %s!",  Spammy crap.. let 'em yell for themselves -- Scion 
fight.c:                   IS_NPC( ch ) ? ch->short_descr : ch->name );
fight.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_ARENA) )
fight.c:    if ( IS_SET(ch->in_room->area->flags, AFLAG_FREEKILL) )
fight.c:    if ( ch->in_room->vnum >= 29 && ch->in_room->vnum <= 43 )
fight.c:    if ( !str_cmp(ch->in_room->area->filename, "arena.are") )
fight.c:      if ( ( !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) ||
fight.c:             !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) ||
fight.c:             /*!IS_SET(victim->pcdata->flags, PCFLAG_DEADLY)
fight.c:	||*/ ch->level - victim->level > 10 
fight.c:	/*|| !IS_SET(ch->pcdata->flags, PCFLAG_DEADLY)*/ ) 
fight.c:		sprintf(buf, " (%s)", ch->name);
fight.c:		sprintf(buf2, " (%s)", victim->name);
fight.c:    	illegal_pkill->vict             = victim->name;
fight.c:    	illegal_pkill->name             = ch->name; 
fight.c:        illegal_pkill->date             = ctime (&current_time);
fight.c:            if ( victim->bounty > 0 && !(ch->level - victim->level) > 10)
fight.c:            if ( victim->bounty > 0 && !IS_SET(victim->pcdata->flags, PCFLAG_DEADLY) )
fight.c:            if ( !IS_SET(ch->pcdata->flags, PCFLAG_DEADLY) && ch->belig == 0)
fight.c:                ch->belig = 1;
fight.c:		(IS_NPC(victim) ? victim->short_descr : victim->name),
fight.c:		victim->in_room->vnum );
fight.c:	    last_pkroom = victim->in_room->vnum;
fight.c:    REMOVE_BIT(ch->pcdata->flags,PCFLAG_IMMPROOF);
fight.c:	if ( ch->position == POS_FIGHTING
fight.c:	||   ch->position == POS_EVASIVE
fight.c:        ||   ch->position == POS_DEFENSIVE
fight.c:        ||   ch->position == POS_AGGRESSIVE
fight.c:        ||   ch->position == POS_BERSERK )
fight.c:	  if ( ch->mount )
fight.c:	    ch->position = POS_MOUNTED;
fight.c:	    ch->position = POS_STANDING;
fight.c:    if ( ch->move <= 0 ) {
fight.c:    /* No fleeing while more aggressive than standard or hurt. - Haus */
fight.c:    if ( !IS_NPC( ch ) && ch->position < POS_FIGHTING ) {
fight.c:    if ( IS_NPC( ch ) && ch->position <= POS_SLEEPING )
fight.c:    was_in = ch->in_room;
fight.c:	||    !pexit->to_room
fight.c:	||   IS_SET( pexit->exit_info, EX_NOFLEE )
fight.c:	|| ( IS_SET( pexit->exit_info, EX_CLOSED )
fight.c:	&&   IS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) ) )
fight.c:        xREMOVE_BIT  ( ch->affected_by, AFF_SNEAK );
fight.c:	if ( ch->mount && ch->mount->fighting )
fight.c:	    stop_fighting( ch->mount, TRUE );
fight.c:	if ( ( now_in = ch->in_room ) == was_in )
fight.c:	ch->in_room = was_in;
fight.c:	ch->in_room = now_in;
fight.c:	    los = ( exp_level( ch, ch->level+1 ) - exp_level( ch, ch->level ) ) * 0.0015;
fight.c:	    if ( ch->level < LEVEL_AVATAR )
fight.c:	    gain_exp( ch, 0 - los );
fight.c:	    if ( wf && ch->pcdata->deity )
fight.c:	      int level_ratio = URANGE( 1, wf->level / ch->level, LEVEL_AVATAR );
fight.c:	      if ( wf && wf->race == ch->pcdata->deity->npcrace )
fight.c:		if ( wf && wf->race == ch->pcdata->deity->npcfoe )
fight.c:    los = ( exp_level( ch, ch->level+1 ) - exp_level( ch, ch->level ) ) * 0.005;
fight.c:    if ( ch->level < LEVEL_AVATAR )
fight.c:    gain_exp( ch, 0 - los );
fight.c:      act( AT_CYAN, "You shout 'kame-a-ma-a' and release an energyball in $N's direction.", ch, NULL, victim, TO_CHAR    );
fight.c:      act( AT_CYAN, "$n shouts 'kame-a-ma-a' and releases an energyball in your direction.", ch, NULL, victim, TO_VICT    );
fight.c:      act( AT_CYAN, "$n shouts 'kame-a-ma-a' and releases an energyball in $N's direction.", ch, NULL, victim, TO_NOTVICT );
gboards.c: Note Board system, (c) 1995-96 Erwin S. Andreasen, erwin@pip.dknet.dk
gboards.c:#define L_SUP (MAX_LEVEL - 1) /* if not already defined */
gboards.c:#define BOARD_NOACCESS -1
gboards.c:#define BOARD_NOTFOUND -1
gboards.c:    if( note->sender )
gboards.c:        STRFREE( note->sender );
gboards.c:    if( note->to_list )
gboards.c:        STRFREE( note->to_list );
gboards.c:    if( note->subject )
gboards.c:        DISPOSE( note->subject );
gboards.c:    if( note->date ) /* was note->datestamp for some reason */
gboards.c:        DISPOSE( note->date  );
gboards.c:    if( note->text )
gboards.c:        DISPOSE( note->text );
gboards.c:    note->next = NULL;
gboards.c:    note->sender = NULL;
gboards.c:    note->expire = 0;
gboards.c:    note->to_list = NULL;
gboards.c:    note->subject = NULL;
gboards.c:    note->date = NULL;
gboards.c:    note->date_stamp = 0;
gboards.c:    note->text = NULL;
gboards.c:    fprintf (fp, "Sender  %s~\n", note->sender);
gboards.c:    fprintf (fp, "Date    %s~\n", note->date);
gboards.c:    fprintf (fp, "Stamp   %ld\n", note->date_stamp);
gboards.c:    fprintf (fp, "Expire  %ld\n", note->expire);
gboards.c:    fprintf (fp, "To      %s~\n", note->to_list);
gboards.c:    fprintf (fp, "Subject %s~\n", note->subject);
gboards.c:    fprintf (fp, "Text\n%s~\n\n", note->text);
gboards.c:        note->date_stamp = ++last_note_stamp;
gboards.c:        note->date_stamp = current_time;
gboards.c:    if (board->note_first) /* are there any notes in there now? */
gboards.c:        for (p = board->note_first; p->next; p = p->next )
gboards.c:        p->next = note;
gboards.c:        board->note_first = note;
gboards.c:    note_chan( board->short_name, note, FALSE );
gboards.c:    sprintf (filename, "%s%s", NOTE_DIR, board->short_name);
gboards.c:        board->changed = TRUE; /* set it to TRUE hope it will be OK later? */
gboards.c:    return -1;
gboards.c:    return -1;
gboards.c:    if (board->note_first == note)
gboards.c:        board->note_first = note->next;
gboards.c:        for (p = board->note_first; p && p->next != note; p = p->next)
gboards.c:            p->next = note->next;
gboards.c:    for (p = board->note_first; p ; p = p->next)
gboards.c:    sprintf (filename, "%s%s", NOTE_DIR, board->short_name);
gboards.c:        for (note = board->note_first; note ; note = note->next)
gboards.c:    int length = strlen( note->sender )-4;
gboards.c:             num, note->sender, note->subject,
gboards.c:             note->date,
gboards.c:             note->to_list,
gboards.c:             note->text);
gboards.c:    sprintf (filename, "%s%s", NOTE_DIR, board->short_name);
gboards.c:        pnote->sender     = fread_string( fp );
gboards.c:        pnote->date       = fread_string_nohash( fp );
gboards.c:        pnote->date_stamp = fread_number( fp );
gboards.c:        pnote->expire = fread_number( fp );
gboards.c:        pnote->to_list    = fread_string( fp );
gboards.c:        pnote->subject    = fread_string_nohash( fp );
gboards.c:        pnote->text       = fread_string_nohash( fp );
gboards.c:        pnote->next = NULL; /* jic */
gboards.c:        if (pnote->expire < current_time)
gboards.c:            sprintf (archive_name, "%s%s.old", NOTE_DIR, board->short_name);
gboards.c:            board->changed = TRUE;
gboards.c:        if ( board->note_first == NULL )
gboards.c:            board->note_first = pnote;
gboards.c:            last_note->next     = pnote;
gboards.c:    if (!str_cmp (ch->name, note->sender))
gboards.c:    if (is_full_name ("all", note->to_list))
gboards.c:                            is_full_name ("imm", note->to_list) ||
gboards.c:                            is_full_name ("imms", note->to_list) ||
gboards.c:                            is_full_name ("immortal", note->to_list) ||
gboards.c:                            is_full_name ("god", note->to_list) ||
gboards.c:                            is_full_name ("gods", note->to_list) ||
gboards.c:                            is_full_name ("immortals", note->to_list)))
gboards.c:                                         is_full_name ("imp", note->to_list) ||
gboards.c:                                         is_full_name ("imps", note->to_list) ||
gboards.c:                                         is_full_name ("implementor", note->to_list) ||
gboards.c:                                         is_full_name ("implementors", note->to_list)))
gboards.c:    if (is_full_name (ch->name, note->to_list))
gboards.c:    if (is_number(note->to_list) && get_trust(ch) >= atoi(note->to_list))
gboards.c:    if ( !ch->desc )
gboards.c:    if ( ch->substate == SUB_RESTRICTED )
gboards.c:        bug( "NOT GOOD: start_editing_note: ch->substate == SUB_RESTRICTED", 0 );
gboards.c:    if ( ch->editor )
gboards.c:    edit->numlines = 0;
gboards.c:    edit->on_line  = 0;
gboards.c:    edit->size     = 0;
gboards.c:                edit->line[lines][lpos] = '\0';
gboards.c:                edit->line[lines][lpos] = '\0';
gboards.c:                edit->line[lines][lpos++] = c;
gboards.c:                edit->line[lines][lpos] = '\0';
gboards.c:        edit->line[lines][lpos] = '~';
gboards.c:        edit->line[lines][lpos+1] = '\0';
gboards.c:    edit->numlines = lines;
gboards.c:    edit->size = size;
gboards.c:    edit->on_line = lines;
gboards.c:    ch->editor = edit;
gboards.c:    ch->desc->connected = CON_NOTE_TEXT;
gboards.c:   if ( !ch->editor )
gboards.c:   for ( x = 0; x < ch->editor->numlines; x++ )
gboards.c:      strcpy( tmp, ch->editor->line[x] );
gboards.c:      if ( tmp && tmp[len-1] == '~' )
gboards.c:	tmp[len-1] = '\0';
gboards.c:    if (board->read_level > get_trust(ch))
gboards.c:    last_read = ch->pcdata->last_note[board_number(board)];
gboards.c:    for (note = board->note_first; note; note = note->next)
gboards.c:        if (is_note_to(ch, note) && ((long)last_read < (long)note->date_stamp))
gboards.c:    if (get_trust(ch) < ch->pcdata->board->write_level)
gboards.c:    if (ch->pcdata->in_progress && (!ch->pcdata->in_progress->text))
gboards.c:        free_global_note (ch->pcdata->in_progress);
gboards.c:        ch->pcdata->in_progress = NULL;
gboards.c:    if (!ch->pcdata->in_progress)
gboards.c:        ch->pcdata->in_progress = new_note();
gboards.c:        ch->pcdata->in_progress->sender = STRALLOC(ch->name);
gboards.c:        strtime[strlen(strtime)-1] = '\0';
gboards.c:        ch->pcdata->in_progress->date = str_dup( strtime );
gboards.c:             ch->pcdata->in_progress->text ? "continuing" : "posting",
gboards.c:             ch->pcdata->board->short_name);
gboards.c:    sprintf (buf, "&YFrom&w:    %s\n\r\n\r", ch->name);
gboards.c:    if (!ch->pcdata->in_progress->text) /* Are we continuing an old note or not? */
gboards.c:        switch (ch->pcdata->board->force_type)
gboards.c:                     ch->pcdata->board->names);
gboards.c:                     ch->pcdata->board->names);
gboards.c:                     ch->pcdata->board->names);
gboards.c:        ch->desc->connected = CON_NOTE_TO;
gboards.c:                 ch->pcdata->in_progress->to_list,
gboards.c:                 ctime(&ch->pcdata->in_progress->expire),
gboards.c:                 ch->pcdata->in_progress->subject);
gboards.c:        send_to_char_color (ch->pcdata->in_progress->text,ch);
gboards.c:        ch->substate = SUB_GBOARD_NOTE;
gboards.c:        ch->dest_buf = ch->pcdata;
gboards.c:        ch->pcdata->in_progress->text = str_dup( "" );
gboards.c:        start_editing_note( ch, ch->pcdata->in_progress->text );
gboards.c:        ch->desc->connected = CON_NOTE_TEXT;
gboards.c:    time_t *last_note = &ch->pcdata->last_note[board_number(ch->pcdata->board)];
gboards.c:        for (p = ch->pcdata->board->note_first; p; p = p->next)
gboards.c:            *last_note =  UMAX (*last_note, p->date_stamp);
gboards.c:        for (p = ch->pcdata->board->note_first; p ; p = p->next, count++)
gboards.c:            if ((p->date_stamp > *last_note) && is_note_to(ch,p))
gboards.c:                *last_note =  UMAX (*last_note, p->date_stamp);
gboards.c:            sprintf (buf, "Changed to next board, %s.\n\r", ch->pcdata->board->short_name);
gboards.c:    p = find_note (ch, ch->pcdata->board, atoi(argument));
gboards.c:    if (str_cmp(ch->name,p->sender) && (get_trust(ch) < LEVEL_IMPLEMENTOR))
gboards.c:    unlink_note (ch->pcdata->board,p);
gboards.c:    save_board(ch->pcdata->board); /* save the board */
gboards.c:        for (p = ch->pcdata->board->note_first; p; p = p->next)
gboards.c:    last_note = ch->pcdata->last_note[board_number (ch->pcdata->board)];
gboards.c:    for (p = ch->pcdata->board->note_first; p; p = p->next)
gboards.c:            if (!show || ((count-show) < has_shown))
gboards.c:                sprintf (buf, "&W%3d&w> &B%c &C%-13s &c%s&w \n\r",
gboards.c:                         last_note < p->date_stamp ? '*' : ' ',
gboards.c:                         p->sender, p->subject);
gboards.c:    for (p = ch->pcdata->board->note_first; p && p->next; p = p->next);
gboards.c:        ch->pcdata->last_note[board_number(ch->pcdata->board)] = p->date_stamp;
gboards.c:        if( ch->pcdata->board == NULL )
gboards.c:            ch->pcdata->board = &boards[DEFAULT_BOARD];
gboards.c:        sprintf (buf, "\n\rYou current board is &W%s&w.\n\r", ch->pcdata->board->short_name);
gboards.c:        if (ch->pcdata->board->read_level > get_trust(ch))
gboards.c:        else if (ch->pcdata->board->write_level > get_trust(ch))
gboards.c:    if (ch->pcdata->in_progress)
gboards.c:            ch->pcdata->board = &boards[i];
gboards.c:    /* Non-number given, find board with that name */
gboards.c:    ch->pcdata->board = &boards[i];
gboards.c:    note->sender = STRALLOC ((char *)sender);
gboards.c:    note->to_list = STRALLOC((char *)to);
gboards.c:    note->subject = str_dup((char *)subject);
gboards.c:    note->expire = current_time + expire_days * 60 * 60 * 24;
gboards.c:    note->text = str_dup((char *)text);
gboards.c:    strtime[strlen(strtime)-1] = '\0';
gboards.c:    note->date = str_dup(strtime);
gboards.c:    int i = board_number (ch->pcdata->board) + 1;
gboards.c:        ch->pcdata->board = &boards[0];
gboards.c:        ch->pcdata->board = &boards[i];
gboards.c:    CHAR_DATA *ch = d->character;
gboards.c:    if (!ch->pcdata->in_progress)
gboards.c:        d->connected = CON_PLAYING;
gboards.c:    smash_tilde (buf); /* change ~ to - as we save this field as a string later */
gboards.c:    switch (ch->pcdata->board->force_type)
gboards.c:            ch->pcdata->in_progress->to_list = STRALLOC(ch->pcdata->board->names);
gboards.c:            sprintf (buf, "Assumed default recipient: &W%s&w\n\r", ch->pcdata->board->names);
gboards.c:            ch->pcdata->in_progress->to_list = STRALLOC(buf);
gboards.c:        if (!is_full_name (ch->pcdata->board->names, buf))
gboards.c:            strcat (buf, ch->pcdata->board->names);
gboards.c:            ch->pcdata->in_progress->to_list = STRALLOC(buf);
gboards.c:                     ch->pcdata->board->names, ch->pcdata->in_progress->to_list);
gboards.c:            ch->pcdata->in_progress->to_list = STRALLOC(buf);
gboards.c:        if (is_full_name (ch->pcdata->board->names, buf))
gboards.c:                     "&YTo&w:      ", ch->pcdata->board->names);
gboards.c:            ch->pcdata->in_progress->to_list = STRALLOC(buf);
gboards.c:    d->connected = CON_NOTE_SUBJECT;
gboards.c:    CHAR_DATA *ch = d->character;
gboards.c:    if (!ch->pcdata->in_progress)
gboards.c:        d->connected = CON_PLAYING;
gboards.c:    smash_tilde (buf); /* change ~ to - as we save this field as a string later */
gboards.c:        ch->pcdata->in_progress->subject = str_dup(buf);
gboards.c:                     ch->pcdata->board->purge_days);
gboards.c:            d->connected = CON_NOTE_EXPIRE;
gboards.c:            ch->pcdata->in_progress->expire =
gboards.c:                current_time + ch->pcdata->board->purge_days * 24L * 3600L;
gboards.c:            sprintf (buf, "This note will expire %s\r",ctime(&ch->pcdata->in_progress->expire));
gboards.c:            ch->substate = SUB_GBOARD_NOTE;
gboards.c:            ch->dest_buf = ch->pcdata;
gboards.c:            ch->pcdata->in_progress->text = str_dup( "" );
gboards.c:            start_editing_note( ch, ch->pcdata->in_progress->text );
gboards.c:            d->connected = CON_NOTE_TEXT;
gboards.c:    CHAR_DATA *ch = d->character;
gboards.c:    if (!ch->pcdata->in_progress)
gboards.c:        d->connected = CON_PLAYING;
gboards.c:        days = 	ch->pcdata->board->purge_days;
gboards.c:    ch->pcdata->in_progress->expire = expire;
gboards.c:    ch->substate = SUB_GBOARD_NOTE;
gboards.c:    ch->dest_buf = ch->pcdata;
gboards.c:    ch->pcdata->in_progress->text = str_dup( "" );
gboards.c:    start_editing_note( ch, ch->pcdata->in_progress->text );
gboards.c:    d->connected = CON_NOTE_TEXT;
gboards.c:    if ( (d = ch->desc) == NULL )
gboards.c:    if ( d->connected != CON_NOTE_TEXT )
gboards.c:	bug( "handle_con_note_text: d->connected != CON_NOTE_TEXT", 0 );
gboards.c:    if ( !ch->editor )
gboards.c:	d->connected = CON_PLAYING;
gboards.c:    edit = ch->editor;
gboards.c:    if ( ch->substate == SUB_MPROG_EDIT || ch->substate == SUB_HELP_EDIT )
gboards.c:	    send_to_char( "Editing commands\n\r---------------------------------\n\r", ch );
gboards.c:	    edit->numlines = 0;
gboards.c:	    edit->on_line   = 0;
gboards.c:		/* added format command - shogar */
gboards.c:	    int x,linecnt  = -1, spacercnt=0;
gboards.c:	    for ( x = edit->on_line; x < edit->numlines; x++ )
gboards.c:			lwptr = edit->line[linecnt];
gboards.c:	        tptr = edit->line[x];
gboards.c:				lwptr = edit->line[linecnt];
gboards.c:				lwptr = edit->line[linecnt];
gboards.c:		strcpy(cline,edit->line[x]);
gboards.c:           	     	if((strlen(edit->line[linecnt]) + strlen(cword) + 1) > 79)
gboards.c:	        		if ( edit->numlines >= max_buf_lines )
gboards.c:					strcpy(edit->line[edit->numlines],"");
gboards.c:					edit->numlines++;
gboards.c:					lwptr = edit->line[linecnt];
gboards.c:	    if(linecnt != -1)
gboards.c:	    	for ( x = linecnt + 1; x < edit->numlines; x++ )
gboards.c:			strcpy(edit->line[x],"");
gboards.c:	    	edit->numlines = linecnt + 2;
gboards.c:	    	edit->on_line = linecnt + 1;
gboards.c:	    for ( x = edit->on_line; x < edit->numlines; x++ )
gboards.c:		lwptr = edit->line[x];
gboards.c:		    if (lineln + wptr - edit->line[x] > 79)
gboards.c:	    if ( edit->numlines >= max_buf_lines )
gboards.c:		  line = atoi( argument + 2 ) - 1;
gboards.c:		  line = edit->on_line;
gboards.c:		  line = edit->on_line;
gboards.c:		if ( line < 0 || line > edit->numlines )
gboards.c:		  for ( x = ++edit->numlines; x > line; x-- )
gboards.c:			strcpy( edit->line[x], edit->line[x-1] );
gboards.c:		  strcpy( edit->line[line], "" );
gboards.c:	    if ( edit->numlines == 0 )
gboards.c:		    line = atoi( argument + 2 ) - 1;
gboards.c:		    line = edit->on_line;
gboards.c:		    line = edit->on_line;
gboards.c:		if ( line < 0 || line > edit->numlines )
gboards.c:		    if ( line == 0 && edit->numlines == 1 )
gboards.c:			edit->numlines = 0;
gboards.c:			edit->on_line   = 0;
gboards.c:		    for ( x = line; x < (edit->numlines - 1); x++ )
gboards.c:			strcpy( edit->line[x], edit->line[x+1] );
gboards.c:		    strcpy( edit->line[edit->numlines--], "" );
gboards.c:		    if ( edit->on_line > edit->numlines )
gboards.c:			edit->on_line = edit->numlines;
gboards.c:	    if ( edit->numlines == 0 )
gboards.c:		    line = atoi( argument + 2 ) - 1;
gboards.c:		    line = edit->on_line;
gboards.c:		if ( line < 0 || line > edit->numlines )
gboards.c:		    edit->on_line = line;
gboards.c:	    if ( edit->numlines == 0 )
gboards.c:		send_to_char( "------------------\n\r", ch );
gboards.c:		for ( x = 0; x < edit->numlines; x++ )
gboards.c:		    ch_printf( ch, "%2d> %s\n\r", x+1, edit->line[x] );
gboards.c:		send_to_char( "------------------\n\r> ", ch );
gboards.c:            free_global_note( ch->pcdata->in_progress );
gboards.c:            ch->pcdata->in_progress = NULL;
gboards.c:            d->connected = CON_PLAYING;
gboards.c:	    int substate = ch->substate;
gboards.c:	    last_cmd = ch->last_cmd;
gboards.c:	    ch->substate = SUB_RESTRICTED;
gboards.c:	    ch->substate = substate;
gboards.c:	    ch->last_cmd = last_cmd;
gboards.c:            NOTE_DATA *note = ch->pcdata->in_progress;
gboards.c:            DISPOSE( note->text );
gboards.c:            note->text = copy_buffer_nohash( ch );
gboards.c:            if( !str_cmp( note->text, "" ) )
gboards.c:                d->connected = CON_PLAYING;
gboards.c:                free_global_note( ch->pcdata->in_progress );
gboards.c:                ch->pcdata->in_progress = NULL;
gboards.c:            d->connected = CON_NOTE_FINISH;
gboards.c:    if ( edit->size + strlen(argument) + 1 >= MAX_STRING_LENGTH - 1 )
gboards.c:	strcpy( edit->line[edit->on_line++], buf );
gboards.c:	if ( edit->on_line > edit->numlines )
gboards.c:	  edit->numlines++;
gboards.c:	if ( edit->numlines > max_buf_lines )
gboards.c:	  edit->numlines = max_buf_lines;
gboards.c:        NOTE_DATA *note = ch->pcdata->in_progress;
gboards.c:        DISPOSE( note->text );
gboards.c:        note->text = copy_buffer_nohash( ch );
gboards.c:        d->connected = CON_NOTE_FINISH;
gboards.c:    CHAR_DATA *ch = d->character;
gboards.c:    if (!ch->pcdata->in_progress)
gboards.c:        d->connected = CON_PLAYING;
gboards.c:        ch->substate = SUB_GBOARD_NOTE;
gboards.c:        ch->dest_buf = ch->pcdata;
gboards.c:        ch->pcdata->in_progress->text = str_dup( "" );
gboards.c:        start_editing_note( ch, ch->pcdata->in_progress->text );
gboards.c:        d->connected = CON_NOTE_TEXT;
gboards.c:        if (ch->pcdata->in_progress->text)
gboards.c:            send_to_char_color ( ch->pcdata->in_progress->text, ch);
gboards.c:        finish_note (ch->pcdata->board, ch->pcdata->in_progress);
gboards.c:        d->connected = CON_PLAYING;
gboards.c:        ch->pcdata->in_progress = NULL;
gboards.c:        free_global_note( ch->pcdata->in_progress );
gboards.c:        ch->pcdata->in_progress = NULL;
gboards.c:        d->connected = CON_PLAYING;
grub.c: * -----------------------------------------------------------|   (0...0)   *
grub.c: * -----------------------------------------------------------|    {o o}    *
grub.c: * ------------------------------------------------------------------------ *
grub.c:struct field_struct         /* field table - info re each field          */
grub.c:struct                      /* operand table - info about each operand   */
grub.c:struct                          /* operand table - info about each op    */
grub.c:return *(int*)i - *(int*)j;
grub.c:send_to_char( "rgrub st n lo hi - sector type search.\n\r"
grub.c:send_to_char( "   e.g. rgrub st 6 901 969 - list all rooms in Olympus\n\r"
grub.c:send_to_char( "   e.g. rgrub st 2 - list all rooms sectortype 2.\n\r", ch );
grub.c:         for (pRoom = room_index_hash[cou]; pRoom; pRoom = pRoom->next)
grub.c:            if (pRoom->vnum >= lo && pRoom->vnum <= hi)
grub.c:            if ( match == pRoom->sector_type && hit_cou < RGRUB_ST_MAX_SIZE)
grub.c:               vnum[hit_cou++] = pRoom->vnum;
grub.c:  return -1;
grub.c:        i=LOWER(*astr)-LOWER(*bstr);
grub.c:  return -1;
grub.c: * 5th parm is n_s - number/string - TRUE is number - FALSE is string
grub.c: * 6th parm is direction - TRUE is ascending - FALSE is descending
grub.c:  right = UMIN(right, MAX_DISPLAY_LINES - 1);
grub.c:     testn = p[left]->n[ind];
grub.c:     strcpy( tests, p[left]->s[ind] );
grub.c:           while (p[i]->n[ind] < testn) i++;
grub.c:           while (p[i]->n[ind] > testn) i++;
grub.c:           while (testn < p[j]->n[ind]) j--;
grub.c:           while (testn > p[j]->n[ind]) j--;
grub.c:           while ( strcmp( p[i]->s[ind], tests) < 0 ) i++;
grub.c:           while ( strcmp( p[i]->s[ind], tests) > 0 ) i++;
grub.c:           while ( strcmp( tests, p[j]->s[ind]) < 0 ) j--;
grub.c:           while ( strcmp( tests, p[j]->s[ind]) > 0 ) j--;
grub.c:     if (i <= j) { swap=p[i]; p[i] = p[j]; p[j] = swap; i++; j--; }
grub.c:     case APPLY_HITROLL       : {r->n[OHR]  += mod; break;}
grub.c:     case APPLY_DAMROLL       : {r->n[ODR]  += mod; break;}
grub.c:     case APPLY_HIT           : {r->n[OHP]  += mod; break;}
grub.c:     case APPLY_MANA          : {r->n[OMP]  += mod; break;}
grub.c:     case APPLY_AC            : {r->n[OAC]  += mod; break;}
grub.c:     case APPLY_STR           : {r->n[OSTR] += mod; break;}
grub.c:     case APPLY_DEX           : {r->n[ODEX] += mod; break;}
grub.c:     case APPLY_CON           : {r->n[OCON] += mod; break;}
grub.c:     case APPLY_WIS           : {r->n[OWIS] += mod; break;}
grub.c:     case APPLY_INT           : {r->n[OINT] += mod; break;}
grub.c:     case APPLY_LCK           : {r->n[OLUCK]+= mod; break;}
grub.c:     case APPLY_SAVING_POISON : {r->n[OSAV0]+= mod; break;}
grub.c:     case APPLY_SAVING_ROD    : {r->n[OSAV1]+= mod; break;}
grub.c:     case APPLY_SAVING_PARA   : {r->n[OSAV2]+= mod; break;}
grub.c:     case APPLY_SAVING_BREATH : {r->n[OSAV3]+= mod; break;}
grub.c:     case APPLY_SAVING_SPELL  : {r->n[OSAV4]+= mod; break;}
grub.c:        "%2d %-7s %2s %10ld\n\r", cou+1, go_fd[go_op[cou].field].nam,
grub.c:        pager_printf (ch, "%2d %-7s %2s %s\n\r",
grub.c:  go_op[*op_num].op = -1;
grub.c:  if ( arg[0]=='+' || arg[0]=='-')
grub.c:     if ( (*sor_ind = go_fnam_to_num(pch)) == -1 )
grub.c:               (r->n[go_op[cou].field], go_op[cou].op, go_op[cou].nval) )
grub.c:                 r->s[go_op[cou].field-OSAV4-1], go_op[cou].op, 
grub.c:         if ( go_eval_num( r->n[ go_op[cou].field ], go_op[cou].op,
grub.c:        if ( go_eval_str( r->s[go_op[cou].field-OSAV4-1], go_op[cou].op, 
grub.c:         "\n\r%-12s%3s %5s %2s %-12s %2s %2s %2s %2s %2s %3s %3s %3s "
grub.c:         "\n\r%-12s%3s %5s %2s %-12s %2s %2s %2s %2s %2s %3s %3s %2s "
grub.c:      strncpy( pri_cname, r.s[CNAME], MAX_NAME_LENGTH - 1);
grub.c:      pri_cname[ MAX_NAME_LENGTH - 1] = '\0';
grub.c:      strncpy( pri_oname, r.s[ONAME], MAX_NAME_LENGTH - 1);
grub.c:      pri_oname[ MAX_NAME_LENGTH - 1] = '\0';
grub.c:            "%-12s%3d %5d%3d %-12s %2s %2s%3d%3d%3d%4d%4d%4d"
grub.c:            "%-12s%3d %5d%3d %-12s %2s %2s%3d%3d%3d%4d%4d%3d"
grub.c: * this function. F.Y.I - if an object is not "carried_by" someone,
grub.c: * in a container carried by someone - or in a container on the ground.
grub.c:  r->s[ONAME] = ( po->name ) ? po->name : ack;  /* set object name */
grub.c:  if ( po->carried_by )                  /* it's being carried by a char */
grub.c:     if ( get_trust(ch) < po->carried_by->level ) return FALSE;
grub.c:     if ( nm_sw &&  IS_NPC(po->carried_by) ) return FALSE;
grub.c:     if ( np_sw && !IS_NPC(po->carried_by) ) return FALSE;
grub.c:     r->s[CNAME] = po->carried_by->name;
grub.c:  else if ( po->in_obj )                 /* it's in a container          */
grub.c:     while( pt->in_obj )
grub.c:            pt=pt->in_obj;
grub.c:     if ( pt->carried_by && get_trust(ch) < pt->carried_by->level )
grub.c:     if ( pt->carried_by && nm_sw &&  IS_NPC(pt->carried_by) )
grub.c:     if ( pt->carried_by && np_sw && !IS_NPC(pt->carried_by) )
grub.c:     if ( pt->carried_by ) r->s[CNAME] = pt->carried_by->name;
grub.c:     r->s[CNAME] = ground;
grub.c:  else if ( !po->in_obj )                /* it's on the ground           */
grub.c:     r->s[CNAME] = ground;
grub.c:  for (po=first_object; po; po=po->next)   /* Loop through all objects   */
grub.c:      if ( !ok_otype[po->item_type] )      /* don't process useless stuff*/
grub.c:      px          = po->pIndexData;
grub.c:      r.n[OCOUNT] = po->count;
grub.c:      r.n[OVNUM]  = px->vnum;
grub.c:      r.n[OTYPE]  = po->item_type;
grub.c:      r.n[OLEVEL] = po->level;
grub.c:      r.n[OWEAR]  = go_wear_ext( po->wear_flags );
grub.c:      r.n[OAVG]   = (po->item_type == ITEM_WEAPON) ?
grub.c:                    (po->value[1] + po->value[2])/2 : 0;
grub.c:      for (pa=px->first_affect; pa; pa=pa->next)
grub.c:          go_accum_aff (&r, pa->location, pa->modifier);
grub.c:      for (pa=po->first_affect; pa; pa=pa->next)
grub.c:          go_accum_aff (&r, pa->location, pa->modifier);
grub.c:  ind = ( sor_ind<=OSAV4 ) ? sor_ind : sor_ind - OSAV4 - 1;
grub.c:     go_sort( ch, p, ind, 0, UMIN((tot_match - 1), MAX_DISPLAY_LINES - 1),
grub.c:  are sorted, we display only 10 - but - that don't change the fact that
grub.c:  we have to sort all 10,000 - sigh - arg! - Gorog
grub.c:  gr_op[*op_num].op = -1;
grub.c:      if ( !str_prefix( gr_fd[cou-1].nam, arg ) )
grub.c:         arg += strlen( gr_fd[ cou-1 ].nam );     /* advance to operator */
grub.c:         gr_op[ *op_num ].field = cou-1;          /* store field name    */
grub.c:           "\n\r%-12s %-2s %1s %-2s %1s %3s %3s %5s %11s %-15s %-6s %s\n\r",
grub.c:  "%-12.12s %3hd %c %2.2s %c %3.3s %3.3s %5hd %11.11ld %-15.15s %6lu %c\n\r", 
grub.c: * player files - often to deal with unruly problem players.
grub.c: * The second phase reads each input record - one record for each player.
grub.c:   while (test > count[j]) j--;
grub.c:      i++; j--;
grub.c:return *(int*)i - *(int*)j;
grub.c:send_to_char( "diagnose of n  -  object frequency top n objects\n\r", ch );
grub.c:send_to_char( "diagnose zero  -  count objects with zero weight\n\r", ch );
grub.c:send_to_char( "diagnose zero n - list n objects with zero weight\n\r", ch );
grub.c:send_to_char( "diagnose rf n lo hi - room flag search.\n\r"
grub.c:send_to_char( "   e.g. diagnose rf 6 901 969 - list all rooms in Olympus\n\r"
grub.c:send_to_char( "   e.g. diagnose rf 2 - list all deathtraps.\n\r", ch );
grub.c:send_to_char( "diagnose mrc num race class vnum1 vnum2 - mobs/race/class\n\r"
grub.c:   "   e.g. diagnose mrc 50 0 3 7500 7534 - show 50 human warriors "
grub.c:int  ins = -1;                             /* insert pos in dynamic f array */
grub.c:if (!f[siz-1] || p->count>f[siz-1]->count) /* don't bother looping thru f */
grub.c:      if ( !f[cou++] || p->count > f[cou-1]->count )
grub.c:         ins = cou-1;                      /* needs to go into pos "cou" */
grub.c:   for (cou = siz-1; cou > ins; cou--)     /* open a slot in the table */
grub.c:       f[cou] = f[cou-1];
grub.c:   t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min);
grub.c:   {pager_printf( ch, "%s %s is NPC.\n\r", arg2, vic->name ); return;}
grub.c:   {pager_printf( ch, "%s %s is PC.\n\r", arg2, vic->name ); return;}
grub.c:if ( IS_SET( vic->pcdata->flags, PCFLAG_WATCH ) )
grub.c:   pager_printf( ch, "PCFLAG_WATCH is TRUE.\n\r", vic->name );
grub.c:   pager_printf( ch, "PCFLAG_WATCH is FALSE.\n\r", vic->name );
grub.c:         for (pRoom = room_index_hash[cou]; pRoom; pRoom = pRoom->next)
grub.c:            if (pRoom->vnum >= lo && pRoom->vnum <= hi)
grub.c:            if ( match == (match & pRoom->room_flags) 
grub.c:	       vnum[hit_cou++] = pRoom->vnum;
grub.c:               pObj; pObj=pObj->next)
grub.c:       ch_printf(ch, "%3d%8d%8d\n\r", cou+1,freq[cou]->vnum,freq[cou]->count);
grub.c:   if ( !victim->desc )
grub.c:      for ( d = first_descriptor; d; d = d->next )
grub.c:          if ( d->snoop_by == ch->desc )
grub.c:             d->snoop_by = NULL;
grub.c:   if ( victim->desc->snoop_by )
grub.c:   victim->desc->snoop_by = ch->desc;
grub.c:   int zero_num     = -1;                       /* num of lines requested */
grub.c:          for (pObj=obj_index_hash[cou]; pObj; pObj=pObj->next)
grub.c:              if (pObj->weight == 0) {
grub.c:                 zero_obj += pObj->count;
grub.c:                    vnums[zero_obj_ind - 1] = pObj->vnum;
grub.c:                    count[zero_obj_ind - 1] = pObj->count;
grub.c:      zero_sort (vnums, count, 0, zero_obj_ind - 1);
grub.c:    ch->name, ch->affected_by, ch->perm_str, ch->mod_str);
grub.c:for (pa=ch->first_affect; pa; pa=pa->next)
grub.c:   pa->type, pa->duration, pa->location, pa->modifier, pa->bitvector);
grub.c:for (po=first_object; po; po=po->next)
grub.c:    if ( !po->carried_by && !po->in_obj ) continue;
grub.c:    if ( !po->carried_by )
grub.c:       while( pt->in_obj )           /* could be in a container on ground */
grub.c:              pt=pt->in_obj;
grub.c:    if ( ch==po->carried_by || ch==pt->carried_by )
grub.c:       px = po->pIndexData;
grub.c:       px->vnum, px->name, px->level, px->extra_flags);
grub.c:       px->value[0], px->value[1], px->value[2], px->value[3],
grub.c:       px->value[4], px->value[5], px->item_type);
grub.c:       for (pa=px->first_affect; pa; pa=pa->next)
grub.c:           pa->type, pa->duration, pa->location, pa->modifier, pa->bitvector);
grub.c:      po->name, po->level, po->wear_flags, po->wear_loc);
grub.c:       po->value[0], po->value[1], po->value[2], po->value[3],
grub.c:       po->value[4], po->value[5], po->item_type);
grub.c:       for (pa=po->first_affect; pa; pa=pa->next)
grub.c:           pa->type, pa->duration, pa->location, pa->modifier, pa->bitvector);
grub.c:         for (pm = mob_index_hash[cou]; pm; pm = pm->next)
grub.c:            if ( pm->vnum >= vnum1 && pm->vnum <= vnum2
grub.c:            &&   pm->race==race && pm->class==class && dis_cou++ < dis_num )
grub.c:                pager_printf( ch, "%5d %s\n\r", pm->vnum, pm->player_name );
grub.c: * doesn't list 1,000 lines for each shroud - just one line for the shroud.
grub.c:send_to_char( "showlayers n  -  display maximum of n lines.\n\r", ch);
grub.c:     for (pObj=obj_index_hash[hash]; pObj; pObj=pObj->next)
grub.c:         if (pObj->layers > 0)
grub.c:              cou, pObj->vnum, pObj->wear_flags, pObj->layers,
grub.c:              pObj->short_descr);
handler.c: * -----------------------------------------------------------|   (0...0)   *
handler.c: * -----------------------------------------------------------|    {o o}    *
handler.c: * ------------------------------------------------------------------------ *
handler.c: * ------------------------------------------------------------------------ *
handler.c:    return ch->exp;
handler.c:    exp = ch->level * ch->level * ch->level * 5;
handler.c:    exp += ch->max_hit;
handler.c:    exp -= (ch->armor-50) * 2;
handler.c:    exp += ( ch->barenumdie * ch->baresizedie + get_damroll( ch, FALSE ) ) * 50;
handler.c:    exp += get_hitroll( ch, FALSE ) * ch->level * 10;
handler.c:    return class_table[ch->class]->exp_base;
handler.c:/*								-Thoric
handler.c:   lvl = UMAX(0, level - 1);
handler.c:    if ( ch->desc && ch->desc->original )
handler.c:        ch = ch->desc->original;
handler.c:    if ( ch->trust != 0 )
handler.c:        return ch->trust;
handler.c:    if ( IS_NPC(ch) && ch->level >= LEVEL_AVATAR )
handler.c:    if ( ch->level >= LEVEL_NEOPHYTE && IS_RETIRED( ch ) )
handler.c:    if( ch->level2 != -1 && ch->level2 > ch->level )
handler.c:        return ch->level2;
handler.c:    return ch->level;
handler.c:    return ((race_table[ch->race]->base_age) + 17 + ( ch->played + (current_time - ch->logon) ) / 7200);
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_STR )
handler.c:    return URANGE( 3, ch->perm_str + ch->mod_str, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_INT )
handler.c:    return URANGE( 3, ch->perm_int + ch->mod_int, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_WIS )
handler.c:    return URANGE( 3, ch->perm_wis + ch->mod_wis, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_DEX )
handler.c:    return URANGE( 3, ch->perm_dex + ch->mod_dex, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_CON )
handler.c:    return URANGE( 3, ch->perm_con + ch->mod_con, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_CHA )
handler.c:    return URANGE( 3, ch->perm_cha + ch->mod_cha, max );
handler.c:    if ( IS_NPC(ch) || class_table[ch->class]->attr_prime == APPLY_LCK )
handler.c:    return URANGE( 3, ch->perm_lck + ch->mod_lck, max );
handler.c: * Vastly reduced (finally) due to containers		-Thoric
handler.c:    if ( !IS_NPC(ch) && ch->level >= LEVEL_IMMORTAL )
handler.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_PET) )
handler.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_IMMORTAL) )
handler.c:	return ch->level*200;
handler.c:    return URANGE(5, (ch->level+15)/5 + get_curr_dex(ch)-13 - penalty, 20);
handler.c:    if ( !IS_NPC(ch) && ch->level >= LEVEL_IMMORTAL )
handler.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_PET) )
handler.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_IMMORTAL) )
handler.c: * See if a player/mob can take a piece of prototype eq		-Thoric
handler.c:    if ( IS_NPC(ch) && xIS_SET(ch->act, ACT_PROTOTYPE) )
handler.c: * See if a string is one of the names of an object.		-Thoric
handler.c:/*								-Thoric
handler.c:	switch(paf->location)
handler.c:		pRoomIndex->light += paf->modifier;
handler.c:	switch(paf->location)
handler.c:		pRoomIndex->light -= paf->modifier;
handler.c: * Modify a skill (hopefully) properly			-Thoric
handler.c:	    ch->pcdata->learned[sn] += mod;
handler.c:	    ch->pcdata->learned[sn] = URANGE(0, ch->pcdata->learned[sn] + mod,
handler.c:     if(!paf) /* not sure why this is being passed null, but its a prob-shogar*/
handler.c:	bug("affect modify on %s",ch->name);
handler.c:    mod = paf->modifier;
handler.c:	xSET_BITS( ch->affected_by, paf->bitvector );
handler.c:	if ( paf->location % REVERSE_APPLY == APPLY_RECURRINGSPELL )
handler.c:	    &&   skill->type == SKILL_SPELL )
handler.c:		xSET_BIT(ch->affected_by, AFF_RECURRINGSPELL);
handler.c:		    ch->name, mod );
handler.c:	xREMOVE_BITS( ch->affected_by, paf->bitvector );
handler.c:	 * the removed spell's information somewhere...		-Thoric
handler.c:	if ( (paf->location % REVERSE_APPLY) == APPLY_REMOVESPELL )
handler.c:	if ( paf->location % REVERSE_APPLY == APPLY_RECURRINGSPELL )
handler.c:	    ||   skill->type != SKILL_SPELL )
handler.c:		    ch->name, mod );
handler.c:	    xREMOVE_BIT(ch->affected_by, AFF_RECURRINGSPELL);
handler.c:	switch( paf->location % REVERSE_APPLY )
handler.c:	  case APPLY_AFFECT:        REMOVE_BIT( ch->affected_by.bits[0], mod );	return;
handler.c:	  case APPLY_EXT_AFFECT:   xREMOVE_BIT( ch->affected_by, mod );	return;
handler.c:	  case APPLY_RESISTANT:     REMOVE_BIT( ch->resistant, mod );	return;
handler.c:	  case APPLY_IMMUNE:        REMOVE_BIT( ch->immune, mod );	return;
handler.c:	  case APPLY_SUSCEPTIBLE:   REMOVE_BIT( ch->susceptible, mod );	return;
handler.c:	  case APPLY_REMOVE:	    SET_BIT( ch->affected_by.bits[0], mod );	return;
handler.c:	mod = 0 - mod;
handler.c:    switch ( paf->location % REVERSE_APPLY )
handler.c:	bug( "Affect_modify: unknown location %d.", paf->location );
handler.c:    case APPLY_STR:           ch->mod_str		+= mod;	break;
handler.c:    case APPLY_DEX:           ch->mod_dex		+= mod;	break;
handler.c:    case APPLY_INT:           ch->mod_int		+= mod;	break;
handler.c:    case APPLY_WIS:           ch->mod_wis		+= mod;	break;
handler.c:    case APPLY_CON:	      ch->mod_con		+= mod;	break;
handler.c:    case APPLY_CHA:	      ch->mod_cha		+= mod; break;
handler.c:    case APPLY_LCK:	      ch->mod_lck		+= mod; break;
handler.c:	ch->sex = (ch->sex+mod) % 3;
handler.c:	if ( ch->sex < 0 )
handler.c:	    ch->sex += 2;
handler.c:	ch->sex = URANGE( 0, ch->sex, 2 );
handler.c:    case APPLY_HEIGHT:	      ch->height		+= mod;	break;
handler.c:    case APPLY_WEIGHT:	      ch->weight		+= mod;	break;
handler.c:    case APPLY_MANA:          ch->max_mana		+= mod;	break;
handler.c:    case APPLY_HIT:           ch->max_hit		+= mod;	break;
handler.c:    case APPLY_MOVE:          ch->max_move		+= mod;	break;
handler.c:    case APPLY_AC:            ch->armor			+= mod;	break;
handler.c:    case APPLY_HITROLL:       ch->hitroll		+= mod;	break;
handler.c:    case APPLY_DAMROLL:       ch->damroll		+= mod;	break;
handler.c:    case APPLY_SAVING_POISON: ch->saving_poison_death	+= mod;	break;
handler.c:    case APPLY_SAVING_ROD:    ch->saving_wand		+= mod;	break;
handler.c:    case APPLY_SAVING_PARA:   ch->saving_para_petri	+= mod;	break;
handler.c:    case APPLY_SAVING_BREATH: ch->saving_breath		+= mod;	break;
handler.c:    case APPLY_SAVING_SPELL:  ch->saving_spell_staff	+= mod;	break;
handler.c:    case APPLY_AFFECT:        SET_BIT( ch->affected_by.bits[0], mod );	break;
handler.c:    case APPLY_EXT_AFFECT:   xSET_BIT( ch->affected_by, mod );  break;
handler.c:    case APPLY_RESISTANT:     SET_BIT( ch->resistant, mod );	break;
handler.c:    case APPLY_IMMUNE:        SET_BIT( ch->immune, mod );	break;
handler.c:    case APPLY_SUSCEPTIBLE:   SET_BIT( ch->susceptible, mod );	break;
handler.c:    case APPLY_REMOVE:	      REMOVE_BIT(ch->affected_by.bits[0], mod);	break;
handler.c:	    ch->pcdata->condition[COND_FULL] =
handler.c:		URANGE( 0, ch->pcdata->condition[COND_FULL] + mod, 48 );
handler.c:	    ch->pcdata->condition[COND_THIRST] =
handler.c:		URANGE( 0, ch->pcdata->condition[COND_THIRST] + mod, 48 );
handler.c:	    ch->pcdata->condition[COND_DRUNK] =
handler.c:		URANGE( 0, ch->pcdata->condition[COND_DRUNK] + mod, 48 );
handler.c:	    ch->pcdata->condition[COND_BLOODTHIRST] =
handler.c:		URANGE( 0, ch->pcdata->condition[COND_BLOODTHIRST] + mod, ch->level+10 );
handler.c:	ch->mental_state	= URANGE(-100, ch->mental_state + mod, 100);
handler.c:	ch->emotional_state	= URANGE(-100, ch->emotional_state + mod, 100);
handler.c:/* spell cast upon wear/removal of an object	-Thoric */
handler.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_NO_MAGIC)
handler.c:	||   IS_SET(ch->immune, RIS_MAGIC)
handler.c:	&&   skill->type == SKILL_SPELL )
handler.c:	   if (skill->target == TAR_IGNORE || skill->target == TAR_OBJ_INV)
handler.c:	   if ( (retcode=(*skill->spell_fun) ( mod, ch->level, ch, ch )) == rCHAR_DIED
handler.c:	    depth--;
handler.c:	bug( "Affect_to_char(NULL, %d)", paf ? paf->type : 0 );
handler.c:	bug( "Affect_to_char(%s, NULL)", ch->name );
handler.c:    LINK( paf_new, ch->first_affect, ch->last_affect, next, prev );
handler.c:    paf_new->type	= paf->type;
handler.c:    paf_new->duration	= paf->duration;
handler.c:    paf_new->location	= paf->location;
handler.c:    paf_new->modifier	= paf->modifier;
handler.c:    paf_new->bitvector	= paf->bitvector;
handler.c:    if ( !ch->first_affect )
handler.c:	bug( "Affect_remove(%s, %d): no affect.", ch->name,
handler.c:		paf ? paf->type : 0 );
handler.c:    UNLINK( paf, ch->first_affect, ch->last_affect, next, prev );
handler.c:    for ( paf = ch->first_affect; paf; paf = paf_next )
handler.c:	paf_next = paf->next;
handler.c:	if ( paf->type == sn )
handler.c:    for ( paf = ch->first_affect; paf; paf = paf->next )
handler.c:	if ( paf->type == sn )
handler.c:    for ( paf_old = ch->first_affect; paf_old; paf_old = paf_old->next )
handler.c:	if ( paf_old->type == paf->type )
handler.c:	    paf->duration = UMIN( 1000000, paf->duration + paf_old->duration );
handler.c:	    if ( paf->modifier )
handler.c:		paf->modifier = UMIN( 5000, paf->modifier + paf_old->modifier );
handler.c:	        paf->modifier = paf_old->modifier;
handler.c:    xSET_BITS(ch->affected_by, paf->bitvector);
handler.c:    switch(paf->location % REVERSE_APPLY)
handler.c:	    SET_BIT(ch->affected_by.bits[0], paf->modifier);
handler.c:	    SET_BIT(ch->resistant, paf->modifier);
handler.c:	    SET_BIT(ch->immune, paf->modifier);
handler.c:	    SET_BIT(ch->susceptible, paf->modifier);
handler.c: * of the problem can be hunted down. - FB
handler.c: * just a band-aid until we get more time to look at it -- Blodkai */
handler.c:	xCLEAR_BITS(ch->affected_by);
handler.c:	ch->resistant = 0;
handler.c:	ch->immune = 0;
handler.c:	ch->susceptible = 0;
handler.c:	xCLEAR_BITS(ch->no_affected_by);
handler.c:	ch->no_resistant = 0;
handler.c:	ch->no_immune = 0;
handler.c:	ch->no_susceptible = 0;
handler.c:	xSET_BITS(ch->affected_by, race_table[ch->race]->affected);
handler.c:	SET_BIT(ch->resistant, race_table[ch->race]->resist);
handler.c:	SET_BIT(ch->susceptible, race_table[ch->race]->suscept);
handler.c:	if (ch->pcdata->deity)
handler.c:	    if (ch->pcdata->favor > ch->pcdata->deity->affectednum)
handler.c:		xSET_BITS(ch->affected_by, ch->pcdata->deity->affected);
handler.c:	    if (ch->pcdata->favor > ch->pcdata->deity->elementnum)
handler.c:		SET_BIT(ch->resistant, ch->pcdata->deity->element);
handler.c:	    if (ch->pcdata->favor < ch->pcdata->deity->susceptnum)
handler.c:		SET_BIT(ch->susceptible, ch->pcdata->deity->suscept);
handler.c:	for (paf = ch->first_affect; paf; paf = paf->next)
handler.c:	for (obj = ch->first_carrying; obj; obj = obj->next_content)
handler.c:	    if (obj->wear_loc != WEAR_NONE)
handler.c:		for (paf = obj->first_affect; paf; paf= paf->next)
handler.c:		for (paf=obj->pIndexData->first_affect; paf; paf = paf->next)
handler.c:	if (ch->in_room)  /* non-existant char booboo-fix --TRI */
handler.c:	    for (paf = ch->in_room->first_affect; paf; paf = paf->next)
handler.c:	if ( ch->morph )
handler.c:	   xSET_BITS(ch->affected_by, ch->morph->affected_by );
handler.c:	   SET_BIT(ch->immune, ch->morph->immune );
handler.c:	   SET_BIT(ch->resistant, ch->morph->resistant );
handler.c:	   SET_BIT(ch->susceptible, ch->morph->suscept );
handler.c:	   /* Right now only morphs have no_ things --Shaddai */
handler.c:	   xSET_BITS(ch->no_affected_by, ch->morph->no_affected_by );
handler.c:	   SET_BIT(ch->no_immune, ch->morph->no_immune );
handler.c:	   SET_BIT(ch->no_resistant, ch->morph->no_resistant );
handler.c:	   SET_BIT(ch->no_susceptible, ch->morph->no_suscept );
handler.c:	    xSET_BIT(ch->affected_by, AFF_HIDE);
handler.c:    if ( !ch->in_room )
handler.c:	--ch->in_room->area->nplayer;
handler.c:    &&   obj->item_type == ITEM_LIGHT
handler.c:    &&   obj->value[2] != 0
handler.c:    &&   ch->in_room->light > 0 )
handler.c:	--ch->in_room->light;
handler.c:    ch->in_room->area->ttl = 18;
handler.c:    for ( paf = ch->first_affect; paf; paf = paf->next )
handler.c:	room_affect(ch->in_room, paf, FALSE);
handler.c:	for ( paf = ch->in_room->first_affect; paf; paf = paf->next )
handler.c:    UNLINK( ch, ch->in_room->first_person, ch->in_room->last_person,
handler.c://    CHECK_LINKS( ch->in_room->first_person, ch->in_room->last_person,
handler.c:    ch->was_in_room  = ch->in_room;
handler.c:    ch->in_room      = NULL;
handler.c:    ch->next_in_room = NULL;
handler.c:    ch->prev_in_room = NULL;
handler.c:	bug( "Char_to_room: %s -> NULL room!  Putting char in limbo (%d)",
handler.c:		ch->name, ROOM_VNUM_LIMBO );
handler.c:         * and I saw no reason not to just put the char in limbo.  -Narn
handler.c:    ch->in_room		= pRoomIndex;
handler.c:    LINK( ch, pRoomIndex->first_person, pRoomIndex->last_person,
handler.c://    CHECK_LINKS( pRoomIndex->first_person, pRoomIndex->last_person,
handler.c:	if ( ++pRoomIndex->area->nplayer > pRoomIndex->area->max_players )
handler.c:	    pRoomIndex->area->max_players = pRoomIndex->area->nplayer;
handler.c:    &&   obj->item_type == ITEM_LIGHT
handler.c:    &&   obj->value[2] != 0 )
handler.c:	++pRoomIndex->light;
handler.c:    area = pRoomIndex->area;
handler.c:    area->ttl = -1;
handler.c:    reset_age = area->reset_frequency ? area->reset_frequency : 15;
handler.c:    if ( area->age >= reset_age && !IS_SET( area->flags, AFLAG_PLR_LOADED )
handler.c:        int numplayers = area->nplayer;
handler.c:        area->nplayer = 0;
handler.c:        area->nplayer = numplayers;
handler.c:        SET_BIT( area->flags, AFLAG_PLR_LOADED );
handler.c:	for ( paf = pRoomIndex->first_affect; paf; paf = paf->next )
handler.c:    for ( paf = ch->first_affect; paf; paf = paf->next )
handler.c:    &&    IS_SET(pRoomIndex->room_flags, ROOM_SAFE)
handler.c:	add_timer(ch, TIMER_SHOVEDRAG, 10, NULL, 0);  /*-30 Seconds-*/
handler.c:     * Delayed Teleport rooms					-Thoric
handler.c:    if ( IS_SET(pRoomIndex->room_flags, ROOM_TELEPORT)
handler.c:    &&	 pRoomIndex->tele_delay > 0 )
handler.c:	for ( tele = first_teleport; tele; tele = tele->next )
handler.c:	    if ( tele->room == pRoomIndex )
handler.c:	tele->room		= pRoomIndex;
handler.c:	tele->timer		= pRoomIndex->tele_delay;
handler.c:    if ( !ch->was_in_room )
handler.c:    	ch->was_in_room = ch->in_room;
handler.c:    int wear_loc = obj->wear_loc;
handler.c:    EXT_BV extra_flags = obj->extra_flags;
handler.c:	&& (IS_NPC(ch) && !xIS_SET(ch->act, ACT_PROTOTYPE)) )
handler.c:	  return obj_to_room( obj, ch->in_room );
handler.c:	for ( otmp = ch->first_carrying; otmp; otmp = otmp->next_content )
handler.c:	if (!IS_NPC(ch) || !ch->pIndexData->pShop)
handler.c:	    LINK( obj, ch->first_carrying, ch->last_carrying,
handler.c:	    obj->carried_by                 = ch;
handler.c:	    obj->in_room                    = NULL;
handler.c:	    obj->in_obj                     = NULL;
handler.c:	    for ( otmp = ch->first_carrying; otmp; otmp = otmp->next_content)
handler.c:		if ( obj->level > otmp->level )
handler.c:		    INSERT(obj, otmp, ch->first_carrying,
handler.c:		if ( obj->level == otmp->level
handler.c:		&&   strcmp(obj->short_descr,otmp->short_descr) < 0 )
handler.c:		    INSERT(obj, otmp, ch->first_carrying,
handler.c:		LINK(obj, ch->first_carrying, ch->last_carrying,
handler.c:	    obj->carried_by = ch;
handler.c:	    obj->in_room = NULL;
handler.c:	    obj->in_obj = NULL;
handler.c:	ch->carry_number	+= onum;
handler.c:	ch->carry_weight	+= oweight;
handler.c:	ch->carry_weight	+= oweight;
handler.c:    if ( ( ch = obj->carried_by ) == NULL )
handler.c:    if ( obj->wear_loc != WEAR_NONE )
handler.c:    if ( !obj->carried_by )
handler.c:    UNLINK( obj, ch->first_carrying, ch->last_carrying, next_content, prev_content );
handler.c:    if ( IS_OBJ_STAT(obj, ITEM_COVERING) && obj->first_content )
handler.c:    obj->in_room	 = NULL;
handler.c:    obj->carried_by	 = NULL;
handler.c:    ch->carry_number	-= get_obj_number(obj);
handler.c:    ch->carry_weight	-= get_obj_weight(obj);
handler.c:    if ( obj->item_type != ITEM_ARMOR )
handler.c:    case WEAR_BODY:	return 3 * obj->value[0];
handler.c:    case WEAR_HEAD:	return 2 * obj->value[0];
handler.c:    case WEAR_LEGS:	return 2 * obj->value[0];
handler.c:    case WEAR_FEET:	return     obj->value[0];
handler.c:    case WEAR_HANDS:	return     obj->value[0];
handler.c:    case WEAR_ARMS:	return     obj->value[0];
handler.c:    case WEAR_SHIELD:	return     obj->value[0];
handler.c:    case WEAR_FINGER_L:	return     obj->value[0];
handler.c:    case WEAR_FINGER_R: return     obj->value[0];
handler.c:    case WEAR_NECK_1:	return     obj->value[0];
handler.c:    case WEAR_NECK_2:	return     obj->value[0];
handler.c:    case WEAR_ABOUT:	return 2 * obj->value[0];
handler.c:    case WEAR_WAIST:	return     obj->value[0];
handler.c:    case WEAR_WRIST_L:	return     obj->value[0];
handler.c:    case WEAR_WRIST_R:	return     obj->value[0];
handler.c:    case WEAR_HOLD:	return     obj->value[0];
handler.c:    case WEAR_EYES:	return	   obj->value[0];
handler.c:    case WEAR_FACE:	return	   obj->value[0];
handler.c:    case WEAR_BACK:	return	   obj->value[0];
handler.c:    case WEAR_ANKLE_L:	return	   obj->value[0];
handler.c:    case WEAR_ANKLE_R:	return	   obj->value[0];
handler.c: * Will pick the top layer if clothing is layered.		-Thoric
handler.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
handler.c:	if ( obj->wear_loc == iWear )
handler.c:	    {if ( !obj->pIndexData->layers )
handler.c:	    ||    obj->pIndexData->layers > maxobj->pIndexData->layers )
handler.c:    &&   (!otmp->pIndexData->layers || !obj->pIndexData->layers) )
handler.c:	bug( "Equip_char: already equipped %s->%s Room %d.", obj->short_descr, ch->name, ch->in_room->vnum );
handler.c:	do_wear(ch, obj->name);
handler.c:	if ( obj->carried_by )
handler.c:	obj_to_room( obj, ch->in_room );
handler.c:    ch->armor      	-= apply_ac( obj, iWear );
handler.c:    obj->wear_loc	 = iWear;
handler.c:    ch->carry_number	-= get_obj_number( obj );
handler.c:      ch->carry_weight  -= get_obj_weight( obj );
handler.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
handler.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
handler.c:    if ( obj->item_type == ITEM_LIGHT
handler.c:    &&   obj->value[2] != 0
handler.c:    &&   ch->in_room )
handler.c:	++ch->in_room->light;
handler.c:    if ( obj->wear_loc == WEAR_NONE )
handler.c:    ch->carry_number	+= get_obj_number( obj );
handler.c:	ch->carry_weight  += get_obj_weight( obj );
handler.c:    ch->armor		+= apply_ac( obj, obj->wear_loc );
handler.c:    obj->wear_loc	 = -1;
handler.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
handler.c:    if ( obj->carried_by )
handler.c:      for ( paf = obj->first_affect; paf; paf = paf->next )
handler.c:    if ( !obj->carried_by )
handler.c:    if ( obj->item_type == ITEM_LIGHT
handler.c:    &&   obj->value[2] != 0
handler.c:    &&   ch->in_room
handler.c:    &&   ch->in_room->light > 0 )
handler.c:	--ch->in_room->light;
handler.c:    for ( obj = list; obj; obj = obj->next_content )
handler.c:	if ( obj->pIndexData == pObjIndex )
handler.c:    if ( (in_room = obj->in_room) == NULL )
handler.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
handler.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
handler.c:    UNLINK( obj, in_room->first_content, in_room->last_content,
handler.c:    if ( IS_OBJ_STAT( obj, ITEM_COVERING ) && obj->first_content )
handler.c:	empty_obj( obj, NULL, obj->in_room );
handler.c:    if ( obj->item_type == ITEM_FIRE )
handler.c:	  obj->in_room->light -= obj->count;
handler.c:    obj->carried_by   = NULL;
handler.c:    obj->in_obj	      = NULL;
handler.c:    obj->in_room      = NULL;
handler.c:    if ( obj->pIndexData->vnum == OBJ_VNUM_CORPSE_PC && falling < 1 )
handler.c:	write_corpses( NULL, obj->short_descr+14, obj );
handler.c:    sh_int count = obj->count;
handler.c:    sh_int item_type = obj->item_type;
handler.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
handler.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
handler.c:    for ( otmp = pRoomIndex->first_content; otmp; otmp = otmp->next_content )
handler.c:		pRoomIndex->light += count;
handler.c:    LINK( obj, pRoomIndex->first_content, pRoomIndex->last_content,
handler.c:    obj->in_room				= pRoomIndex;
handler.c:    obj->carried_by				= NULL;
handler.c:    obj->in_obj					= NULL;
handler.c:	pRoomIndex->light += count;
handler.c:    falling--;
handler.c:    if ( obj->pIndexData->vnum == OBJ_VNUM_CORPSE_PC && falling < 1 )
handler.c:	write_corpses( NULL, obj->short_descr+14, NULL );
handler.c: * Who's carrying an item -- recursive for nested objects	-Thoric
handler.c:    if ( obj->in_obj )
handler.c:	return carried_by(obj->in_obj);
handler.c:    return obj->carried_by;
handler.c:	bug( "Obj_to_obj: trying to put object inside itself: vnum %d", obj->pIndexData->vnum );
handler.c:	who->carry_weight += get_obj_weight(obj);
handler.c:    for ( otmp = obj_to->first_content; otmp; otmp = otmp->next_content )
handler.c:    LINK( obj, obj_to->first_content, obj_to->last_content,
handler.c:    obj->in_obj				 = obj_to;
handler.c:    obj->in_room			 = NULL;
handler.c:    obj->carried_by			 = NULL;
handler.c:    if ( (obj_from = obj->in_obj) == NULL )
handler.c:    UNLINK( obj, obj_from->first_content, obj_from->last_content,
handler.c:    if ( IS_OBJ_STAT(obj, ITEM_COVERING) && obj->first_content )
handler.c:	empty_obj(obj, obj->in_obj, NULL);
handler.c:    obj->in_obj       = NULL;
handler.c:    obj->in_room      = NULL;
handler.c:    obj->carried_by   = NULL;
handler.c:	for ( ; obj_from; obj_from = obj_from->in_obj )
handler.c:	    if ( obj_from->carried_by )
handler.c:		obj_from->carried_by->carry_weight -= get_obj_weight( obj );
handler.c:	bug( "extract_obj: obj %d already extracted!", obj->pIndexData->vnum );
handler.c:    if ( obj->item_type == ITEM_PORTAL )
handler.c:    if ( obj->carried_by )
handler.c:    if ( obj->in_room )
handler.c:    if ( obj->in_obj )
handler.c:    while ( ( obj_content = obj->last_content ) != NULL )
handler.c:	for ( paf = obj->first_affect; paf; paf = paf_next )
handler.c:	    paf_next    = paf->next;
handler.c:	obj->first_affect = obj->last_affect = NULL;
handler.c:	for ( ed = obj->first_extradesc; ed; ed = ed_next )
handler.c:	    ed_next = ed->next;
handler.c:	    STRFREE( ed->description );
handler.c:	    STRFREE( ed->keyword     );
handler.c:	obj->first_extradesc = obj->last_extradesc = NULL;
handler.c:	gobj_prev = obj->prev;
handler.c:    obj->pIndexData->count -= obj->count;
handler.c:    numobjsloaded -= obj->count;
handler.c:    --physicalobjects;
handler.c:    if ( obj->serial == cur_obj )
handler.c:    if ( !ch->in_room )
handler.c:	bug( "Extract_char: %s in NULL room.", ch->name ? ch->name : "???" );
handler.c:	bug( "extract_char: %s already died!", ch->name );
handler.c:	gch_prev = ch->prev;
handler.c:    if ( fPull && !xIS_SET(ch->act, ACT_POLYMORPHED))
handler.c:    if ( ch->mount )
handler.c:	xREMOVE_BIT( ch->mount->act, ACT_MOUNTED );
handler.c:	ch->mount = NULL;
handler.c:	ch->position = POS_STANDING;
handler.c:	for ( wch = first_char; wch; wch = wch->next )
handler.c:	    if ( wch->mount == ch )
handler.c:		wch->mount = NULL;
handler.c:		wch->position = POS_STANDING;
handler.c:		if ( wch->in_room == ch->in_room )
handler.c:	    if ( wch->pcdata && wch->pcdata->pet == ch )
handler.c:		wch->pcdata->pet = NULL;
handler.c:		if ( wch->in_room == ch->in_room )
handler.c:    xREMOVE_BIT( ch->act, ACT_MOUNTED );
handler.c:    while ( (obj = ch->last_carrying) != NULL )
handler.c:	if ( !IS_NPC(ch) && ch->pcdata->clan )
handler.c:	    location = get_room_index( ch->pcdata->clan->recall );
handler.c:	 * Make things a little fancier				-Thoric
handler.c:		    capitalize( ch->name ) );
handler.c:        ch->position = POS_RESTING;
handler.c:	--ch->pIndexData->count;
handler.c:	--nummobsloaded;
handler.c:    if ( ch->morph )
handler.c:    if ( ch->desc && ch->desc->original )
handler.c:    for ( wch = first_char; wch; wch = wch->next )
handler.c:    	if ( wch->reply == ch )
handler.c:	    wch->reply = NULL;
handler.c:	if( wch->retell == ch )
handler.c:	    wch->retell = NULL;
handler.c:    if ( ch->desc )
handler.c:	if ( ch->desc->character != ch )
handler.c:	    ch->desc->character = NULL;
handler.c:	    close_socket( ch->desc, FALSE );
handler.c:	    ch->desc = NULL;
handler.c:	switch (victim->position)
handler.c:    if (obj->in_room == NULL)
handler.c:    for (fch = obj->in_room->first_person; fch != NULL; fch = fch->next_in_room)
handler.c:        if (fch->on == obj)
handler.c:	vnum = -1;
handler.c:    for ( rch = ch->in_room->first_person; rch; rch = rch->next_in_room )
handler.c:	&&  (nifty_is_name( arg, rch->name )
handler.c:	||  (IS_NPC(rch) && vnum == rch->pIndexData->vnum)) )
handler.c:    if ( vnum != -1 )
handler.c:    for ( rch = ch->in_room->first_person; rch; rch = rch->next_in_room )
handler.c:	if ( !can_see( ch, rch ) || !nifty_is_name_prefix( arg, rch->name ) )
handler.c:     * Allow reference by vnum for saints+			-Thoric
handler.c:	vnum = -1;
handler.c:    for ( wch = ch->in_room->first_person; wch; wch = wch->next_in_room )
handler.c:	||  (IS_NPC(wch) && vnum == wch->pIndexData->vnum)) )
handler.c:    /* Check the descriptor list first for a player -- Scion */
handler.c:    for ( d=first_descriptor; d; d=d->next )
handler.c:        if( d->connected != CON_PLAYING )
handler.c:        wch = d->character;
handler.c:        if( can_see( ch, wch ) && (nifty_is_name( arg, wch->name )))
handler.c:    for ( wch = first_char; wch; wch = wch->next )
handler.c:	if ( can_see( ch, wch )	&&  (nifty_is_name( arg, wch->name )
handler.c:	||  (IS_NPC(wch) && vnum == wch->pIndexData->vnum)) )
handler.c:    if ( vnum != -1 )
handler.c:    for ( wch = ch->in_room->first_person; wch; wch = wch->next_in_room )
handler.c:	if ( !can_see( ch, wch ) || !nifty_is_name_prefix( arg, wch->name ) )
handler.c:    for ( wch = first_char; wch; wch = wch->next )
handler.c:	if ( !can_see( ch, wch ) || !nifty_is_name_prefix( arg, wch->name ) )
handler.c: * Used by area-reset 'P', 'T' and 'H' commands.
handler.c:    for ( obj = last_object; obj; obj = obj->prev )
handler.c:	if ( obj->pIndexData == pObjIndex )
handler.c:    for ( obj = list; obj; obj = obj->next_content )
handler.c:	if ( can_see_obj( ch, obj ) && nifty_is_name( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c:    for ( obj = list; obj; obj = obj->next_content )
handler.c:	if ( can_see_obj( ch, obj ) && nifty_is_name_prefix( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c: * Find an obj in a list...going the other way			-Thoric
handler.c:    for ( obj = list; obj; obj = obj->prev_content )
handler.c:	if ( can_see_obj( ch, obj ) && nifty_is_name( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c:    for ( obj = list; obj; obj = obj->prev_content )
handler.c:	if ( can_see_obj( ch, obj ) && nifty_is_name_prefix( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c: * Find an obj in player's inventory or wearing via a vnum -Shaddai
handler.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
handler.c:        if (  can_see_obj( ch, obj ) && obj->pIndexData->vnum == vnum )
handler.c:	vnum = -1;
handler.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
handler.c:	if ( obj->wear_loc == WEAR_NONE
handler.c:	&&  (nifty_is_name( arg, obj->name ) || obj->pIndexData->vnum == vnum) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c:    if ( vnum != -1 )
handler.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
handler.c:	if ( obj->wear_loc == WEAR_NONE
handler.c:	&&   nifty_is_name_prefix( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c:	vnum = -1;
handler.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
handler.c:	if ( obj->wear_loc != WEAR_NONE
handler.c:	&&  (nifty_is_name( arg, obj->name ) || obj->pIndexData->vnum == vnum) )
handler.c:    if ( vnum != -1 )
handler.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
handler.c:	if ( obj->wear_loc != WEAR_NONE
handler.c:	&&   nifty_is_name_prefix( arg, obj->name ) )
handler.c:    obj = get_obj_list_rev( ch, argument, ch->in_room->last_content );
handler.c:     * Allow reference by vnum for saints+			-Thoric
handler.c:	vnum = -1;
handler.c:    for ( obj = first_object; obj; obj = obj->next )
handler.c:	if ( can_see_obj( ch, obj ) && (nifty_is_name( arg, obj->name )
handler.c:	||   vnum == obj->pIndexData->vnum) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c:    if ( vnum != -1 )
handler.c:    for ( obj = first_object; obj; obj = obj->next )
handler.c:	if ( can_see_obj( ch, obj ) && nifty_is_name_prefix( arg, obj->name ) )
handler.c:	    if ( (count += obj->count) >= number )
handler.c: * How mental state could affect finding an object		-Thoric
handler.c:    int ms = ch->mental_state;
handler.c:    int drunk = IS_NPC(ch) ? 0 : ch->pcdata->condition[COND_DRUNK];
handler.c:    if ( ms > 15 )	/* range 1 to 20 -- feel free to add more */
handler.c:	switch( number_range( UMAX(1, (ms/5-15)), (ms+4) / 5 ) )
handler.c:	    case 18: t="What about the millions of burrow-maggots feasting on your arm?!?!\n\r";		break;
handler.c: * Generic get obj function that supports optional containers.	-Thoric
handler.c:	&&    IS_SET(container->value[1], CONT_CLOSED) )
handler.c:	    act( AT_PLAIN, "The $d is closed.", ch, NULL, container->name, TO_CHAR );
handler.c:	obj = get_obj_list( ch, arg1, container->first_content );
handler.c:    return obj->count;
handler.c:    if ( obj->item_type == ITEM_CONTAINER && IS_OBJ_STAT(obj, ITEM_MAGIC) )
handler.c:    if ( obj->in_obj )
handler.c:	return in_magic_container(obj->in_obj);
handler.c:    weight = obj->count * obj->weight;
handler.c:    if ( obj->item_type != ITEM_CONTAINER || !IS_OBJ_STAT(obj, ITEM_MAGIC) )
handler.c:	for ( obj = obj->first_content; obj; obj = obj->next_content )
handler.c:    weight = obj->count * obj->weight;
handler.c:    for ( obj = obj->first_content; obj; obj = obj->next_content )
handler.c:    if ( pRoomIndex->light > 0 )
handler.c:    if ( IS_SET(pRoomIndex->room_flags, ROOM_DARK) )
handler.c:    if ( pRoomIndex->sector_type == SECT_INSIDE
handler.c:    ||   pRoomIndex->sector_type == SECT_CITY )
handler.c:    for ( rch = pRoomIndex->first_person; rch; rch = rch->next_in_room )
handler.c:    if ( IS_SET(pRoomIndex->room_flags, ROOM_PRIVATE)  && count >= 2 )
handler.c:    if ( IS_SET(pRoomIndex->room_flags, ROOM_SOLITARY) && count >= 1 )
handler.c:      ||   xIS_SET(victim->act, PLR_WIZINVIS) ) 
handler.c:    &&   xIS_SET(victim->act, PLR_WIZINVIS)
handler.c:    &&   get_trust( ch ) < victim->pcdata->wizinvis )
handler.c:    &&   xIS_SET(victim->act, ACT_MOBINVIS)
handler.c:    &&   get_trust( ch ) < victim->mobinvis )
handler.c:/* Deadlies link-dead over 2 ticks aren't seen by mortals -- Blodkai */
handler.c:    &&    victim->timer > 1
handler.c:    &&   !victim->desc )
handler.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
handler.c:    /* The miracle cure for blindness? -- Altrag */
handler.c:	if ( room_is_dark( ch->in_room ) && !IS_AFFECTED(ch, AFF_INFRARED) )
handler.c:	&&   !victim->fighting
handler.c:    /* Redone by Narn to let newbie council members see pre-auths. */
handler.c:      if( ch->pcdata->council && !str_cmp( ch->pcdata->council->name, "Newbie Council" ) )
handler.c:      if( ch->pcdata->council2 && !str_cmp( ch->pcdata->council2->name, "Newbie Council" ) )
handler.c:    if ( get_trust(ch) < victim->ghost_level && ch->in_room == victim->in_room)
handler.c:    if (ch->level < victim->incog_level && ch->in_room != victim->in_room)
handler.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_HOLYLIGHT) )
handler.c:    if ( IS_NPC( ch ) && ch->pIndexData->vnum == 3 )
handler.c:    if ( obj->item_type == ITEM_LIGHT && obj->value[2] != 0 )
handler.c:    if ( room_is_dark( ch->in_room ) && !IS_AFFECTED(ch, AFF_INFRARED) )
handler.c:    if ( !IS_NPC(ch) && ch->level >= LEVEL_IMMORTAL )
handler.c:    if ( IS_NPC(ch) && ch->pIndexData->vnum == 3 )
handler.c:    if ( obj->item_type < 1 || obj->item_type > MAX_ITEM_TYPE )
handler.c:	bug( "Item_type_name: unknown type %d.", obj->item_type );
handler.c:    return o_types[obj->item_type];
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_GOOD)	) strcat( buf, " anti-good"    );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_EVIL)	) strcat( buf, " anti-evil"    );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_NEUTRAL)) strcat( buf, " anti-neutral" );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_MAGE)	) strcat( buf, " anti-mage"    );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_THIEF)	) strcat( buf, " anti-thief"   );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_WARRIOR)) strcat( buf, " anti-warrior" );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_CLERIC)) strcat( buf, " anti-cleric"  );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_DRUID)	) strcat( buf, " anti-druid"   );
handler.c:    if ( xIS_SET(*extra_flags, ITEM_ANTI_VAMPIRE)) strcat( buf, " anti-vampire" );
handler.c: * Return ascii name of magic flags vector. - Scryn
handler.c:	return ex_pfire[pulltype-PT_FIRE];
handler.c:	return ex_pair[pulltype-PT_AIR];
handler.c:	return ex_pearth[pulltype-PT_EARTH];
handler.c:	return ex_pwater[pulltype-PT_WATER];
handler.c: * Set off a trap (obj) upon character (ch)			-Thoric
handler.c:      typ = obj->value[1];
handler.c:      lev = obj->value[2];
handler.c:      dam = number_range( obj->value[2], obj->value[2] * 2);
handler.c:      --obj->value[0];
handler.c:      if ( obj->value[0] <= 0 )
handler.c: * Check an object for a trap					-Thoric
handler.c:  if ( !obj->first_content )
handler.c:  for ( check = obj->first_content; check; check = check->next_content )
handler.c:    if ( check->item_type == ITEM_TRAP
handler.c:    &&   IS_SET(check->value[3], flag) )
handler.c: * Check the room for a trap					-Thoric
handler.c:    if ( !ch->in_room || !ch->in_room->first_content )
handler.c:    for ( check = ch->in_room->first_content; check; check = check->next_content )
handler.c:	if ( check->item_type == ITEM_TRAP
handler.c:	&&   IS_SET(check->value[3], flag) )
handler.c: * return TRUE if an object contains a trap			-Thoric
handler.c:    if ( !obj->first_content )
handler.c:    for ( check = obj->first_content; check; check = check->next_content )
handler.c:      if ( check->item_type == ITEM_TRAP )
handler.c: * If an object contains a trap, return the pointer to the trap	-Thoric
handler.c:    if ( !obj->first_content )
handler.c:    for ( check = obj->first_content; check; check = check->next_content )
handler.c:      if ( check->item_type == ITEM_TRAP )
handler.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
handler.c:	if ( obj->item_type == type )
handler.c: * Remove an exit from a room					-Thoric
handler.c:    UNLINK( pexit, room->first_exit, room->last_exit, next, prev );
handler.c:    if ( pexit->rexit )
handler.c:      pexit->rexit->rexit = NULL;
handler.c:    STRFREE( pexit->keyword );
handler.c:    STRFREE( pexit->description );
handler.c: * clean out a room (leave list pointers intact )		-Thoric
handler.c:   STRFREE( room->description );
handler.c:   STRFREE( room->name );
handler.c:   for ( ed = room->first_extradesc; ed; ed = ed_next )
handler.c:	ed_next = ed->next;
handler.c:	STRFREE( ed->description );
handler.c:	STRFREE( ed->keyword );
handler.c:	top_ed--;
handler.c:   room->first_extradesc	= NULL;
handler.c:   room->last_extradesc		= NULL;
handler.c:   for ( pexit = room->first_exit; pexit; pexit = pexit_next )
handler.c:	pexit_next = pexit->next;
handler.c:	STRFREE( pexit->keyword );
handler.c:	STRFREE( pexit->description );
handler.c:	top_exit--;
handler.c:   room->first_exit = NULL;
handler.c:   room->last_exit = NULL;
handler.c:   room->room_flags = 0;
handler.c:   room->sector_type = 0;
handler.c:   room->light = 0;
handler.c:   room->rdecomp = NULL;
handler.c: * clean out an object (index) (leave list pointers intact )	-Thoric
handler.c:	STRFREE( obj->name );
handler.c:	STRFREE( obj->short_descr );
handler.c:	STRFREE( obj->description );
handler.c:	STRFREE( obj->action_desc );
handler.c:	obj->item_type		= 0;
handler.c:	xCLEAR_BITS(obj->extra_flags);
handler.c:	obj->wear_flags		= 0;
handler.c:	obj->count		= 0;
handler.c:	obj->weight		= 0;
handler.c:	obj->cost		= 0;
handler.c:	obj->value[0]		= 0;
handler.c:	obj->value[1]		= 0;
handler.c:	obj->value[2]		= 0;
handler.c:	obj->value[3]		= 0;
handler.c:	for ( paf = obj->first_affect; paf; paf = paf_next )
handler.c:	    paf_next    = paf->next;
handler.c:	    top_affect--;
handler.c:	obj->first_affect	= NULL;
handler.c:	obj->last_affect	= NULL;
handler.c:	for ( ed = obj->first_extradesc; ed; ed = ed_next )
handler.c:	    ed_next		= ed->next;
handler.c:	    STRFREE( ed->description );
handler.c:	    STRFREE( ed->keyword     );
handler.c:	    top_ed--;
handler.c:	obj->first_extradesc	= NULL;
handler.c:	obj->last_extradesc	= NULL;
handler.c: * clean out a mobile (index) (leave list pointers intact )	-Thoric
handler.c:	STRFREE( mob->player_name );
handler.c:	STRFREE( mob->short_descr );
handler.c:	STRFREE( mob->long_descr  );
handler.c:	STRFREE( mob->description );
handler.c:	mob->spec_fun	= NULL;
handler.c:	mob->pShop	= NULL;
handler.c:	mob->rShop	= NULL;
handler.c:	xCLEAR_BITS(mob->progtypes);
handler.c:	for ( mprog = mob->mudprogs; mprog; mprog = mprog_next )
handler.c:	    mprog_next = mprog->next;
handler.c:	    STRFREE( mprog->arglist );
handler.c:	    STRFREE( mprog->comlist );
handler.c:	mob->count	 = 0;	   mob->killed		= 0;
handler.c:	mob->sex	 = 0;	   mob->level		= 0;
handler.c:	xCLEAR_BITS(mob->act);	   xCLEAR_BITS(mob->affected_by);
handler.c:	mob->alignment	 = 0;	   mob->mobthac0	= 0;
handler.c:	mob->ac		 = 0;	   mob->hitnodice	= 0;
handler.c:	mob->hitsizedice = 0;	   mob->hitplus		= 0;
handler.c:	mob->damnodice	 = 0;	   mob->damsizedice	= 0;
handler.c:	mob->damplus	 = 0;	   mob->gold		= 0;
handler.c:	mob->exp	 = 0;	   mob->position	= 0;
handler.c:	mob->defposition = 0;	   mob->height		= 0;
handler.c:	mob->weight	 = 0;	/* mob->vnum		= 0;	*/
handler.c:	xCLEAR_BITS(mob->attacks); xCLEAR_BITS(mob->defenses);
handler.c: * Remove all resets from an area				-Thoric
handler.c:    for ( pReset = tarea->first_reset; pReset; pReset = pReset_next )
handler.c:	pReset_next = pReset->next;
handler.c:	--top_reset;
handler.c:    tarea->first_reset	= NULL;
handler.c:    tarea->last_reset	= NULL;
handler.c: * "Roll" players stats based on the character name		-Thoric
handler.c:    for ( x = 0; x < strlen(ch->name); x++ )
handler.c:	c = ch->name[x] + x;
handler.c:	     ch->perm_str = UMIN( 18, ch->perm_str + a );
handler.c:	     ch->perm_dex = UMIN( 18, ch->perm_dex + a );
handler.c:	     ch->perm_wis = UMIN( 18, ch->perm_wis + a );
handler.c:	     ch->perm_int = UMIN( 18, ch->perm_int + a );
handler.c:	     ch->perm_con = UMIN( 18, ch->perm_con + a );
handler.c:	     ch->perm_cha = UMIN( 18, ch->perm_cha + a );
handler.c:	     ch->perm_lck = UMIN( 18, ch->perm_lck + a );
handler.c:	     ch->perm_str = UMAX(  9, ch->perm_str - a );
handler.c:	     ch->perm_dex = UMAX(  9, ch->perm_dex - a );
handler.c:	     ch->perm_wis = UMAX(  9, ch->perm_wis - a );
handler.c:	     ch->perm_int = UMAX(  9, ch->perm_int - a );
handler.c:	     ch->perm_con = UMAX(  9, ch->perm_con - a );
handler.c:	     ch->perm_cha = UMAX(  9, ch->perm_cha - a );
handler.c:	     ch->perm_lck = UMAX(  9, ch->perm_lck - a );
handler.c: * "Fix" a character's stats					-Thoric
handler.c:    while ( (obj=ch->first_carrying) != NULL )
handler.c:    for ( aff = ch->first_affect; aff; aff = aff->next )
handler.c:    xCLEAR_BITS(ch->affected_by);
handler.c:    xSET_BITS(ch->affected_by, race_table[ch->race]->affected);
handler.c:    ch->mental_state	= -10;
handler.c:    ch->hit		= UMAX( 1, ch->hit  );
handler.c:    ch->mana		= UMAX( 1, ch->mana );
handler.c:    ch->move		= UMAX( 1, ch->move );
handler.c:    ch->armor		= 100;
handler.c:    ch->mod_str		= 0;
handler.c:    ch->mod_dex		= 0;
handler.c:    ch->mod_wis		= 0;
handler.c:    ch->mod_int		= 0;
handler.c:    ch->mod_con		= 0;
handler.c:    ch->mod_cha		= 0;
handler.c:    ch->mod_lck		= 0;
handler.c:    ch->damroll		= 0;
handler.c:    ch->hitroll		= 0;
handler.c:    ch->alignment	= URANGE( -1000, ch->alignment, 1000 );
handler.c:    ch->saving_breath	= 0;
handler.c:    ch->saving_wand	= 0;
handler.c:    ch->saving_para_petri = 0;
handler.c:    ch->saving_spell_staff = 0;
handler.c:    ch->saving_poison_death = 0;
handler.c:    ch->carry_weight	= 0;
handler.c:    ch->carry_number	= 0;
handler.c:    for ( aff = ch->first_affect; aff; aff = aff->next )
handler.c: * Show an affect verbosely to a character			-Thoric
handler.c:	if ( paf->location != APPLY_NONE && paf->modifier != 0 )
handler.c:	    switch( paf->location )
handler.c:		  affect_loc_name( paf->location ), paf->modifier );
handler.c:		  affect_loc_name( paf->location ) );
handler.c:		if ( IS_SET( paf->modifier, 1 << x ) )
handler.c:			IS_VALID_SN(paf->modifier) ? skill_table[paf->modifier]->name
handler.c:		  affect_loc_name( paf->location ) );
handler.c:		if ( IS_SET( paf->modifier, 1 << x ) )
handler.c: * Set the current global object to obj				-Thoric
handler.c:    cur_obj = obj->serial;
handler.c: * Check the recently extracted object queue for obj		-Thoric
handler.c:    if ( obj->serial == cur_obj
handler.c:    for (cod = extracted_obj_queue; cod; cod = cod->next )
handler.c:    obj->next = extracted_obj_queue;
handler.c:	extracted_obj_queue = extracted_obj_queue->next;
handler.c:	STRFREE( obj->name        );
handler.c:	STRFREE( obj->description );
handler.c:        STRFREE( obj->short_descr );
handler.c:        STRFREE( obj->action_desc );
handler.c:	--cur_qobjs;
handler.c: * Set the current global character to ch			-Thoric
handler.c:    cur_room	   = ch->in_room;
handler.c: * Check to see if ch died recently				-Thoric
handler.c:    for (ccd = extracted_char_queue; ccd; ccd = ccd->next )
handler.c:	if ( ccd->ch == ch )
handler.c: * Add ch to the queue of recently extracted characters		-Thoric
handler.c:    ccd->ch			= ch;
handler.c:    ccd->room			= ch->in_room;
handler.c:    ccd->extract		= extract;
handler.c:      ccd->retcode		= global_retcode;
handler.c:      ccd->retcode		= rCHAR_DIED;
handler.c:    ccd->next			= extracted_char_queue;
handler.c:	extracted_char_queue = ccd->next;
handler.c:	if ( ccd->extract )
handler.c:	  free_char( ccd->ch );
handler.c:	--cur_qchars;
handler.c: * Add a timer to ch						-Thoric
handler.c:    for ( timer = ch->first_timer; timer; timer = timer->next )
handler.c:	if ( timer->type == type )
handler.c:	   timer->count  = count;
handler.c:	   timer->do_fun = fun;
handler.c:	   timer->value	 = value;
handler.c:	timer->count	= count;
handler.c:	timer->type	= type;
handler.c:	timer->do_fun	= fun;
handler.c:	timer->value	= value;
handler.c:	LINK( timer, ch->first_timer, ch->last_timer, next, prev );
handler.c:    for ( timer = ch->first_timer; timer; timer = timer->next )
handler.c:      if ( timer->type == type )
handler.c:      return timer->count;
handler.c:    UNLINK( timer, ch->first_timer, ch->last_timer, next, prev );
handler.c:    for ( timer = ch->first_timer; timer; timer = timer->next )
handler.c:       if ( timer->type == type )
handler.c:  if ( ch->level >= tarea->low_soft_range || ch->level <= tarea->hi_soft_range )
handler.c:  ||   !victim->in_room
handler.c:  ||   IS_SET( victim->in_room->room_flags, ROOM_PRIVATE )
handler.c:  ||   IS_SET( victim->in_room->room_flags, ROOM_SOLITARY )
handler.c:  ||   IS_SET( victim->in_room->room_flags, ROOM_NO_ASTRAL )
handler.c:  ||   IS_SET( victim->in_room->room_flags, ROOM_DEATH )
handler.c:  ||   IS_SET( victim->in_room->room_flags, ROOM_PROTOTYPE )
handler.c:  ||   IS_SET( ch->in_room->room_flags, ROOM_NO_RECALL )
handler.c:  ||   victim->level >= ch->level + 15
handler.c:  || ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
handler.c:  || ( IS_NPC( victim ) && saves_spell_staff( ch->level, victim ) )
handler.c:  || ( IS_SET( victim->in_room->area->flags, AFLAG_NOPKILL )
handler.c:  if ( ch->level >= tarea->low_hard_range && ch->level <= tarea->hi_hard_range )
handler.c:    clan_factor = 1 + abs( ch->alignment - ch->pcdata->clan->alignment ) / 1000; 
handler.c:    deity_factor = ch->pcdata->favor / -500;
handler.c:  ms = 10 - abs(ch->mental_state);
handler.c:  if ( (number_percent() - get_curr_lck(ch) + 13 - ms) + deity_factor <= 
handler.c:    deity_factor = ch->pcdata->favor / -500;
handler.c:  if (number_percent() - get_curr_lck(ch) + 13 - attrib + 13 + deity_factor <= percent )
handler.c: * Make a simple clone of an object (no extras...yet)		-Thoric
handler.c:    clone->pIndexData	= obj->pIndexData;
handler.c:    clone->name		= QUICKLINK( obj->name );
handler.c:    clone->short_descr	= QUICKLINK( obj->short_descr );
handler.c:    clone->description	= QUICKLINK( obj->description );
handler.c:    clone->action_desc	= QUICKLINK( obj->action_desc );
handler.c:    clone->item_type	= obj->item_type;
handler.c:    clone->extra_flags	= obj->extra_flags;
handler.c:    clone->magic_flags	= obj->magic_flags;
handler.c:    clone->wear_flags	= obj->wear_flags;
handler.c:    clone->wear_loc	= obj->wear_loc;
handler.c:    clone->weight	= obj->weight;
handler.c:    clone->cost		= obj->cost;
handler.c:    clone->level	= obj->level;
handler.c:    clone->timer	= obj->timer;
handler.c:    clone->value[0]	= obj->value[0];
handler.c:    clone->value[1]	= obj->value[1];
handler.c:    clone->value[2]	= obj->value[2];
handler.c:    clone->value[3]	= obj->value[3];
handler.c:    clone->value[4]	= obj->value[4];
handler.c:    clone->value[5]	= obj->value[5];
handler.c:    clone->count	= 1;
handler.c:    ++obj->pIndexData->count;
handler.c:    cur_obj_serial = UMAX((cur_obj_serial + 1 ) & (BV30-1), 1);
handler.c:    clone->serial = clone->pIndexData->serial = cur_obj_serial;
handler.c: * If possible group obj2 into obj1				-Thoric
handler.c: * This code, along with clone_object, obj->count, and special support
handler.c:    if ( obj1->pIndexData == obj2->pIndexData
handler.c:    &&	!obj1->pIndexData->mudprogs
handler.c:    &&  !obj2->pIndexData->mudprogs
handler.c:    &&   QUICKMATCH( obj1->name,	obj2->name )
handler.c:    &&   QUICKMATCH( obj1->short_descr,	obj2->short_descr )
handler.c:    &&   QUICKMATCH( obj1->description,	obj2->description )
handler.c:    &&   QUICKMATCH( obj1->action_desc,	obj2->action_desc )
handler.c:    &&   obj1->item_type	== obj2->item_type
handler.c:    &&   xSAME_BITS(obj1->extra_flags, obj2->extra_flags)
handler.c:    &&   obj1->magic_flags	== obj2->magic_flags
handler.c:    &&   obj1->wear_flags	== obj2->wear_flags
handler.c:    &&   obj1->wear_loc		== obj2->wear_loc
handler.c:    &&	 obj1->weight		== obj2->weight
handler.c:    &&	 obj1->cost		== obj2->cost
handler.c:    &&   obj1->level		== obj2->level
handler.c:    &&   obj1->timer		== obj2->timer
handler.c:    &&	 obj1->value[0]		== obj2->value[0]
handler.c:    &&	 obj1->value[1]		== obj2->value[1]
handler.c:    &&	 obj1->value[2]		== obj2->value[2]
handler.c:    &&	 obj1->value[3]		== obj2->value[3]
handler.c:    &&	 obj1->value[4]		== obj2->value[4]
handler.c:    &&	 obj1->value[5]		== obj2->value[5]
handler.c:    &&	!obj1->first_extradesc  && !obj2->first_extradesc
handler.c:    &&  !obj1->first_affect	&& !obj2->first_affect
handler.c:    &&  !obj1->first_content	&& !obj2->first_content
handler.c:    &&	 obj1->count + obj2->count > 0 ) /* prevent count overflow */
handler.c:	obj1->count += obj2->count;
handler.c:	obj1->pIndexData->count += obj2->count;	/* to be decremented in */
handler.c:	numobjsloaded += obj2->count;		/* extract_obj */
handler.c: * Split off a grouped object					-Thoric
handler.c:    int count = obj->count;
handler.c:    --obj->pIndexData->count;	/* since clone_object() ups this value */
handler.c:    --numobjsloaded;
handler.c:    rest->count = obj->count - num;
handler.c:    obj->count = num;
handler.c:    if ( obj->carried_by )
handler.c:	LINK( rest, obj->carried_by->first_carrying,
handler.c:		   obj->carried_by->last_carrying,
handler.c:	rest->carried_by	 	= obj->carried_by;
handler.c:	rest->in_room	 		= NULL;
handler.c:	rest->in_obj	 		= NULL;
handler.c:    if ( obj->in_room )
handler.c:	LINK( rest, obj->in_room->first_content, obj->in_room->last_content,
handler.c:	rest->carried_by	 	= NULL;
handler.c:	rest->in_room	 		= obj->in_room;
handler.c:	rest->in_obj	 		= NULL;
handler.c:    if ( obj->in_obj )
handler.c:	LINK( rest, obj->in_obj->first_content, obj->in_obj->last_content,
handler.c:	rest->in_obj			 = obj->in_obj;
handler.c:	rest->in_room			 = NULL;
handler.c:	rest->carried_by		 = NULL;
handler.c:    CHAR_DATA *ch = obj->carried_by;
handler.c:    if ( destobj || (!destroom && !ch && (destobj = obj->in_obj) != NULL) )
handler.c:	for ( otmp = obj->first_content; otmp; otmp = otmp_next )
handler.c:	    otmp_next = otmp->next_content;
handler.c:	    if ( destobj->item_type == ITEM_KEYRING && otmp->item_type != ITEM_KEY )
handler.c:	    if ( destobj->item_type == ITEM_QUIVER && otmp->item_type != ITEM_PROJECTILE )
handler.c:	    if ( (destobj->item_type == ITEM_CONTAINER || destobj->item_type == ITEM_KEYRING
handler.c:	    ||    destobj->item_type == ITEM_QUIVER)
handler.c:		> destobj->value[0] )
handler.c:    if ( destroom || (!ch && (destroom = obj->in_room) != NULL) )
handler.c:	for ( otmp = obj->first_content; otmp; otmp = otmp_next )
handler.c:	    otmp_next = otmp->next_content;
handler.c:	    if ( ch && HAS_PROG(otmp->pIndexData, DROP_PROG) && otmp->count > 1 ) 
handler.c:		  otmp_next = obj->first_content;
handler.c:	for ( otmp = obj->first_content; otmp; otmp = otmp_next )
handler.c:	    otmp_next = otmp->next_content;
handler.c:	obj->pIndexData->vnum );
handler.c: * Improve mental state						-Thoric
handler.c:    if ( ch->mental_state < 0 )
handler.c:	ch->mental_state = URANGE( -100, ch->mental_state + c, 0 );
handler.c:    if ( ch->mental_state > 0 )
handler.c:	ch->mental_state = URANGE( 0, ch->mental_state - c, 100 );
handler.c: * Deteriorate mental state					-Thoric
handler.c:    c -= number_percent() < con ? 1 : 0;
handler.c:    /* Nuisance flag makes state worsen quicker. --Shaddai */
handler.c:    if ( !IS_NPC(ch) && ch->pcdata->nuisance &&ch->pcdata->nuisance->flags > 2 )
handler.c:	c += .4*((ch->pcdata->nuisance->flags-2)*ch->pcdata->nuisance->power);
handler.c:    if ( ch->mental_state < 0 )
handler.c:	ch->mental_state = URANGE( -100, ch->mental_state - c, 100 );
handler.c:    if ( ch->mental_state > 0 )
handler.c:	ch->mental_state = URANGE( -100, ch->mental_state + c, 100 );
handler.c:	ch->mental_state -= c;
handler.c: * Add gold to an area's economy				-Thoric
handler.c:	++tarea->high_economy;
handler.c:	gold -= 1000000000;
handler.c:    tarea->low_economy += gold;
handler.c:    while ( tarea->low_economy >= 1000000000 )
handler.c:	++tarea->high_economy;
handler.c:	tarea->low_economy -= 1000000000;
handler.c: * Take gold from an area's economy				-Thoric
handler.c:	--tarea->high_economy;
handler.c:	gold -= 1000000000;
handler.c:    tarea->low_economy -= gold;
handler.c:    while ( tarea->low_economy < 0 )
handler.c:	--tarea->high_economy;
handler.c:	tarea->low_economy += 1000000000;
handler.c: * Check to see if economy has at least this much gold		   -Thoric
handler.c:    int hasgold = ((tarea->high_economy > 0) ? 1 : 0) * 1000000000
handler.c:		+ tarea->low_economy;
handler.c: * Used in db.c when resetting a mob into an area		    -Thoric
handler.c:    mob->gold = UMIN( mob->gold, mob->level * mob->level * 400 );
handler.c:    if ( !mob->in_room )
handler.c:    tarea = mob->in_room->area;
handler.c:    gold = ((tarea->high_economy > 0) ? 1 : 0) * 1000000000 + tarea->low_economy;
handler.c:    mob->gold = URANGE( 0, mob->gold, gold / 10 );
handler.c:    if ( mob->gold )
handler.c:	lower_economy( tarea, mob->gold );
handler.c: * Keep track of the last so many kills by vnum			-Thoric
handler.c:	bug( "add_kill: trying to add kill non-npc", 0 );
handler.c:    vnum = mob->pIndexData->vnum;
handler.c:    track = URANGE( 2, ((ch->level+3) * MAX_KILLTRACK)/LEVEL_AVATAR, MAX_KILLTRACK );
handler.c:	if ( ch->pcdata->killed[x].vnum == vnum )
handler.c:	    if ( ch->pcdata->killed[x].count < 50 )
handler.c:		++ch->pcdata->killed[x].count;
handler.c:	if ( ch->pcdata->killed[x].vnum == 0 )
handler.c:    memmove( (char *) ch->pcdata->killed+sizeof(KILLED_DATA),
handler.c:		ch->pcdata->killed, (track-1) * sizeof(KILLED_DATA) );
handler.c:    ch->pcdata->killed[0].vnum  = vnum;
handler.c:    ch->pcdata->killed[0].count = 1;
handler.c:	ch->pcdata->killed[track].vnum = 0;
handler.c: * Return how many times this player has killed this mob	-Thoric
handler.c:    vnum = mob->pIndexData->vnum;
handler.c:    track = URANGE( 2, ((ch->level+3) * MAX_KILLTRACK)/LEVEL_AVATAR, MAX_KILLTRACK );
handler.c:	if ( ch->pcdata->killed[x].vnum == vnum )
handler.c:	    return ch->pcdata->killed[x].count;
handler.c:	if ( ch->pcdata->killed[x].vnum == 0 )
handler.c:	for(pArea = first_area; pArea; pArea = pArea->next)
handler.c:		if(nifty_is_name(name, pArea->name))
handler.c:		for(pArea = first_build; pArea; pArea = pArea->next)
handler.c:			if(nifty_is_name(name, pArea->name))
hashstr.c: * this as you still save lots of space on duplicate strings.	-Thoric	    *
hashstr.c:   for (ptr = string_hash[hash]; ptr; ptr = ptr->next )
hashstr.c:     if ( len == ptr->length && !strcmp(str,(char *)ptr+psize) )
hashstr.c:	if ( ptr->links < 65535 )
hashstr.c:	  ++ptr->links;
hashstr.c:   ptr->links		= 1;
hashstr.c:   ptr->length		= len;
hashstr.c:   ptr->next		= string_hash[hash];
hashstr.c:    ptr = (struct hashstr_data *) (str - sizeof(struct hashstr_data));
hashstr.c:    if ( ptr->links == 0 )
hashstr.c:    if ( ptr->links < 65535 )
hashstr.c:	++ptr->links;
hashstr.c: * returns how many links are left, or -1 if an error occurred.
hashstr.c:    ptr = (struct hashstr_data *) (str - sizeof(struct hashstr_data));
hashstr.c:    if ( ptr->links == 65535 )				/* permanent */
hashstr.c:	return ptr->links;
hashstr.c:    if ( ptr->links == 0 )
hashstr.c:	return -1;
hashstr.c:    if ( --ptr->links == 0 )
hashstr.c:	    string_hash[hash] = ptr->next;
hashstr.c:	    ptr2_next = ptr2->next;
hashstr.c:		ptr2->next = ptr->next;
hashstr.c:	return -1;
hashstr.c:    return ptr->links;
hashstr.c:	for ( c = 0, ptr = string_hash[x]; ptr; ptr = ptr->next, c++ );
hashstr.c:    for ( c=0, ptr = string_hash[hash]; ptr; ptr = ptr->next, c++ )
hashstr.c:	  ptr->length, ptr->links, str );
hashstr.c:   for (fnd = NULL, ptr = string_hash[hash], c = 0; ptr; ptr = ptr->next, c++ )
hashstr.c:     if ( len == ptr->length && !strcmp(str,(char *)ptr+psize) )
hashstr.c:	  str, fnd->links, p, c, hash, fnd->length );
hashstr.c:	for ( c = 0, ptr = string_hash[x]; ptr; ptr = ptr->next, c++ )
hashstr.c:	   if ( ptr->links == 1 )
hashstr.c:	   if ( ptr->links > hilink )
hashstr.c:	     hilink = ptr->links;
hashstr.c:	   totlinks += ptr->links;
hashstr.c:	   bytesused += (ptr->length + 1 + sizeof(struct hashstr_data));
hashstr.c:	   wouldhave += (ptr->links * (ptr->length + 1));
hashstr.c:    sprintf( buf, "Hash strings allocated:%8d  Total links  : %d\n\rString bytes allocated:%8d  Bytes saved  : %d\n\rUnique (wasted) links :%8d  Hi-Link count: %d\n\r",
hashstr.c:	total, totlinks, bytesused, wouldhave - bytesused, unique, hilink );
hashstr.c:	for ( ptr = string_hash[x]; ptr; ptr = ptr->next )
hashstr.c:	  if ( ptr->links >= top )
hashstr.c: 	     fprintf( lfp, "Links: %5d  String: >%s<\n\r", ptr->links, str );
hiscores.c:		for( table = first_table ; table ; table = table->next )
hiscores.c:				table->keyword, table->desc, table->length, table->vnum );
hiscores.c:		pager_printf( ch, "Description: %s\n\r", table->desc );
hiscores.c:		pager_printf( ch, "Vnum: %d    MaxLength: %d Length: %d\n\r", table->vnum, table->max_length, table->length );
hiscores.c:		for( entry = table->first_entry, i=1 ; entry ; entry = entry->next, i++ )
hiscores.c:			pager_printf( ch, "%d. Name: %-15.15s    Score: %d\n\r",
hiscores.c:				i, capitalize(entry->name), entry->score ) ;
hiscores.c:		STRFREE( table->desc );
hiscores.c:		table->desc = STRALLOC( argument );
hiscores.c:		STRFREE( table->keyword );
hiscores.c:		table->keyword = STRALLOC( set_val );
hiscores.c:			table->vnum = atoi( set_val ) ;
hiscores.c:				kwd, table->vnum );
hiscores.c:			table->max_length = atoi( set_val ) ;
hiscores.c:				kwd, table->max_length );
hiscores.c:		for( table = first_table ; table ; table = table->next )
hiscores.c:			if( table->vnum == -1 )
hiscores.c:				ch_printf( ch, "  %s: keyword '%s'\n\r", table->desc, table->keyword );
hiscores.c:				oindex = get_obj_index( table->vnum );
hiscores.c:						table->desc,
hiscores.c:						oindex->short_descr );
hiscores.c: 	if( table->vnum != -1 && !IS_IMMORTAL(ch) )
hiscores.c:	show_hiscore( table->keyword, ch );
hiscores.c:	for( table = first_table ; table ; table = table->next )
hiscores.c:		if( obj->pIndexData->vnum == table->vnum )
hiscores.c:			return table->keyword;
hiscores.c:| |-------------------------------------------------| |
hiscores.c:| |-------------------------------------------------| |
hiscores.c:	pager_printf_color( ch, "&g| |-------------------------------------------------| |&w\n\r" );
hiscores.c:	sprintf( buf, "%s", table->desc );
hiscores.c:	len = (39 - len);
hiscores.c:		buf, table->desc, 
hiscores.c:	for( entry = table->first_entry ; entry ; entry = entry->next )
hiscores.c:		pager_printf_color( ch, "&g| |     %s%2d. %-20.20s%15d     &g| |\n\r",
hiscores.c:			num, capitalize(entry->name), entry->score );
hiscores.c:	pager_printf_color( ch, "&g| |-------------------------------------------------| |&w\n\r" );
hiscores.c:	old_pos = get_position( keyword, ch->name);
hiscores.c:	add_hiscore( keyword, ch->name, score );
hiscores.c:	pos = get_position( keyword, ch->name );
hiscores.c:	if( pos != -1 && pos != old_pos && table != NULL )
hiscores.c:			pos, table->desc );
hiscores.c:		/* replaced for info channel -- Scion */
hiscores.c:       for ( vch = first_char; vch; vch = vch->next )
hiscores.c:		ch->name, pos, table->desc );
hiscores.c:	    if (vch && ch && buf) /* to fix "vch = NULL" bug -- Scion */
hiscores.c:		/* replaced for info channel -- Scion */
hiscores.c:	else if( pos != -1 && table != NULL )
hiscores.c:			pos, table->desc );
hiscores.c:	for( entry = table->first_entry ; entry ; entry = entry->next )
hiscores.c:		if( !str_cmp( entry->name, name ) )
hiscores.c:			UNLINK( entry, table->first_entry, table->last_entry, next, prev );
hiscores.c:			STRFREE( entry->name );
hiscores.c:			table->length--;
hiscores.c:	for( i=1, entry = table->first_entry ; i<= table->max_length ; entry = entry->next, i++ )
hiscores.c:			new_entry->name = STRALLOC( name );
hiscores.c:			new_entry->score = score;
hiscores.c:			LINK( new_entry, table->first_entry, table->last_entry, next, prev );
hiscores.c:			table->length++;
hiscores.c:		else if( score > entry->score )
hiscores.c:			new_entry->name = STRALLOC( name );
hiscores.c:			new_entry->score = score;
hiscores.c:			INSERT( new_entry, entry, table->first_entry, next, prev );
hiscores.c:			table->length++;
hiscores.c:	while( table->length > table->max_length )
hiscores.c:		table->length--; 
hiscores.c:		entry = table->last_entry;
hiscores.c:		UNLINK( entry, table->first_entry, table->last_entry, next, prev );
hiscores.c:		STRFREE( entry->name );
hiscores.c: * -1 if 'name' is not in that table */
hiscores.c:		return -1;
hiscores.c:	for( entry = table->first_entry ; entry ; entry = entry->next )
hiscores.c:		if( !str_cmp( entry->name, name) )
hiscores.c:	return -1;
hiscores.c:	for( table = first_table ; table ; table = table->next )
hiscores.c:		if( !str_cmp( table->keyword, keyword ) )
hiscores.c:	new_table->keyword = STRALLOC( keyword );
hiscores.c:	new_table->desc = STRALLOC( desc );
hiscores.c:	new_table->vnum = -1;
hiscores.c:	new_table->max_length = 10;
hiscores.c:	new_table->length = 0;
hiscores.c:	new_table->first_entry = NULL;
hiscores.c:	new_table->last_entry = NULL;
hiscores.c:	STRFREE( table->keyword );
hiscores.c:	STRFREE( table->desc );
hiscores.c:	for( entry = table->first_entry ; entry ; entry = nentry )
hiscores.c:		nentry = entry->next;
hiscores.c:		UNLINK( entry, table->first_entry, table->last_entry, next, prev );
hiscores.c:		STRFREE( entry->name );
hiscores.c:	for( table = first_table ; table ; table = table->next )
hiscores.c:		fprintf( fp, "Keyword    %s\n", table->keyword );
hiscores.c:		fprintf( fp, "Desc       %s~\n", table->desc );
hiscores.c:		fprintf( fp, "Vnum       %d\n", table->vnum );
hiscores.c:		fprintf( fp, "MaxLength  %d\n", table->max_length );
hiscores.c:		for( entry = table->first_entry ; entry ; entry = entry->next )
hiscores.c:			fprintf( fp, "Entry      %s %d\n", entry->name, entry->score);
hiscores.c:			new_table->keyword = STRALLOC( fread_word(fp) );
hiscores.c:			new_table->desc = fread_string( fp ) ;
hiscores.c:			new_table->vnum = fread_number( fp );
hiscores.c:			new_table->max_length = fread_number( fp );
hiscores.c:			new_entry->name = STRALLOC( fread_word(fp) );
hiscores.c:			new_entry->score = fread_number( fp );
hiscores.c:			LINK( new_entry, new_table->first_entry, new_table->last_entry, next, prev );
hiscores.c:	new_table->length = entry_count;
hiscores.c:	if( entry_count > new_table->max_length )
hiscores.c:		new_table->max_length = entry_count;
hiscores.c:	if( new_table->keyword == NULL )
hiscores.c:		new_table->keyword = STRALLOC( "error" );
hiscores.c:	if( new_table->desc == NULL )
hiscores.c:		new_table->desc = STRALLOC( "Error: no description" );
hskelter.c:		sprintf( buf, "tar -zcf %s %s*", HSKELTER_BACKUP, PLAYER_DIR );
hskelter.c:		send_to_char( "Backing up post-helter skelter player base\n\r", ch );
hskelter.c:		sprintf( buf, "tar -zcf %s %s*", HSKELTER_AFTER, PLAYER_DIR );
hskelter.c:		for( victim = first_char; victim ; victim = victim->next )
hskelter.c:			victim->position = POS_SLEEPING;
hskelter.c:		send_to_char( "Restoring pre-helter skelter player base backup.\n\r", ch );
hskelter.c:		sprintf( buf, "tar -zvxf %s", HSKELTER_BACKUP );
hskelter.c:	if( stat(filen, &fst) == -1 )
hskelter.c:	for( hpk = first_hpk ; hpk ; hpk = hpk->next )
hskelter.c:		if( !str_cmp( hpk->name, ch->name ) )
hskelter.c:		hpk->pkills++;
hskelter.c:		hpk->name = STRALLOC( ch->name );
hskelter.c:		hpk->pkills = 1;
hskelter.c:	adjust_hiscore( "hskelter_pkill", ch, hpk->pkills );
hskelter.c:		n_hpk = hpk->next;
hskelter.c:		STRFREE( hpk->name );
ibuild.c: * -----------------------------------------------------------|   (0...0)   *
ibuild.c: * -----------------------------------------------------------|    {o o}    *
ibuild.c: * ------------------------------------------------------------------------ *
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "rmenu a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 0, "rmenu b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 0, "rmenu c" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "rmenu h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "cmenu a" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "cmenu h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "rmenu a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 0, "rmenu b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 0, "rmenu c" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "rmenu h" },
ibuild.c:	,10, 22, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:{ "2", NO_COMMAND ,11, 22, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:{ "2", "k", 13, 2, "%-70.70s", NULL, STRING, 1, "redit ex_exdesc %s" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "rmenu a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 0, "rmenu b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 0, "rmenu c" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "rmenu h" },
ibuild.c:		"1", "a", 5, 2, "%-73.73s", NULL, STRING, 1, "redit name %s"
ibuild.c:	"1", "b", 7, 2, "%-73.73s", NULL, STRING, 0, "redit desc"
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "rmenu a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 0, "rmenu b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 0, "rmenu c" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "rmenu h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "rmenu a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 0, "rmenu b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 0, "rmenu c" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "rmenu h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:		"1", "a", 2, 20, "%-49.49s", NULL, STRING, 2, "oset %s name %s"
ibuild.c:	"1", "b", 3, 20, "%-49.49s", NULL, STRING, 2, "oset %s short %s"
ibuild.c:	"1", "c", 4, 10, "%-59.69s", NULL, STRING, 2, "oset %s long %s"
ibuild.c:	"1", "d", 5, 15, "%-49.59s", NULL, STRING, 2, "oset %s actiondesc %s"
ibuild.c:	,9, 23, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:	,10, 23, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:	,11, 23, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:	,12, 23, "%-19.19s", NULL, STRING, 0, NO_COMMAND
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:	"1", "b", 2, 44, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect save_poison %s"
ibuild.c:	"1", "c", 2, 65, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect age %s"
ibuild.c:	"1", "d", 3, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect strength %s"
ibuild.c:	"1", "e", 3, 44, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect save_rod %s"
ibuild.c:	"1", "f", 3, 65, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect class %s"
ibuild.c:	"1", "g", 4, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect intelligence %s"
ibuild.c:	"1", "h", 4, 44, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect save_para %s"
ibuild.c:	"1", "i", 4, 65, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect level %s"
ibuild.c:	"1", "j", 5, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect wisdom %s"
ibuild.c:	"1", "k", 5, 44, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect save_breath %s"
ibuild.c:	"1", "l", 5, 65, "%+-1.1hd", NULL, SH_INT, 2, "oset %s affect sex %s"
ibuild.c:	"1", "m", 6, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect dexterity %s"
ibuild.c:	"1", "n", 6, 44, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect save_spell %s"
ibuild.c:	"1", "o", 6, 65, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect height %s"
ibuild.c:	"1", "p", 7, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect constitution %s"
ibuild.c:	"1", "r", 7, 65, "%+-3.3hd", NULL, SH_INT, 2, "oset %s affect weight %s"
ibuild.c:	"1", "s", 8, 23, "%+-2.2hd", NULL, SH_INT, 2, "oset %s affect charisma %s"
ibuild.c:	"1", "v", 9, 12, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect mana %s"
ibuild.c:	"1", "w", 9, 41, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect armor %s"
ibuild.c:	"1", "y", 10, 12, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect hit %s"
ibuild.c:	"1", "z", 10, 41, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect hitroll %s"
ibuild.c:	"1", "A", 10, 63, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect gold %s"
ibuild.c:	"1", "B", 11, 12, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect move %s"
ibuild.c:	"1", "C", 11, 41, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect damroll %s"
ibuild.c:	"1", "D", 11, 63, "%+-4.4hd", NULL, SH_INT, 2, "oset %s affect experience %s"
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "omenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "omenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "omenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "omenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "omenu %s e" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "omenu %s h" },
ibuild.c:		"1", "a", 2, 20, "%-59.59s", NULL, STRING, 2, "mset %s name %s"
ibuild.c:	"1", "b", 3, 20, "%-59.59s", NULL, STRING, 2, "mset %s short %s"
ibuild.c:	"1", "c", 4, 10, "%-69.68s", NULL, STRING, 2, "mset %s long %s"
ibuild.c:	"1", "d", 5, 10, "%-69.68s", NULL, STRING, 2, "mset %s description %s"
ibuild.c:	"2", "c", 11, 11, "%-10.10s", NULL, STRING, 2, "mset (obsolete) %s class %s"
ibuild.c:	"2", "d", 12, 11, "%-10.10s", NULL, STRING, 2, "mset %s race %s"
ibuild.c:	"2", "e", 13, 11, "%-6.6s", NULL, STRING, 2, "mset %s sex %s"
ibuild.c:	"2", "g", 15, 11, "%+-4.4hd", NULL, SH_INT, 2, "mset %s align %s"
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c: { "1", "-",17, 12, "%1.1s", NULL, STRING, 1, "mset %s race slime" },
ibuild.c:{ "-", "a", 22, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:		"1", "a", 2, 36, "%+-2.2hd", NULL, SH_INT, 2, "mset %s sav1 %s"
ibuild.c:	"1", "b", 2, 63, "%+-2.2d", NULL, SH_INT, 2, "mset %s sav2 %s"
ibuild.c:	"1", "c", 3, 36, "%+-2.2hd", NULL, SH_INT, 2, "mset %s sav3 %s"
ibuild.c:	"1", "d", 3, 63, "%+-2.2hd", NULL, SH_INT, 2, "mset %s sav4 %s"
ibuild.c:	"1", "e", 4, 36, "%+-2.2hd", NULL, SH_INT, 2, "mset %s sav5 %s"
ibuild.c:	"2", "z", 11, 26, "%1.1s", NULL, STRING, 1, "mset %s part tail-attack"
ibuild.c:	"2", "A", 11, 49, "%1.1s", NULL, STRING, 1, "mset %s part sharp-scales"
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 1, "mmenu %s a" },
ibuild.c:{ "-", "b", 13, 2, "", NULL, STRING, 1, "mmenu %s b" },
ibuild.c:{ "-", "c", 13, 2, "", NULL, STRING, 1, "mmenu %s c" },
ibuild.c:{ "-", "d", 13, 2, "", NULL, STRING, 1, "mmenu %s d" },
ibuild.c:{ "-", "e", 13, 2, "", NULL, STRING, 1, "mmenu %s e" },
ibuild.c:{ "-", "f", 13, 2, "", NULL, STRING, 1, "mmenu %s f" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 1, "mmenu %s h" },
ibuild.c:{ "-", "a", 13, 2, "", NULL, STRING, 0, "cmenu a" },
ibuild.c:{ "-", "h", 13, 2, "", NULL, STRING, 0, "cmenu h" },
ibuild.c:	ch->pagelen = lines;
ibuild.c:	if (IS_SET(idx->resistant, risFlag))
ibuild.c:	if (IS_SET(idx->immune, risFlag))
ibuild.c:	if (IS_SET(idx->susceptible, risFlag))
ibuild.c:	switch (ch->inter_page) {
ibuild.c:	if (!ch->desc) {
ibuild.c:		bug("Send_room_page_to_char: NULL ch->desc", 0);
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = ROOM_PAGE_D;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = ROOM_HELP_PAGE;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = ROOM_PAGE_C;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = ROOM_PAGE_B;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = ROOM_PAGE_A;
ibuild.c:	write_to_buffer(ch->desc, "50\E[;H\E[2J", strlen("50\E[;H\E[2J"));
ibuild.c:	write_to_buffer(ch->desc, menu_picture, strlen(menu_picture));
ibuild.c:	if (!ch->desc) {
ibuild.c:		bug("Send_control_page_to_char: NULL ch->desc", 0);
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = CONTROL_HELP_PAGE;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = CONTROL_PAGE_A;
ibuild.c:	write_to_buffer(ch->desc, "50\E[;H\E[2J", strlen("50\E[;H\E[2J"));
ibuild.c:	write_to_buffer(ch->desc, menu_picture, strlen(menu_picture));
ibuild.c:	if (!ch->desc) {
ibuild.c:	ch->inter_editing = NO_PAGE;
ibuild.c:	ch->inter_page = NO_PAGE;
ibuild.c:	sprintf(buf, "\E[%d;%dr", 1, ch->pagelen);
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	write_to_buffer(ch->desc, "50\E[;H\E[2J", strlen("50\E[;H\E[2J"));
ibuild.c:		sprintf(output, "%-s", "(blank)");
ibuild.c:		l = l - 3;
ibuild.c:	sprintf(output, "%-s", newstr);
ibuild.c:	if (!ch->desc) {
ibuild.c:		bug("Send_page_to_char: NULL ch->desc", 0);
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_HELP_PAGE;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_PAGE_E;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_PAGE_D;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_PAGE_C;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_PAGE_B;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = OBJ_PAGE_A;
ibuild.c:	write_to_buffer(ch->desc, "50\E[;H\E[2J", strlen("50\E[;H\E[2J"));
ibuild.c:	write_to_buffer(ch->desc, menu_picture, strlen(menu_picture));
ibuild.c:	if (!ch->desc) {
ibuild.c:		bug("Send_page_to_char: NULL ch->desc", 0);
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_HELP_PAGE;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_F;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_E;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_D;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_C;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_B;
ibuild.c:		format_string(buf,ch->inter_editing,10);
ibuild.c:		ch->inter_page = MOB_PAGE_A;
ibuild.c:	write_to_buffer(ch->desc, "50\E[;H\E[2J", strlen("50\E[;H\E[2J"));
ibuild.c:	write_to_buffer(ch->desc, menu_picture, strlen(menu_picture));
ibuild.c:	switch (ch->inter_page) {
ibuild.c:	if(ch->inter_type== MOB_TYPE)
ibuild.c:	   idx = get_mob_index(ch->inter_editing_vnum);
ibuild.c:		   bug("do_redraw_page: Get_mob_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:	if(ch->inter_type== ROOM_TYPE)
ibuild.c:	   ridx = get_room_index(ch->inter_editing_vnum);
ibuild.c:		   bug("do_redraw_page: Get_room_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:	if(ch->inter_type== OBJ_TYPE)
ibuild.c:	   oidx = get_obj_index(ch->inter_editing_vnum);
ibuild.c:		   bug("do_redraw_page: Get_obj_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:        if(ch->inter_type== CONTROL_TYPE)
ibuild.c:        bug("do_redraw_page: Bad ch->inter_type: vnum %d.", ch->inter_editing_vnum);
ibuild.c:	switch (ch->inter_type) {
ibuild.c:		switch (ch->inter_page) {
ibuild.c:		idx = (MOB_INDEX_DATA *) get_mob_index(ch->inter_editing_vnum);
ibuild.c:			bug("refresh_page: Get_mob_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:		switch (ch->inter_page) {
ibuild.c:		idx = (ROOM_INDEX_DATA *) get_room_index(ch->inter_editing_vnum);
ibuild.c:			bug("refresh_page: Get_room_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:		switch (ch->inter_page) {
ibuild.c:		idx = (OBJ_INDEX_DATA *) get_obj_index(ch->inter_editing_vnum);
ibuild.c:			bug("refresh_page: Get_obj_index: bad vnum %d.", ch->inter_editing_vnum);
ibuild.c:		switch (ch->inter_page) {
ibuild.c:	if ((ch->inter_substate < 0) || (ch->inter_substate > 5)) {
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;%dr", offset, ch->pagelen);
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;1H", (ch->pagelen));
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	if ((ch->inter_substate < 0) || (ch->inter_substate > 5)) {
ibuild.c:		room_page_c_data[0].data = (ch->inter_substate == SUB_NORTH) ? check : space;
ibuild.c:		room_page_c_data[1].data = (ch->inter_substate == SUB_UP) ? check : space;
ibuild.c:		room_page_c_data[2].data = (ch->inter_substate == SUB_EAST) ? check : space;
ibuild.c:		room_page_c_data[3].data = (ch->inter_substate == SUB_WEST) ? check : space;
ibuild.c:		room_page_c_data[4].data = (ch->inter_substate == SUB_SOUTH) ? check : space;
ibuild.c:		room_page_c_data[5].data = (ch->inter_substate == SUB_DOWN) ? check : space;
ibuild.c:		xit = get_exit(idx, ch->inter_substate);
ibuild.c:			room_page_c_data[6].data = IS_SET(xit->exit_info, EX_ISDOOR) ? check : space;
ibuild.c:			room_page_c_data[7].data = IS_SET(xit->exit_info, EX_SECRET) ? check : space;
ibuild.c:			room_page_c_data[8].data = IS_SET(xit->exit_info, EX_CLOSED) ? check : space;
ibuild.c:			room_page_c_data[9].data = IS_SET(xit->exit_info, EX_PICKPROOF) ? check : space;
ibuild.c:			room_page_c_data[10].data = IS_SET(xit->exit_info, EX_LOCKED) ? check : space;
ibuild.c:			room_page_c_data[11].data = IS_SET(xit->exit_info, EX_NOPASSDOOR) ? check : space;
ibuild.c:			room_page_c_data[12].data = &(xit->vnum);
ibuild.c:			room_page_c_data[13].data = xit->to_room->name;
ibuild.c:			room_page_c_data[14].data = &(xit->key);
ibuild.c:			if ((pObjIndex = get_obj_index(xit->key)) == NULL) {
ibuild.c:				room_page_c_data[15].data = pObjIndex->name;
ibuild.c:			room_page_c_data[16].data = xit->description;
ibuild.c:		room_page_b_data[0].data = IS_SET(idx->room_flags, ROOM_DARK) ? check : space;
ibuild.c:		room_page_b_data[1].data = IS_SET(idx->room_flags, ROOM_DEATH) ? check : space;
ibuild.c:		room_page_b_data[2].data = IS_SET(idx->room_flags, ROOM_NO_MOB) ? check : space;
ibuild.c:		room_page_b_data[3].data = IS_SET(idx->room_flags, ROOM_INDOORS) ? check : space;
ibuild.c:		room_page_b_data[4].data = IS_SET(idx->room_flags, ROOM_LAWFUL) ? check : space;
ibuild.c:		room_page_b_data[5].data = IS_SET(idx->room_flags, ROOM_NO_MAGIC) ? check : space;
ibuild.c:		room_page_b_data[6].data = IS_SET(idx->room_flags, ROOM_PET_SHOP) ? check : space;
ibuild.c:		room_page_b_data[7].data = IS_SET(idx->room_flags, ROOM_NEUTRAL) ? check : space;
ibuild.c:		room_page_b_data[8].data = IS_SET(idx->room_flags, ROOM_NODROP) ? check : space;
ibuild.c:		room_page_b_data[9].data = IS_SET(idx->room_flags, ROOM_SAFE) ? check : space;
ibuild.c:		room_page_b_data[10].data = IS_SET(idx->room_flags, ROOM_CHAOTIC) ? check : space;
ibuild.c:		room_page_b_data[11].data = IS_SET(idx->room_flags, ROOM_NODROPALL) ? check : space;
ibuild.c:		room_page_b_data[12].data = IS_SET(idx->room_flags, ROOM_TELEPORT) ? check : space;
ibuild.c:		room_page_b_data[13].data = IS_SET(idx->room_flags, ROOM_DONATION) ? check : space;
ibuild.c:		room_page_b_data[14].data = IS_SET(idx->room_flags, ROOM_NO_RECALL) ? check : space;
ibuild.c:		room_page_b_data[15].data = IS_SET(idx->room_flags, ROOM_PRIVATE) ? check : space;
ibuild.c:		room_page_b_data[16].data = IS_SET(idx->room_flags, ROOM_SOLITARY) ? check : space;
ibuild.c:		room_page_b_data[17].data = IS_SET(idx->room_flags, ROOM_NO_ASTRAL) ? check : space;
ibuild.c:		room_page_b_data[18].data = IS_SET(idx->room_flags, ROOM_TUNNEL) ? check : space;
ibuild.c:		room_page_b_data[19].data = IS_SET(idx->room_flags, ROOM_SILENCE) ? check : space;
ibuild.c:		room_page_b_data[20].data = IS_SET(idx->room_flags, ROOM_NO_SUMMON) ? check : space;
ibuild.c:		room_page_b_data[21].data = IS_SET(idx->room_flags, ROOM_CLANSTOREROOM) ? check : space;
ibuild.c:		room_page_b_data[22].data = IS_SET(idx->room_flags, ROOM_LOGSPEECH) ? check : space;
ibuild.c:		room_page_b_data[23].data = IS_SET(idx->room_flags, ROOM_NOFLOOR) ? check : space;
ibuild.c:		room_page_b_data[24].data = (idx->sector_type == SECT_INSIDE) ? check : space;
ibuild.c:		room_page_b_data[25].data = (idx->sector_type == SECT_FOREST) ? check : space;
ibuild.c:		room_page_b_data[26].data = (idx->sector_type == SECT_CITY) ? check : space;
ibuild.c:		room_page_b_data[27].data = (idx->sector_type == SECT_HILLS) ? check : space;
ibuild.c:		room_page_b_data[28].data = (idx->sector_type == SECT_MOUNTAIN) ? check : space;
ibuild.c:		room_page_b_data[29].data = (idx->sector_type == SECT_WATER_SWIM) ? check : space;
ibuild.c:		room_page_b_data[30].data = (idx->sector_type == SECT_AIR) ? check : space;
ibuild.c:		room_page_b_data[31].data = (idx->sector_type == SECT_DESERT) ? check : space;
ibuild.c:		room_page_b_data[32].data = (idx->sector_type == SECT_DUNNO) ? check : space;
ibuild.c:		room_page_b_data[33].data = (idx->sector_type == SECT_WATER_NOSWIM) ? check : space;
ibuild.c:		room_page_b_data[34].data = (idx->sector_type == SECT_FIELD) ? check : space;
ibuild.c:		 * room_page_a_data[0].data = idx->name;
ibuild.c:		 * room_page_a_data[1].data = idx->description;
ibuild.c:		format_string(tmp0, idx->name, 72);
ibuild.c:		format_string(tmp1, idx->description, 72);
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;%dr", offset, ch->pagelen);
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;1H", (ch->pagelen));
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:-----------------
ibuild.c:		obj_page_e_data[28].data = IS_SET(idx->wear_flags, ITEM_TAKE) ? check : space;
ibuild.c:		obj_page_e_data[29].data = IS_SET(idx->wear_flags, ITEM_WEAR_FINGER) ? check : space;
ibuild.c:		obj_page_e_data[30].data = IS_SET(idx->wear_flags, ITEM_WEAR_NECK) ? check : space;
ibuild.c:		obj_page_e_data[31].data = IS_SET(idx->wear_flags, ITEM_WEAR_BODY) ? check : space;
ibuild.c:		obj_page_e_data[32].data = IS_SET(idx->wear_flags, ITEM_WEAR_HEAD) ? check : space;
ibuild.c:		obj_page_e_data[33].data = IS_SET(idx->wear_flags, ITEM_WEAR_LEGS) ? check : space;
ibuild.c:		obj_page_e_data[34].data = IS_SET(idx->wear_flags, ITEM_WEAR_FEET) ? check : space;
ibuild.c:		obj_page_e_data[35].data = IS_SET(idx->wear_flags, ITEM_WEAR_HANDS) ? check : space;
ibuild.c:		obj_page_e_data[36].data = IS_SET(idx->wear_flags, ITEM_WEAR_ARMS) ? check : space;
ibuild.c:		obj_page_e_data[37].data = IS_SET(idx->wear_flags, ITEM_WEAR_SHIELD) ? check : space;
ibuild.c:		obj_page_e_data[38].data = IS_SET(idx->wear_flags, ITEM_WEAR_ABOUT) ? check : space;
ibuild.c:		obj_page_e_data[39].data = IS_SET(idx->wear_flags, ITEM_WEAR_WAIST) ? check : space;
ibuild.c:		obj_page_e_data[40].data = IS_SET(idx->wear_flags, ITEM_WEAR_WRIST) ? check : space;
ibuild.c:		obj_page_e_data[41].data = IS_SET(idx->wear_flags, ITEM_WIELD) ? check : space;
ibuild.c:		obj_page_e_data[42].data = IS_SET(idx->wear_flags, ITEM_HOLD) ? check : space;
ibuild.c:		obj_page_e_data[43].data = IS_SET(idx->wear_flags, ITEM_DUAL_WIELD) ? check : space;
ibuild.c:		obj_page_e_data[44].data = IS_SET(idx->wear_flags, ITEM_WEAR_EARS) ? check : space;
ibuild.c:		obj_page_e_data[45].data = IS_SET(idx->wear_flags, ITEM_WEAR_EYES) ? check : space;
ibuild.c:		obj_page_b_data[0].data = ((idx->item_type == 0) ? check : space);
ibuild.c:		obj_page_b_data[1].data = ((idx->item_type == ITEM_FOUNTAIN) ? check : space);
ibuild.c:		obj_page_b_data[2].data = ((idx->item_type == ITEM_FURNITURE) ? check : space);
ibuild.c:		obj_page_b_data[3].data = ((idx->item_type == ITEM_ARMOR) ? check : space);
ibuild.c:		obj_page_b_data[4].data = ((idx->item_type == ITEM_FOOD) ? check : space);
ibuild.c:		obj_page_b_data[5].data = ((idx->item_type == ITEM_MONEY) ? check : space);
ibuild.c:		obj_page_b_data[6].data = ((idx->item_type == ITEM_POTION) ? check : space);
ibuild.c:		obj_page_b_data[7].data = ((idx->item_type == ITEM_PULLCHAIN) ? check : space);
ibuild.c:		obj_page_b_data[8].data = ((idx->item_type == ITEM_WEAPON) ? check : space);
ibuild.c:		obj_page_b_data[9].data = ((idx->item_type == ITEM_MAP) ? check : space);
ibuild.c:		obj_page_b_data[10].data = ((idx->item_type == ITEM_LIGHT) ? check : space);
ibuild.c:		obj_page_b_data[11].data = ((idx->item_type == ITEM_BUTTON) ? check : space);
ibuild.c:		obj_page_b_data[12].data = ((idx->item_type == ITEM_TREASURE) ? check : space);
ibuild.c:		obj_page_b_data[13].data = ((idx->item_type == ITEM_HERB) ? check : space);
ibuild.c:		obj_page_b_data[14].data = ((idx->item_type == ITEM_TRASH) ? check : space);
ibuild.c:		obj_page_b_data[15].data = ((idx->item_type == ITEM_SWITCH) ? check : space);
ibuild.c:		obj_page_b_data[16].data = ((idx->item_type == ITEM_CONTAINER) ? check : space);
ibuild.c:		obj_page_b_data[17].data = ((idx->item_type == ITEM_WAND) ? check : space);
ibuild.c:		obj_page_b_data[18].data = ((idx->item_type == ITEM_SCROLL) ? check : space);
ibuild.c:		obj_page_b_data[19].data = ((idx->item_type == ITEM_STAFF) ? check : space);
ibuild.c:		obj_page_b_data[20].data = ((idx->item_type == ITEM_BLOODSTAIN) ? check : space);
ibuild.c:		obj_page_b_data[21].data = ((idx->item_type == ITEM_PILL) ? check : space);
ibuild.c:		obj_page_b_data[22].data = ((idx->item_type == ITEM_BLOOD) ? check : space);
ibuild.c:		obj_page_b_data[23].data = ((idx->item_type == ITEM_DIAL) ? check : space);
ibuild.c:		obj_page_b_data[24].data = ((idx->item_type == ITEM_TRAP) ? check : space);
ibuild.c:		obj_page_b_data[25].data = ((idx->item_type == ITEM_KEY) ? check : space);
ibuild.c:		obj_page_b_data[26].data = ((idx->item_type == ITEM_INCENSE) ? check : space);
ibuild.c:		obj_page_b_data[27].data = ((idx->item_type == ITEM_LEVER) ? check : space);
ibuild.c:		obj_page_b_data[28].data = ((idx->item_type == ITEM_CORPSE_PC) ? check : space);
ibuild.c:		obj_page_b_data[29].data = ((idx->item_type == ITEM_PIPE) ? check : space);
ibuild.c:		obj_page_b_data[30].data = ((idx->item_type == ITEM_SCRAPS) ? check : space);
ibuild.c:		obj_page_b_data[31].data = ((idx->item_type == ITEM_TRAP) ? check : space);
ibuild.c:		obj_page_b_data[32].data = ((idx->item_type == ITEM_CORPSE_NPC) ? check : space);
ibuild.c:		obj_page_b_data[33].data = ((idx->item_type == ITEM_BOOK) ? check : space);
ibuild.c:		obj_page_b_data[34].data = ((idx->item_type == ITEM_MATCH) ? check : space);
ibuild.c:		obj_page_b_data[35].data = ((idx->item_type == ITEM_DRINK_CON) ? check : space);
ibuild.c:		obj_page_b_data[38].data = ((idx->item_type == ITEM_FIRE) ? check : space);
ibuild.c:		obj_page_b_data[39].data = ((idx->item_type == ITEM_HERB_CON) ? check : space);
ibuild.c:		obj_page_b_data[41].data = ((idx->item_type == ITEM_BOAT) ? check : space);
ibuild.c:		obj_page_b_data[42].data = ((idx->item_type == ITEM_RUNE) ? check : space);
ibuild.c:		obj_page_b_data[43].data = ((idx->item_type == ITEM_RUNEPOUCH) ? check : space);
ibuild.c:                obj_page_b_data[44].data = ((idx->item_type == ITEM_PIECE) ? check : space);
ibuild.c:		format_string(tmp0, idx->name, 53);
ibuild.c:		format_string(tmp1, idx->short_descr, 53);
ibuild.c:		format_string(tmp2, idx->description, 63);
ibuild.c:		format_string(tmp3, idx->action_desc, 51);
ibuild.c:		obj_page_a_data[4].data = &(idx->value[0]);
ibuild.c:		obj_page_a_data[5].data = get_item_strings(idx->item_type, 1);
ibuild.c:		obj_page_a_data[6].data = &(idx->value[1]);
ibuild.c:		obj_page_a_data[7].data = get_item_strings(idx->item_type, 2);
ibuild.c:		obj_page_a_data[8].data = &(idx->value[2]);
ibuild.c:		obj_page_a_data[9].data = get_item_strings(idx->item_type, 3);
ibuild.c:		obj_page_a_data[10].data = &(idx->value[3]);
ibuild.c:		obj_page_a_data[11].data = get_item_strings(idx->item_type,4);
ibuild.c:		obj_page_a_data[12].data = &(idx->weight);
ibuild.c:		obj_page_a_data[13].data = &(idx->cost);
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;%dr", offset, ch->pagelen);
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;1H", (ch->pagelen));
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		spec = lookup_spec(idx->spec_fun);
ibuild.c:		mob_page_e_data[17].data = (idx->defposition == POS_DEAD) ? check : space;
ibuild.c:		mob_page_e_data[18].data = (idx->defposition == POS_MORTAL) ? check : space;
ibuild.c:		mob_page_e_data[19].data = (idx->defposition == POS_INCAP) ? check : space;
ibuild.c:		mob_page_e_data[20].data = (idx->defposition == POS_STUNNED) ? check : space;
ibuild.c:		mob_page_e_data[21].data = (idx->defposition == POS_SLEEPING) ? check : space;
ibuild.c:		mob_page_e_data[22].data = (idx->defposition == POS_RESTING) ? check : space;
ibuild.c:		mob_page_e_data[23].data = (idx->defposition == POS_SITTING) ? check : space;
ibuild.c:		mob_page_e_data[24].data = (idx->defposition == POS_FIGHTING) ? check : space;
ibuild.c:		mob_page_e_data[25].data = (idx->defposition == POS_STANDING) ? check : space;
ibuild.c:		mob_page_e_data[26].data = (idx->defposition == POS_MOUNTED) ? check : space;
ibuild.c:		mob_page_d_data[0].data = &(idx->saving_poison_death);
ibuild.c:		mob_page_d_data[1].data = &(idx->saving_wand);
ibuild.c:		mob_page_d_data[2].data = &(idx->saving_para_petri);
ibuild.c:		mob_page_d_data[3].data = &(idx->saving_breath);
ibuild.c:		mob_page_d_data[4].data = &(idx->saving_spell_staff);
ibuild.c:		mob_page_d_data[5].data = IS_SET(idx->xflags, PART_FINS) ? check : space;
ibuild.c:		mob_page_d_data[6].data = IS_SET(idx->xflags, PART_EAR) ? check : space;
ibuild.c:		mob_page_d_data[7].data = IS_SET(idx->xflags, PART_EYE) ? check : space;
ibuild.c:		mob_page_d_data[8].data = IS_SET(idx->xflags, PART_LONG_TONGUE) ? check : space;
ibuild.c:		mob_page_d_data[9].data = IS_SET(idx->xflags, PART_SCALES) ? check : space;
ibuild.c:		mob_page_d_data[10].data = IS_SET(idx->xflags, PART_TAIL) ? check : space;
ibuild.c:		mob_page_d_data[11].data = IS_SET(idx->xflags, PART_ARMS) ? check : space;
ibuild.c:		mob_page_d_data[12].data = IS_SET(idx->xflags, PART_LEGS) ? check : space;
ibuild.c:		mob_page_d_data[13].data = IS_SET(idx->xflags, PART_TENTACLES) ? check : space;
ibuild.c:		mob_page_d_data[14].data = IS_SET(idx->xflags, PART_BRAINS) ? check : space;
ibuild.c:		mob_page_d_data[15].data = IS_SET(idx->xflags, PART_GUTS) ? check : space;
ibuild.c:		mob_page_d_data[16].data = IS_SET(idx->xflags, PART_HEAD) ? check : space;
ibuild.c:		mob_page_d_data[17].data = IS_SET(idx->xflags, PART_FEET) ? check : space;
ibuild.c:		mob_page_d_data[18].data = IS_SET(idx->xflags, PART_EYESTALKS) ? check : space;
ibuild.c:		mob_page_d_data[19].data = IS_SET(idx->xflags, PART_FINGERS) ? check : space;
ibuild.c:		mob_page_d_data[20].data = IS_SET(idx->xflags, PART_WINGS) ? check : space;
ibuild.c:		mob_page_d_data[21].data = IS_SET(idx->xflags, PART_HANDS) ? check : space;
ibuild.c:		mob_page_d_data[22].data = IS_SET(idx->xflags, PART_HEART) ? check : space;
ibuild.c:		mob_page_d_data[23].data = IS_SET(idx->xflags, PART_CLAWS) ? check : space;
ibuild.c:		mob_page_d_data[24].data = IS_SET(idx->xflags, PART_HORNS) ? check : space;
ibuild.c:		mob_page_d_data[25].data = IS_SET(idx->xflags, PART_TUSKS) ? check : space;
ibuild.c:		mob_page_d_data[26].data = IS_SET(idx->xflags, PART_TAILATTACK) ? check : space;
ibuild.c:		mob_page_d_data[27].data = IS_SET(idx->xflags, PART_SHARPSCALES) ? check : space;
ibuild.c:		mob_page_d_data[28].data = &(idx->numattacks);
ibuild.c:		sprintf(buf1, "[%5.5hd]D[%5.5hd]+[%5.5hd]", idx->hitnodice,
ibuild.c:			idx->hitsizedice,
ibuild.c:			idx->hitplus);
ibuild.c:		mob_page_d_data[30].data = &(idx->hitroll);
ibuild.c:		mob_page_d_data[31].data = &(idx->damroll);
ibuild.c:		sprintf(buf2, "[%5.5hd]D[%5.5hd]+[%5.5hd]", idx->damnodice,
ibuild.c:			idx->damsizedice,
ibuild.c:			idx->damplus);
ibuild.c:		mob_page_c_data[0].data = xIS_SET(idx->attacks, ATCK_BITE) ? check : space;
ibuild.c:		mob_page_c_data[1].data = xIS_SET(idx->attacks, ATCK_CLAWS) ? check : space;
ibuild.c:		mob_page_c_data[2].data = xIS_SET(idx->attacks, ATCK_FIREBREATH) ? check : space;
ibuild.c:		mob_page_c_data[3].data = xIS_SET(idx->attacks, ATCK_BASH) ? check : space;
ibuild.c:		mob_page_c_data[4].data = xIS_SET(idx->attacks, ATCK_STUN) ? check : space;
ibuild.c:		mob_page_c_data[5].data = xIS_SET(idx->attacks, ATCK_ACIDBREATH) ? check : space;
ibuild.c:		mob_page_c_data[6].data = xIS_SET(idx->attacks, ATCK_DRAIN) ? check : space;
ibuild.c:		mob_page_c_data[7].data = xIS_SET(idx->attacks, ATCK_KICK) ? check : space;
ibuild.c:		mob_page_c_data[8].data = xIS_SET(idx->attacks, ATCK_FEED) ? check : space;
ibuild.c:		mob_page_c_data[9].data = xIS_SET(idx->attacks, ATCK_GASBREATH) ? check : space;
ibuild.c:		mob_page_c_data[10].data = xIS_SET(idx->attacks, ATCK_POISON) ? check : space;
ibuild.c:		mob_page_c_data[11].data = xIS_SET(idx->attacks, ATCK_GAZE) ? check : space;
ibuild.c:		mob_page_c_data[12].data = xIS_SET(idx->attacks, ATCK_HARM) ? check : space;
ibuild.c:		mob_page_c_data[13].data = xIS_SET(idx->attacks, ATCK_FROSTBREATH) ? check : space;
ibuild.c:		mob_page_c_data[14].data = xIS_SET(idx->attacks, ATCK_CURSE) ? check : space;
ibuild.c:		mob_page_c_data[15].data = xIS_SET(idx->attacks, ATCK_BACKSTAB) ? check : space;
ibuild.c:		mob_page_c_data[16].data = xIS_SET(idx->attacks, ATCK_PUNCH) ? check : space;
ibuild.c:		mob_page_c_data[17].data = xIS_SET(idx->attacks, ATCK_LIGHTNBREATH) ? check : space;
ibuild.c:		mob_page_c_data[18].data = xIS_SET(idx->attacks, ATCK_WEAKEN) ? check : space;
ibuild.c:		mob_page_c_data[19].data = xIS_SET(idx->attacks, ATCK_TAIL) ? check : space;
ibuild.c:		mob_page_c_data[20].data = xIS_SET(idx->attacks, ATCK_STING) ? check : space;
ibuild.c:		mob_page_c_data[21].data = xIS_SET(idx->attacks, ATCK_CAUSESERIOUS) ? check : space;
ibuild.c:		mob_page_c_data[22].data = xIS_SET(idx->attacks, ATCK_TRIP) ? check : space;
ibuild.c:		mob_page_c_data[23].data = xIS_SET(idx->attacks, ATCK_FIREBALL) ? check : space;
ibuild.c:		mob_page_c_data[24].data = xIS_SET(idx->attacks, ATCK_GOUGE) ? check : space;
ibuild.c:		mob_page_c_data[25].data = xIS_SET(idx->attacks, ATCK_CAUSECRITICAL) ? check : space;
ibuild.c:		mob_page_c_data[26].data = xIS_SET(idx->attacks, ATCK_FLAMESTRIKE) ? check : space;
ibuild.c:		mob_page_c_data[27].data = xIS_SET(idx->attacks, ATCK_EARTHQUAKE) ? check : space;
ibuild.c:		mob_page_c_data[28].data = xIS_SET(idx->attacks, ATCK_COLORSPRAY) ? check : space;
ibuild.c:		mob_page_c_data[29].data = xIS_SET(idx->attacks, ATCK_NASTYPOISON) ? check : space;
ibuild.c:		mob_page_c_data[30].data = xIS_SET(idx->attacks, ATCK_BLINDNESS) ? check : space;
ibuild.c:		mob_page_c_data[31].data = xIS_SET(idx->defenses, DFND_SANCTUARY) ? check : space;
ibuild.c:		mob_page_c_data[32].data = xIS_SET(idx->defenses, DFND_CURELIGHT) ? check : space;
ibuild.c:		mob_page_c_data[33].data = xIS_SET(idx->defenses, DFND_DISPELEVIL) ? check : space;
ibuild.c:		mob_page_c_data[34].data = xIS_SET(idx->defenses, DFND_SHIELD) ? check : space;
ibuild.c:		mob_page_c_data[35].data = xIS_SET(idx->defenses, DFND_CURESERIOUS) ? check : space;
ibuild.c:		mob_page_c_data[36].data = xIS_SET(idx->defenses, DFND_DISPELMAGIC) ? check : space;
ibuild.c:		mob_page_c_data[37].data = xIS_SET(idx->defenses, DFND_DODGE) ? check : space;
ibuild.c:		mob_page_c_data[38].data = xIS_SET(idx->defenses, DFND_FIRESHIELD) ? check : space;
ibuild.c:		mob_page_c_data[39].data = xIS_SET(idx->defenses, DFND_CURECRITICAL) ? check : space;
ibuild.c:		mob_page_c_data[40].data = xIS_SET(idx->defenses, DFND_TELEPORT) ? check : space;
ibuild.c:		mob_page_c_data[41].data = xIS_SET(idx->defenses, DFND_PARRY) ? check : space;
ibuild.c:		mob_page_c_data[42].data = xIS_SET(idx->defenses, DFND_SHOCKSHIELD) ? check : space;
ibuild.c:		mob_page_c_data[43].data = xIS_SET(idx->defenses, DFND_HEAL) ? check : space;
ibuild.c:		mob_page_c_data[44].data = xIS_SET(idx->defenses, DFND_BLESS) ? check : space;
ibuild.c:		mob_page_c_data[45].data = xIS_SET(idx->defenses, DFND_DISARM) ? check : space;
ibuild.c:		mob_page_c_data[46].data = xIS_SET(idx->defenses, DFND_STONESKIN) ? check : space;
ibuild.c:		mob_page_c_data[47].data = xIS_SET(idx->defenses, DFND_MONSUM1) ? check : space;
ibuild.c:		mob_page_c_data[48].data = xIS_SET(idx->defenses, DFND_MONSUM2) ? check : space;
ibuild.c:		mob_page_c_data[49].data = xIS_SET(idx->defenses, DFND_MONSUM3) ? check : space;
ibuild.c:		mob_page_c_data[50].data = xIS_SET(idx->defenses, DFND_MONSUM4) ? check : space;
ibuild.c:		mob_page_b_data[0].data = xIS_SET(idx->act, ACT_SENTINEL) ? check : space;
ibuild.c:		mob_page_b_data[1].data = xIS_SET(idx->act, ACT_SCAVENGER) ? check : space;
ibuild.c:		mob_page_b_data[2].data = xIS_SET(idx->act, ACT_AGGRESSIVE) ? check : space;
ibuild.c:		mob_page_b_data[3].data = xIS_SET(idx->act, ACT_STAY_AREA) ? check : space;
ibuild.c:		mob_page_b_data[4].data = xIS_SET(idx->act, ACT_WIMPY) ? check : space;
ibuild.c:		mob_page_b_data[5].data = xIS_SET(idx->act, ACT_PET) ? check : space;
ibuild.c:		mob_page_b_data[6].data = xIS_SET(idx->act, ACT_TRAIN) ? check : space;
ibuild.c:		mob_page_b_data[7].data = xIS_SET(idx->act, ACT_PRACTICE) ? check : space;
ibuild.c:		mob_page_b_data[8].data = xIS_SET(idx->act, ACT_IMMORTAL) ? check : space;
ibuild.c:		mob_page_b_data[9].data = xIS_SET(idx->act, ACT_DEADLY) ? check : space;
ibuild.c:		mob_page_b_data[10].data = xIS_SET(idx->act, ACT_POLYSELF) ? check : space;
ibuild.c:		mob_page_b_data[11].data = xIS_SET(idx->act, ACT_META_AGGR) ? check : space;
ibuild.c:		mob_page_b_data[12].data = xIS_SET(idx->act, ACT_GUARDIAN) ? check : space;
ibuild.c:		mob_page_b_data[13].data = xIS_SET(idx->act, ACT_RUNNING) ? check : space;
ibuild.c:		mob_page_b_data[14].data = xIS_SET(idx->act, ACT_NOWANDER) ? check : space;
ibuild.c:		mob_page_b_data[15].data = xIS_SET(idx->act, ACT_MOUNTABLE) ? check : space;
ibuild.c:		mob_page_b_data[16].data = xIS_SET(idx->act, ACT_MOUNTED) ? check : space;
ibuild.c:		mob_page_f_data[0].data = (idx->race == get_npc_race("human")) ? check : space;
ibuild.c:		mob_page_f_data[1].data = (idx->race ==get_npc_race("neanderthal")) ? check : space;
ibuild.c:		mob_page_f_data[2].data = (idx->race ==get_npc_race("avis")) ? check : space;
ibuild.c:		mob_page_f_data[3].data = (idx->race ==get_npc_race("amphibian")) ? check : space;
ibuild.c:		mob_page_f_data[4].data = (idx->race ==get_npc_race("elf")) ? check : space;
ibuild.c:		mob_page_f_data[5].data = (idx->race ==get_npc_race("orc")) ? check : space;
ibuild.c:		mob_page_f_data[6].data = (idx->race ==get_npc_race("bugbear")) ? check : space;
ibuild.c:		mob_page_f_data[7].data = (idx->race ==get_npc_race("bovine")) ? check : space;
ibuild.c:		mob_page_f_data[8].data = (idx->race ==get_npc_race("dwarf")) ? check : space;
ibuild.c:		mob_page_f_data[9].data = (idx->race ==get_npc_race("skeleton")) ? check : space;
ibuild.c:		mob_page_f_data[10].data = (idx->race ==get_npc_race("dragon")) ? check : space;
ibuild.c:		mob_page_f_data[11].data = (idx->race ==get_npc_race("canine")) ? check : space;
ibuild.c:		mob_page_f_data[12].data = (idx->race ==get_npc_race("ant")) ? check : space;
ibuild.c:		mob_page_f_data[13].data = (idx->race ==get_npc_race("halfling")) ? check : space;
ibuild.c:		mob_page_f_data[14].data = (idx->race ==get_npc_race("thoul")) ? check : space;
ibuild.c:		mob_page_f_data[15].data = (idx->race ==get_npc_race("rustmonster")) ? check : space;
ibuild.c:		mob_page_f_data[16].data = (idx->race ==get_npc_race("crustacean")) ? check : space;
ibuild.c:		mob_page_f_data[17].data = (idx->race ==get_npc_race("bee")) ? check : space;
ibuild.c:		mob_page_f_data[18].data = (idx->race ==get_npc_race("pixie")) ? check : space;
ibuild.c:		mob_page_f_data[19].data = (idx->race ==get_npc_race("undead")) ? check : space;
ibuild.c:		mob_page_f_data[20].data = (idx->race ==get_npc_race("shadow")) ? check : space;
ibuild.c:		mob_page_f_data[21].data = (idx->race ==get_npc_race("feline")) ? check : space;
ibuild.c:		mob_page_f_data[22].data = (idx->race ==get_npc_race("beetle")) ? check : space;
ibuild.c:		mob_page_f_data[23].data = (idx->race ==get_npc_race("vampire")) ? check : space;
ibuild.c:		mob_page_f_data[24].data = (idx->race ==get_npc_race("zombie")) ? check : space;
ibuild.c:		mob_page_f_data[25].data = (idx->race == get_npc_race("shapeshifter")) ? check : space;
ibuild.c:		mob_page_f_data[26].data = (idx->race == get_npc_race("fish")) ? check : space;
ibuild.c:		mob_page_f_data[27].data = (idx->race == get_npc_race("fly")) ? check : space;
ibuild.c:		mob_page_f_data[28].data = (idx->race == get_npc_race("gargoyle")) ? check : space;
ibuild.c:		/*mob_page_f_data[29].data = (idx->race == get_npc_race("gargoyle")) ? check : space;*/
ibuild.c:		mob_page_f_data[29].data = (idx->race == get_npc_race("ape")) ? check : space;
ibuild.c:		mob_page_f_data[30].data = (idx->race == get_npc_race("shrieker")) ? check : space;
ibuild.c:		mob_page_f_data[31].data = (idx->race == get_npc_race("insect")) ? check : space;
ibuild.c:		mob_page_f_data[32].data = (idx->race == get_npc_race("locust")) ? check : space;
ibuild.c:		mob_page_f_data[33].data = (idx->race == get_npc_race("ghoul")) ? check : space;
ibuild.c:		mob_page_f_data[34].data = (idx->race == get_npc_race("baboon")) ? check : space;
ibuild.c:		mob_page_f_data[35].data = (idx->race == get_npc_race("stirge")) ? check : space;
ibuild.c:		mob_page_f_data[36].data = (idx->race == get_npc_race("mammal")) ? check : space;
ibuild.c:		mob_page_f_data[37].data = (idx->race == get_npc_race("snake")) ? check : space;
ibuild.c:		mob_page_f_data[38].data = (idx->race == get_npc_race("gnoll")) ? check : space;
ibuild.c:		mob_page_f_data[39].data = (idx->race == get_npc_race("bat")) ? check : space;
ibuild.c:		mob_page_f_data[40].data = (idx->race == get_npc_race("wight")) ? check : space;
ibuild.c:		mob_page_f_data[41].data = (idx->race == get_npc_race("porcine")) ? check : space;
ibuild.c:		mob_page_f_data[42].data = (idx->race == get_npc_race("spider")) ? check : space;
ibuild.c:		mob_page_f_data[43].data = (idx->race == get_npc_race("gnome")) ? check : space;
ibuild.c:		mob_page_f_data[44].data = (idx->race == get_npc_race("bear")) ? check : space;
ibuild.c:		mob_page_f_data[45].data = (idx->race == get_npc_race("reptile")) ? check : space;
ibuild.c:		mob_page_f_data[46].data = (idx->race == get_npc_race("worm")) ? check : space;
ibuild.c:		mob_page_f_data[47].data = (idx->race == get_npc_race("goblin")) ? check : space;
ibuild.c:		mob_page_f_data[48].data = (idx->race == get_npc_race("boar")) ? check : space;
ibuild.c:		mob_page_f_data[49].data = (idx->race == get_npc_race("rodent")) ? check : space;
ibuild.c:		mob_page_f_data[50].data = (idx->race == get_npc_race("golem")) ? check : space;
ibuild.c:		mob_page_f_data[51].data = (idx->race == get_npc_race("cat")) ? check : space;
ibuild.c:		mob_page_f_data[52].data = (idx->race == get_npc_race("troglodyte")) ? check : space;
ibuild.c:		mob_page_f_data[53].data = (idx->race == get_npc_race("gelatin")) ? check : space;
ibuild.c:		mob_page_f_data[54].data = (idx->race == get_npc_race("gorgon")) ? check : space;
ibuild.c:		mob_page_f_data[55].data = (idx->race == get_npc_race("dog")) ? check : space;
ibuild.c:		mob_page_f_data[56].data = (idx->race == get_npc_race("spirit")) ? check : space;
ibuild.c:		mob_page_f_data[57].data = (idx->race == get_npc_race("mold")) ? check : space;
ibuild.c:		mob_page_f_data[58].data = (idx->race == get_npc_race("harpy")) ? check : space;
ibuild.c:		mob_page_f_data[59].data = (idx->race == get_npc_race("ferret")) ? check : space;
ibuild.c:		mob_page_f_data[60].data = (idx->race == get_npc_race("magical")) ? check : space;
ibuild.c:		mob_page_f_data[61].data = (idx->race == get_npc_race("ooze")) ? check : space;
ibuild.c:		mob_page_f_data[62].data = (idx->race == get_npc_race("hobgoblin")) ? check : space;
ibuild.c:		mob_page_f_data[63].data = (idx->race == get_npc_race("horse")) ? check : space;
ibuild.c:		mob_page_f_data[64].data = (idx->race == get_npc_race("slime")) ? check : space;
ibuild.c:		mob_page_f_data[65].data = (idx->race == get_npc_race("kobold")) ? check : space;
ibuild.c:		mob_page_f_data[66].data = (idx->race == get_npc_race("mule")) ? check : space;
ibuild.c:		mob_page_f_data[67].data = (idx->race == get_npc_race("lizardman")) ? check : space;
ibuild.c:		mob_page_f_data[68].data = (idx->race == get_npc_race("rat")) ? check : space;
ibuild.c:		mob_page_f_data[69].data = (idx->race == get_npc_race("lycanthrope")) ? check : space;
ibuild.c:		mob_page_f_data[79].data = (idx->race == get_npc_race("shrew")) ? check : space;
ibuild.c:		mob_page_f_data[71].data = (idx->race == get_npc_race("minotaur")) ? check : space;
ibuild.c:		mob_page_f_data[72].data = (idx->race == get_npc_race("wolf")) ? check : space;
ibuild.c:		 * format_string(idx->player_name,70);
ibuild.c:		 * format_string(idx->short_descr,60);
ibuild.c:		 * format_string(idx->long_descr,60); mob_page_a_data[3].data
ibuild.c:		 * =  format_string(idx->description,60);
ibuild.c:		format_string(tmp0, idx->player_name, 59);
ibuild.c:		format_string(tmp1, idx->short_descr, 59);
ibuild.c:		format_string(tmp2, idx->long_descr, 69);
ibuild.c:		format_string(tmp3, idx->description, 69);
ibuild.c:		mob_page_a_data[4].data = &(idx->vnum);
ibuild.c:		mob_page_a_data[5].data = &(idx->level);
ibuild.c:		mob_page_a_data[7].data = npc_race[idx->race];
ibuild.c:		mob_page_a_data[8].data = (char *) npc_sex[idx->sex];
ibuild.c:		mob_page_a_data[9].data = (int *) &(idx->gold);
ibuild.c:		mob_page_a_data[10].data = &(idx->alignment);
ibuild.c:		mob_page_a_data[11].data = &(idx->perm_str);
ibuild.c:		mob_page_a_data[12].data = &(idx->perm_int);
ibuild.c:		mob_page_a_data[13].data = &(idx->perm_wis);
ibuild.c:		mob_page_a_data[14].data = &(idx->perm_dex);
ibuild.c:		mob_page_a_data[15].data = &(idx->perm_con);
ibuild.c:		mob_page_a_data[16].data = &(idx->perm_cha);
ibuild.c:		mob_page_a_data[17].data = &(idx->ac);
ibuild.c:		mob_page_a_data[18].data = (idx->class == 0) ? check : space;
ibuild.c:		mob_page_a_data[19].data = (idx->class == 1) ? check : space;
ibuild.c:		mob_page_a_data[20].data = (idx->class == 2) ? check : space;
ibuild.c:		mob_page_a_data[21].data = (idx->class == 3) ? check : space;
ibuild.c:		mob_page_a_data[22].data = (idx->class == 4) ? check : space;
ibuild.c:		mob_page_a_data[23].data = (idx->class == 5) ? check : space;
ibuild.c:		mob_page_a_data[24].data = (idx->class == 6) ? check : space;
ibuild.c:		mob_page_a_data[25].data = (idx->class == 20) ? check : space;
ibuild.c:		mob_page_a_data[26].data = (idx->class == 21) ? check : space;
ibuild.c:		mob_page_a_data[27].data = (idx->class == 22) ? check : space;
ibuild.c:		mob_page_a_data[28].data = (idx->class == 23) ? check : space;
ibuild.c:		mob_page_a_data[29].data = (idx->class == 24) ? check : space;
ibuild.c:		mob_page_a_data[30].data = (idx->class == 25) ? check : space;
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;%dr", offset, ch->pagelen);
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:	sprintf(buf, "\E[%d;1H", (ch->pagelen));
ibuild.c:	write_to_buffer(ch->desc, buf, strlen(buf));
ibuild.c:		apply = -1;
ibuild.c:	for (aff = obj->first_affect; aff; aff = aff->next) {
ibuild.c:		if (aff->location == apply
ibuild.c:			&& aff->location >= APPLY_AFFECT
ibuild.c:			&& aff->location <= APPLY_SUSCEPTIBLE)) {
ibuild.c:				if (IS_SET(aff->modifier, bit))
ibuild.c:					switch (aff->location) {
ibuild.c:				total += aff->modifier;
ibuild.c:const char mob_page_a[] = ".----------[mob page a]-----[%10.10s]-------------------------------------.\r\n"
ibuild.c:"|-------'  b]Short:                                                          |\r\n"
ibuild.c:":---------------------+------------------------------------------------------'\r\n"
ibuild.c:"|--------------'      |---------'   |---------'                        |\r\n"
ibuild.c:":---------------------+-------------+----------------------------------'\r\n";
ibuild.c:const char mob_page_b[] = ".----------[mob page b]-----[%10.10s]--------------------------.\r\n"
ibuild.c:"|------------' d]StayArea  ( )  e]Wimpy      ( )  f]Pet      ( )  |\r\n"
ibuild.c:":-----------------------------------------------------------------:\r\n"
ibuild.c:"|------------' d]DetMag    ( )  e]DetHiddn   ( )  f]Hold     ( )  |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:const char mob_page_c[] = ".----------.----------[mob page c]-----[%10.10s]-------------------.\r\n"
ibuild.c:"|----------'  d]bash    ( )      e]stun ( )         f]acidBreath  ( ) |\r\n"
ibuild.c:":-----------.---------------------------------------------------------+-.\r\n"
ibuild.c:"|-----------'   d]shield     ( )   e]cureSerious ( )   f]dispelMagic( ) |\r\n"
ibuild.c:":-----------------------------------------------------------------------'\r\n";
ibuild.c:const char mob_page_d[] = ".----------------.----------[mob page d]-----[%10.10s]----------.\r\n"
ibuild.c:"|----------------' c]Wand             %%   d]Breath               %% |\r\n"
ibuild.c:":------------------------------------------------------------------^-----.\r\n"
ibuild.c:"|---------' k]Guts( )  l]Head( )  m]Feet( )  n]EyeStalks ( ) o]Fingers( )|\r\n"
ibuild.c:":---------.--------------------------------------------------------------:\r\n"
ibuild.c:"|---------'  d]DamRoll:[     ]       e]DamDice:[     ]D[     ]+[     ]   |\r\n"
ibuild.c:"`------------------------------------------------------------------------'\r\n";
ibuild.c:const char mob_page_e[] = ".---------.----------[mob page e]-----[%10.10s]----------------------.\r\n"
ibuild.c:"|---------' g]janitor( )    h]castMage  ( )        i]breathAcid     ( ) |\r\n"
ibuild.c:":-----------.-------------------------------------------------------.---+\r\n"
ibuild.c:"|-----------'    g]Sitting( )   h]Fighting( )    i]Standing     ( ) |\r\n"
ibuild.c:":--------.----------------------------------------------------------^----.\r\n"
ibuild.c:"|--------'   k]drain ... l]sleep ... m]charm ... n]hold  ... o]magic  ...|\r\n"
ibuild.c:":------------------------------------------------------------------------'\r\n";
ibuild.c:const char room_page_a[] = ".---------.--[rmenu page a]-------[%10.10s]-----------------------------.\r\n"
ibuild.c:"|--------'                                                                  |\r\n"
ibuild.c:":---------------------+-----------------------------------------------------'\r\n";
ibuild.c:const char room_page_b[] = ".---------.--[rmenu page b]-------[%10.10s]----------------.\r\n"
ibuild.c:"|---------' g]PetShop   ( )  h]Neutral  ( )    i]NoDrop   ( ) |\r\n"
ibuild.c:":-------------------------------------------------------------+--------.\r\n"
ibuild.c:"|----------' i]Dunno   ( )  j]Water_NoSwim( )             l]Field ( )  |\r\n"
ibuild.c:"`----------------------------------------------------------------------'\r\n";
ibuild.c:const char room_page_c[] = ".----------.-[rmenu page c]-------[%10.10s]--------------------------.\r\n"
ibuild.c:":-----------------------------------------------------------------------:\r\n"
ibuild.c:"|----------' e]Locked  ( )  f]PassProof( )  n:[#######################] |\r\n"
ibuild.c:"`-----------------------------------------------------------------------'\r\n";
ibuild.c:const char room_page_d[] = ".---------.--[rmenu page d]-------[%10.10s]---------------------------.\r\n"
ibuild.c:"|---------'   i]Fortress ( )  j]Castle  ( )  k]GuardHse( )  l]Temple  ( ) |\r\n"
ibuild.c:"|-]Stream ( ) _]Clearing( )   +]SnakePit( )  =]Tunnel  ( )  |]Path    ( ) |\r\n"
ibuild.c:"`-------------------------------------------------------------------------'\r\n";
ibuild.c:const char mob_page_f[] = ".---------.--[mmenu page f]-------[%10.10s]---------------------------.\r\n"
ibuild.c:"|---------'   i]Dwarf    ( )  j]Skeleton( )  k]Dragon  ( )  l]Canine  ( ) |\r\n"
ibuild.c:"|-]Slime  ( ) _]Kobold   ( )  +]Mule    ( )                               |\r\n"
ibuild.c:"`-------------------------------------------------------------------------'\r\n";
ibuild.c:const char obj_page_a[] = ".-------.----[omenu page a]-------[%10.10s]----------------------------.\r\n"
ibuild.c:"|-------'  b]Short:                                                       |\r\n"
ibuild.c:":---------------------------------------------+---------------------------'\r\n"
ibuild.c:"|---------'         ---------------           |---------'             |\r\n"
ibuild.c:"`---------------------------------------------+-----------------------'\r\n";
ibuild.c:const char obj_page_b[] = ".---------.--[omenu page b]-------[%10.10s]----------------------.\r\n"
ibuild.c:"|---------' g]potion ( )    h]pullchain ( )    i]weapon         ( ) |\r\n"
ibuild.c:"`-------------------------------------------------------------------'\r\n";
ibuild.c:const char obj_page_c[] = ".----------.-[omenu page c]-------[%10.10s]--------------------------.\r\n"
ibuild.c:"|----------'  g]INT :[   ]  h]save_para  :[    ]%%     i]level :[    ]   |\r\n"
ibuild.c:":--------.---------------------------------------------------------------.\r\n"
ibuild.c:"|--------'   k]drain ... l]sleep ... m]charm ... n]hold  ... o]magic  ...|\r\n"
ibuild.c:"`------------------------------------------------------------------------'\r\n";
ibuild.c:const char obj_page_d[] = ".-----------.[omenu page d]-------[%10.10s]--------------------.\r\n"
ibuild.c:"|-----------'  d]DetMag    ( )  e]DetHiddn   ( )  f]Hold     ( )  |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:const char obj_page_e[] = ".----------.-[omenu page e]-------[%10.10s]--------------------.\r\n"
ibuild.c:"|----------'   g]Hidden ( )  h]AntiNeut   ( )  i]Inventory ( )    |\r\n"
ibuild.c:":-----------------------------------------------------------------.\r\n"
ibuild.c:"|----------'   i]Arms ( )  j]Shield  ( )  k]About ( )  l]Waist( ) |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:".------------[mmenu help pg]------[%10.10s]--------------------.\r\n"
ibuild.c:"| PAGE     CONTENTS                        | --------------       |\r\n"
ibuild.c:"|------|-----------------------------------| clear:  clear screen |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:".------------[rmenu help pg]------[%10.10s]--------------------.\r\n"
ibuild.c:"| PAGE     CONTENTS                        | --------------       |\r\n"
ibuild.c:"|------|-----------------------------------| clear:  clear screen |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:".------------[omenu help pg]------[%10.10s]--------------------.\r\n"
ibuild.c:"| PAGE     CONTENTS                        | --------------       |\r\n"
ibuild.c:"|------|-----------------------------------| clear:  clear screen |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ibuild.c:const char control_page_a[] = ".--------.---[cmenu page a]-----.[%10.10s]-------------------------------.\r\n"
ibuild.c:"|--------'         |------------'            	                            |\r\n"
ibuild.c:"`---------------------------------------------------------------------------'\r\n";
ibuild.c:".------------[cmenu help pg]------[%10.10s]--------------------.\r\n"
ibuild.c:"| PAGE     CONTENTS                        | --------------       |\r\n"
ibuild.c:"|------|-----------------------------------| clear:  clear screen |\r\n"
ibuild.c:"`-----------------------------------------------------------------'\r\n";
ice.c: * IMC2 - an inter-mud communications protocol
ice.c: * ice.c: IMC-channel-extensions (ICE) common code
ice.c:/* see if someone can talk on a channel - lots of string stuff here! */
ice.c:/* added compress policy - shogar - 1/29/2000 */
ice.c:    if (c->policy != ICE_PRIVATE && c->policy != ICE_CPRIVATE)
ice.c:    if (!strcasecmp(ice_mudof(c->name), imc_name))
ice.c:    /* Private channel - can only hear if someone with the right mud name is
ice.c:    p=imc_getarg(c->invited, arg, IMC_NAME_LENGTH);
ice.c:    p=imc_getarg(c->excluded, arg, IMC_NAME_LENGTH);
ice.c:  if (!strcasecmp(c->owner, who) ||
ice.c:      imc_hasname(c->operators, who))
ice.c:/* added compress copen policy - shogar - 1/29/2000 */
ice.c:  if (c->policy == ICE_OPEN || c->policy == ICE_COPEN)
ice.c:    if ((imc_hasname(c->excluded, who) ||
ice.c:	 imc_hasname(c->excluded, imc_mudof(who))) &&
ice.c:	!imc_hasname(c->invited, who) &&
ice.c:	!imc_hasname(c->invited, imc_mudof(who)))
ice.c:  if ((imc_hasname(c->invited, who) ||
ice.c:       imc_hasname(c->invited, imc_mudof(who))) &&
ice.c:      !imc_hasname(c->excluded, who) &&
ice.c:      !imc_hasname(c->excluded, imc_mudof(who)))
ice.c:  while (*fullname && *fullname != ':' && count < IMC_PNAME_LENGTH-1)
icec-mercbase.c: * IMC2 - an inter-mud communications protocol
icec-mercbase.c: * icec-mercbase.c: IMC-channel-extensions (ICE) Merc-specific client code
icec-mercbase.c:#include "imc-mercbase.h"
icec-mercbase.c:#include "icec-mercbase.h"
icec-mercbase.c:  for (c=saved_channel_list; c; c=c->next)
icec-mercbase.c:    ice_channel *current=icec_findlchannel(c->local->name);
icec-mercbase.c:      imc_strfree(c->name);
icec-mercbase.c:      imc_strfree(c->local->format1);
icec-mercbase.c:      imc_strfree(c->local->format2);
icec-mercbase.c:      c->name=imc_strdup(current->name);
icec-mercbase.c:      c->local->format1=imc_strdup(current->local->format1);
icec-mercbase.c:      c->local->format2=imc_strdup(current->local->format2);
icec-mercbase.c:      c->local->level=current->local->level;
icec-mercbase.c:	    c->name, c->local->name, c->local->level,
icec-mercbase.c:	    c->local->format1,
icec-mercbase.c:	    c->local->format2);
icec-mercbase.c:    c->local=imc_malloc(sizeof(*c->local));
icec-mercbase.c:    c->name=imc_strdup(buf1);
icec-mercbase.c:    c->local->name=imc_strdup(buf2);
icec-mercbase.c:    c->local->format1=imc_strdup(buf3);
icec-mercbase.c:    c->local->format2=imc_strdup(buf4);
icec-mercbase.c:    c->local->level=l;
icec-mercbase.c:    c->next=saved_channel_list;
icec-mercbase.c:		  c->name, c->local->name);
icec-mercbase.c:  for (c=icec_channel_list; c; c=c->next)
icec-mercbase.c:    if (c->local && !str_cmp(c->local->name, (char *)name))
icec-mercbase.c:    if (c->local && !str_cmp(c->local->name, name))
icec-mercbase.c:  if (c->local)
icec-mercbase.c:    imc_strfree(c->local->name);
icec-mercbase.c:    imc_strfree(c->local->format1);
icec-mercbase.c:    imc_strfree(c->local->format2);
icec-mercbase.c:    imc_free(c->local, sizeof(icec_lchannel));
icec-mercbase.c:    c->local=NULL;
icec-mercbase.c:    /* flag for its there but might be inactive - shogar 2/22/2000 */
icec-mercbase.c:          if (!strcasecmp(saved->local->name, chan))
icec-mercbase.c:              imc_strfree(saved->name);
icec-mercbase.c:              *last=saved->next;
icec-mercbase.c:      /* added break so saved would work in next if - shogar 2/25/200 */
icec-mercbase.c:              last=&saved->next;
icec-mercbase.c:/* added braces to else so if saved fall thru and save file - shogar 2/25/2000*/
icec-mercbase.c:      if (c->local)
icec-mercbase.c:      c->local=imc_malloc(sizeof(*c->local));
icec-mercbase.c:      c->local->name=imc_strdup(arg1);
icec-mercbase.c:      c->local->level=LEVEL_IMMORTAL;
icec-mercbase.c:      c->local->format1=imc_strdup(color_itom(buf));
icec-mercbase.c:      c->local->format2=imc_strdup(color_itom(buf));
icec-mercbase.c:      imc_addname(&ICE_LISTEN(ch), c->local->name);
icec-mercbase.c:      newc->name=imc_strdup(c->name);
icec-mercbase.c:      newc->local=imc_malloc(sizeof(*newc->local));
icec-mercbase.c:      newc->local->name=imc_strdup(arg1);
icec-mercbase.c:      newc->local->level=LEVEL_IMMORTAL;
icec-mercbase.c:      newc->local->format1=imc_strdup(c->local->format1);
icec-mercbase.c:      newc->local->format2=imc_strdup(c->local->format2);
icec-mercbase.c:      newc->next=saved_channel_list;
icec-mercbase.c:  if (!c->local)
icec-mercbase.c:      imc_strfree(c->local->name);
icec-mercbase.c:      c->local->name=imc_strdup(arg1);
icec-mercbase.c:          imc_to_char("Bad format - must contain exactly 2 %s's.\n\r", ch);
icec-mercbase.c:      imc_strfree(c->local->format1);
icec-mercbase.c:      c->local->format1=imc_strdup(a1);
icec-mercbase.c:          imc_to_char("Bad format - must contain exactly 2 %s's.\n\r", ch);
icec-mercbase.c:      imc_strfree(c->local->format2);
icec-mercbase.c:      c->local->format2=imc_strdup(a1);
icec-mercbase.c:      c->local->level=atoi(arg1);
icec-mercbase.c:    set_char_color(AT_GREY,ch); /* pager color fix - shogar */
icec-mercbase.c:	/* for compress policy - shogar - 1/29/2000 */
icec-mercbase.c:	switch(c->policy)
icec-mercbase.c:			polly = "~gOpen -- Open to all muds~!";
icec-mercbase.c:			polly = "~GCOpen -- Compressed Open channel~!";
icec-mercbase.c:			polly = "~RClosed -- Sent to all muds but only invited people can talk or listen~!";
icec-mercbase.c:			polly = "~yPrivate -- Only invited people can talk or listen~!";
icec-mercbase.c:			polly = "~YCPrivate -- Compressed Private channel~!";
icec-mercbase.c:			polly = "~CUnknown -- We don't know what this is~!";
icec-mercbase.c:                c->name,
icec-mercbase.c:                c->local ? c->local->name : "",
icec-mercbase.c:                c->local ? c->local->format1 : "",
icec-mercbase.c:                c->local ? c->local->format2 : "",
icec-mercbase.c:                c->local ? c->local->level : 0,
icec-mercbase.c:                c->owner,
icec-mercbase.c:                c->operators,
icec-mercbase.c:                c->invited,
icec-mercbase.c:                c->excluded);
icec-mercbase.c:     - shogar - /1/26/2000 */
icec-mercbase.c:    sprintf(buf, "~c%-15s ~C%-15s ~B%-15s ~b%-7s ~!%s\n\r", "Name", "Local name", "Owner",
icec-mercbase.c:	/* for compress policy - shogar - 1/29/2000 */
icec-mercbase.c:    for (c=icec_channel_list; c; c=c->next)
icec-mercbase.c:	switch(c->policy)
icec-mercbase.c:                "~c%-15.15s ~C%-*.*s ~B%-15.15s ~b%7d ~!%s\n\r",
icec-mercbase.c:                c->name,
icec-mercbase.c:                c->local ? 15 : 17,
icec-mercbase.c:                c->local ? 15 : 17,
icec-mercbase.c:                c->local ? c->local->name : "~Y(not local)  ",
icec-mercbase.c:                c->owner,
icec-mercbase.c:                c->local ? c->local->level : 0,
icec-mercbase.c:    for (c=saved_channel_list; c; c=c->next)
icec-mercbase.c:        if (!icec_findchannel(c->name))
icec-mercbase.c:                    "~c%-15.15s ~C%-15.15s ~B%-15.15s ~!%-7s ~g(inactive)~!\n\r",
icec-mercbase.c:                    c->name,
icec-mercbase.c:                    c->local ? c->local->name : "~Y(not local)",
icec-mercbase.c:  if (!c->local)
icec-mercbase.c:  sprintf(buf, emote ? c->local->format2 : c->local->format1, from, color_itom(txt));
icec-mercbase.c:    dnext=d->next;
icec-mercbase.c:    ch=d->original ? d->original : d->character;
icec-mercbase.c:	get_trust(ch) < c->local->level ||
icec-mercbase.c:	!imc_hasname(ICE_LISTEN(ch), c->local->name))
icec-mercbase.c:    if (!c || !c->local)
icec-mercbase.c:    if (c->local->level > get_trust(ch))
icec-mercbase.c:    if (!imc_hasname(ICE_LISTEN(ch), c->local->name))
icec-mercbase.c:            /* Forgot a \n\r here -- Kratas */
icec-mercbase.c:        victim->name=STRALLOC(arg);
icec-mercbase.c:        victim->short_descr=victim->name;
icec-mercbase.c:        victim->in_room=ch->in_room;
icec-mercbase.c:        if ( arg[0] == '\0' && social->others_no_arg)
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_no_arg, NULL, ch, NULL, victim,0));
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_no_arg, NULL, ch, NULL, victim));
icec-mercbase.c:            buf2[strlen(buf2) - 2]=0;
icec-mercbase.c:         rwhois - shogar
icec-mercbase.c:        	STRFREE(victim->name);
icec-mercbase.c:        else if(victim==ch && social->others_auto)
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_no_arg, NULL, ch, NULL, victim,0));
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_auto, victim, ch, NULL, victim));
icec-mercbase.c:            buf2[strlen(buf2) - 2]=0;
icec-mercbase.c:        else if(social->others_found)
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_no_arg, NULL, ch, NULL, victim,0));
icec-mercbase.c:            strcpy(buf2,(char *) act_string(social->others_found, victim, ch, NULL, victim));
icec-mercbase.c:            buf2[strlen(buf2) - 2]=0;
icec-mercbase.c:        STRFREE(victim->name);
icec-mercbase.c:        icec_sendmessage(c, ch->name, color_mtoi(color_itom(argument)), emote);
icec-mercbase.c:  if (!c->local)
icec-mercbase.c:    for (saved=saved_channel_list; saved; saved=saved->next)
icec-mercbase.c:      if (!strcasecmp(saved->name, c->name))
icec-mercbase.c:	c->local=imc_malloc(sizeof(icec_lchannel));
icec-mercbase.c:	c->local->name=imc_strdup(saved->local->name);
icec-mercbase.c:	c->local->format1=imc_strdup(saved->local->format1);
icec-mercbase.c:	c->local->format2=imc_strdup(saved->local->format2);
icec-mercbase.c:	c->local->level=saved->local->level;
icec-mercbase.c:  for ( channel= icec_channel_list; channel; channel= channel->next )
icec-mercbase.c:    markfn( channel->name );
icec-mercbase.c:    markfn( channel->owner );
icec-mercbase.c:    markfn( channel->operators );
icec-mercbase.c:    markfn( channel->invited );
icec-mercbase.c:    markfn( channel->excluded );
icec-mercbase.c:    markfn( channel->active );
icec-mercbase.c:    if ( channel->local != NULL )
icec-mercbase.c:      markfn( channel->local->name );
icec-mercbase.c:      markfn( channel->local->format1 );
icec-mercbase.c:      markfn( channel->local->format2 );
icec-mercbase.c:  for ( channel= saved_channel_list; channel; channel= channel->next )
icec-mercbase.c:    markfn( channel->name );
icec-mercbase.c:    markfn( channel->owner );
icec-mercbase.c:    markfn( channel->operators );
icec-mercbase.c:    markfn( channel->invited );
icec-mercbase.c:    markfn( channel->excluded );
icec-mercbase.c:    markfn( channel->active );
icec-mercbase.c:    if ( channel->local != NULL )
icec-mercbase.c:      markfn( channel->local->name );
icec-mercbase.c:      markfn( channel->local->format1 );
icec-mercbase.c:      markfn( channel->local->format2 );
icec.c: * IMC2 - an inter-mud communications protocol
icec.c: * icec.c: IMC-channel-extensions (ICE) client code
icec.c:  for (c=icec_channel_list; c; c=c->next)
icec.c:    if (!strcasecmp(c->name, name))
icec.c:		imc_strfree(ic->name);
icec.c:		imc_strfree(ic->owner);
icec.c:		imc_strfree(ic->operators);
icec.c:		imc_strfree(ic->invited);
icec.c:		imc_strfree(ic->excluded);
icec.c:		icec_channel_list=ic->next;
icec.c:    if (!strcasecmp(p->type, "ice-msg-r"))
icec.c:        icec_recv_msg_r(p->from,
icec.c:                        imc_getkey(&p->data, "realfrom", ""),
icec.c:                        imc_getkey(&p->data, "channel", ""),
icec.c:                        imc_getkey(&p->data, "text", ""),
icec.c:                        imc_getkeyi(&p->data, "emote", 0));
icec.c:    else if( !strcasecmp( p->type, "ice-comp-msg-r" ) )
icec.c:        icec_recv_msg_comp_r( p->from,
icec.c:                              imc_getkey( &p->data, "realfrom", "" ),
icec.c:                              imc_getkey( &p->data, "channel", "" ),
icec.c:                              imc_getkeyi( &p->data, "complen", 0 ),
icec.c:                              imc_getkey( &p->data, "text", "" ),
icec.c:                              imc_getkeyi( &p->data, "emote", 0 ));
icec.c:    else if (!strcasecmp(p->type, "ice-msg-b"))
icec.c:        icec_recv_msg_b(p->from,
icec.c:                        imc_getkey(&p->data, "channel", ""),
icec.c:                        imc_getkey(&p->data, "text", ""),
icec.c:                        imc_getkeyi(&p->data, "emote", 0));
icec.c:    else if( !strcasecmp( p->type, "ice-comp-msg-b" ) )
icec.c:        icec_recv_msg_comp_b( p->from,
icec.c:                              imc_getkey( &p->data, "channel", "" ),
icec.c:                              imc_getkeyi( &p->data, "complen", 0 ),
icec.c:                              imc_getkey( &p->data, "text", "" ),
icec.c:                              imc_getkeyi( &p->data, "emote", 0 ));
icec.c:    else if (!strcasecmp(p->type, "ice-update"))
icec.c:        icec_recv_update(p->from,
icec.c:                         imc_getkey(&p->data, "channel", ""),
icec.c:                         imc_getkey(&p->data, "owner", ""),
icec.c:                         imc_getkey(&p->data, "operators", ""),
icec.c:                         imc_getkey(&p->data, "policy", ""),
icec.c:                         imc_getkey(&p->data, "invited", "" ),
icec.c:                         imc_getkey(&p->data, "excluded", ""));
icec.c:    else if (!strcasecmp(p->type, "ice-destroy"))
icec.c:        icec_recv_destroy(p->from, imc_getkey(&p->data, "channel", ""));
icec.c:  if (!c->local || (c->policy!=ICE_PRIVATE && c->policy != ICE_CPRIVATE))
icec.c:  /*  we assume that anything redirected is automatically audible - since we
icec.c:    if (!c->local || (c->policy!=ICE_PRIVATE && c->policy !=ICE_CPRIVATE))
icec.c:    /*  we assume that anything redirected is automatically audible - since we
icec.c:  if (!c->local || c->policy==ICE_PRIVATE || c->policy == ICE_CPRIVATE)
icec.c:    if (!c->local || c->policy==ICE_PRIVATE || c->policy == ICE_CPRIVATE)
icec.c:    c->name=imc_strdup(chan);
icec.c:    c->owner=imc_strdup(owner);
icec.c:    c->operators=imc_strdup(operators);
icec.c:    c->invited=imc_strdup(invited);
icec.c:    c->excluded=imc_strdup(excluded);
icec.c:    c->local=NULL;
icec.c:    c->active=NULL;
icec.c:    c->next=icec_channel_list;
icec.c:    imc_strfree(c->name);
icec.c:    imc_strfree(c->owner);
icec.c:    imc_strfree(c->operators);
icec.c:    imc_strfree(c->invited);
icec.c:    imc_strfree(c->excluded);
icec.c:    c->name=imc_strdup(chan);
icec.c:    c->owner=imc_strdup(owner);
icec.c:    c->operators=imc_strdup(operators);
icec.c:    c->invited=imc_strdup(invited);
icec.c:    c->excluded=imc_strdup(excluded);
icec.c:    c->policy=ICE_OPEN;
icec.c:    c->policy=ICE_CLOSED;
icec.c:    c->policy=ICE_COPEN;
icec.c:    c->policy=ICE_CPRIVATE;
icec.c:    c->policy=ICE_PRIVATE;
icec.c:  if (c->local && !ice_audible(c, imc_name))
icec.c:/* took out for 2.00 - shogar - 1/25/2000 */
icec.c:    icec_channel_list=c->next;
icec.c:    for (p=icec_channel_list; p; p=p->next)
icec.c:      if (p->next == c)
icec.c:      p->next=c->next;
icec.c:  imc_strfree(c->name);
icec.c:  imc_strfree(c->owner);
icec.c:  imc_strfree(c->operators);
icec.c:  imc_strfree(c->invited);
icec.c:  imc_strfree(c->excluded);
icec.c:      strcpy(chan, c->name);
icec.c:  strcpy(out.type, "ice-cmd");
icec.c:/* Updated function. Can now compress! Woo! -- Kratas */
icec.c:    /* commpress policy - shogar - 1/29/2000 */
icec.c:    if(c->policy == ICE_COPEN || c->policy == ICE_CPRIVATE)
icec.c:    imc_addkey(&out.data, "channel", c->name);
icec.c:    if (c->policy == ICE_PRIVATE || c->policy == ICE_CPRIVATE)
icec.c:        strcpy(out.type, compressit ? "ice-comp-msg-p" : "ice-msg-p");
icec.c:        sprintf(out.to, "ICE@%s", ice_mudof(c->name));
icec.c:        strcpy(out.type, compressit ? "ice-comp-msg-b" : "ice-msg-b");
icec.c:  strcpy(out.type, "ice-refresh");
icec.c:    icec_channel_list=c->next;
icec.c:    for (p=icec_channel_list; p; p=p->next)
icec.c:      if (p->next == c)
icec.c:      p->next=c->next;
icec.c:  imc_strfree(c->name);
icec.c:  imc_strfree(c->owner);
icec.c:  imc_strfree(c->operators);
icec.c:  imc_strfree(c->invited);
icec.c:  imc_strfree(c->excluded);
iced.c: * IMC2 - an inter-mud communications protocol
iced.c: * iced.c: IMC-channel-extensions (ICE) daemon code
iced.c:/* make these  global and move to imc-interp for 2.00 - shogar - 1/25/2000 */
iced.c:  -1,    /* level */
iced.c:   /* added compress policy - shogar - 1/29/2000 */
iced.c:  if (c->policy != ICE_PRIVATE && c->policy != ICE_CPRIVATE)
iced.c:    imc_strfree(c->active);
iced.c:    c->active=imc_strdup("");
iced.c:  p=imc_getarg(c->invited, arg, IMC_NAME_LENGTH);
iced.c:  p=imc_getarg(c->operators, arg, IMC_NAME_LENGTH);
iced.c:  if (!imc_hasname(buf, imc_mudof(c->owner)))
iced.c:    strcat(buf, imc_mudof(c->owner));
iced.c:  imc_strfree(c->active);
iced.c:  c->active=imc_strdup(buf);
iced.c:  for (c=iced_channel_list; c; c=c->next)
iced.c:	    c->name, c->owner, c->policy,
iced.c:	    c->operators[0] ? c->operators : "none",
iced.c:	    c->invited[0] ? c->invited : "none",
iced.c:	    c->excluded[0] ? c->excluded : "none");
iced.c:    c->local=NULL;
iced.c:    c->name=imc_strdup(buf1);
iced.c:    c->owner=imc_strdup(buf2);
iced.c:    c->operators=imc_strdup(buf3);
iced.c:    c->invited=imc_strdup(buf4);
iced.c:    c->excluded=imc_strdup(buf5);
iced.c:    c->active=imc_strdup("");
iced.c:    c->policy=p;
iced.c:    c->next=iced_channel_list;
iced.c:	/* for compress policy - shogar - 1/29/2000 */
iced.c:	switch(c->policy)
iced.c:		  c->name,
iced.c:                  c->owner);
iced.c:  for (c=iced_channel_list; c; c=c->next)
iced.c:    if (!strcasecmp(c->name, name))
iced.c:  vsnprintf(buf+strlen(buf), IMC_DATA_LENGTH - 1, fmt, ap);
iced.c:  p=imc_getarg(c->active, arg, IMC_NAME_LENGTH);
iced.c:      sprintf(out->to, "*@%s", arg);
iced.c:  vsnprintf(buf+strlen(buf), (IMC_DATA_LENGTH-strlen(buf)) - 1, fmt, ap);
iced.c:   /* added compress policy - shogar - 1/29/2000 */
iced.c:  if (c->policy == ICE_PRIVATE || c->policy == ICE_CPRIVATE)
iced.c:    strcpy(out.type, "ice-msg-r");
iced.c:    imc_addkey(&out.data, "channel", c->name);
iced.c:    strcpy(out.type, "ice-msg-b");
iced.c:    imc_addkey(&out.data, "channel", c->name);
iced.c:    if (!strcasecmp(p->type, "ice-cmd"))
iced.c:        iced_recv_command(p->from,
iced.c:                          imc_getkey(&p->data, "channel", ""),
iced.c:                          imc_getkey(&p->data, "command", ""),
iced.c:                          imc_getkey(&p->data, "data", ""), 0);
iced.c:    else if (!strcasecmp(p->type, "ice-msg-p"))
iced.c:        iced_recv_msg_p(p->from,
iced.c:                        imc_getkey(&p->data, "channel", ""),
iced.c:                        imc_getkey(&p->data, "text", ""),
iced.c:                        imc_getkeyi(&p->data, "emote", 0));
iced.c:    else if( !strcasecmp( p->type, "ice-comp-msg-p" ) )
iced.c:        iced_recv_msg_comp_p( p->from,
iced.c:                              imc_getkey( &p->data, "channel", "" ),
iced.c:                              imc_getkeyi( &p->data, "complen", 0 ),
iced.c:                              imc_getkey( &p->data, "text", "" ),
iced.c:                              imc_getkeyi( &p->data, "emote", 0 ));
iced.c:    else if (!strcasecmp(p->type, "ice-msg-b"))
iced.c:        iced_recv_msg_b(p->from,
iced.c:                        imc_getkey(&p->data, "channel", ""));
iced.c:    else if( !strcasecmp( p->type, "ice-comp-msg-b" ) )
iced.c:        iced_recv_msg_b( p->from,
iced.c:                         imc_getkey( &p->data, "channel", "" ) );
iced.c:     for 2.00 - shogar - 1/26/2000
iced.c:     else if (!strcasecmp(p->type, "ice-refresh"))
iced.c:     iced_recv_refresh(p->from, imc_getkey(&p->data, "channel", "*"));
iced.c:    else if (!strcasecmp(p->type, "ice-join-request"))
iced.c:        iced_recv_join(p->from, imc_getkey(&p->data, "channel", ""));
iced.c:    else if (!strcasecmp(p->type, "ice-leave-request"))
iced.c:        iced_recv_leave(p->from, imc_getkey(&p->data, "channel", ""));
iced.c:/* gone for 2.00 - shogar - 1/26/2000 */
iced.c:  else if (!strcasecmp(from, c->owner))
iced.c:  else if (imc_hasname(c->operators, from))
iced.c:  strcpy(out.type, "ice-destroy");
iced.c:        iced_channel_list=c->next;
iced.c:        for (p=iced_channel_list; p; p=p->next)
iced.c:            if (p->next == c)
iced.c:            imc_logerror("%s not in channel list?!", c->name);
iced.c:            p->next=c->next;
iced.c:        next_refresh=c->next;
iced.c:        next_list=c->next;
iced.c:    imc_logstring("%s destroys channel %s", from, c->name);
iced.c:    iced_gannounce("Channel %s has been destroyed by %s.", c->name, from);
iced.c:    // Moved to up here to fix a bug -- Kratas
iced.c:    iced_send_destroy(c->name, NULL);
iced.c:    imc_strfree(c->name);
iced.c:    imc_strfree(c->owner);
iced.c:    imc_strfree(c->operators);
iced.c:    imc_strfree(c->invited);
iced.c:    imc_strfree(c->excluded);
iced.c:    imc_strfree(c->active);
iced.c:        c->policy=ICE_OPEN;
iced.c:        iced_gannounce("%s is now policy: open.", c->name);
iced.c:    /* added compress policy - shogar - 1/29/2000 */
iced.c:        c->policy=ICE_COPEN;
iced.c:        iced_gannounce("%s is now policy: open.", c->name);
iced.c:        c->policy=ICE_CLOSED;
iced.c:        iced_gannounce("%s is now policy: closed.", c->name);
iced.c:        c->policy=ICE_PRIVATE;
iced.c:        iced_gannounce("%s is now policy: private.", c->name);
iced.c:    /* added compress policy - shogar - 1/29/2000 */
iced.c:        c->policy=ICE_CPRIVATE;
iced.c:        iced_gannounce("%s is now policy: private.", c->name);
iced.c:  if (imc_hasname(c->operators, data))
iced.c:  imc_addname(&c->operators, arg);
iced.c:  sprintf(buf, "%s is now an operator of %s.", arg, c->name);
iced.c:  if (!imc_hasname(c->operators, arg))
iced.c:  imc_removename(&c->operators, arg);
iced.c:  sprintf(buf, "%s is no longer an operator of %s.", arg, c->name);
iced.c:  if (imc_hasname(c->invited, arg))
iced.c:  imc_addname(&c->invited, arg);
iced.c:  sprintf(buf, "%s is now invited to %s.", arg, c->name);
iced.c:  if (!imc_hasname(c->invited, arg))
iced.c:  imc_removename(&c->invited, arg);
iced.c:  sprintf(buf, "%s is no longer invited on %s.", arg, c->name);
iced.c:  if (imc_hasname(c->excluded, arg))
iced.c:  imc_addname(&c->excluded, arg);
iced.c:  sprintf(buf, "%s is now excluded from %s.", arg, c->name);
iced.c:  if (!imc_hasname(c->excluded, arg))
iced.c:  imc_removename(&c->excluded, arg);
iced.c:  sprintf(buf, "%s is no longer excluded from %s.", arg, c->name);
iced.c:  p->name=imc_strdup(cname);
iced.c:  p->owner=imc_strdup(from);
iced.c:  p->operators=imc_strdup("");
iced.c:  p->invited=imc_strdup("");
iced.c:  p->excluded=imc_strdup("");
iced.c:  p->active=imc_strdup("");
iced.c:  p->policy=ICE_CLOSED;
iced.c:  p->next=iced_channel_list;
iced.c:  imc_logstring("%s creates channel %s", from, p->name);
iced.c:  iced_gannounce("Channel %s created by %s.", p->name, from);
iced.c:        /* 2.00 fix changed from ev_chan_list to ev_refresh - shogar - 
iced.c:	imc_send_tell(&iced_char, from, "Refresh already in progress - try again later.", 1);
iced.c:/* private message - for forwarding */
iced.c:   /* added compress policy - shogar - 1/29/2000 */
iced.c:  if (c->policy != ICE_PRIVATE && c->policy != ICE_CPRIVATE)
iced.c:  strcpy(out.type, "ice-msg-r"); /* redirect */
iced.c:   /* added compress policy - shogar - 1/29/2000 */
iced.c:    if (c->policy != ICE_PRIVATE && c->policy != ICE_CPRIVATE)
iced.c:    strcpy(out.type, "ice-comp-msg-r"); /* redirect */
iced.c:/* broadcast message - complain if its a private channel */
iced.c:   /* added compress policy - shogar - 1/29/2000 */
iced.c:  if (c->policy == ICE_PRIVATE || c->policy == ICE_CPRIVATE)
iced.c:        /* 2.00 fix changed from ev_chanlist to refresh - shogar - 1/25/2000 */
iced.c:  if (imc_hasname(c->active, mud))
iced.c:  imc_addname(&c->active, mud);
iced.c:  if (!imc_hasname(c->active, mud))
iced.c:  imc_removename(&c->active, mud);
iced.c:  strcpy(out.type, "ice-update");
iced.c:  imc_addkey(&out.data, "channel", c->name);
iced.c:  imc_addkey(&out.data, "owner", c->owner);
iced.c:  imc_addkey(&out.data, "operators", c->operators);
iced.c:	/* for compress policy - shogar - 1/29/2000 */
iced.c:	switch(c->policy)
iced.c:  imc_addkey(&out.data, "invited", c->invited);
iced.c:  imc_addkey(&out.data, "excluded", c->excluded);
iced.c:/* not using anymore for 2.00 - shogar - 1/25/2000 */
iced.c:  imc_cancel_event(ev_iced_chanlist,NULL); /* 2.00 fix - shogar - 1/25/2000 */
iced.c:  next_list=next_list->next;
iced.c:/* removed so it doesnt recycle automatically for 2.00 - shogar - 1/25/2000 */
iced.c:  next_refresh=next_refresh->next;
iced.c:/* copied this down here for 2.00 , avoid useless event  - shogar - 1/25/2000 */
ident.c: * -----------------------------------------------------------|   (0...0)   *
ident.c: * -----------------------------------------------------------|    {o o}    *
ident.c: *------------------------------------------------------------------------  *
ident.c:  for (a = first_auth; a; a = a->next)
ident.c:    if (a->state != AS_TOOPEN)
ident.c:      *md = UMAX(*md, a->afd);
ident.c:      FD_SET(a->afd, ins);
ident.c:      FD_SET(a->afd, outs);
ident.c:      FD_SET(a->afd, excs);
ident.c:    a_next = a->next;
ident.c:    ch = (a->d->original ? a->d->original : a->d->character);
ident.c:    if (a->state == AS_TOOPEN)
ident.c:    else if (FD_ISSET(a->afd, excs))
ident.c:      FD_CLR(a->afd, ins);
ident.c:      FD_CLR(a->afd, outs);
ident.c:          (ch ? ch->name : "(unknown)"), a->d->host);
ident.c:      STRFREE(a->d->user);
ident.c:      a->d->user = STRALLOC("Exception");
ident.c:    else if (FD_ISSET(a->afd, ins) && a->state == AS_TOREAD)
ident.c:        FD_CLR(a->afd, outs);
ident.c:    else if (FD_ISSET(a->afd, outs) && a->state == AS_TOSEND)
ident.c:      if (a->state != AS_TOOPEN)
ident.c:        closesocket(a->afd);
ident.c:  for (ws = (*s)-1; isspace(*ws); --ws)
ident.c:  bug(bs, (ch ? ch->name : "(unknown)"), a->d->host); \
ident.c:  STRFREE(a->d->user); \
ident.c:  a->d->user = STRALLOC(us); \
ident.c:  n = recv(a->afd, readbuf, sizeof(readbuf)-10, 0);
ident.c:     feel like checking every single one.. -- Alty */
ident.c:  sprintf(system, "%.*s", (int)sizeof(system)-1, break_arg(&s, ':'));
ident.c:  sprintf(user, "%.*s", (int)sizeof(user)-1, break_arg(&s, ' '));
ident.c:          user, a->d->host, (ch ? ch->name : "(unknown)"));
ident.c:  STRFREE(a->d->user);
ident.c:  a->d->user = STRALLOC(user);
ident.c:  sprintf(authbuf, "%u , %u\r\n", (unsigned int)ntohs(a->them.sin_port),
ident.c:          (unsigned int)ntohs(a->us.sin_port));
ident.c:  n = send(a->afd, authbuf, strlen(authbuf), 0);
ident.c:    if (!--a->times)
ident.c:         -- Alty */
ident.c:      STRFREE(a->d->user);
ident.c:      a->d->user = STRALLOC("(broken pipe)");
ident.c:    closesocket(a->afd);
ident.c:    a->state = AS_TOOPEN;
ident.c:    if (a->times == sysdata.ident_retries-1)
ident.c:      STRFREE(a->d->user);
ident.c:      a->d->user = STRALLOC("(pipe breaking)");
ident.c:  a->state = AS_TOREAD;
ident.c:  a->afd = socket(AF_INET, SOCK_STREAM, 0);
ident.c:  if (a->afd < 0)
ident.c:          (ch ? ch->name : "(unknown)"), a->d->host);
ident.c:      --a->times;
ident.c:  if (ioctlsocket(a->afd, FIONBIO, &arg) == -1 )
ident.c:  if (fcntl(a->afd, F_SETFL, FNDELAY) < 0)
ident.c:  sock = a->them;
ident.c:    sock.sin_port = serv->s_port;
ident.c:  if (connect(a->afd, (struct sockaddr *)&sock, sizeof(sock)) < 0
ident.c:  a->state = AS_TOSEND;
ident.c:  bug(bs, (ch ? ch->name : "(unknown)"), d->host); \
ident.c:  STRFREE(d->user); \
ident.c:  d->user = STRALLOC(us); \
ident.c:  CHAR_DATA *ch = (d->original ? d->original : d->character);
ident.c:  /* To stop an uninitialized memory read --Shaddai */
ident.c:    STRFREE(d->user);
ident.c:    d->user = STRALLOC("(ident not active)");
ident.c:  if (getsockname(d->descriptor, (struct sockaddr *)&us, &ulen) < 0)
ident.c:  if (getpeername(d->descriptor, (struct sockaddr *)&them, &tlen) < 0)
ident.c:  a->d = d;
ident.c:  a->state = AS_TOOPEN;
ident.c:  a->times = sysdata.ident_retries;
ident.c:  a->us = us;
ident.c:  a->them = them;
ident.c:  STRFREE(d->user);
ident.c:  d->user = STRALLOC("(in progress)");
ident.c:  for (a = first_auth; a; a = a->next)
ident.c:    if (a->d == d)
ident.c:      if (a->state != AS_TOOPEN)
ident.c:        closesocket(a->afd);
ident.c:      STRFREE(d->user);
ident.c:      d->user = STRALLOC("(killed)");
imc-color.c: * be placed in imc-config.c if people wanted it. Up to you all.
imc-color.c: * See imc-color.h for more info.
imc-color.c:#include "imc-mercdefs.h"
imc-color.c:#include "imc-mercbase.h"
imc-color.c:                 "\tGrey     : %c%-2s\tRed       : %c%-2s\tGreen       : %c%-2s\n\r"
imc-color.c:                 "\tBrown    : %c%-2s\tBlue      : %c%-2s\tMagenta     : %c%-2s\n\r"
imc-color.c:                 "\tCyan     : %c%-2s\tBlack     : %c%-2s\tYellow      : %c%-2s\n\r"
imc-color.c:                 "\tWhite    : %c%-2s\tNormal    : %c%-2s\tDark Grey   : %c%-2s\n\r"
imc-color.c:                 "\tBold Blue: %c%-2s\tBold Green: %c%-2s\tBold Magenta: %c%-2s\n\r"
imc-color.c:                 "\tBold Cyan: %c%-2s\tBold Red  : %c%-2s\tBold        : %c%-2s\n\r",
imc-config.c: * IMC2 - an inter-mud communications protocol
imc-config.c: * imc-config.c: configuration manipulation
imc-config.c: * - config loading/saving (imc_readconfig, imc_saveconfig)
imc-config.c: * - ignores loading/saving (imc_readignores, imc_saveignores)
imc-config.c: * - config editing/displaying (imc_command)
imc-config.c: * - ignore editing/displaying (imc_ignore)
imc-config.c:/*  USEIOCTL #defined if TIOCINQ or TIOCOUTQ are - we assume that the ioctls
imc-config.c:/* append crlf for details - shogar */
imc-config.c:extern time_t time_since_last_ping; /* istat ping monitor - shogar */
imc-config.c:extern time_t time_since_last_ralive; /* istat ping monitor - shogar */
imc-config.c:extern time_t time_since_last_salive; /* istat ping monitor - shogar */
imc-config.c:    short localport=-1; /* added -1 to solve "duplicate localport" error. Suggested by Tagith@UCMM. -- Scion */
imc-config.c:    char localname[IMC_NAME_LENGTH]; /* Again suggested ="" by Tagith@UCMM  -- Scion */
imc-config.c:    int version= -1;
imc-config.c:    short infoport = 0; /* Local mud port -- kratas */
imc-config.c:    /* increased idetails - shogar */
imc-config.c:        while (buf[0] && isspace(buf[strlen(buf)-1]))
imc-config.c:            buf[strlen(buf)-1]=0;
imc-config.c:            flags |= imc_flagvalue(value, imc_connection_flags); /* original bug - fix shogar */
imc-config.c:            i->name       = imc_strdup(name);
imc-config.c:            i->host       = imc_strdup(host);
imc-config.c:            i->clientpw   = imc_strdup(pw1);
imc-config.c:            i->serverpw   = imc_strdup(pw2);
imc-config.c:            i->port       = port;
imc-config.c:            i->rcvstamp   = rcvstamp;
imc-config.c:            i->noforward  = noforward;
imc-config.c:            i->flags      = flags;
imc-config.c:        /* allow multiple lines - shogar */
imc-config.c:        /* set max guest connections - shogar */
imc-config.c:        /* add configurable log message option - shogar */
imc-config.c:        else if (version==-1)
imc-config.c:            i->name       = imc_strdup(name);
imc-config.c:            i->host       = imc_strdup(host);
imc-config.c:            i->clientpw   = imc_strdup(pw1);
imc-config.c:            i->serverpw   = imc_strdup(pw2);
imc-config.c:            i->port       = port;
imc-config.c:            i->rcvstamp   = rcvstamp;
imc-config.c:            i->noforward  = noforward;
imc-config.c:            i->flags      = flags;
imc-config.c:    if (localport==-1)
imc-config.c:    /* add configurable log message option - shogar */
imc-config.c:    /* add configurable hubswitching option - shogar */
imc-config.c:    for (i=imc_info_list; i; i=i->next)
imc-config.c:        if (i->flags & IMC_NOSWITCH) /* if nowswitch set, save entry new or not*/
imc-config.c:            i->flags &= ~IMC_NEW_HUB;
imc-config.c:        if (i->flags & IMC_NEW_HUB) /* no giveaway hubs - shogar */
imc-config.c:                i->name,
imc-config.c:                i->host,
imc-config.c:                i->port,
imc-config.c:                i->clientpw,
imc-config.c:                i->serverpw,
imc-config.c:                i->rcvstamp,
imc-config.c:                i->noforward,
imc-config.c:                imc_flagname(i->flags, imc_connection_flags));
imc-config.c:        return -1;
imc-config.c:    /* This used to be below the first 5 checks, moved up here now -- Kratas */
imc-config.c:    if(!strcasecmp(arg1,"log")) /* configurable log messages - shogar */
imc-config.c:    if(!strcasecmp(arg1,"hubswitch")) /* configurable log messages - shogar */
imc-config.c:        /* reload config file - shut down and restart */
imc-config.c:            return -1;
imc-config.c:            return -1;
imc-config.c:            return -1;
imc-config.c:        i->name       = imc_strdup(arg2);
imc-config.c:        i->host       = imc_strdup("");
imc-config.c:        i->clientpw   = imc_strdup("");
imc-config.c:        i->serverpw   = imc_strdup("");
imc-config.c:        i->connect_attempts = 0;
imc-config.c:            return -1;
imc-config.c:            return -1;
imc-config.c:        if (i->connection)
imc-config.c:            imc_disconnect(i->name);
imc-config.c:        imc_strfree(i->name);
imc-config.c:        i->name = imc_strdup(arg3);
imc-config.c:            return -1;
imc-config.c:            if (i->host)
imc-config.c:                imc_strfree(i->host);
imc-config.c:            if (i->clientpw)
imc-config.c:                imc_strfree(i->clientpw);
imc-config.c:            if (i->serverpw)
imc-config.c:                imc_strfree(i->serverpw);
imc-config.c:            i->host=imc_strdup(arg3);
imc-config.c:            i->port=strtoul(arg3, NULL, 10);
imc-config.c:            i->clientpw=imc_strdup(arg3);
imc-config.c:            i->serverpw=imc_strdup(arg3);
imc-config.c:            i->rcvstamp=strtoul(arg3, NULL, 10);
imc-config.c:            i->noforward=strtoul(arg3, NULL, 10);
imc-config.c:            i->flags=imc_flagvalue(arg3, imc_connection_flags);
imc-config.c:            if (i->host)
imc-config.c:                imc_strfree(i->host);
imc-config.c:            i->host=imc_strdup(argument);
imc-config.c:            i->port=strtoul(argument, NULL, 10);
imc-config.c:            if (i->clientpw)
imc-config.c:                imc_strfree(i->clientpw);
imc-config.c:            i->clientpw=imc_strdup(argument);
imc-config.c:            if (i->serverpw)
imc-config.c:                imc_strfree(i->serverpw);
imc-config.c:            i->serverpw=imc_strdup(argument);
imc-config.c:            i->rcvstamp=strtoul(argument, NULL, 10);
imc-config.c:            i->noforward=strtoul(argument, NULL, 10);
imc-config.c:            i->flags ^=imc_flagvalue(argument, imc_connection_flags);
imc-config.c:            return -1;
imc-config.c:            return -1;
imc-config.c:  for (ign=imc_ignore_list; ign; ign=ign->next)
imc-config.c:	    (ign->match & IMC_IGNORE_PREFIX) ? "*" : "",
imc-config.c:	    ign->name,
imc-config.c:	    (ign->match & IMC_IGNORE_SUFFIX) ? "*" : "",
imc-config.c:	    imc_statename(ign->type, imc_ignore_types));
imc-config.c:  ign->name=NULL;
imc-config.c:  ign->match=IMC_IGNORE_EXACT;
imc-config.c:  ign->type=-1;
imc-config.c:  ign->next=imc_ignore_list;
imc-config.c:  if (ign->name)
imc-config.c:    imc_strfree(ign->name);
imc-config.c:  if (who[0] && who[strlen(who)-1]=='*')
imc-config.c:    who[strlen(who)-1]=0;
imc-config.c:  for (last=NULL, ign=imc_ignore_list; ign; last=ign, ign=ign->next)
imc-config.c:    if (match==ign->match && !strcasecmp(who, ign->name))
imc-config.c:	imc_ignore_list=ign->next;
imc-config.c:	last->next=ign->next;
imc-config.c:  ign->type=type;
imc-config.c:  if (who[0] && who[strlen(who)-1]=='*')
imc-config.c:    who[strlen(who)-1]=0;
imc-config.c:  ign->match=match;
imc-config.c:  ign->name=imc_strdup(who);
imc-config.c:    for (count=0, ign=imc_ignore_list; ign; ign=ign->next, count++)
imc-config.c:	      imc_statename(ign->type, imc_ignore_types),
imc-config.c:	      (ign->match & IMC_IGNORE_PREFIX) ? "*" : "",
imc-config.c:	      ign->name,
imc-config.c:	      (ign->match & IMC_IGNORE_SUFFIX) ? "*" : "");
imc-config.c:/* check if needle is in haystack (case-insensitive) */
imc-config.c:  for (ign=imc_ignore_list; ign; ign=ign->next)
imc-config.c:    if (type>=0 && type!=ign->type)
imc-config.c:    len=strlen(ign->name);
imc-config.c:    switch (ign->match)
imc-config.c:      if (!strcasecmp(ign->name, who))
imc-config.c:      if (!strncasecmp(ign->name, who, len))
imc-config.c:      if (wlen>=len && !strncasecmp(ign->name, who+wlen-len, len))
imc-config.c:      if (substr(ign->name, who))
imc-config.c:  sprintf(buf, "~c%4s ~C%-9s ~B%-15s ~r%-11s ~R%-11s ~y%-3s ~Y%-3s\n\r",
imc-config.c:  for (c=imc_connect_list; c; c=c->next)
imc-config.c:    switch (c->state)
imc-config.c:    ioctl(c->desc, TIOCINQ, &r);
imc-config.c:    r += strlen(c->inbuf);
imc-config.c:      ioctl(c->desc, TIOCOUTQ, &s);
imc-config.c:      s=outqsize-s;
imc-config.c:    s += strlen(c->outbuf);
imc-config.c:    r=strlen(c->inbuf);
imc-config.c:    s=strlen(c->outbuf);
imc-config.c:	    "%4d %-9s %-15s ~r%5d/~R%-5d %5d/~r%-5d ~y%3d ~Y%3d\n\r",
imc-config.c:	    c->desc,
imc-config.c:	    c->info ? c->info->name : "unknown",
imc-config.c:	    c->insize,
imc-config.c:	    c->outsize,
imc-config.c:	    c->spamcounter1,
imc-config.c:	    c->spamcounter2);
imc-config.c: *  level=0 is mortal-level access (mudnames and connection states)
imc-config.c: *  level=1 is imm-level access (names, hosts, ports, states)
imc-config.c: *  level=4 is IMC local config info (mortal-safe)
imc-config.c:            sprintf(buf + strlen(buf), "%-10s %-15s %-8s", "Name", "State", "LastConn");
imc-config.c:            sprintf(buf + strlen(buf), "%-10s %-30s %5s %-13s %-8s", "Name", "Host",
imc-config.c:            /* show failed reconnect attempts - shogar */
imc-config.c:                    "%-8s %-25s %5s %-13s %-10s %-10s\n\r"
imc-config.c:                    "         %-8s %-9s %-5s %-5s %-8s %-8s %s",
imc-config.c:        for (i=imc_info_list; i; i=i->next)
imc-config.c:            state = i->connection ? "connected" : "not connected";
imc-config.c:            if (i->connection)
imc-config.c:            else if (!i->last_connected)
imc-config.c:                long diff=(long)imc_now - (long)i->last_connected;
imc-config.c:                sprintf(buf + strlen(buf), "\n\r%-10s %-15s %8s", i->name, state, lastconn);
imc-config.c:                sprintf(buf + strlen(buf), "\n\r%-10s %-30s %5hu %-13s %8s",
imc-config.c:                        i->name,
imc-config.c:                        i->host,
imc-config.c:                        i->port,
imc-config.c:                        "\n\r%-8s %-25s %5hu %-13s %-10s %-10s"
imc-config.c:                        "\n\r         %-8d %-9d %-5d %-5ld %8s %-8d %s",
imc-config.c:                        i->name,
imc-config.c:                        i->host,
imc-config.c:                        i->port,
imc-config.c:                        i->clientpw,
imc-config.c:                        i->serverpw,
imc-config.c:                        i->rcvstamp,
imc-config.c:                        i->noforward,
imc-config.c:                        i->timer_duration,
imc-config.c:                        i->connect_attempts, /* show failed reconnects - shogar */
imc-config.c:                        imc_flagname(i->flags, imc_connection_flags));
imc-config.c:            sprintf(buf + strlen(buf), "%-12s  %-8s  %-9s  %-20s  %-10s",
imc-config.c:            sprintf(buf + strlen(buf), "~c%-15.15s  ~C%-10.10s  ~B%-30.30s  ~G%-10.10s~!",
imc-config.c:        for( p = imc_reminfo_list ; p ; p = p->next, count++ )
imc-config.c:            if (p->hide && level==3)
imc-config.c:                if (p->ping)
imc-config.c:                    sprintf(buf + strlen(buf), "\n\r%-13s  %7ds  %7dms  %-20s  %-10s %s",
imc-config.c:                            p->name, (int) (imc_now - p->alive), p->ping, p->version,
imc-config.c:                            p->route ? p->route : "broadcast", p->type ? "expired" : "");
imc-config.c:                    sprintf(buf + strlen(buf), "\n\r~c%-13s  ~C%7ds  ~B%9s  ~G%-20s  ~!%-10s %s",
imc-config.c:                            p->name, (int) (imc_now - p->alive), "~yunknown~!",
imc-config.c:                            p->version, p->route ? p->route : "~Ybroadcast~!",
imc-config.c:                            p->type ? "~Rexpired~!" : "");
imc-config.c:                sprintf(buf + strlen(buf), "\n\r~c%-15.15s  ~C%9ds  ~B%-30.30s  ~G%-10.10s %s~!",
imc-config.c:                        p->name, (int) (imc_now - p->alive), p->version,
imc-config.c:                        p->route ? p->route : "~Ybroadcast", p->type ? "~Rexpired" : "");
imc-config.c:// Merely eye-candy, but why not? -- Kratas
imc-config.c:        if( (x-ex_amount) % 3 == 0 && x > 0 )
imc-config.c:    for (evcount=0, ev=imc_event_list; ev; ev=ev->next, evcount++)
imc-config.c:            ((imc_now - imc_stats.start) ?
imc-config.c:             (imc_now - imc_stats.start) : 1) );
imc-config.c:                 100-((imc_stats.rxcompressed_bytes*100/
imc-config.c:             ((imc_now - imc_stats.start) ?
imc-config.c:              (imc_now - imc_stats.start) : 1) );
imc-config.c:                 100-((imc_stats.txcompressed_bytes*100 /
imc-config.c:             /* added some additional info here - shogar */
imc-config.c:            /* added some additional info here - shogar */
imc-events.c: * IMC2 - an inter-mud communications protocol
imc-events.c: * imc-events.c: IMC event handling
imc-events.c: * - event support functions
imc-events.c: * - event callbacks
imc-events.c:/* we use size-limited recycle lists, since events will be being
imc-events.c:    imc_event_free=p->next;
imc-events.c:    event_freecount--;
imc-events.c:  p->when=0;
imc-events.c:  p->callback=NULL;
imc-events.c:  p->data=NULL;
imc-events.c:  p->next=NULL;
imc-events.c:  p->timed=0;
imc-events.c:    p->next=imc_event_free;
imc-events.c:  p->when=imc_now+when;
imc-events.c:  p->callback=callback;
imc-events.c:  p->data=data;
imc-events.c:  p->timed=timed;
imc-events.c:       last=&scan->next, scan=*last)
imc-events.c:    if (scan->when >= p->when)
imc-events.c:  p->next=scan;
imc-events.c:   the 60 second grace period on close-notify 
imc-events.c:  for (p=imc_event_list; p; p=p->next)
imc-events.c:    if ((!callback) && p->data == data)
imc-events.c:    else if ((callback) && p->data == data)
imc-events.c:    else if (p->callback==callback && data==NULL)
imc-events.c:    p_next=p->next;
imc-events.c:/* changed this for 2.00 i think it was wrong along - shogar - 1/25/2000 */
imc-events.c:    if ((!callback || p->callback==callback) && p->data==data)
imc-events.c:    if ((!callback) && p->data==data)
imc-events.c:    else if ((callback) && p->data==data)
imc-events.c:    else if (p->callback==callback && data==NULL)
imc-events.c:      last=&p->next;
imc-events.c:    if (p->when > newtime)
imc-events.c:    imc_event_list=p->next;
imc-events.c:    callback=p->callback;
imc-events.c:    data=p->data;
imc-events.c:    imc_now=p->when;
imc-events.c:  for (p=imc_event_list; p; p=p->next)
imc-events.c:    if (p->callback==callback && p->data==data)
imc-events.c:      return p->when - imc_now;
imc-events.c:  return -1;
imc-events.c:	each time imc reloads, and then each 24 hours. -- Scion */
imc-events.c:	if (!imc_is_router)  /* don't wanna do it if we -are- a hub :) */
imc-events.c:		imc_logstring("Auto-optimizing hub connections.");
imc-events.c:/* need optimize poll as seperate event - shogar */
imc-events.c:	if (!imc_is_router)  /* don't wanna do it if we -are- a hub :) */
imc-events.c:  r->type=IMC_REMINFO_EXPIRED;
imc-events.c:/* make it an event, dont announce a simple reboot - shogar - 2/1/2000 */
imc-events.c:  len=strlen(c->inbuf)+1;
imc-events.c:  newsize=c->insize/2;
imc-events.c:    strcpy(newbuf, c->inbuf);
imc-events.c:    imc_free(c->inbuf, c->insize);
imc-events.c:    c->inbuf=newbuf;
imc-events.c:    c->insize=newsize;
imc-events.c:  len=strlen(c->outbuf)+1;
imc-events.c:  newsize=c->outsize/2;
imc-events.c:    strcpy(newbuf, c->outbuf);
imc-events.c:    imc_free(c->outbuf, c->outsize);
imc-events.c:    c->outbuf=newbuf;
imc-events.c:    c->outsize=newsize;
imc-events.c:  if (!info->connection) {
imc-events.c:	  if ((info->flags & IMC_RECONNECT) || (info->flags & IMC_HUB) || (info->flags & IMC_MAIN_HUB)) {
imc-events.c:		  if (!imc_connect_to(info->name)) {
imc-events.c:      /* routers should never do reconnects to muds - shogar */
imc-events.c:      /* chance - shogar */
imc-events.c:			  if(!imc_is_router || (info->flags & IMC_HUB)) { 
imc-events.c:				  if(info->connect_attempts < 4)
imc-events.c:				  else { /* Set them to "dead_hub" so they get deleted at next reboot. -- Scion */
imc-events.c:					info->flags=imc_flagvalue("dead_hub", imc_connection_flags);
imc-events.c:  if (c->spamcounter1 > IMC_SPAM1MAX)
imc-events.c:    if (c->spamtime1 < 0 || ++c->spamtime1 >= IMC_SPAM1TIME)
imc-events.c:      c->spamtime1=-IMC_SPAM1TIME;
imc-events.c:    if (c->spamtime1<0)
imc-events.c:      c->spamtime1++;
imc-events.c:  c->spamcounter1=0;
imc-events.c:  if (c->spamtime1>0)
imc-events.c:  else if (c->spamtime1<0)
imc-events.c:  if (c->spamcounter2 > IMC_SPAM2MAX)
imc-events.c:    if (c->spamtime2 < 0 || ++c->spamtime2 >= IMC_SPAM2TIME)
imc-events.c:      c->spamtime2=-IMC_SPAM2TIME;
imc-events.c:    if (c->spamtime2<0)
imc-events.c:      c->spamtime2++;
imc-events.c:  c->spamcounter2=0;
imc-events.c:  if (c->spamtime2>0)
imc-events.c:  else if (c->spamtime2<0)
imc-interp.c: * IMC2 - an inter-mud communications protocol
imc-interp.c: * imc-interp.c: packet interpretation code
imc-interp.c://#include "imc-mercdefs.h"
imc-interp.c:#include "minilzo.h" /* compressed who - shogar - 1/24/2000 */
imc-interp.c:/* Work-memory needed for compression. Allocate memory in units
imc-interp.c:/* moved here  for 2.00 - shogar - 1/25/2000 */
imc-interp.c:int mud_has_hub=0,compressit; /* for ping control - shogar */
imc-interp.c:time_t time_of_last_ping, time_since_last_ping=300; /* ping istat - shogar */
imc-interp.c:time_t time_of_last_ralive, time_since_last_ralive=300; /* ping istat - shogar */
imc-interp.c:time_t time_of_last_salive, time_since_last_salive=300; /* ping istat - shogar */
imc-interp.c:        time_since_last_ralive = time(NULL) - time_of_last_ralive;
imc-interp.c:    p->hide=1;
imc-interp.c:    p->hide=0;
imc-interp.c:  /* lower-level code has already updated p->alive */
imc-interp.c:  if (strcasecmp(version, p->version))    /* remote version has changed? */
imc-interp.c:    imc_strfree(p->version);              /* if so, update it */
imc-interp.c:    p->version=imc_strdup(version);
imc-interp.c:  /* Only routers should ping - and even then, only directly connected muds */
imc-interp.c:  /* and only if there is an open connection - shogar */
imc-interp.c:	imc_getinfo(from)->connection && imc_getinfo(from)->connection->state==IMC_CONNECTED)
imc-interp.c:  /* or muds acting as a hub to another mud - shogar */
imc-interp.c:  if (!imc_is_router && imc_getinfo(from) && imc_getinfo(from)->connection
imc-interp.c:    && !(imc_getinfo(from)->flags & IMC_HUB) && mud_has_hub)
imc-interp.c:  /* need a way to monitor the pinging for istat - shogar */
imc-interp.c:        time_since_last_ping = time(NULL) - time_of_last_ping;
imc-interp.c:  /* if only hubs can ping - or a mud acting as a hub ... then ...
imc-interp.c:     game - shogar */
imc-interp.c:/* good idea before hub switching - shogar 
imc-interp.c:     if(imc_getinfo(from) && !(imc_getinfo(from)->flag) & IMC_NEW))
imc-interp.c:      imc_getinfo(from)->flags |= IMC_HUB;
imc-interp.c:  p->ping = (tv.tv_sec - time_s) * 1000 + (tv.tv_usec - time_u) / 1000;
imc-interp.c:  imc_traceroute(p->ping, pathto, pathfrom);
imc-interp.c: *  d->wizi  is -1 if the character is invisible to mortals (hidden/invis or
imc-interp.c: *  d->level is the level of the character (-1=imm, 1=mortal)
imc-interp.c:  if (imc_findignore(p->from, IMC_NOTRUST))
imc-interp.c:  if (imc_findignore(p->from, IMC_TRUST))
imc-interp.c:  strcpy(d->name, p->from);
imc-interp.c:  d->wizi = trust ? imc_getkeyi(&p->data, "wizi", 0) : 0;
imc-interp.c:  d->level = trust ? imc_getkeyi(&p->data, "level", 0) : 0;
imc-interp.c:  d->invis = 0;
imc-interp.c:  imc_initdata(&p->data);
imc-interp.c:    strcpy(p->from, "*");
imc-interp.c:    imc_addkeyi(&p->data, "level", -1);
imc-interp.c:  strcpy(p->from, d->name);
imc-interp.c:  if (d->wizi)
imc-interp.c:    imc_addkeyi(&p->data, "wizi", d->wizi);
imc-interp.c:  imc_addkeyi(&p->data, "level", d->level);
imc-interp.c:    bcast=!strcmp(imc_mudof(p->i.to), "*") ? 1 : 0;
imc-interp.c:        i=imc_find_reminfo(imc_mudof(p->from),0);
imc-interp.c:            if(i->path)
imc-interp.c:                imc_strfree(i->path);
imc-interp.c:            i->path=imc_strdup(p->i.path);
imc-interp.c:            i->ping=0;
imc-interp.c:            i->type=0;
imc-interp.c:    if (!strcasecmp(p->type, "chat") && !imc_isignored(p->from))
imc-interp.c:        imc_recv_chat(&d, imc_getkeyi(&p->data, "channel", 0),
imc-interp.c:                      imc_getkey(&p->data, "text", ""));
imc-interp.c:    else if (!strcasecmp(p->type, "emote") && !imc_isignored(p->from))
imc-interp.c:        imc_recv_emote(&d, imc_getkeyi(&p->data, "channel", 0),
imc-interp.c:                       imc_getkey(&p->data, "text", ""));
imc-interp.c:    else if (!strcasecmp(p->type, "tell"))
imc-interp.c:        if (imc_isignored(p->from))
imc-interp.c:            imc_sendignore(p->from);
imc-interp.c:            imc_recv_tell(&d, p->to, imc_getkey(&p->data, "text", ""),
imc-interp.c:                          imc_getkeyi(&p->data, "isreply", 0));
imc-interp.c:    /* who-reply: receive a compressed who response - shogar - 1/24/2000 */
imc-interp.c:    else if (!strcmp(p->type, "wHo-reply"))
imc-interp.c:        imc_recv_whoreply(p->to,
imc-interp.c:                          imc_getkey(&p->data, "text", ""),
imc-interp.c:                          imc_getkeyi(&p->data, "sequence", -1),
imc-interp.c:                          imc_getkeyi( &p->data, "complen", -1 ));
imc-interp.c:    /* who-reply: receive a who response */
imc-interp.c:    else if (!strcasecmp(p->type, "who-reply"))
imc-interp.c:        imc_recv_whoreply(p->to, imc_getkey(&p->data, "text", ""),
imc-interp.c:                          imc_getkeyi(&p->data, "sequence", -1), -1);
imc-interp.c:    /* who: receive a who request from a compression complient client - shogar*/
imc-interp.c:    else if (!strcmp(p->type, "wHo"))
imc-interp.c:        if (imc_isignored(p->from))
imc-interp.c:            imc_sendignore(p->from);
imc-interp.c:            imc_recv_who(&d, imc_getkey(&p->data, "type", "who"));
imc-interp.c:    else if (!strcasecmp(p->type, "who"))
imc-interp.c:        if (imc_isignored(p->from))
imc-interp.c:            imc_sendignore(p->from);
imc-interp.c:            imc_recv_who(&d, imc_getkey(&p->data, "type", "who"));
imc-interp.c:    /* whois-reply: receive a whois response */
imc-interp.c:    else if (!strcasecmp(p->type, "whois-reply"))
imc-interp.c:        imc_recv_whoisreply(p->to, imc_getkey(&p->data, "text", ""));
imc-interp.c:    else if (!strcasecmp(p->type, "whois"))
imc-interp.c:        imc_recv_whois(&d, p->to);
imc-interp.c:    else if (!strcasecmp(p->type, "beep"))
imc-interp.c:        if (imc_isignored(p->from))
imc-interp.c:            imc_sendignore(p->from);
imc-interp.c:            imc_recv_beep(&d, p->to);
imc-interp.c:    /* is-alive: receive a keepalive (broadcast) */
imc-interp.c:    else if (!strcasecmp(p->type, "is-alive"))
imc-interp.c:        imc_recv_keepalive(imc_mudof(p->from),
imc-interp.c:                           imc_getkey(&p->data, "versionid", "unknown"),
imc-interp.c:                           imc_getkey(&p->data, "flags", ""));
imc-interp.c:    else if (!strcasecmp(p->type, "ping"))
imc-interp.c:        imc_recv_ping(imc_mudof(p->from), imc_getkeyi(&p->data, "time-s", 0),
imc-interp.c:                      imc_getkeyi(&p->data, "time-us", 0), p->i.path);
imc-interp.c:    /* ping-reply: receive a ping reply */
imc-interp.c:    else if (!strcasecmp(p->type, "ping-reply"))
imc-interp.c:        imc_recv_pingreply(imc_mudof(p->from), imc_getkeyi(&p->data, "time-s", 0),
imc-interp.c:                           imc_getkeyi(&p->data, "time-us", 0),
imc-interp.c:                           imc_getkey(&p->data, "path", NULL), p->i.path);
imc-interp.c:    else if (!strcasecmp(p->type, "mail"))
imc-interp.c:        imc_recv_mail(imc_getkey(&p->data, "from", "error@hell"),
imc-interp.c:                      imc_getkey(&p->data, "to", "error@hell"),
imc-interp.c:                      imc_getkey(&p->data, "date", "(IMC error: bad date)"),
imc-interp.c:                      imc_getkey(&p->data, "subject", "no subject"),
imc-interp.c:                      imc_getkey(&p->data, "id", "bad_id"),
imc-interp.c:                      imc_getkey(&p->data, "text", ""));
imc-interp.c:    /* mail-ok: remote confirmed that they got the mail ok */
imc-interp.c:    else if (!strcasecmp(p->type, "mail-ok"))
imc-interp.c:        imc_recv_mailok(p->from, imc_getkey(&p->data, "id", "bad_id"));
imc-interp.c:    /* mail-reject: remote rejected our mail, bounce it */
imc-interp.c:    else if (!strcasecmp(p->type, "mail-reject"))
imc-interp.c:        imc_recv_mailrej(p->from, imc_getkey(&p->data, "id", "bad_id"),
imc-interp.c:                         imc_getkey(&p->data, "reason",
imc-interp.c:    /* handle keepalive requests - shogar */
imc-interp.c:    else if (!strcasecmp(p->type, "keepalive-request"))
imc-interp.c:            imc_logstring("Recieved keepalive request from %s", p->from);
imc-interp.c:        /* reset next to begining, start notifying for 2.00 - shogar - 1/25/2000 */
imc-interp.c:            if(next_refresh) /* watch for streaming is-alives */
imc-interp.c:    /* expire closed hubs - shogar */
imc-interp.c:    else if (!strcasecmp(p->type, "close-notify"))
imc-interp.c:  		imc_logstring("%s reports %s closed.", p->from,
imc-interp.c:                              imc_getkey(&p->data, "host","unknown"));
imc-interp.c:	crbs_waffle_pseudos(imc_getkey(&p->data,"host","unknown"));
imc-interp.c:        r = imc_find_reminfo(imc_getkey(&p->data,"host","unknown"),0);
imc-interp.c:            r->type = IMC_REMINFO_EXPIRED;
imc-interp.c:            for(r=imc_reminfo_list;r;r=r->next)
imc-interp.c:                sprintf(fake,"!%s",imc_getkey(&p->data,"host","___unknown"));
imc-interp.c:                if(r->name
imc-interp.c:                   && r->path
imc-interp.c:                   && (sf=strstr(r->path,fake))
imc-interp.c:                    //				imc_logstring("Expiring %s",r->path);
imc-interp.c:                    r->type = IMC_REMINFO_EXPIRED;
imc-interp.c:                    imc_send_ping(r->name, tv.tv_sec, tv.tv_usec);
imc-interp.c:    /* These 4 added by me for the auto-hub-swap -- Scion 1/9/99 */
imc-interp.c:    else if (!strcasecmp(p->type, "inforequest")) /* Request connection info from all 1.00a hubs -- Scion */
imc-interp.c:        imc_recv_inforequest(p->from); /* Had to use inforequest because 0.10 responds to info-request :) */
imc-interp.c:    else if (!strcasecmp(p->type, "info-reply")) /* receive the reply from the inforequest :) -- Scion */
imc-interp.c:        imc_recv_info_reply(p->from, imc_getkey(&p->data, "hub", "no"), imc_getkeyi(&p->data, "direct", -1));
imc-interp.c:    else if (!strcasecmp(p->type, "switch-reply")) /* hub confirmed that it added a connection to us. -- Scion */
imc-interp.c:        imc_autoconnect_reply_accept(p->from,
imc-interp.c:                                     imc_getkey(&p->data, "host", "!!!"),
imc-interp.c:                                     imc_getkeyi(&p->data, "port", -1),
imc-interp.c:                                     imc_getkey(&p->data, "clientpw", "password"),
imc-interp.c:                                     imc_getkey(&p->data, "serverpw", "password"),
imc-interp.c:                                     imc_getkeyi(&p->data, "rcvstamp", 0),
imc-interp.c:                                     imc_getkeyi(&p->data, "noforward", 0),
imc-interp.c:                                     imc_getkey(&p->data, "flags", "none"),
imc-interp.c:                                     imc_getkey(&p->data, "localname", "!!!"),
imc-interp.c:                                     imc_getkey(&p->data, "confirm", "not accepted")
imc-interp.c:    else if (!strcasecmp(p->type, "imc-switch")) /* hub receives request to add a connection -- Scion */
imc-interp.c:        imc_recv_autoconnect(p->from,
imc-interp.c:                             imc_getkey(&p->data, "host", "!!!"),
imc-interp.c:                             imc_getkeyi(&p->data, "port", -1),
imc-interp.c:                             imc_getkey(&p->data, "clientpw", "password"),
imc-interp.c:                             imc_getkey(&p->data, "serverpw", "password"),
imc-interp.c:                             imc_getkeyi(&p->data, "rcvstamp", 0),
imc-interp.c:                             imc_getkeyi(&p->data, "noforward", 0),
imc-interp.c:                             imc_getkey(&p->data, "flags", "none"),
imc-interp.c:                             imc_getkey(&p->data, "localname", "!!!")
imc-interp.c:    /* call catch-all fn if present */
imc-interp.c:        if (bcast || !strcasecmp(p->type, "reject"))
imc-interp.c:            strcpy(out.to, p->from);
imc-interp.c:            strcpy(out.from, p->to);
imc-interp.c:            imc_clonedata(&p->data, &out.data);
imc-interp.c:            imc_addkey(&out.data, "old-type", p->type);
imc-interp.c: this function to use for something entirely different. 1/5/99 -- Scion
imc-interp.c:	  be able to prevent this auto-swap by #defining NO_OPTIMIZE in imc-config.h -- Scion */
imc-interp.c:    strcpy(reply.type, "info-unavailable");
imc-interp.c:  strcpy(reply.type, "info-reply");
imc-interp.c:  	/* don't even send a reply if we're not a hub -- Scion */
imc-interp.c:	  for (i=imc_info_list; i; i=i->next)
imc-interp.c:              if(i->connection && i->connection->state == IMC_CONNECTED) /* only the live ones - shogar */
imc-interp.c:		imc_siteinfo.maxguests - num_direct);
imc-interp.c:        /*  don't send if num_direct exceeds maxguest - shogar */
imc-interp.c:  		imc_logstring("Sent info-reply to %s.", from);
imc-interp.c:/* Take the data from an info-reply packet and process it. We shouldn't get packets from MUDs, only
imc-interp.c:from hubs. -- Scion */
imc-interp.c:	/* spin infolist check for noswitch flag - shogar */
imc-interp.c:	  for (i=imc_info_list; i; i=i->next)
imc-interp.c:              if(i->flags & IMC_NOSWITCH && !strcasecmp(imc_mudof(from),i->name))
imc-interp.c:		imc_logstring("Rejecting info-reply(%d) from %s", direct,from);
imc-interp.c:	imc_logstring("Received info-reply(%d) from %s", direct,from);
imc-interp.c:  global_directnum=-1;
imc-interp.c:  if(!time_of_last_salive) /* ping istat monitor - shogar */
imc-interp.c:        time_since_last_salive = time(NULL) - time_of_last_salive;
imc-interp.c:	Added 12/26/98 to cut down on UCMM IMC network traffic -- Scion */
imc-interp.c:  for (c=imc_connect_list; c; c=c->next) /* Go through the list of direct connections */
imc-interp.c:      if (c->state==IMC_CONNECTED) {
imc-interp.c:		  strcpy(tobuf, c->info->name);
imc-interp.c:/* send a who-request to a remote mud */
imc-interp.c:  strcpy(out.type, "wHo"); /* compress who - shogar - 1/24/2000 */
imc-interp.c:    /* compress who - shogar 1/24/2000 */
imc-interp.c:    if( compressit && compressed ) /* compress whos - shogar 1/24/2000 */
imc-interp.c:        strcpy(out.type, "wHo-reply");
imc-interp.c:        strcpy(out.type, "who-reply");
imc-interp.c:    if (sequence!=-1) /* moved here for compress who - shogar - 1/24/2000 */
imc-interp.c:    /* compress whos - shogar 1/24/2000 */
imc-interp.c:  if (strlen(wr_to) + strlen(text) >= IMC_DATA_LENGTH-500)
imc-interp.c:  imc_send_whoreply(wr_to, wr_buf, -(wr_sequence+1));
imc-interp.c:/* send a whois-request to a remote mud */
imc-interp.c:/* respond with a whois-reply */
imc-interp.c:  strcpy(out.type, "whois-reply");
imc-interp.c:  strcpy(out.type, "is-alive");
imc-interp.c:/* removed this , moved to keep_alive check - shogar - 1/25/2000 */
imc-interp.c:/* send a keepalive request to everyone - shogar */
imc-interp.c:        time_since_last_salive = time(NULL) - time_of_last_salive;
imc-interp.c:  strcpy(out.type, "keepalive-request");
imc-interp.c:  imc_sncpy(out.to+2, to, IMC_MNAME_LENGTH-2);
imc-interp.c:  imc_addkeyi(&out.data, "time-s", time_s);
imc-interp.c:  imc_addkeyi(&out.data, "time-us", time_u);
imc-interp.c:  strcpy(out.type, "ping-reply");
imc-interp.c:  imc_sncpy(out.to+2, to, IMC_MNAME_LENGTH-2);
imc-interp.c:  imc_addkeyi(&out.data, "time-s", time_s);
imc-interp.c:  imc_addkeyi(&out.data, "time-us", time_u);
imc-interp.c:  if(i && i == imc_info_list && i->connection) /* not if primary hub - shogar */
imc-interp.c:     /* Send all this info: -- Scion 
imc-interp.c:  strcpy(out.type, "imc-switch");
imc-interp.c:  imc_sncpy(out.to+2, to, IMC_MNAME_LENGTH-2);
imc-interp.c:  	imc_addkey(&out.data, "clientpw", i->clientpw);
imc-interp.c:  	imc_addkey(&out.data, "serverpw", i->serverpw);
imc-interp.c:/* add the mud to our list if we're a hub, and reply with our info. -- Scion*/
imc-interp.c:  /* Receive all this info: -- Scion 
imc-interp.c:  strcpy(out.type, "switch-reply");
imc-interp.c:  imc_sncpy(out.to+2, remotename, IMC_MNAME_LENGTH-2);
imc-interp.c:  if((o=imc_getinfo(remotename))) /* remove old entries - shogar */
imc-interp.c:        i->connection=o->connection;
imc-interp.c:        i->flags=o->flags;
imc-interp.c:        if (i->connection) i->connection->info=i;
imc-interp.c:        i->flags = imc_flagvalue("new", imc_connection_flags); /* Hubs don't need specific flags really */
imc-interp.c:  i->name       = imc_strdup(remotename);
imc-interp.c:  i->host       = imc_strdup(rhost);
imc-interp.c:  i->port       = (unsigned short)rport;
imc-interp.c:  i->clientpw   = imc_strdup(rclientpw);
imc-interp.c:  i->serverpw   = imc_strdup(rserverpw);
imc-interp.c:  i->rcvstamp   = rrcvstamp;
imc-interp.c:  i->noforward  = rnoforward;
imc-interp.c:  i->connect_attempts = 0;
imc-interp.c:	in it from the hub, then adds the appropriate connection here. -- Scion */
imc-interp.c:  if((o=imc_getinfo(remotename))) /* remove old entries - shogar */
imc-interp.c:        i->connection=o->connection;
imc-interp.c:        i->flags=o->flags; 
imc-interp.c:        if(i->connection) i->connection->info=i;
imc-interp.c://        i->flags      = imc_flagvalue("hub reconnect new", imc_connection_flags);
imc-interp.c:        i->flags      = imc_flagvalue("hub new", imc_connection_flags);
imc-interp.c:      i->name       = imc_strdup(remotename);
imc-interp.c:      i->host       = imc_strdup(rhost);
imc-interp.c:      i->port       = (unsigned short)rport;
imc-interp.c:      i->clientpw   = imc_strdup(rclientpw);
imc-interp.c:      i->serverpw   = imc_strdup(rserverpw);
imc-interp.c:      i->rcvstamp   = rrcvstamp;
imc-interp.c:      i->noforward  = rnoforward;
imc-interp.c:      i->connect_attempts = 0;
imc-mail.c: * IMC2 - an inter-mud communications protocol
imc-mail.c: * imc-mail.c: IMC mailer functions
imc-mail.c:  for (p=buf; *data && (p-buf < IMC_DATA_LENGTH-1); data++, p++)
imc-mail.c:  for (p=buf; *data && (p-buf < IMC_DATA_LENGTH-1); data++, p++)
imc-mail.c:  p->from     = NULL;
imc-mail.c:  p->to       = NULL;
imc-mail.c:  p->subject  = NULL;
imc-mail.c:  p->date     = NULL;
imc-mail.c:  p->text     = NULL;
imc-mail.c:  p->id       = NULL;
imc-mail.c:  p->received = 0;
imc-mail.c:  p->usage    = 0;
imc-mail.c:  p->next     = NULL;
imc-mail.c:  if (p->usage)
imc-mail.c:		 p, p->usage);
imc-mail.c:  if (p->from)
imc-mail.c:    imc_strfree(p->from);
imc-mail.c:  if (p->to)
imc-mail.c:    imc_strfree(p->to);
imc-mail.c:  if (p->id)
imc-mail.c:    imc_strfree(p->id);
imc-mail.c:  if (p->text)
imc-mail.c:    imc_strfree(p->text);
imc-mail.c:  if (p->subject)
imc-mail.c:    imc_strfree(p->subject);
imc-mail.c:  if (p->date)
imc-mail.c:    imc_strfree(p->date);
imc-mail.c:  fprintf(out, "From %s\n", escape(p->from));
imc-mail.c:  fprintf(out, "To %s\n", escape(p->to));
imc-mail.c:  fprintf(out, "Subject %s\n", escape(p->subject));
imc-mail.c:  fprintf(out, "Date %s\n", escape(p->date));
imc-mail.c:  fprintf(out, "Text %s\n", escape(p->text));
imc-mail.c:  fprintf(out, "ID %s\n", escape(p->id));
imc-mail.c:  fprintf(out, "Received %ld\n", p->received);
imc-mail.c:  p->from=imc_strdup(unescape(temp));
imc-mail.c:  p->to=imc_strdup(unescape(temp));
imc-mail.c:  p->subject=imc_strdup(unescape(temp));
imc-mail.c:  p->date=imc_strdup(unescape(temp));
imc-mail.c:  p->text=imc_strdup(unescape(temp));
imc-mail.c:  p->id=imc_strdup(unescape(temp));
imc-mail.c:  sscanf(line, "Received %ld", &p->received);
imc-mail.c:  p->usage=0;
imc-mail.c: *  maillist - a list of imc_mail entries
imc-mail.c:  imc_ml_head->to      = imc_strdup("");
imc-mail.c:  imc_ml_head->from    = imc_strdup("");
imc-mail.c:  imc_ml_head->date    = imc_strdup("");
imc-mail.c:  imc_ml_head->subject = imc_strdup("");
imc-mail.c:  imc_ml_head->text    = imc_strdup("");
imc-mail.c:  imc_ml_head->id      = imc_strdup("");
imc-mail.c:    p_next=p->next;
imc-mail.c:    p->usage=0; /* suppress warnings */
imc-mail.c:  p->next=imc_ml_head->next;
imc-mail.c:  imc_ml_head->next=p;
imc-mail.c:  for (p=imc_ml_head->next; p; p=p->next)
imc-mail.c:    if (!strcasecmp(p->id, id))
imc-mail.c:  for (last=imc_ml_head, p=last->next; p && p != node; p=p->next)
imc-mail.c:    last->next = p->next;
imc-mail.c:  strcat(name, "mail-list");
imc-mail.c:  for (p=imc_ml_head->next; p; p=p->next)
imc-mail.c:  strcat(name, "mail-list");
imc-mail.c: *  qnode - an entry in the 'mail to send' queue, referencing a particular
imc-mail.c:  p->data  = NULL;
imc-mail.c:  p->next  = NULL;
imc-mail.c:  p->tomud = NULL;
imc-mail.c:  if (q->tomud)
imc-mail.c:    imc_strfree(q->tomud);
imc-mail.c:  if (q->data && !--q->data->usage)
imc-mail.c:    delete_ml(q->data);
imc-mail.c:  fprintf(out, "%s %s\n", q->data->id, q->tomud);
imc-mail.c:  m->usage++;
imc-mail.c:  p->data  = m;
imc-mail.c:  p->tomud = imc_strdup(temp2);
imc-mail.c: *  mailqueue - a list of active qnodes
imc-mail.c:  imc_mq_head->data = NULL;
imc-mail.c:  imc_mq_head->next = NULL;
imc-mail.c:    p_next=p->next;
imc-mail.c:  imc_mq_tail->next=p;
imc-mail.c:  while (p->next)
imc-mail.c:    p=p->next;
imc-mail.c:  p=imc_mq_head->next;
imc-mail.c:  imc_mq_head->next=p->next;
imc-mail.c:  p->next=NULL;	                        /* Just In Case */
imc-mail.c:  for (p=imc_mq_head->next; p; p=p->next)
imc-mail.c:    if (!strcmp(id, p->data->id) && !strcasecmp(tomud, p->tomud))
imc-mail.c:  for (last=imc_mq_head, p=last->next; p; last=p, p=p->next)
imc-mail.c:    if (!strcmp(id, p->data->id) && !strcasecmp(tomud, p->tomud))
imc-mail.c:      last->next=p->next;
imc-mail.c:  strcat(name, "mail-queue");
imc-mail.c:  for (p=imc_mq_head->next; p; p=p->next)
imc-mail.c:  strcat(name, "mail-queue");
imc-mail.c: *  mailid - a single mail ID that has been received
imc-mail.c:  p->id       = NULL;
imc-mail.c:  p->received = 0;
imc-mail.c:  p->next     = NULL;
imc-mail.c:  if (p->id)
imc-mail.c:    imc_strfree(p->id);
imc-mail.c:  sprintf(buffer, "%d-%ld@%s", rand(), imc_sequencenumber++, imc_name);
imc-mail.c:  fprintf(out, "%s %ld\n", p->id, p->received);
imc-mail.c:  p->id       = imc_strdup(temp);
imc-mail.c:  p->received = r;
imc-mail.c: *  idlist - a list of mail IDs received over the last 24 hours
imc-mail.c:    p_next=p->next;
imc-mail.c:  p->next=imc_idlist->next;
imc-mail.c:  imc_idlist->next=p;
imc-mail.c:  for (p=imc_idlist->next; p; p=p->next)
imc-mail.c:    if (!strcmp(p->id, id))
imc-mail.c:  for (last=imc_idlist, p=last->next; p; p=p->next)
imc-mail.c:    if (p->received < at)	/* delete this entry */
imc-mail.c:      last->next=p->next;
imc-mail.c:  strcat(name, "mail-ids");
imc-mail.c:  for (p=imc_idlist->next; p; p=p->next)
imc-mail.c:  strcat(name, "mail-ids");
imc-mail.c:  buf[strlen(buf)-1]=0;
imc-mail.c:	  item->date,
imc-mail.c:	  item->to,
imc-mail.c:	  item->subject,
imc-mail.c:  imc_mail_arrived("Mail-daemon", imc_nameof(item->from), datestring(),
imc-mail.c:  sprintf(temp, "Unable to send to %s after 12 hours, giving up", p->tomud);
imc-mail.c:  bounce(p->data, imc_name, temp);
imc-mail.c:  delete_mq(p->data->id, p->tomud);
imc-mail.c:  sprintf(out.to, "Mail-daemon@%s", p->tomud);
imc-mail.c:  strcpy(out.from, "Mail-daemon");
imc-mail.c:  imc_addkey(&out.data, "to", p->data->to);
imc-mail.c:  imc_addkey(&out.data, "from", p->data->from);
imc-mail.c:  imc_addkey(&out.data, "subject", p->data->subject);
imc-mail.c:  imc_addkey(&out.data, "date", p->data->date);
imc-mail.c:  imc_addkey(&out.data, "text", p->data->text);
imc-mail.c:  imc_addkey(&out.data, "id", p->data->id);
imc-mail.c:/* imc_recv_mailok: a mail-ok packet was received */
imc-mail.c:/* imc_recv_mailrej: a mail-reject packet was received */
imc-mail.c:  bounce(p->data, from, reason);
imc-mail.c:  if (arg[0] && arg[strlen(arg) - 1] == ' ')
imc-mail.c:    arg[strlen(arg) - 1] = 0;
imc-mail.c:  sprintf(out.to, "Mail-daemon@%s", imc_mudof(from));
imc-mail.c:  strcpy(out.from, "Mail-daemon");
imc-mail.c:    strcpy(out.type, "mail-ok");
imc-mail.c:    mid->received = imc_now;
imc-mail.c:    strcpy(out.type, "mail-reject");
imc-mail.c:    strcpy(out.type, "mail-ok");
imc-mail.c:    mid->id=imc_strdup(id);
imc-mail.c:    mid->received=imc_now;
imc-mail.c:  strcpy(out.type, "mail-reject");
imc-mail.c:  m->to       = imc_strdup(temp);
imc-mail.c:  m->from     = imc_strdup(temp);
imc-mail.c:  m->date     = imc_strdup(date);
imc-mail.c:  m->subject  = imc_strdup(subject);
imc-mail.c:  m->id       = imc_strdup(generate_mailid());
imc-mail.c:  m->text     = imc_strdup(text);
imc-mail.c:  m->received = imc_now;
imc-mail.c:	q=NULL;	                /* catch the @* case - not yet implemented */
imc-mail.c:	for (q=qroot; q; q=q->next)
imc-mail.c:	  if (!strcasecmp(q->tomud, mud))
imc-mail.c:      {				/* add to the top of our mini-queue */
imc-mail.c:	q->tomud=imc_strdup(mud);
imc-mail.c:	q->data=m;
imc-mail.c:	q->next=qroot;
imc-mail.c:	m->usage++;
imc-mail.c:  /* add mail to mail list, add mini-queue to mail queue */
imc-mail.c:  sprintf(buf, "%-15s %-45s %-10s %s\n\r", "From", "To", "Via", "Time");
imc-mail.c:  for (p=imc_mq_head->next; p && left > 160; p = p->next)
imc-mail.c:      sprintf(temp, "%-15.15s %-45.45s %-10.10s --:--\n\r",
imc-mail.c:	      p->data->from,
imc-mail.c:	      p->data->to,
imc-mail.c:	      p->tomud);
imc-mail.c:      sprintf(temp, "%-15.15s %-45.45s %-10.10s %2d:%02d\n\r",
imc-mail.c:	      p->data->from,
imc-mail.c:	      p->data->to,
imc-mail.c:	      p->tomud,
imc-mail.c:    left -= strlen(temp);
imc-mail.c:    for (count=0; p; p=p->next, count++)
imc-mercbase.c: * IMC2 - an inter-mud communications protocol
imc-mercbase.c: * imc-mercbase.c: integrated interface code for Merc-derived codebases.
imc-mercbase.c:#include "imc-mercdefs.h"
imc-mercbase.c:#include "minilzo.h" /* compressed who - shogar - 1/24/2000 */
imc-mercbase.c:#include "imc-mercbase.h"
imc-mercbase.c:extern int compressit; /* compress who - shogar - 1/24/2000 */
imc-mercbase.c:void ev_iced_refresh(void *dummy) /*dummy catch cause muds has no iced.c-shogar */
imc-mercbase.c:  for (infop=imc_info_list; infop; infop=infop->next)
imc-mercbase.c:  for (cp=imc_connect_list; cp; cp=cp->next)
imc-mercbase.c:    markfn(cp->inbuf);
imc-mercbase.c:    markfn(cp->outbuf);
imc-mercbase.c:  for (r=imc_reminfo_list; r; r=r->next)
imc-mercbase.c:  for (mailp=imc_ml_head; mailp; mailp=mailp->next)
imc-mercbase.c:  for (queuep=imc_mq_head; queuep; queuep=queuep->next)
imc-mercbase.c:  for (idp=imc_idlist; idp; idp=idp->next)
imc-mercbase.c:  for (ep=imc_event_list; ep; ep=ep->next)
imc-mercbase.c:  for (ep=imc_event_free; ep; ep=ep->next)
imc-mercbase.c:  for (infop=imc_info_list; infop; infop=infop->next)
imc-mercbase.c:    markfn(infop->name);
imc-mercbase.c:    markfn(infop->host);
imc-mercbase.c:    markfn(infop->serverpw);
imc-mercbase.c:    markfn(infop->clientpw);
imc-mercbase.c:  for (r=imc_reminfo_list; r; r=r->next)
imc-mercbase.c:    markfn(r->name);
imc-mercbase.c:    markfn(r->version);
imc-mercbase.c:    markfn(r->route);
imc-mercbase.c:    markfn(r->path);
imc-mercbase.c:  for (ign=imc_ignore_list; ign; ign=ign->next)
imc-mercbase.c:    markfn(ign->name);
imc-mercbase.c:  for (mailp=imc_ml_head; mailp; mailp=mailp->next)
imc-mercbase.c:    markfn(mailp->from);
imc-mercbase.c:    markfn(mailp->to);
imc-mercbase.c:    markfn(mailp->date);
imc-mercbase.c:    markfn(mailp->text);
imc-mercbase.c:    markfn(mailp->subject);
imc-mercbase.c:    markfn(mailp->id);
imc-mercbase.c:  for (queuep=imc_mq_head; queuep; queuep=queuep->next)
imc-mercbase.c:    markfn(queuep->tomud);
imc-mercbase.c:  for (idp=imc_idlist; idp; idp=idp->next)
imc-mercbase.c:    markfn(idp->id);
imc-mercbase.c: * this may seem ugly, but it makes things expandable - and it will probably
imc-mercbase.c:/*  maps IMC standard -> mud local color codes
imc-mercbase.c:/* Modify the defines in imc-color.h. Will be replaced eventually. -- Kratas */
imc-mercbase.c:    /* built-in SMAUG color */
imc-mercbase.c:    { "~~", "&-" },  /* note ordering here.. */
imc-mercbase.c:    /* background colors - no support for these in IMC */
imc-mercbase.c:    /* built-in Ack! color */
imc-mercbase.c:    { "~D", "@@k" },  /* black -> grey */
imc-mercbase.c:/* convert from imc color -> mud color */
imc-mercbase.c:/* convert from mud color -> imc color */
imc-mercbase.c:     76,                            -- channel number to use, change this!
imc-mercbase.c:     "LocalChannel",                -- the channel name
imc-mercbase.c:     "%s localchannels '%s'\n\r",   -- format for a normal message
imc-mercbase.c:     "[LocalChannel] %s %s\n\r",    -- format for an emote
imc-mercbase.c:     IMC_LOCALCHANNEL,              -- flag in imc_deaf, etc
imc-mercbase.c:     LEVEL_IMMORTAL,                -- min. level for channel
imc-mercbase.c:     "mud1 mud2 mud3"               -- muds to distribute to (include your own)
imc-mercbase.c:    return -1;
imc-mercbase.c:        d.level=-1;
imc-mercbase.c:    !viewed->invis &&
imc-mercbase.c:    (viewer->level < 0 ||
imc-mercbase.c:     viewed->wizi >= 0);
imc-mercbase.c:  mud=imc_mudof(vict->name);
imc-mercbase.c:  name=imc_nameof(vict->name);
imc-mercbase.c:      : (chdata->wizi ? "A Mystical Being" : "someone");
imc-mercbase.c:      return vict->name;
imc-mercbase.c:	      (imc_getdata(ch))->wizi ? "A Mystical Being" : "someone", mud);
imc-mercbase.c:  if (IS_SET(ch->pcdata->pflags, PFLAG_AFK))
imc-mercbase.c:  if (IS_SET(ch->comm, COMM_AFK))
imc-mercbase.c:  if (IS_SET(ch->comm, COMM_DEAF))
imc-mercbase.c:  if (IS_SET(ch->pcdata->pflags, PFLAG_AFK))
imc-mercbase.c:  if (IS_SET(ch->comm, COMM_AFK))
imc-mercbase.c:  if (IS_SET(ch->comm, COMM_DEAF))
imc-mercbase.c:    /* changed "who" to "wHo" compressed who - shogar - 1/24/2000 */
imc-mercbase.c:  if (IS_SET(ch->comm, COMM_DEAF))
imc-mercbase.c:        for (i=imc_reminfo_list; i; i=i->next)
imc-mercbase.c:            if(i->hide)
imc-mercbase.c:            sprintf(buf + strlen(buf),"%s:",i->name);
imc-mercbase.c:            if(i->path)
imc-mercbase.c:                sprintf(buf + strlen(buf),"%s\n\r",i->path);
imc-mercbase.c:        if (get_trust(ch)>=MAX_LEVEL-1)
imc-mercbase.c:    {   // Temporary color_itom here... Eventually will get abetter way.--Kratas
imc-mercbase.c:                    "         imc hubswitch (toggles hubswitching - for firewalls)\n\r"
imc-mercbase.c:               "~!-------------------\n\r");
imc-mercbase.c:                        "~c%-10s ~!: you are denied from this channel.\n\r",
imc-mercbase.c:                        "~c%-10s ~!: %s~!\n\r",
imc-mercbase.c:            sprintf(buf+strlen(buf), "~c%-10s ~!: %s~!\n\r", "RTell",
imc-mercbase.c:            sprintf(buf+strlen(buf), "~c%-10s ~!: %s~!\n\r", "RBeep",
imc-mercbase.c:        if (arg[0]=='-')
imc-mercbase.c:                        "        rchannels -chan    turn off a channel\n\r"
imc-mercbase.c:                IMC_DEAF_FLAGS(ch)=-1L;
imc-mercbase.c:    imc_to_char("Syntax: rchanset <char>            - check flag settings\n\r"
imc-mercbase.c:		 "        rchanset <char> +<channel> - set allow flag\n\r"
imc-mercbase.c:		 "        rchanset <char> -<channel> - set deny flag\n\r"
imc-mercbase.c:		 "        rchanset <char> =<channel> - reset allow/deny\n\r",
imc-mercbase.c:	    "------------------------------\n\r",
imc-mercbase.c:	sprintf(buf+strlen(buf), "%-10s : allow flag set.\n\r",
imc-mercbase.c:	sprintf(buf+strlen(buf), "%-10s : deny flag set.\n\r",
imc-mercbase.c:      sprintf(buf+strlen(buf), "%-10s : allow flag set.\n\r",
imc-mercbase.c:      sprintf(buf+strlen(buf), "%-10s : deny flag set.\n\r",
imc-mercbase.c:      sprintf(buf+strlen(buf), "%-10s : allow flag set.\n\r",
imc-mercbase.c:      sprintf(buf+strlen(buf), "%-10s : deny flag set.\n\r",
imc-mercbase.c:  if (argument[0]=='-')
imc-mercbase.c:    imc_to_char("Channel name must be preceeded by +, -, or =.\n\r", ch);
imc-mercbase.c:  for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:    if (d->connected==CON_PLAYING &&
imc-mercbase.c:	(victim=d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c: *  Be lazy - only remember the last traceroute
imc-mercbase.c:  strcpy(pinger, ch->player.name);
imc-mercbase.c:  strcpy(pinger, ch->name );
imc-mercbase.c:    for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:      if (d->connected == CON_PLAYING &&
imc-mercbase.c:	  (ch =d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c:          !str_cmp(ch->player.name, pinger))
imc-mercbase.c:	  !str_cmp(ch->name, pinger))
imc-mercbase.c:	    "%s: %dms round-trip-time.\n\r"
imc-mercbase.c:                --length;
imc-mercbase.c:    amount = 78-imc_strlen_color( string ); /* Determine amount to put in
imc-mercbase.c:/* new imc_whoreply_* support, see imc-interp.c */
imc-mercbase.c:/* expanded for minimal mud-specific code. I really don't want to replicate
imc-mercbase.c: * stock in-game who displays here, since it's one of the most commonly
imc-mercbase.c:    imc_whoreply_start(from->name);
imc-mercbase.c:    for (d = descriptor_list; d; d = d->next)
imc-mercbase.c:        victim = ( d->original ) ? d->original : d->character;
imc-mercbase.c:        if (d->connected != CON_PLAYING || !imc_visible(from, imc_getdata(victim)) ||
imc-mercbase.c:                  (victim->adept_level>0)) ? victim->pcdata->who_name
imc-mercbase.c:  imc_send_whoreply(from->name,
imc-mercbase.c:		    "Sorry, no information is available of that type.\n\r", -1);
imc-mercbase.c:        sprintf( buf, "%s request from %s.\n\r", arg, from->name );
imc-mercbase.c:                "~!Site Information --\n\r"
imc-mercbase.c:                "IMC Information --\n\r"
imc-mercbase.c:        imc_send_whoreply(from->name, imc_getstats(), -1);
imc-mercbase.c:               "~chelp       ~W- ~!this list\n\r"
imc-mercbase.c:               "~cwho        ~W- ~!who listing\n\r"
imc-mercbase.c:               "~cinfo       ~W- ~!mud information\n\r"
imc-mercbase.c:               "~clist       ~W- ~!active IMC connections\n\r"
imc-mercbase.c:               "~cdirect     ~W- ~!direct IMC connections\n\r"
imc-mercbase.c:               "~cconfig     ~W- ~!local IMC configuration\n\r"
imc-mercbase.c:               "~cistats     ~W- ~!network traffic statistics\n\r"
imc-mercbase.c:               /* "~cfinger xxx ~W- ~!finger player xxx\n\r" */
imc-mercbase.c:    imc_send_whoreply(from->name, color_mtoi(color_itom(output)), -1);
imc-mercbase.c:    /* compressed who - shogar - 1/24/2000 */
imc-mercbase.c:     * compressed who - shogar - 1/24/2000
imc-mercbase.c:     * Moved to out herebecause pointless to decompress all the time-- Kratas
imc-mercbase.c:    for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:        if (d->connected==CON_PLAYING &&
imc-mercbase.c:            (victim=d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c:            if( compressit && compressed ) /* compressed who - shogar - 1/24/2000 */
imc-mercbase.c:  for (d=descriptor_list; d; d = d->next)
imc-mercbase.c:    if (d->connected==CON_PLAYING &&
imc-mercbase.c:	(victim = d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c:      imc_send_whoisreply(from->name, buf);
imc-mercbase.c:  sprintf( buf1, "RWHOIS by %s for %s", from->name, to );
imc-mercbase.c:  for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:    if (d->connected==CON_PLAYING &&
imc-mercbase.c:	(victim=d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c:        imc_recv_chat_command(from->name, to, argument, isreply);
imc-mercbase.c:    level = command->level;
imc-mercbase.c:    for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:        if( d->connected == CON_PLAYING &&
imc-mercbase.c:        (   vch = d->original ? d->original : d->character) != NULL &&
imc-mercbase.c:                if( vch->level < level )
imc-mercbase.c:                    imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:                if( vch->level < level )
imc-mercbase.c:                    imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:            IS_SET(victim->comm, COMM_DEAF) ||
imc-mercbase.c:            IS_SET(victim->pcdata->pflags, PFLAG_AFK) ||
imc-mercbase.c:            if (str_cmp((char *)imc_nameof(from->name), "*"))
imc-mercbase.c:                if (str_cmp(imc_nameof(from->name), "*"))
imc-mercbase.c:                    imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:        if (IS_SET(victim->comm, COMM_AFK) &&
imc-mercbase.c:            str_cmp(imc_nameof(from->name), "*"))
imc-mercbase.c:            imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:        else if (!victim->desc &&
imc-mercbase.c:                 str_cmp(imc_nameof(from->name), "*"))
imc-mercbase.c:            imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:        if (str_cmp((char *)imc_nameof(from->name), "*"))     /* not a system message */
imc-mercbase.c:            if (str_cmp(imc_nameof(from->name), "*"))     /* not a system message */
imc-mercbase.c:                IMC_RREPLY(victim)=imc_strdup(from->name);
imc-mercbase.c:        if (IS_SET(victim->comm, COMM_AFK) || !victim->desc)
imc-mercbase.c:            add_buf(victim->pcdata->buffer, buf);
imc-mercbase.c:        imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:  for (d=descriptor_list; d; d=d->next)
imc-mercbase.c:    if (d->connected==CON_PLAYING &&
imc-mercbase.c:	(vch=d->original ? d->original : d->character)!=NULL &&
imc-mercbase.c:      imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:    sprintf(buf, color_itom(RBEEP_FORMAT_2), from->name);
imc-mercbase.c:    imc_send_tell(NULL, from->name, buf, 1);
imc-mercbase.c:/* Since there are half-a-dozen different ways that people do this, I'm
imc-mercbase.c:#define ERWIN /* -- to use the code for Erwin's boards */
imc-mercbase.c:  for (board = first_board; board; board = board->next)
imc-mercbase.c:    if (board->board_obj == sysdata.imc_mail_vnum)
imc-mercbase.c:  /* yeesh, why doesn't anyone maintain 'const'-ness any more? */
imc-mercbase.c:  if ( board->num_posts >= board->max_posts )
imc-mercbase.c:    pnote->new = STRALLOC(buf); \
imc-mercbase.c:  pnote->voting = 0;
imc-mercbase.c:  pnote->yesvotes = str_dup("");
imc-mercbase.c:  pnote->novotes = str_dup("");
imc-mercbase.c:  pnote->abstentions = str_dup("");
imc-mercbase.c:  LINK(pnote, board->first_note, board->last_note, next, prev);
imc-mercbase.c:  board->num_posts++;
imc-mercbase.c: * in imc-mercbase.h to suit your mud!
imc-mercbase.c:#error You must #define a value for IMC_BOARD_VNUM in imc-mercbase.h!
imc-mercbase.c:#error You must #define a value for IMC_BOARD_VNUM in imc-mercbase.h!
imc-mercbase.c:  for (board=first_board; board != NULL; board=board->next)
imc-mercbase.c:    if (board->vnum==vnum)
imc-mercbase.c:      for (pObj=obj_index_hash[i]; pObj; pObj=pObj->next)
imc-mercbase.c:	if (pObj->item_type==ITEM_BOARD && pObj->value[3]==vnum)
imc-mercbase.c:  msg->datetime=time(NULL);
imc-mercbase.c:  msg->title=str_dup(buf);
imc-mercbase.c:  msg->author=str_dup(from);
imc-mercbase.c:  msg->board=board;
imc-mercbase.c:  msg->message=str_dup(color_itom(text));
imc-mercbase.c:  LINK(msg, board->first_message, board->last_message, next, prev);
imc-mercbase.c:  /* yeesh, why doesn't anyone maintain 'const'-ness any more? */
imc-mercbase.c:  pnote->type=NOTE_NOTE;
imc-mercbase.c:  pnote->sender=str_dup(from);
imc-mercbase.c:  pnote->to_list=str_dup(to);
imc-mercbase.c:  pnote->date=str_dup(date);
imc-mercbase.c:  pnote->subject=str_dup(subject);
imc-mercbase.c:  pnote->text=str_dup(color_itom(text));
imc-mercbase.c:  pnote->date_stamp=current_time;
imc-mercbase.c:  pnote->next=NULL;
imc-mercbase.c:  smash_tilde(pnote->sender);
imc-mercbase.c:  smash_tilde(pnote->to_list);
imc-mercbase.c:  smash_tilde(pnote->date);
imc-mercbase.c:  smash_tilde(pnote->subject);
imc-mercbase.c:  smash_tilde(pnote->text);
imc-mercbase.c:    for (prev_note = note_list; prev_note->next; prev_note = prev_note->next)
imc-mercbase.c:    prev_note->next = pnote;
imc-mercbase.c:    fprintf (fp, "Sender  %s~\n", pnote->sender);
imc-mercbase.c:    fprintf (fp, "Date    %s~\n", pnote->date);
imc-mercbase.c:    fprintf (fp, "Stamp   %ld\n", (unsigned long) pnote->date_stamp);
imc-mercbase.c:    fprintf (fp, "To      %s~\n", pnote->to_list);
imc-mercbase.c:    fprintf (fp, "Subject %s~\n", pnote->subject);
imc-mercbase.c:    fprintf (fp, "Text\n%s~\n\n", pnote->text);
imc-mercbase.c: * If you are using my code (ftp://pip.dknet.dk/pub/pip1773/board-2.tgz)
imc-mercbase.c: * there is another imc_mail_arrived() below - Erwin
imc-mercbase.c:  /* yeesh, why doesn't anyone maintain 'const'-ness any more? */
imc-mercbase.c:  /* yeesh, why doesn't anyone maintain 'const'-ness any more? */
imc-mercbase.c:          "-= IMC Header =-\n\r"
imc-mercbase.c:										CircleMUDs. -- Scion */
imc-mercbase.c:  /*  ick, wiznet is a bit broken wrt. passing non-objects to act..
imc-mercbase.c:  sprintf(buf, "%s %s %-.130s", imc_getconnectname(c), dir, string);
imc-util.c: * IMC2 - an inter-mud communications protocol
imc-util.c: * imc-util.c: misc utility functions for IMC
imc-util.c: * - general string manipulation functions
imc-util.c: * - flag and state lookup functions
imc-util.c: * - error logging
imc-util.c: * - imc_reminfo creation/lookup/deletion
imc-util.c: * - imc_info lookup
imc-util.c: * - connection naming
imc-util.c: * - reconnect setup
imc-util.c: * - static buffer allocation
imc-util.c: *  Static buffer allocation - greatly reduces IMC's memory footprint
imc-util.c:  if (soffset >= ssize-len)
imc-util.c:  offset=buf-sspace;
imc-util.c:    if (p->key[i])
imc-util.c:      n->key[i]=imc_strdup(p->key[i]);
imc-util.c:      n->key[i]=NULL;
imc-util.c:    if (p->value[i])
imc-util.c:      n->value[i]=imc_strdup(p->value[i]);
imc-util.c:      n->value[i]=NULL;
imc-util.c:    if (p->key[i] && !strcasecmp(p->key[i], key))
imc-util.c:      return p->value[i];
imc-util.c:    if (p->key[i] && !strcasecmp(p->key[i], key))
imc-util.c:      return atoi(p->value[i]);
imc-util.c:    if (p->key[i] && !strcasecmp(key, p->key[i]))
imc-util.c:      imc_strfree(p->key[i]);
imc-util.c:      imc_strfree(p->value[i]);
imc-util.c:      p->key[i]   = NULL;
imc-util.c:      p->value[i] = NULL;
imc-util.c:    if (!p->key[i])
imc-util.c:      p->key[i]   = imc_strdup(key);
imc-util.c:      p->value[i] = imc_strdup(value);
imc-util.c:    p->key[i]   = NULL;
imc-util.c:    p->value[i] = NULL;
imc-util.c:    if (p->key[i])
imc-util.c:      imc_strfree(p->key[i]);
imc-util.c:    if (p->value[i])
imc-util.c:      imc_strfree(p->value[i]);
imc-util.c:  vsnprintf(buf, IMC_DATA_LENGTH - 1, format, ap);
imc-util.c:  vsnprintf(imc_lasterror, IMC_DATA_LENGTH - 1, format, ap);
imc-util.c:  vsnprintf(imc_lasterror, IMC_DATA_LENGTH - 1, format, ap);
imc-util.c:  vsnprintf(imc_lasterror, IMC_DATA_LENGTH - 1, format, ap);
imc-util.c:/* copy src->dest, max count, null-terminate */
imc-util.c:  strncpy(dest, src, count-1);
imc-util.c:  dest[count-1] = 0;
imc-util.c:  while (*fullname && *fullname != '@' && count < IMC_PNAME_LENGTH-1)
imc-util.c:  where=path + strlen(path)-1;
imc-util.c:    where--;
imc-util.c:    while (*argument && !isspace(*argument) && len < length-1)
imc-util.c:    buf[strlen(buf)-1] = 0;
imc-util.c:  return -1;
imc-util.c:  for (p = imc_reminfo_list; p; p = p->next)
imc-util.c://    if (p->type == IMC_REMINFO_EXPIRED && !type)
imc-util.c:    if (!strcasecmp(name, p->name))
imc-util.c:	pnxt=p->next;
imc-util.c:    	if (strcasecmp(p->name,pnxt->name)> 0)
imc-util.c:			ptmp=pnxt->next;
imc-util.c:			pnxt->next=p;
imc-util.c:			p->next=ptmp;
imc-util.c:			plst->next=pnxt;
imc-util.c:			ptmp=pnxt->next;
imc-util.c:			pnxt->next=p;
imc-util.c:			p->next=ptmp;
imc-util.c:  p->name    = NULL;
imc-util.c:  p->version = NULL;
imc-util.c:  p->route   = NULL;
imc-util.c:  p->path   = NULL;
imc-util.c:  p->alive   = 0;
imc-util.c:  p->ping    = 0;
imc-util.c:  p->top_sequence = 0;
imc-util.c:  p->next    = imc_reminfo_list;
imc-util.c:  p->type    = IMC_REMINFO_NORMAL;
imc-util.c:    imc_reminfo_list = p->next;
imc-util.c:    for (last=imc_reminfo_list; last && last->next != p; last=last->next)
imc-util.c:    last->next=p->next;
imc-util.c:  imc_strfree(p->name);
imc-util.c:  imc_strfree(p->version);
imc-util.c:  imc_strfree(p->route);
imc-util.c:  for (p=imc_info_list; p; p=p->next)
imc-util.c:    if (!strcasecmp(mud, p->name))
imc-util.c:  if (c->info)
imc-util.c:    n=c->info->name;
imc-util.c:  sprintf(buf, "%s[%d]", n, c->desc);
imc-util.c:  temp=i->timer_duration + (rand()%21) - 20;
imc-util.c:      /* routers should never do reconnects to muds - shogar */
imc-util.c:      	if(!imc_is_router || (i->flags & IMC_HUB)) 
imc-util.c:		if(i->connect_attempts < 3)
imc-util.c:  			i->timer_duration*=2;
imc-util.c:  			if (i->timer_duration > IMC_MAX_RECONNECT_TIME)
imc-util.c:    				i->timer_duration = IMC_MAX_RECONNECT_TIME;
imc-util.c:			i->connect_attempts += 1; /* count the attempts - shogar */
imc-util.c:	/* Generate random passwords for the auto-reconnect feature -- Scion */
imc-util.c:		temp=(rand()%(strlen(letters)-1)+1);
imc-util.c:		if (temp<0 || temp>strlen(letters)-1)
imc-version.c: * IMC2 - an inter-mud communications protocol
imc-version.c: * imc-version.c: packet generation/interpretation for various protocol
imc-version.c:/* escape2: escape " -> \", \ -> \\, CR -> \r, LF -> \n */
imc-version.c:  for (p=buf; *data && (p-buf < IMC_DATA_LENGTH-1); data++, p++)
imc-version.c:/* printkeys: print key-value pairs, escaping values */
imc-version.c:    if (!data->key[i])
imc-version.c:    imc_sncpy(buf+len, data->key[i], IMC_DATA_LENGTH-len-1);
imc-version.c:    if (!strchr(data->value[i], ' '))
imc-version.c:      imc_sncpy(temp, escape2(data->value[i]), IMC_DATA_LENGTH-1);
imc-version.c:      imc_sncpy(temp+1, escape2(data->value[i]), IMC_DATA_LENGTH-3);
imc-version.c:    imc_sncpy(buf+len, temp, IMC_DATA_LENGTH-len);
imc-version.c:    while (*p1 && *p1 != '=' && p2-k < IMC_DATA_LENGTH-1)
imc-version.c:	   p2-v < IMC_DATA_LENGTH+1)
imc-version.c:  if (!p->type[0] || !p->i.from[0] || !p->i.to[0])
imc-version.c:    imc_logerror("type: %s from: %s to: %s",p->type,p->i.from,p->i.to);
imc-version.c:    imc_logerror("path: %s data:",p->i.path,printkeys(&p->data));
imc-version.c:  if (!p->i.path[0])
imc-version.c:    sprintf(newpath, "%s!%s", p->i.path, imc_name);
imc-version.c:	  p->i.from, p->i.sequence, newpath, p->type, p->i.to,
imc-version.c:	  printkeys(&p->data));
imc.c: * IMC2 - an inter-mud communications protocol
imc.c:/* if freeBSD , use flock instead of lockf - shogar */
imc.c:#include "minilzo.h"  /* compressed who - shogar - 1/24/2000 */
imc.c:int imc_lock_file=-1;
imc.c:int global_directnum=-1;
imc.c:  { "hub",       IMC_HUB       }, /* SPAM fix - shogar && currently used hub (unless main hub.. confused yet?) ;) - Scion */
imc.c:  { "main_hub",  IMC_MAIN_HUB  }, /* main hub, same as hub, but first to try - Scion */
imc.c:  { "old_hub",   IMC_OLD_HUB   }, /* backup hub just in case - Scion */
imc.c:  { "dead_hub",  IMC_DEAD_HUB  }, /* defunct hub, 3 connection attempts - Scion */
imc.c:  { "new",       IMC_NEW_HUB  }, /* mark new hubs so dont save - shogar */
imc.c:  { "noswitch",  IMC_NOSWITCH  }, /* might be reasons to never switch to them - shogar */
imc.c:  { "inactive - not initialized",                         IA_NONE      },
imc.c:  { "inactive - config loaded, local name not set",       IA_CONFIG1   },
imc.c:  { "inactive - config loaded, local name set",           IA_CONFIG2   },
imc.c:  { "active - not accepting connections",                 IA_UP        },
imc.c:  { "active - accepting connections",                     IA_LISTENING },
imc.c:  c->state    = IMC_CLOSED;
imc.c:  c->desc     = -1;
imc.c:  c->insize   = IMC_MINBUF;
imc.c:  c->inbuf    = imc_malloc(c->insize);
imc.c:  c->outsize  = IMC_MINBUF;
imc.c:  c->outbuf   = imc_malloc(c->outsize);
imc.c:  c->inbuf[0] = c->outbuf[0] = 0;
imc.c:  c->info     = NULL;
imc.c:  c->spamcounter1=0;
imc.c:  c->spamcounter2=0;
imc.c:  c->spamtime1=0;
imc.c:  c->spamtime2=0;
imc.c:  c->newoutput=0;
imc.c:  c->next=imc_connect_list;
imc.c: *  c->state==IMC_CLOSED
imc.c:  if (c->state!=IMC_CLOSED)
imc.c:    imc_logerror("imc_extract_connect: non-closed connection");
imc.c:  imc_free(c->inbuf, c->insize);
imc.c:  imc_free(c->outbuf, c->outsize);
imc.c:    imc_connect_list=c->next;
imc.c:    for (c_find=imc_connect_list; c_find && c_find->next!=c;
imc.c:	 c_find=c_find->next)
imc.c:      c_find->next=c->next;
imc.c:	p->name    = imc_strdup(sender);
imc.c:	p->ping    = 0;
imc.c:	p->alive   = imc_now;
imc.c:	p->route   = imc_strdup(last);
imc.c:	p->version = imc_strdup("unknown");
imc.c:	p->type    = IMC_REMINFO_NORMAL;
imc.c:	if (strcasecmp(last, p->route))
imc.c:	  imc_strfree(p->route);
imc.c:	  p->route=imc_strdup(last);
imc.c:	p->alive=imc_now;
imc.c:	p->type = IMC_REMINFO_NORMAL;
imc.c:      !strcmp(tempp + strlen(tempp) - strlen(buf), buf))
imc.c:  c->state    = IMC_WAIT1;
imc.c:  c->desc     = d;
imc.c:/* notify everyone of the closure - shogar */
imc.c:  strcpy(out.type, "close-notify");
imc.c:/* log and announce if closed via event - shogar 2/26/2000 */
imc.c:  if (c->info) /* if our switched hub, get a new one right away - shogar */
imc.c:    if (!imc_is_router && (c->info->flags & IMC_NEW_HUB) && c->info == imc_info_list)
imc.c:  if (c->state==IMC_CLOSED)
imc.c:  if(name && c->state == IMC_CONNECTED) /* dont send if never connected */
imc.c:        /* changed event, dont announce a simple reboot  - shogar - 2/2/2000 */
imc.c:  	imc_add_event(60, ev_close_notify, c->info->name, 1);
imc.c:        close(c->desc); /* dont close if closed */
imc.c:  if (c->state == IMC_CONNECTED)
imc.c:    c->info->connection=NULL;
imc.c:  if (c->info)
imc.c:    if ((c->info->flags & IMC_RECONNECT) &&
imc.c:	!(c->info->flags & IMC_DENY) &&
imc.c:	!(c->info->flags & IMC_CLIENT))
imc.c:      imc_setup_reconnect(c->info);
imc.c:  c->state=IMC_CLOSED;
imc.c:  if (!c->info || !(c->info->flags & IMC_QUIET))
imc.c:        /* dont log and announce if event - shogar 2/26/2000 */
imc.c:  if (c->info)
imc.c:    r=imc_find_reminfo(c->info->name, 1);
imc.c:  if(c->desc)
imc.c:	close(c->desc);
imc.c:  c->desc=0;
imc.c:  c->inbuf[0]=0;
imc.c:  c->outbuf[0]=0;
imc.c:  if (!c->info || !(c->info->flags & IMC_QUIET))
imc.c:  r=read(c->desc, temp, IMC_MAXBUF-1);
imc.c:    if (!c->info || !(c->info->flags & IMC_QUIET))
imc.c:  size=strlen(c->inbuf)+r+1;
imc.c:  if (size>=c->insize)
imc.c:	/* not an error anymore, expected and handled - shogar */
imc.c:        imc_logerror("%d: was allocated", c->insize);
imc.c://      imc_free(c->inbuf,c->insize);
imc.c://      c->insize=IMC_MINBUF;
imc.c://      c->inbuf= imc_malloc(c->insize);
imc.c:    newsize=c->insize;
imc.c:    strcpy(newbuf, c->inbuf);
imc.c:    imc_free(c->inbuf, c->insize);
imc.c:    c->inbuf=newbuf;
imc.c:    c->insize=newsize;
imc.c:  if (size>c->insize/2)
imc.c:  if (size<c->insize/2 && size >= IMC_MINBUF)
imc.c:    newsize=c->insize;
imc.c:    strcpy(newbuf, c->inbuf);
imc.c:    imc_free(c->inbuf, c->insize);
imc.c:    c->inbuf=newbuf;
imc.c:    c->insize=newsize;
imc.c:  strcat(c->inbuf, temp);
imc.c:    if (c->state==IMC_CONNECTING)
imc.c:        c->state=IMC_WAIT2;
imc.c:    size = strlen(c->outbuf);
imc.c:    w=write(c->desc, c->outbuf, size);
imc.c:        if (!c->info || !(c->info->flags & IMC_QUIET))
imc.c:    //  memmove(c->outbuf, c->outbuf+w, size-w+1);
imc.c:    strcpy(c->outbuf,c->outbuf+w);
imc.c:  int newsize=c->outsize;
imc.c:  if (c->state==IMC_CLOSED)
imc.c:  if (!c->outbuf[0])
imc.c:    c->newoutput=1;
imc.c:  len=strlen(c->outbuf)+strlen(line)+3;
imc.c:  if (len > c->outsize)
imc.c:	/* not an error anymore, expected and handled - shogar */
imc.c:      if (!c->info || !(c->info->flags & IMC_QUIET))
imc.c:      imc_logerror("%d: was allocated", c->outsize);
imc.c://      imc_logerror("current buf: %s", c->outbuf);
imc.c://      imc_free(c->outbuf,c->outsize);
imc.c://      c->outsize=IMC_MINBUF;
imc.c://      c->outbuf= imc_malloc(c->outsize);
imc.c:    strcpy(newbuf, c->outbuf);
imc.c:    imc_free(c->outbuf, c->outsize);
imc.c:    c->outbuf=newbuf;
imc.c:    c->outsize=newsize;
imc.c:  if (len<c->outsize/2 && len >= IMC_MINBUF)
imc.c:    newsize=c->outsize/2;
imc.c:    strcpy(newbuf, c->outbuf);
imc.c:    imc_free(c->outbuf, c->outsize);
imc.c:    c->outbuf=newbuf;
imc.c:    c->outsize=newsize;
imc.c:  strcat(c->outbuf, line);
imc.c:  strcat(c->outbuf, "\n\r");
imc.c:  if (strlen(c->outbuf)>=c->outsize/2)
imc.c:  v=c->version;
imc.c:  if (!strcasecmp(p->type, "chat") ||
imc.c:      !strcasecmp(p->type, "emote"))
imc.c:    int chan=imc_getkeyi(&p->data, "channel", 0);
imc.c:/* forward a packet - main routing function, all packets pass through here */
imc.c:  char recievedfrom[IMC_MAXBUF]; /* SPAM fix - shogar */
imc.c:  imc_connect *rf; /* SPAM fix - shogar */
imc.c:  if (p->i.sequence && checkrepeat(imc_mudof(p->i.from), p->i.sequence))
imc.c:  if (inpath(p->i.path, imc_name))
imc.c:  route=imc_find_reminfo(imc_mudof(p->i.from), 1);
imc.c:    if ((p->i.sequence+IMC_PACKET_LIFETIME) < route->top_sequence)
imc.c:      if(imc_is_router) /* spare the muds from seeing this - shogar */
imc.c:		    p->i.path, p->i.sequence, route->top_sequence);
imc.c:    if (p->i.sequence > route->top_sequence)
imc.c:      route->top_sequence=p->i.sequence;
imc.c:  updateroutes(p->i.path);
imc.c:  if (!strcmp(imc_mudof(p->i.to), "*") ||
imc.c:      !strcasecmp(imc_mudof(p->i.to), imc_name))
imc.c:    strcpy(p->to, imc_nameof(p->i.to));    /* strip the name from the 'to' */
imc.c:    strcpy(p->from, p->i.from);
imc.c:  if (!strcasecmp(imc_mudof(p->i.to), imc_name))
imc.c:  to=imc_mudof(p->i.to);
imc.c:      route->route != NULL &&
imc.c:      !inpath(p->i.path, route->route))	/* avoid circular routing */
imc.c:    if (strcasecmp(to, route->route) &&
imc.c:	i->connection)
imc.c:    to=route->route;
imc.c:      i->connection &&
imc.c:      !(i->flags & IMC_BROADCAST))
imc.c:    /* SPAM fix - hubcnt and who just gave us the packet- shogar */
imc.c:    strcpy(recievedfrom,imc_lastinpath(p->i.path)); 
imc.c:    for (rf=imc_connect_list; rf; rf=rf->next)
imc.c:	if(rf->info && rf->info->name && !strcmp(recievedfrom,rf->info->name))
imc.c:        	if(rf->info->flags & IMC_HUB) 
imc.c:    for (c=imc_connect_list; c; c=c->next)
imc.c:      if (c->state==IMC_CONNECTED)
imc.c:	if (inpath(p->i.path, c->info->name) ||
imc.c:	    (p->i.stamp & c->info->noforward)!=0)
imc.c:        /* SPAM fix - shogar */
imc.c:        if(c->info->flags & IMC_HUB) 
imc.c:/* if for imc3 we need to do this - shogar */
imc.c:        	if (imc_getkeyi(&p->data,"channel",0) == 2)
imc.c:    if (i->connection && !inpath(p->i.path, i->name))
imc.c:      do_send_packet(i->connection, p);
imc.c:    if (direct && direct!=i && direct->connection &&
imc.c:	!inpath(p->i.path, direct->name))
imc.c:      do_send_packet(direct->connection, p);
imc.c:    imc_logstring("%s: non-PW password packet", imc_getconnectname(c));
imc.c:  if (!i || strcmp(i->clientpw, pw))
imc.c:    if (!i || !(i->flags & IMC_QUIET))
imc.c:  if (i->flags & IMC_DENY)
imc.c:    if (!(i->flags & IMC_QUIET))
imc.c:  if (i->connection)	                      /* kill old connections */
imc.c:    do_close(i->connection);
imc.c:  i->connection     = c;
imc.c:  c->state          = IMC_CONNECTED;
imc.c:  c->info           = i;
imc.c:  c->spamcounter1   = 0;
imc.c:  c->spamcounter2   = 0;
imc.c:  if (sscanf(version, "version=%hu", &c->version)!=1)
imc.c:    c->version=0;
imc.c:  if (!imc_vinfo[c->version].generate ||
imc.c:      !imc_vinfo[c->version].interpret)
imc.c:    if (!(i->flags & IMC_QUIET))
imc.c:		  imc_getconnectname(c), c->version);
imc.c:	  imc_name, i->serverpw, IMC_VERSION);
imc.c:        /* dont log and announce if event - shogar 2/26/2000 */
imc.c:  if (!(i->flags & IMC_QUIET) 
imc.c:		  imc_getconnectname(c), c->version);
imc.c:  c->info->timer_duration=IMC_MIN_RECONNECT_TIME;
imc.c:  c->info->last_connected=imc_now;
imc.c:  imc_cancel_event(ev_reconnect, c->info);
imc.c:  /* if reconnecting on simple reboot don't - shogar - 2/1/2000 */
imc.c:  imc_cancel_event(ev_close_notify, c->info->name);
imc.c:    imc_logstring("%s: non-PW password packet", imc_getconnectname(c));
imc.c:  if (!i || strcmp(i->serverpw, pw) ||
imc.c:      i != c->info)
imc.c:    if ((!i || !(i->flags & IMC_QUIET)) && !(c->info->flags & IMC_QUIET))
imc.c:  if (i->connection)	/* kill old connections */
imc.c:    do_close(i->connection);
imc.c:  i->connection         = c;
imc.c:  c->state              = IMC_CONNECTED;
imc.c:  c->spamcounter1       = 0;
imc.c:  c->spamcounter2       = 0;
imc.c:  if (sscanf(version, "version=%hu", &c->version)!=1)
imc.c:    c->version=0;
imc.c:  if (!imc_vinfo[c->version].generate ||
imc.c:      !imc_vinfo[c->version].interpret)
imc.c:    if (!(i->flags & IMC_QUIET))
imc.c:		    imc_getconnectname(c), c->version);
imc.c:  if (!(i->flags & IMC_QUIET))
imc.c:		  imc_getconnectname(c), c->version);
imc.c:  c->info->timer_duration=IMC_MIN_RECONNECT_TIME;
imc.c:  c->info->last_connected=imc_now;
imc.c:  imc_cancel_event(ev_reconnect, c->info);
imc.c:  /* compressed who - shogar - 1/24/2000 */
imc.c:/*  this is an ugly hack to generate the send-queue size for an empty queue.
imc.c:    imc_lock_file=-1;
imc.c:  imc_lock_file=-1;
imc.c:	int toggle=0; /* This is to tell after we've done reconnects if we've connected to a hub or not -- Scion */
imc.c:  control=-1;
imc.c:  /* fill my imclist please - shogar */
imc.c:  for (info=imc_info_list; info; info=info->next)
imc.c:    if (!(info->flags & IMC_NOAUTO) && !(info->flags & IMC_CLIENT) 
imc.c:		&& !(info->flags & IMC_DENY) 
imc.c: /*               && !(info->flags & IMC_OLD_HUB)  not used anymore - shogar
imc.c:                && !(info->flags & IMC_DEAD_HUB)
imc.c:		&& !(info->flags & IMC_HUB)) {
imc.c:      if (imc_connect_to(info->name) && ((info->flags & IMC_MAIN_HUB) || (info->flags & IMC_HUB)))
imc.c:	/* Setup optimization to run, it won't if we're a hub -- Scion */
imc.c:   	imc_logstring("Setting auto-optimize to run in 6 minutes.");
imc.c:   /* Are we connected to any hubs, btw? -- Scion */
imc.c:	   for (info=imc_info_list; info; info=info->next)
imc.c:		   if ((info->flags & IMC_HUB) && (!toggle))
imc.c:			   if (imc_connect_to(info->name))
imc.c:   /* We're out of ideas, notify the admins -- Scion */
imc.c:		imc_stats.rx_bytes / (imc_now - imc_stats.start));
imc.c:		imc_stats.tx_bytes / (imc_now - imc_stats.start));
imc.c:    c_next=c->next;
imc.c:    pnext=p->next;
imc.c:    imc_strfree(p->version);
imc.c:    imc_strfree(p->name);
imc.c:    if(p->path) imc_strfree(p->path); 
imc.c:    ev_next=ev->next;
imc.c:    ev_next=ev->next;
imc.c:    ign_next=ign->next;
imc.c:    info_next=info->next;
imc.c:  v=c->version;
imc.c:    if (c->info)
imc.c:      p->i.stamp=c->info->rcvstamp;
imc.c:      p->i.stamp=0;
imc.c:  for (c=imc_connect_list; c; c=c->next)
imc.c:    if (maxfd < c->desc)
imc.c:      maxfd = c->desc;
imc.c:    switch (c->state)
imc.c:      FD_SET(c->desc, write);
imc.c:      FD_SET(c->desc, read);
imc.c:      if (c->outbuf[0])
imc.c:	FD_SET(c->desc, write);
imc.c:  for (p=imc_event_list; p; p=p->next)
imc.c:    if (p->timed)
imc.c:      return p->when - imc_now;
imc.c:/* low-level idle function: read/write buffers as needed, etc */
imc.c:    c_next=c->next;
imc.c:    if (c->state!=IMC_CLOSED && FD_ISSET(c->desc, exc))
imc.c:    if (c->state!=IMC_CLOSED && FD_ISSET(c->desc, read))
imc.c:    while (c->state!=IMC_CLOSED &&
imc.c://	   (c->spamtime1>=0 || c->spamcounter1<=IMC_SPAM1MAX) &&
imc.c://	   (c->spamtime2>=0 || c->spamcounter2<=IMC_SPAM2MAX) &&
imc.c:	   (command = getline(c->inbuf)) != NULL)
imc.c:      switch (c->state)
imc.c:	  if (strcasecmp(c->info->name,
imc.c:			 imc_lastinpath(p->i.path)))
imc.c:			 c->info->name,
imc.c:			 imc_lastinpath(p->i.path));
imc.c:	  else if (strcasecmp(imc_mudof(p->i.from), imc_firstinpath(p->i.path)))
imc.c:			 p->i.from,
imc.c:			 imc_firstinpath(p->i.path));
imc.c:  if (!strcasecmp(p->type, "chat") ||
imc.c:      !strcasecmp(p->type, "tell") ||
imc.c:      !strcasecmp(p->type, "emote") || 1)
imc.c:      if (!c->spamcounter1 && !c->spamtime1)
imc.c:      c->spamcounter1++;
imc.c:      if (!c->spamcounter2 && !c->spamtime2)
imc.c:      c->spamcounter2++;
imc.c:	  imc_freedata(&p->data);
imc.c:    c_next=c->next;
imc.c:    if (c->state!=IMC_CLOSED &&
imc.c:	(FD_ISSET(c->desc, write) || c->newoutput))
imc.c://      c->newoutput=0;
imc.c:      c->newoutput=c->outbuf[0];
imc.c:    c_next=c->next;
imc.c:    if (c->state==IMC_CLOSED)
imc.c:  if (i->connection)
imc.c:  if (i->flags & IMC_CLIENT)
imc.c:    imc_qerror("%s: client-only flag is set", mud);
imc.c:  if (i->flags & IMC_DENY)
imc.c:  if (!(i->flags & IMC_QUIET))
imc.c:  if ((sa.sin_addr.s_addr=inet_addr(i->host)) == -1UL)
imc.c:    if (NULL == (hostinfo=gethostbyname(i->host)))
imc.c:    sa.sin_addr.s_addr = *(unsigned long *) hostinfo->h_addr;
imc.c:  sa.sin_port   = htons(i->port);
imc.c:  c->desc     = desc;
imc.c:  c->state    = IMC_CONNECTING;
imc.c:  c->info     = i;
imc.c:	  i->clientpw,
imc.c:    for (c=imc_connect_list; c; c=c->next)
imc.c:      if (c->desc==d)
imc.c:  for (c=imc_connect_list; c; c=c->next)
imc.c:    if (c->info==i)
imc.c:  p->i.stamp = 0;
imc.c:  p->i.path[0]  = 0;
imc.c:  p->i.sequence = imc_sequencenumber++;
imc.c:  imc_sncpy(p->i.to, p->to, IMC_NAME_LENGTH);
imc.c:  imc_sncpy(p->i.from, p->from, IMC_NAME_LENGTH);
imc.c:  strcat(p->i.from, "@");
imc.c:  imc_sncpy(p->i.from + strlen(p->i.from), imc_name,
imc.c:	    IMC_NAME_LENGTH - strlen(p->i.from));
imc.c:  i->name       = NULL;
imc.c:  i->host       = NULL;
imc.c:  i->port       = 0;
imc.c:  i->connection = NULL;
imc.c:  i->clientpw   = NULL;
imc.c:  i->serverpw   = NULL;
imc.c:  i->timer_duration = IMC_MIN_RECONNECT_TIME;
imc.c:  i->rcvstamp   = 0;
imc.c:  i->noforward  = 0;
imc.c:  i->flags      = 0;
imc.c:  i->last_connected = 0;
imc.c:  i->next=NULL;
imc.c:  for (p=imc_info_list; p && p->next; p=p->next)
imc.c:    p->next=i;
imc.c:  i->name       = NULL;
imc.c:  i->host       = NULL;
imc.c:  i->port       = 0;
imc.c:  i->connection = NULL;
imc.c:  i->clientpw   = NULL;
imc.c:  i->serverpw   = NULL;
imc.c:  i->timer_duration = IMC_MIN_RECONNECT_TIME;
imc.c:  i->rcvstamp   = 0;
imc.c:  i->noforward  = 0;
imc.c:  i->flags      = 0;
imc.c:  i->last_connected = 0;
imc.c:  i->next=imc_info_list;
imc.c:  for (c=imc_connect_list; c; c=c->next)
imc.c:    if (c->info==i)
imc.c:    imc_info_list=i->next;
imc.c:    for (last=imc_info_list; last && last->next!=i; last=last->next)
imc.c:      last->next=i->next;
imc.c:  if (i->name)
imc.c:    imc_strfree(i->name);
imc.c:  if (i->host)
imc.c:    imc_strfree(i->host);
imc.c:  if (i->clientpw)
imc.c:    imc_strfree(i->clientpw);
imc.c:  if (i->serverpw)
imc.c:    imc_strfree(i->serverpw);
imc.c:    imc_info_list=i->next;
imc.c:    for (last=imc_info_list; last && last->next!=i; last=last->next)
imc.c:      last->next=i->next;
imc.c:  if (i->name)
imc.c:    imc_strfree(i->name);
imc.c:  if (i->host)
imc.c:    imc_strfree(i->host);
imc.c:  if (i->clientpw)
imc.c:    imc_strfree(i->clientpw);
imc.c:  if (i->serverpw)
imc.c:    imc_strfree(i->serverpw);
imm_host.c: * -----------------------------------------------------------|   (0...0)   *
imm_host.c: * -----------------------------------------------------------|    {o o}    *
imm_host.c: * ------------------------------------------------------------------------ *
imm_host.c: * ------------------------------------------------------------------------ *
imm_host.c:	  KEY ("Host", data->host, fread_string_nohash (fp) );
imm_host.c:	  KEY ("Name", data->name, fread_string_nohash ( fp ) );
imm_host.c:			data->prefix = TRUE;
imm_host.c:			data->prefix = FALSE;
imm_host.c:			data->suffix = TRUE;
imm_host.c:			data->suffix = FALSE;
imm_host.c:  for ( i = 0; i < strlen( ch->name ); i++ )
imm_host.c:        my_name[i] = LOWER( ch->name[i] );
imm_host.c:  for ( temp = immortal_host_start; temp; temp = temp->next )
imm_host.c:        if ( !str_cmp ( my_name, strlower(temp->name) ) )
imm_host.c:                if ( temp->prefix && temp->suffix 
imm_host.c:			&& strstr( temp->host, my_host))
imm_host.c:                else if ( temp->prefix 
imm_host.c:			&& !str_suffix( temp->host, my_host))
imm_host.c:                else if ( temp->suffix 
imm_host.c:			&& !str_prefix( temp->host, my_host))
imm_host.c:		else if ( !str_cmp( temp->host, my_host))
imm_host.c:        for ( temp = immortal_host_start ; temp ; temp = temp->next )	
imm_host.c:	  ch_printf ( ch, "%-8s  %c%s%c\n\r",
imm_host.c:		temp->name, (temp->prefix?'*':' '), temp->host,
imm_host.c:		(temp->suffix?'*':' ') );
imm_host.c:        for ( temp = immortal_host_start ; temp ; temp = temp->next )	
imm_host.c:		if ( !str_cmp ( arg1, temp->name ) 
imm_host.c:			&& !str_cmp ( arg2, temp->host ) )
imm_host.c:        DISPOSE ( temp->name );
imm_host.c:        DISPOSE ( temp->host );
imm_host.c:  	if ( name[strlen(name) -1] == '*' )
imm_host.c:		name[strlen(name) -1] = '\0';
imm_host.c:	for ( temp = immortal_host_start; temp; temp = temp->next )
imm_host.c:		if ( !str_cmp ( temp->name, arg1 )  &&
imm_host.c:		     !str_cmp ( temp->host, name ) )
imm_host.c:  	host->name = str_dup ( arg1 );
imm_host.c:  	host->host = str_dup ( name );
imm_host.c:        host->prefix = prefix;
imm_host.c:        host->suffix = suffix;
imm_host.c:  for ( temp = immortal_host_start; temp; temp = temp->next )
imm_host.c:	fprintf (fp, "Name\t%s~\n", temp->name );
imm_host.c:	fprintf (fp, "Host\t%s~\n", temp->host );
imm_host.c:	if ( temp->prefix )
imm_host.c:	if ( temp->suffix )
immscore.c: * sh_int incog_level; * Incog -Froboz *
immscore.c: * sh_int ghost_level; * Ghost -Froboz *
immscore.c: * --Kratas
immscore.c:    pager_printf_color(ch, "\n\r&cImmortal Data: &W%s&c.\n\r", ch->name );
immscore.c:    if ( get_trust( ch ) != ch->level )
immscore.c:    send_to_pager_color("&B----------------------------------------------------------------------------\n\r", ch);
immscore.c:        pager_printf_color(ch, "&cLevel : &W%-6d      &cClass : &W%-10.10s      &cPlayed: &W%d hours\n\r",
immscore.c:                           ch->level, capitalize(get_class(ch)), (get_age(ch) - 17) * 2);
immscore.c:        if( ch->level2 != -1 )
immscore.c:            pager_printf_color(ch, "&cLevel2: &W%-6d      &cClass2: &W%-10.10s\n\r",
immscore.c:                               ch->level2, capitalize(get_class2(ch)) );
immscore.c:        pager_printf_color(ch, "&cYears : &W%-6d      &cRace  : &W%-10.10s      &cLog In: &W%s\n\r",
immscore.c:                           get_age(ch), capitalize(get_race(ch)), ctime(&(ch->logon)) );
immscore.c:        send_to_pager_color("&B----------------------------------------------------------------------------\n\r", ch);
immscore.c:        pager_printf_color(ch, "&RBamfin : &p%s\n\r", (ch->pcdata->bamfin[0] != '\0')
immscore.c:                           ? ch->pcdata->bamfin : "Not changed/Switched.");
immscore.c:        pager_printf(ch, "&RBamfout: &p%s\n\r", (ch->pcdata->bamfout[0] != '\0')
immscore.c:                     ? ch->pcdata->bamfout : "Not changed/Switched.");
immscore.c:        if (ch->pcdata->area)
immscore.c:            send_to_pager_color("&B----------------------------------------------------------------------------\n\r", ch);
immscore.c:            pager_printf(ch, "&RVnums  : &pRoom &W(&R%-5.5d &Y- &R%-5.5d&W)   &pObject &W(&R%-5.5d &Y- &R%-5.5d&W)   &pMob &W(&R%-5.5d &Y- &R%-5.5d&W)\n\r",
immscore.c:                         ch->pcdata->area->low_r_vnum, ch->pcdata->area->hi_r_vnum, ch->pcdata->area->low_o_vnum, ch->pcdata->area->hi_o_vnum, ch->pcdata->area->low_m_vnum, ch->pcdata->area->hi_m_vnum);
immscore.c:                         (IS_SET(ch->pcdata->area->status, AREA_LOADED))
immscore.c:        send_to_pager_color("&B----------------------------------------------------------------------------\n\r",ch);
immscore.c:                 xIS_SET( ch->act, PLR_HOLYLIGHT ) ? "&GON&c "  : "&ROFF&c",
immscore.c:                 xIS_SET( ch->act, PLR_WIZINVIS  ) ? "&GON&c "  : "&ROFF&c",
immscore.c:                 ch->pcdata->wizinvis,
immscore.c:                 ch->incog_level > 0 ? "&GON&c " : "&ROFF&c",
immscore.c:                 ch->incog_level,
immscore.c:                 ch->ghost_level > 0 ? "&GON&c " : "&ROFF&c",
immscore.c:                 ch->ghost_level );
immscore.c: * -Froboz
immscore.c:        if ( ch->incog_level)
immscore.c:            ch->incog_level = 0;
immscore.c:            ch->incog_level = get_trust(ch);
immscore.c:            ch->ghost_level = 0;
immscore.c:            ch->reply = NULL;
immscore.c:            ch->incog_level = level;
immscore.c:            ch->ghost_level = 0;
immscore.c: * They still show up on who.   -Froboz was here :)
immscore.c:        if ( ch->ghost_level)
immscore.c:            ch->ghost_level = 0;
immscore.c:            ch->ghost_level = get_trust(ch);
immscore.c:            ch->incog_level = 0;
immscore.c:            ch->reply = NULL;
immscore.c:            ch->ghost_level = level;
immscore.c:            ch->incog_level = 0;
inferno.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
inferno.c:	hpch = UMAX( 10, ch->hit );
inferno.c:	for ( vch = ch->in_room->first_person; vch; vch = vch_next )
inferno.c:		vch_next = vch->next_in_room;
inferno.c:		if ( !vch->in_room )
inferno.c:		if ( !IS_NPC( vch ) &&  xIS_SET( vch->act, PLR_WIZINVIS ) && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
inferno.c:			if ( saves_spell_staff( level, vch ) )  /* small fix, --Cronel */
interp.c: * -----------------------------------------------------------|   (0...0)   *
interp.c: * -----------------------------------------------------------|    {o o}    *
interp.c: * ------------------------------------------------------------------------ *
interp.c: * ------------------------------------------------------------------------ *
interp.c:#include "icec-mercbase.h"
interp.c: * Log-all switch.
interp.c:    if ( IS_NPC( ch ) && ch->position > 3 ) /*Band-aid alert?  -- Blod*/
interp.c:    if ( ch->position < position )
interp.c:	switch( ch->position )
interp.c:/* to avoid duplicating log lines - relies upon watch list being */
interp.c:		for(cur_imm = pw->imm_name;
interp.c:			pw && !strcmp(pw->imm_name, cur_imm); pw = pw->next)
interp.c:                        if(!found && ch->desc && get_trust(ch) < pw->imm_level 
interp.c:                        &&((pw->target_name&&!strcmp(cmd->name,pw->target_name))
interp.c:                        || (pw->player_site && 
interp.c:                        !str_prefix(pw->player_site, ch->desc->host))))
interp.c:				sprintf( fname, "%s%s", WATCH_DIR, strlower( pw->imm_name ) );
interp.c:               				t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min,
interp.c:               				ch->name, logline );
interp.c:	for ( pw = first_watch; pw; pw = pw->next )
interp.c:                if (((pw->target_name && !str_cmp   (pw->target_name, ch->name))
interp.c:                ||    (pw->player_site 
interp.c:                && !str_prefix(pw->player_site, ch->desc->host)) )
interp.c:                &&    get_trust(ch) < pw->imm_level
interp.c:                &&    ch->desc )
interp.c:			sprintf( fname, "%s%s", WATCH_DIR, strlower( pw->imm_name ) );
interp.c:               			t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min,
interp.c:               			ch->name, logline );
interp.c:    if ( !ch->in_room )
interp.c:    if ( ch->substate == SUB_REPEATCMD )
interp.c:	if ( (fun=ch->last_cmd) == NULL )
interp.c:	    ch->substate = SUB_NONE;
interp.c:		for ( cmd = command_hash[x]; cmd; cmd = cmd->next )
interp.c:		   if ( cmd->do_fun == fun )
interp.c:	    sprintf( logline, "(%s) %s", cmd->name, argument );
interp.c:	/* xREMOVE_BIT( ch->affected_by, AFF_HIDE ); */
interp.c:	if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_FREEZE) )
interp.c:	for ( cmd = command_hash[LOWER(command[0])%126]; cmd; cmd = cmd->next )
interp.c:	    if ( !str_prefix( command, cmd->name )
interp.c:	    &&   (cmd->level <= trust
interp.c:	    ||  (!IS_NPC(ch) && ch->pcdata->council
interp.c:	    &&    is_name( cmd->name, ch->pcdata->council->powers )
interp.c:	    &&    cmd->level <= (trust+MAX_CPD))
interp.c:            ||  (!IS_NPC(ch) && ch->pcdata->council2
interp.c:            &&    is_name( cmd->name, ch->pcdata->council2->powers )
interp.c:            &&    cmd->level <= (trust+MAX_CPD))   
interp.c:	    ||  (!IS_NPC(ch) && ch->pcdata->bestowments && ch->pcdata->bestowments[0] != '\0'
interp.c:	    &&    is_name( cmd->name, ch->pcdata->bestowments )
interp.c:	    &&    cmd->level <= (trust+sysdata.bestow_dif)) ) )
interp.c:        if( xIS_SET ( ch->act, PLR_AFK ) && !IS_NPC( ch ))
interp.c:            xREMOVE_BIT( ch->act, PLR_AFK );
interp.c:            if( ch->pcdata->afkmsg )
interp.c:                STRFREE( ch->pcdata->afkmsg );
interp.c:                ch->pcdata->afkmsg = NULL;
interp.c:    sprintf( lastplayercmd, "** %s: %s", ch->name, logline );
interp.c:                 ch->pIndexData->vnum, ch->name, ch->in_room ?
interp.c:                 ch->in_room->vnum : 0, logline );
interp.c:                 ch->name, ch->in_room ? ch->in_room->vnum : 0, logline );
interp.c:    if ( found && cmd->log == LOG_NEVER )
interp.c:    loglvl = found ? cmd->log : LOG_NORMAL;
interp.c:    if ( !IS_NPC(ch) && ch->desc
interp.c:    	if(found && IS_SET(cmd->flags, CMD_WATCH))
interp.c:    	else if(IS_SET(ch->pcdata->flags, PCFLAG_WATCH))
interp.c:    if ( ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_LOG) )
interp.c:        if ( ch->desc && ch->desc->original ) 
interp.c:          sprintf( log_buf, "Log %s (%s): %s", ch->name,
interp.c:                   ch->desc->original->name, logline );
interp.c:          sprintf( log_buf, "Log %s: %s", ch->name, logline );
interp.c:	 * file only, and not spam the log channel to death	-Thoric
interp.c:	&&  (IS_NPC(ch) || !xIS_SET(ch->act, PLR_LOG)) )
interp.c:/*	if ( ch->desc && ch->desc->original )
interp.c:		ch->desc->original->level );
interp.c:    if ( ch->desc && ch->desc->snoop_by )
interp.c:  	sprintf( logname, "%s", ch->name);
interp.c:	write_to_buffer( ch->desc->snoop_by, logname, 0 );
interp.c:	write_to_buffer( ch->desc->snoop_by, "% ",    2 );
interp.c:	write_to_buffer( ch->desc->snoop_by, logline, 0 );
interp.c:	write_to_buffer( ch->desc->snoop_by, "\n\r",  2 );
interp.c:    if( ch->inter_type == OBJ_TYPE )
interp.c:        switch (ch->inter_page)
interp.c:		       sprintf(newcommand,m_data[i].cmdString,ch->inter_editing);
interp.c:		       sprintf(newcommand,m_data[i].cmdString,ch->inter_editing, argument);
interp.c:             sprintf(newcommand,"omenu %s %c",argument,ch->inter_page);
interp.c:    if( ch->inter_type == MOB_TYPE )
interp.c:        switch (ch->inter_page)
interp.c:		       sprintf(newcommand,m_data[i].cmdString,ch->inter_editing);
interp.c:		       sprintf(newcommand,m_data[i].cmdString,ch->inter_editing, argument);
interp.c:             sprintf(newcommand,"mmenu %s %c",argument,ch->inter_page);
interp.c:    if( ch->inter_type == ROOM_TYPE )
interp.c:        switch (ch->inter_page)
interp.c:					  ch->inter_editing, 
interp.c:	tempsub = ch->substate;
interp.c:	ch->substate = SUB_TIMER_DO_ABORT;
interp.c:	(timer->do_fun)(ch,"");
interp.c:	if ( ch->substate != SUB_TIMER_CANT_ABORT )
interp.c:	    ch->substate = tempsub;
interp.c:	    ch->substate = tempsub;
interp.c:	    /* check for an auto-matic exit command */
interp.c:	    &&   IS_SET( pexit->exit_info, EX_xAUTO ))
interp.c:		if ( IS_SET(pexit->exit_info, EX_CLOSED)
interp.c:		||   IS_SET(pexit->exit_info, EX_NOPASSDOOR)) )
interp.c:			/* If they've set outputprefix, spam it here! -- Scion */
interp.c:			if (!IS_NPC(ch) && ch->pcdata->outputprefix) {
interp.c:				send_to_char(ch->pcdata->outputprefix, ch);
interp.c:			if ( !IS_SET( pexit->exit_info, EX_SECRET ) )
interp.c:		    act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
interp.c:		  /* If they've set outputsuffix, spam it here! -- Scion */
interp.c:			if (!IS_NPC(ch) && ch->pcdata->outputsuffix) {
interp.c:				send_to_char(ch->pcdata->outputsuffix, ch);
interp.c:    if ( !check_pos( ch, cmd->position ) )
interp.c:     *  But still keep the online editing ability.  -- Shaddai
interp.c:     *  send_to_char_color so we can colorize the strings if need be. --Shaddai
interp.c:    /* If they've set outputprefix, spam it here! -- Scion */
interp.c:	if (!IS_NPC(ch) && ch->pcdata->outputprefix) {
interp.c:		send_to_char(ch->pcdata->outputprefix, ch);
interp.c:     * Nuisance stuff -- Shaddai
interp.c:    if ( !IS_NPC(ch) && ch->pcdata->nuisance && ch->pcdata->nuisance->flags > 9 
interp.c:         && number_percent() < ((ch->pcdata->nuisance->flags-9)*10
interp.c:         *ch->pcdata->nuisance->power))
interp.c:    ch->prev_cmd = ch->last_cmd;    /* haus, for automapping */
interp.c:    ch->last_cmd = cmd->do_fun;
interp.c:    (*cmd->do_fun) ( ch, argument );
interp.c:	/* Command's done, send the outputsuffix if they want it -- Scion */
interp.c:	if (!IS_NPC(ch) && ch->pcdata->outputsuffix) {
interp.c:		send_to_char(ch->pcdata->outputsuffix, ch);
interp.c:    update_userec(&time_used, &cmd->userec);
interp.c:        sprintf(log_buf, "[*****] LAG: %s: %s %s (R:%d S:%ld.%06ld)", ch->name,
interp.c:                cmd->name, (cmd->log == LOG_NEVER ? "XXX" : argument),
interp.c:		ch->in_room ? ch->in_room->vnum : 0,
interp.c:        sprintf(log_buf, "[*****] LAG: %s: %s %s (R:%d S:%d.%06d)", ch->name,
interp.c:                cmd->name, (cmd->log == LOG_NEVER ? "XXX" : argument),
interp.c:		ch->in_room ? ch->in_room->vnum : 0,
interp.c:	cmd->lag_count++;	/* count the lag flags */
interp.c:    for ( cmd = command_hash[hash]; cmd; cmd = cmd->next )
interp.c:	if ( !str_prefix( command, cmd->name ) )
interp.c:	hash = (command[0] - 'a') + 1;
interp.c:    for ( social = social_index[hash]; social; social = social->next )
interp.c:	if ( !str_prefix( command, social->name ) )
interp.c:	/* If they've set outputprefix, spam it here! -- Scion */
interp.c:	if (!IS_NPC(ch) && ch->pcdata->outputprefix) {
interp.c:		send_to_char(ch->pcdata->outputprefix, ch);
interp.c:	if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_NO_EMOTE) )
interp.c:	send_to_char( "You are anti-social!\n\r", ch );
interp.c:    switch ( ch->position )
interp.c:	 * But two players asked for it already!  -- Furey
interp.c:	if ( !str_cmp( social->name, "snore" ) )
interp.c:    for(victim = ch->in_room->first_person;victim;
interp.c:    		victim = victim->next_in_room)
interp.c:    				" but are unable to do so.\n\r", ch->name);
interp.c:	act( AT_SOCIAL, social->others_no_arg, ch, NULL, victim, TO_ROOM    );
interp.c:	act( AT_SOCIAL, social->char_no_arg,   ch, NULL, victim, TO_CHAR    );
interp.c:    	for(victim = remfirst; victim; victim = victim->next_in_room)
interp.c:    		if(nifty_is_name(victim->name,arg) ||
interp.c:    			nifty_is_name_prefix(arg,victim->name))
interp.c:    				victim->name);
interp.c:                sprintf( buf, "From afar, %s", social->char_found );
interp.c:                sprintf( buf, "From afar, %s", social->others_found );
interp.c:                sprintf( buf, "From afar, %s", social->vict_found );
interp.c:	act( AT_SOCIAL, social->others_auto,   ch, NULL, victim, TO_ROOM    );
interp.c:	act( AT_SOCIAL, social->char_auto,     ch, NULL, victim, TO_CHAR    );
interp.c:	act( AT_SOCIAL, social->others_found,  ch, NULL, victim, TO_NOTVICT );
interp.c:	act( AT_SOCIAL, social->char_found,    ch, NULL, victim, TO_CHAR    );
interp.c:	act( AT_SOCIAL, social->vict_found,    ch, NULL, victim, TO_VICT    );
interp.c:	&&   !HAS_PROG(victim->pIndexData, ACT_PROG) )
interp.c:		if (IS_EVIL(ch) && !is_safe(victim, ch)) /* was IS_EVIL(ch) ||.... didn't make sense to me - FB */
interp.c:		act( AT_SOCIAL, social->others_found,
interp.c:		act( AT_SOCIAL, social->char_found,
interp.c:		act( AT_SOCIAL, social->vict_found,
interp.c:    	remtemp = victim->next_in_room;
interp.c:    	char_to_room(victim, ch->in_room);
interp.c:    /* If they've set outputsuffix, spam it here! -- Scion */
interp.c:	if (!IS_NPC(ch) && ch->pcdata->outputsuffix) {
interp.c:		send_to_char(ch->pcdata->outputsuffix, ch);
interp.c: * June 24, 1999 - Fixed rather annoying wait state bug in alias parser - Justice@AaernMUD
interp.c:	 int aliaslimit=0; /* To prevent recursive alias stacking -- Scion */
interp.c:	 for (alias=ch->pcdata->first_alias; alias; alias=alias->next) {
interp.c:		 if (!str_cmp(alias->name, command))
interp.c:	 queue=ch->pcdata->alias_queue;
interp.c:	 first=ch->pcdata->alias_queue;
interp.c:	 while (queue && queue->next)
interp.c:		 queue=queue->next;
interp.c:	 for ( str = 0; alias->alias[str] != '\0'; str++ ) {
interp.c:			 sprintf(buf, "Alias limit reached on character %s!", ch->name);
interp.c:			 ch->pcdata->alias_queue=NULL;
interp.c:		 if (alias->alias[str]==';' && strlen(buf) > 0) {
interp.c:			 if ( sysdata.alias_wait != -1 )
interp.c:                  WAIT_STATE( ch, sysdata.alias_wait + ch->wait );
interp.c:                  WAIT_STATE( ch, 4 + ch->wait );
interp.c:			  /* Add command to the alias queue -- Scion */
interp.c:			  new_queue->next=NULL;
interp.c:			  new_queue->cmd=str_dup(buf);
interp.c:				  queue->next=new_queue;
interp.c:				  queue=queue->next;
interp.c:	/*	 else if (alias->alias[str]=='%') {} */
interp.c:			 buf[i]=alias->alias[str];
interp.c:	 /* Add the last command to the alias queue -- Scion */
interp.c:	 new_queue->next=NULL;
interp.c:	 new_queue->cmd=str_dup(buf);
interp.c:		queue->next=new_queue;
interp.c:		queue=queue->next;
interp.c:	 ch->pcdata->alias_queue=first;
interp.c: * Understands quotes.  Delimiters = { ' ', '-' }
interp.c:	if ( *argument == cEnd || *argument == '-' )
interp.c:  if ( !stime || (!stime->tv_sec && !stime->tv_usec) )
interp.c:  if ( vtime->num_uses == 0 )
interp.c:  ntime.tv_sec  = vtime->total_time.tv_sec / vtime->num_uses;
interp.c:  carry = (vtime->total_time.tv_sec % vtime->num_uses) * 1000000;
interp.c:  ntime.tv_usec = (vtime->total_time.tv_usec + carry) / vtime->num_uses;
interp.c:  ch_printf(ch, "Has been used %d times this boot.\n\r", vtime->num_uses);
interp.c:      "\n\r", vtime->min_time.tv_sec, vtime->min_time.tv_usec, ntime.tv_sec,
interp.c:      ntime.tv_usec, vtime->max_time.tv_sec, vtime->max_time.tv_usec);
interp.c:  userec->num_uses++;
interp.c:  if ( !timerisset(&userec->min_time)
interp.c:  ||    timercmp(time_used, &userec->min_time, <) )
interp.c:    userec->min_time.tv_sec  = time_used->tv_sec;
interp.c:    userec->min_time.tv_usec = time_used->tv_usec;
interp.c:  if ( !timerisset(&userec->max_time)
interp.c:  ||    timercmp(time_used, &userec->max_time, >) )
interp.c:    userec->max_time.tv_sec  = time_used->tv_sec;
interp.c:    userec->max_time.tv_usec = time_used->tv_usec;
interp.c:  userec->total_time.tv_sec  += time_used->tv_sec;
interp.c:  userec->total_time.tv_usec += time_used->tv_usec;
interp.c:  while ( userec->total_time.tv_usec >= 1000000 )
interp.c:    userec->total_time.tv_sec++;
interp.c:    userec->total_time.tv_usec -= 1000000;
interp.c: *  haveing to hard-code them in.     -- Shaddai   August 25, 1997
interp.c:  if ( IS_AFFECTED (ch, AFF_POSSESS) && IS_SET( cmd->flags, CMD_FLAG_POSSESS )) 
interp.c:                cmd->name );
interp.c:  else if ( ch->morph != NULL
interp.c:            && IS_SET( cmd->flags, CMD_FLAG_POLYMORPHED ) )
interp.c:                cmd->name );
interp.c:        if ( !ch->pcdata->first_alias )
interp.c:            for( alias = ch->pcdata->first_alias; alias; alias = alias->next, count++ )
interp.c:                ch_printf( ch, "%s     %s\n\r", alias->name, alias->alias );
interp.c:    for( alias = ch->pcdata->first_alias; alias; alias = alias->next )
interp.c:        if ( !str_cmp( arg, alias->name ) ) break;
interp.c:        alias->name  = strdup( arg );
interp.c:        alias->alias = strdup( argument );
interp.c:        LINK( alias, ch->pcdata->first_alias, ch->pcdata->last_alias, next, prev );
interp.c:        ch_printf( ch, "%s     %s\n\r", alias->name, alias->alias );
interp.c:        UNLINK( alias, ch->pcdata->first_alias, ch->pcdata->last_alias, next, prev );
interp.c:    alias->alias = strdup(argument);
interp.c:    ch_printf( ch, "%s     %s\n\r", alias->name, alias->alias );
ispell.c:static int ispell_pid = -1;
ispell.c:        dup2(to[0], 0);         /* this is where we read commands from - make
ispell.c:        execlp("ispell", "ispell", "-a", (char *)
ispell.c:    if (ispell_pid != -1)
ispell.c:        ispell_pid = -1;
ispell.c:    if (ispell_pid == -1)
ispell.c:        case '-':               /* compound */
locker.c: *      room->vnum = ROOM_LOCKER;
locker.c: *      if (obj->name == ch->name)
locker.c: *        for( locker = ch->in_room->first_content; locker ; locker = locker->next_content )
locker.c: *           if( locker->name == ch->name )
locker.c: *  change    if ( obj->prev_content && (os_type != OS_CORPSE ) )
locker.c: *  to        if ( obj->prev_content && (os_type != OS_CORPSE && os_type != OS_LOCKER ) )
locker.c: *  change    if (( os_type == OS_CORPSE ) && obj->in_room )
locker.c: *  to        if (( os_type == OS_CORPSE || os_type == OS_LOCKER ) && obj->in_room )
locker.c:        bug( ch->name, 0 );
locker.c:    sprintf( strsave, "%s%s", LOCKER_DIR, capitalize( ch->name ) );
locker.c:        if (ch->in_room->vnum != ROOM_LOCKER)
locker.c:        for( locker = ch->in_room->first_content; locker ; locker = locker->next_content)
locker.c:           if( locker->name == ch->name )
locker.c:        sprintf( strsave, "%s%s", LOCKER_DIR, capitalize( ch->name ) );
locker.c:          if (ch->gold < 10000)
locker.c:          ch->gold -= 10000;
locker.c:          if (ch->gold < 100000)
locker.c:          ch->gold -= 100000;
locker.c:          sprintf(buf, locker->name, ch->name);
locker.c:          STRFREE( locker->name);
locker.c:          locker->name = STRALLOC(buf);
locker.c:          sprintf(buf, locker->short_descr, ch->name);
locker.c:          STRFREE( locker->short_descr);
locker.c:          locker->short_descr = STRALLOC(buf);
locker.c:          sprintf(buf, locker->description, ch->name);
locker.c:          STRFREE( locker->description);
locker.c:          locker->description = STRALLOC(buf);
locker.c:          obj_to_room( locker, ch->in_room );
locker.c:        if(ch->in_room->vnum != ROOM_LOCKER )
locker.c:        for( locker = ch->in_room->first_content; locker ; locker = locker->next_content )
locker.c:            if( locker->name == ch->name )
lzo.c://long __LZO_MMODEL memory [ ((LZO1X_1_MEM_COMPRESS) + (sizeof(long) - 1)) / sizeof(long) ];
lzo.c:    compressRoom( ch->in_room );
lzo.c:    room->description = str_dup(argument);
lzo.c:    ch_printf( ch, "Current room desc: %s\n\r", room->description );
lzo.c:    ch_printf( ch, "Compressed: %s\n\r", room->compress_desc );
lzo.c://    ch_printf( ch, "Current uncompressed room desc: %s\n\r", room->uncomp_desc );
lzo.c:        DISPOSE( room->description );
lzo.c:    ch_printf( ch, "New compressed string is: %s\n\r", room->compress_desc );
lzo.c:    ch_printf( ch, "Current room desc: %s\n\r", room->description );
lzo.c://    ch_printf( ch, "Uncompressed desc: %s\n\r", room->uncomp_desc );
lzo.c:    DISPOSE( room->description );
magic.c: * -----------------------------------------------------------|   (0...0)   *
magic.c: * -----------------------------------------------------------|    {o o}    *
magic.c: * ------------------------------------------------------------------------ *
magic.c: * ------------------------------------------------------------------------ *
magic.c:	case SD_FIRE:	     if (IS_SET(ch->immune, RIS_FIRE))	 return TRUE;
magic.c:	case SD_COLD:	     if (IS_SET(ch->immune, RIS_COLD))	 return TRUE;
magic.c:	case SD_ELECTRICITY: if (IS_SET(ch->immune, RIS_ELECTRICITY)) return TRUE;
magic.c:	case SD_ENERGY:	     if (IS_SET(ch->immune, RIS_ENERGY)) return TRUE;
magic.c:	case SD_ACID:	     if (IS_SET(ch->immune, RIS_ACID))	 return TRUE;
magic.c:	case SD_POISON:	     if (IS_SET(ch->immune, RIS_POISON)) return TRUE;
magic.c:	case SD_DRAIN:	     if (IS_SET(ch->immune, RIS_DRAIN))	 return TRUE;
magic.c:	if ( !skill_table[sn]->name )
magic.c:        if( ch->level2 == -1 )
magic.c:            if ( ch->pcdata->learned[sn] > 0
magic.c:            &&   ch->level >= skill_table[sn]->skill_level[ch->class]
magic.c:            &&   LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:            &&  !str_prefix( name, skill_table[sn]->name ) )
magic.c:            if ( ch->pcdata->learned[sn] > 0
magic.c:            &&  (ch->level >= (skill_table[sn]->skill_level[ch->class2]
magic.c:            ||   ch->level >=  skill_table[sn]->skill_level[ch->class])
magic.c:            &&   LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:            &&  !str_prefix( name, skill_table[sn]->name ) ))
magic.c:    return -1;
magic.c:	if ( !herb_table[sn] || !herb_table[sn]->name )
magic.c:	    return -1;
magic.c:	if ( LOWER(name[0]) == LOWER(herb_table[sn]->name[0])
magic.c:	&&  !str_prefix( name, herb_table[sn]->name ) )
magic.c:    return -1;
magic.c: * sort of allocating memory in free_char --Shaddai
magic.c:    if ( !ch->pcdata )
magic.c:	return -1;
magic.c:	if ( !ch->pcdata->special_skills[sn]
magic.c:	||   !ch->pcdata->special_skills[sn]->name )
magic.c:	    return -1;
magic.c:	if ( LOWER(name[0]) == LOWER(ch->pcdata->special_skills[sn]->name[0])
magic.c:	&&  !str_prefix( name, ch->pcdata->special_skills[sn]->name ) )
magic.c:    return -1;
magic.c:    if ( (sn=bsearch_skill_exact(name, gsn_first_spell, gsn_first_skill-1)) == -1 )
magic.c:    if ( (sn=bsearch_skill_exact(name, gsn_first_skill, gsn_first_weapon-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_exact(name, gsn_first_weapon, gsn_first_tongue-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_exact(name, gsn_first_tongue, gsn_top_sn-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_prefix(name, gsn_first_spell, gsn_first_skill-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_prefix(name, gsn_first_skill, gsn_first_weapon-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_prefix(name, gsn_first_weapon, gsn_first_tongue-1)) == -1 )
magic.c:	if ( (sn=bsearch_skill_prefix(name, gsn_first_tongue, gsn_top_sn-1)) == -1 && gsn_top_sn < top_sn )
magic.c:			  if ( !skill_table[sn] || !skill_table[sn]->name )
magic.c:				return -1;
magic.c:			  if ( LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:			  &&  !str_prefix( name, skill_table[sn]->name ) )
magic.c:		  return -1;
magic.c: * Return a skilltype pointer based on sn			-Thoric
magic.c:	return IS_VALID_HERB(sn-TYPE_HERB) ? herb_table[sn-TYPE_HERB] : NULL;
magic.c: * Perform a binary search on a section of the skill table	-Thoric
magic.c:		return -1;
magic.c:	if (LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:	&&  !str_prefix(name, skill_table[sn]->name))
magic.c:	    return -1;
magic.c:    	if (strcmp(name, skill_table[sn]->name) < 1)
magic.c:	    top = sn - 1;
magic.c:    return -1;
magic.c: * Perform a binary search on a section of the skill table	-Thoric
magic.c:		return -1;
magic.c:	if (!str_cmp(name, skill_table[sn]->name))
magic.c:	    return -1;
magic.c:    	if (strcmp(name, skill_table[sn]->name) < 1)
magic.c:	    top = sn - 1;
magic.c:    return -1;
magic.c: * Perform a binary search on a section of the skill table	-Thoric
magic.c:    return (sn == -1) ? bsearch_skill_prefix(name, first, top) : sn;
magic.c: * Only match skills player knows				-Thoric
magic.c:        if( ch->level2 == -1 )
magic.c:            if ( LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:                 &&  !str_prefix(name, skill_table[sn]->name)
magic.c:                 &&   ch->pcdata->learned[sn] > 0
magic.c:                 &&   ch->level >= skill_table[sn]->skill_level[ch->class] )
magic.c:            if ( LOWER(name[0]) == LOWER(skill_table[sn]->name[0])
magic.c:                 &&  !str_prefix(name, skill_table[sn]->name)
magic.c:                 &&   ch->pcdata->learned[sn] > 0
magic.c:                 &&  (ch->level >= skill_table[sn]->skill_level[ch->class2]
magic.c:                 ||   ch->level >= skill_table[sn]->skill_level[ch->class]))
magic.c:	    return -1;
magic.c:    	if (strcmp( name, skill_table[sn]->name) < 1)
magic.c:	    top = sn - 1;
magic.c:    return -1;
magic.c:        if( ch->level2 == -1 )
magic.c:            if (!str_cmp(name, skill_table[sn]->name)
magic.c:                &&   ch->pcdata->learned[sn] > 0
magic.c:                &&   ch->level >= skill_table[sn]->skill_level[ch->class] )
magic.c:            if (!str_cmp(name, skill_table[sn]->name)
magic.c:                &&   ch->pcdata->learned[sn] > 0
magic.c:                &&  (ch->level >= skill_table[sn]->skill_level[ch->class2]
magic.c:                ||   ch->level >= skill_table[sn]->skill_level[ch->class]))
magic.c:	    return -1;
magic.c:    	if (strcmp(name, skill_table[sn]->name) < 1)
magic.c:	    top = sn - 1;
magic.c:    return -1;
magic.c:    return (sn == -1) ? ch_bsearch_skill_prefix(ch, name, first, top) : sn;
magic.c:	return bsearch_skill( name, gsn_first_spell, gsn_first_skill-1 );
magic.c:	return ch_bsearch_skill( ch, name, gsn_first_spell, gsn_first_skill-1 );
magic.c:	return bsearch_skill( name, gsn_first_skill, gsn_first_weapon-1 );
magic.c:	return ch_bsearch_skill( ch, name, gsn_first_skill, gsn_first_weapon-1 );
magic.c:	return bsearch_skill( name, gsn_first_weapon, gsn_first_tongue-1 );
magic.c:	return ch_bsearch_skill( ch, name, gsn_first_weapon, gsn_first_tongue-1 );
magic.c:	return bsearch_skill( name, gsn_first_tongue, gsn_top_sn-1 );
magic.c:	return ch_bsearch_skill( ch, name, gsn_first_tongue, gsn_top_sn-1 );
magic.c:	return -1;
magic.c:	if ( slot == skill_table[sn]->slot )
magic.c:    return -1;
magic.c:                if ((sktmp = get_skilltype (paf->type)) == NULL)
magic.c:                spell = sktmp->name;
magic.c:           strcpy(buf,(IS_NPC(victim)?victim->short_descr:victim->name));
magic.c: * Fancy message handling for a successful casting		-Thoric
magic.c:    sh_int chitroom = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_ACTION);
magic.c:    sh_int chit	    = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HIT);
magic.c:    sh_int chitme   = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HITME);
magic.c:    if ( skill->target != TAR_CHAR_OFFENSIVE )
magic.c:	if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:	    act( chit, skill->hit_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->type == SKILL_SPELL )
magic.c:    if ( ch && skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:	act( chitroom, skill->hit_room, ch, obj, victim, TO_NOTVICT );
magic.c:    if ( ch && victim && skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:	    act( chitme, skill->hit_vict, ch, obj, victim, TO_VICT );
magic.c:	    act( chitme, skill->hit_vict, ch, obj, victim, TO_CHAR );
magic.c:    if ( ch && ch == victim && skill->type == SKILL_SPELL )
magic.c: * Fancy message handling for a failed casting			-Thoric
magic.c:    sh_int chitroom = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_ACTION);
magic.c:    sh_int chit	    = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HIT);
magic.c:    sh_int chitme   = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HITME);
magic.c:    if ( skill->target != TAR_CHAR_OFFENSIVE )
magic.c:	if ( skill->miss_char && skill->miss_char[0] != '\0' )
magic.c:	    act( chit, skill->miss_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->type == SKILL_SPELL )
magic.c:    if ( ch && skill->miss_room && skill->miss_room[0] != '\0'
magic.c:    &&   str_cmp(skill->miss_room, "supress") )
magic.c:	act( chitroom, skill->miss_room, ch, obj, victim, TO_NOTVICT );
magic.c:    if ( ch && victim && skill->miss_vict && skill->miss_vict[0] != '\0' )
magic.c:	    act( chitme, skill->miss_vict, ch, obj, victim, TO_VICT );
magic.c:	    act( chitme, skill->miss_vict, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->miss_char && skill->miss_char[0] != '\0' )
magic.c:	    act( chitme, skill->miss_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->type == SKILL_SPELL )
magic.c: * Fancy message handling for being immune to something		-Thoric
magic.c:    sh_int chitroom = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_ACTION);
magic.c:    sh_int chit	    = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HIT);
magic.c:    sh_int chitme   = (skill->type == SKILL_SPELL ? AT_MAGIC : AT_HITME);
magic.c:    if ( skill->target != TAR_CHAR_OFFENSIVE )
magic.c:	if ( skill->imm_char && skill->imm_char[0] != '\0' )
magic.c:	    act( chit, skill->imm_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->miss_char && skill->miss_char[0] != '\0' )
magic.c:	    act( chit, skill->hit_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->type == SKILL_SPELL || skill->type == SKILL_SKILL )
magic.c:    if ( ch && skill->imm_room && skill->imm_room[0] != '\0' )
magic.c:	act( chitroom, skill->imm_room, ch, obj, victim, TO_NOTVICT );
magic.c:    if ( ch && skill->miss_room && skill->miss_room[0] != '\0' )
magic.c:	act( chitroom, skill->miss_room, ch, obj, victim, TO_NOTVICT );
magic.c:    if ( ch && victim && skill->imm_vict && skill->imm_vict[0] != '\0' )
magic.c:	    act( chitme, skill->imm_vict, ch, obj, victim, TO_VICT );
magic.c:	    act( chitme, skill->imm_vict, ch, obj, victim, TO_CHAR );
magic.c:    if ( ch && victim && skill->miss_vict && skill->miss_vict[0] != '\0' )
magic.c:	    act( chitme, skill->miss_vict, ch, obj, victim, TO_VICT );
magic.c:	    act( chitme, skill->miss_vict, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->imm_char && skill->imm_char[0] != '\0' )
magic.c:	    act( chit, skill->imm_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->miss_char && skill->miss_char[0] != '\0' )
magic.c:	    act( chit, skill->hit_char, ch, obj, victim, TO_CHAR );
magic.c:	if ( skill->type == SKILL_SPELL || skill->type == SKILL_SKILL )
magic.c:    for ( pName = skill->name; *pName != '\0'; pName += length )
magic.c:    sprintf( buf,  "$n closes $s eyes and utters the words, '%s'.", skill->name );
magic.c:    for ( rch = ch->in_room->first_person; rch; rch = rch->next_in_room )
magic.c:	act( AT_MAGIC, is_class( ch, rch->class ) ? buf : buf2, ch, NULL, rch, TO_VICT );
magic.c: * Make adjustments to saving throw based in RIS		-Thoric
magic.c:   if ( IS_SET(ch->immune, ris ) )
magic.c:	modifier -= 10;
magic.c:   if ( IS_SET(ch->resistant, ris ) )
magic.c:	modifier -= 2;
magic.c:   if ( IS_SET(ch->susceptible, ris ) )
magic.c:/*								    -Thoric
magic.c: * Used for spell dice parsing, ie: 3d8+L-6
magic.c:    if ( (*exp == '(') && !index(exp+1,'(') && exp[strlen(exp)-1] == ')' )
magic.c:	exp[strlen(exp)-1] = '\0';
magic.c:	    case 'H': case 'h':	return ch->hit;
magic.c:	    case 'M': case 'm':	return ch->mana;
magic.c:	    case 'V': case 'v':	return ch->move;
magic.c:	    case '-': case '+':
magic.c:	      --total;
magic.c:	case '-':		total -= rd_parse(ch, level, sexp[1]);	break;
magic.c:    save = 50 + ( victim->level - level - victim->saving_poison_death ) * 5;
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    save = 50 + ( victim->level - level - victim->saving_wand ) * 5;
magic.c:    save = 50 + ( victim->level - level - victim->saving_para_petri ) * 5;
magic.c:    save = 50 + ( victim->level - level - victim->saving_breath ) * 5;
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:      level -= 5;
magic.c:    save = 50 + ( victim->level - level - victim->saving_spell_staff ) * 5;
magic.c: * Process the spell's required components, if any		-Thoric
magic.c: * -----------------------------------------------
magic.c:     char *comp		= skill->components;
magic.c:	val = -1;
magic.c:		for ( obj = ch->first_carrying; obj; obj = obj->next_content )
magic.c:		   if ( obj->item_type == value )
magic.c:		for ( obj = ch->first_carrying; obj; obj = obj->next_content )
magic.c:		   if ( obj->pIndexData->vnum == value )
magic.c:		for ( obj = ch->first_carrying; obj; obj = obj->next_content )
magic.c:		   if ( nifty_is_name( check, obj->name ) )
magic.c:	    	if ( ch->gold >= value )
magic.c:		 	ch->gold -= value;
magic.c:		if ( ch->hit >= value )
magic.c:			ch->hit -= value;
magic.c:		if ( obj->value[val] <= 0 )
magic.c:		if ( --obj->value[val] == 0 )
magic.c:		int count = obj->count;
magic.c:		obj->count = 1;
magic.c:		obj->count = count;
magic.c:    switch ( skill->target )
magic.c:	   * if the nuisance flag is set -- Shaddai 
magic.c:	  if ( !IS_NPC(ch) && ch->pcdata->nuisance && 
magic.c:			ch->pcdata->nuisance->flags > 5
magic.c:		&& number_percent() < (((ch->pcdata->nuisance->flags-5)*8)+
magic.c:		ch->pcdata->nuisance->power*6))
magic.c:		    if ( xIS_SET(ch->act, PLR_NICE) && ch != *victim )
magic.c:		        send_to_char( "You really shouldn't do this to another player...\n\r", ch ); -- Scion */
magic.c:		if ( IS_AFFECTED(ch, AFF_CHARM) && ch->master == *victim )
magic.c:	   * spells up to 36% of the time -- Shaddai
magic.c:	  if ( !IS_NPC(ch) && ch->fighting && ch->pcdata->nuisance &&
magic.c:		ch->pcdata->nuisance->flags > 5
magic.c:		&& number_percent() < (((ch->pcdata->nuisance->flags-5)*8) +
magic.c:		6*ch->pcdata->nuisance->power))
magic.c:	  if ( arg[0] != '\0' && !nifty_is_name( arg, ch->name ) )
magic.c: * Cast a spell.  Multi-caster and component support by Thoric
magic.c:    switch( ch->substate )
magic.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_NO_MAGIC ) )
magic.c:            && (  ch->level < skill_table[sn]->skill_level[ch->class]
magic.c:            &&    ch->level < skill_table[sn]->skill_level[ch->class2] ) ))
magic.c:/*            || ( !IS_NPC(ch) && ch->level < SKILL_CLASS(ch, sn) ) ) */
magic.c:	    if ( skill->type != SKILL_SPELL )
magic.c:	    if ( !skill->spell_fun )
magic.c:	 * Something else removed by Merc			-Thoric
magic.c:	/* Band-aid alert!  !IS_NPC check -- Blod */
magic.c:	if ( ch->position < skill->minimum_position && !IS_NPC(ch) )
magic.c:	    switch( ch->position )
magic.c:		if(skill->minimum_position<=POS_EVASIVE){
magic.c:		if(skill->minimum_position<=POS_EVASIVE){
magic.c:		if(skill->minimum_position<=POS_EVASIVE){
magic.c:		if(skill->minimum_position<=POS_EVASIVE){
magic.c:	if ( skill->spell_fun == spell_null )
magic.c:	if ( !skill->spell_fun )
magic.c:	&&    skill->guild != CLASS_NONE 
magic.c:	&&  (!ch->pcdata->clan
magic.c:	|| skill->guild != ch->pcdata->clan->class) )
magic.c:	/* mana = IS_NPC(ch) ? 0 : UMAX(skill->min_mana,
magic.c:	   100 / ( 2 + ch->level - skill->skill_level[ch->class] ) ); -- Scion */
magic.c:	mana = IS_NPC(ch) ? 0 : skill->min_mana;
magic.c:	if (!IS_NPC(ch) && GET_ADEPT(ch, skill_lookup(skill->name)))
magic.c:		mana=mana-(mana/4);
magic.c:	 * Vampire spell casting				-Thoric
magic.c:	blood = UMAX(1, (mana+4) / 8);      /* NPCs don't have PCDatas. -- Altrag */
magic.c:	    if (ch->pcdata->condition[COND_BLOODTHIRST] < blood)
magic.c:	if ( !IS_NPC(ch) && ch->mana < mana )
magic.c:	if ( skill->participants <= 1 )
magic.c:	/* multi-participant spells			-Thoric */
magic.c:	add_timer( ch, TIMER_DO_FUN, UMIN(skill->beats / 10, 3),
magic.c:	ch->alloc_ptr = str_dup( staticbuf );
magic.c:	ch->tempnum = sn;
magic.c:        DISPOSE( ch->alloc_ptr );
magic.c:	if ( IS_VALID_SN((sn = ch->tempnum)) )
magic.c:	    /* mana = IS_NPC(ch) ? 0 : UMAX(skill->min_mana,
magic.c:	       100 / ( 2 + ch->level - skill->skill_level[ch->class] ) ); -- Scion */
magic.c:		   mana = IS_NPC(ch) ? 0 : skill->min_mana;
magic.c:		if (!IS_NPC(ch) && GET_ADEPT(ch, skill_lookup(skill->name)))
magic.c:		mana=mana-(mana/4);
magic.c:	      gain_condition( ch, COND_BLOODTHIRST, - UMAX(1, blood / 3) );
magic.c:	    if (ch->level < LEVEL_IMMORTAL)    /* so imms dont lose mana */
magic.c:	      ch->mana -= mana / 3;
magic.c:	sn = ch->tempnum;
magic.c:	if ( !ch->alloc_ptr || !IS_VALID_SN(sn) || skill->type != SKILL_SPELL )
magic.c:	    bug( "do_cast: ch->alloc_ptr NULL or bad sn (%d)", sn );
magic.c:/* 	mana = IS_NPC(ch) ? 0 : UMAX(skill->min_mana,
magic.c:	   100 / ( 2 + ch->level - skill->skill_level[ch->class] ) ); -- Scion */
magic.c:	mana = IS_NPC(ch) ? 0 : skill->min_mana;
magic.c:	if (!IS_NPC(ch) && GET_ADEPT(ch, skill_lookup(skill->name)))
magic.c:		mana=mana-(mana/4);
magic.c:	strcpy( staticbuf, ch->alloc_ptr );
magic.c:	DISPOSE( ch->alloc_ptr );
magic.c:	ch->substate = SUB_NONE;
magic.c:	if ( skill->participants > 1 )
magic.c:	    for ( tmp = ch->in_room->first_person; tmp; tmp = tmp->next_in_room )
magic.c:		&&    t->count >= 1 && t->do_fun == do_cast
magic.c:		&&    tmp->tempnum == sn && tmp->alloc_ptr
magic.c:		&&   !str_cmp( tmp->alloc_ptr, staticbuf ) )
magic.c:	    if ( cnt >= skill->participants )
magic.c:		for ( tmp = ch->in_room->first_person; tmp; tmp = tmp->next_in_room )
magic.c:		    &&    t->count >= 1 && t->do_fun == do_cast
magic.c:		    &&    tmp->tempnum == sn && tmp->alloc_ptr
magic.c:		    &&   !str_cmp( tmp->alloc_ptr, staticbuf ) )
magic.c:			gain_condition( tmp, COND_BLOODTHIRST, - blood );
magic.c:			tmp->mana -= mana;
magic.c:		    tmp->substate = SUB_NONE;
magic.c:		    tmp->tempnum = -1;
magic.c:		    DISPOSE( tmp->alloc_ptr );
magic.c:		  gain_condition( ch, COND_BLOODTHIRST, - UMAX(1, blood / 2) );
magic.c:		if (ch->level < LEVEL_IMMORTAL)    /* so imms dont lose mana */
magic.c:		  ch->mana -= mana / 2;
magic.c:    if ( str_cmp( skill->name, "ventriloquate" ) )
magic.c:	WAIT_STATE( ch, skill->beats );
magic.c:     * Getting ready to cast... check for spell components	-Thoric
magic.c:	  gain_condition( ch, COND_BLOODTHIRST, - UMAX(1, blood / 2) );
magic.c:	if (ch->level < LEVEL_IMMORTAL)    /* so imms dont lose mana */
magic.c:	  ch->mana -= mana / 2;
magic.c:    &&   (number_percent( ) + skill->difficulty * 5) > ch->pcdata->learned[sn] )
magic.c:	/* Some more interesting loss of concentration messages  -Thoric */
magic.c:		if ( ch->fighting )
magic.c:		if ( ch->fighting )
magic.c:		send_to_char( "You get a mental block mid-way through the casting.\n\r", ch );
magic.c:	  gain_condition( ch, COND_BLOODTHIRST, - UMAX(1, blood / 2) );
magic.c:		ch->mana -= mana / 2;
magic.c:	  gain_condition( ch, COND_BLOODTHIRST, - blood );
magic.c:	  ch->mana -= mana;
magic.c:	if ( ((skill->target == TAR_CHAR_DEFENSIVE
magic.c:	||    skill->target == TAR_CHAR_SELF)
magic.c:	&&    victim && IS_SET(victim->immune, RIS_MAGIC)) )
magic.c:	   /* multicasting -- Scion */
magic.c:	chance = (IS_NPC(ch) ? ch->level : (int)( ( LEARNED(ch, gsn_second_cast) + (ch->level / 10) )/1.5 ));
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_third_cast)+(ch->level / 10*1.5))/2);
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_fourth_cast)+(ch->level / 10*2))/2.5);
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_fifth_cast)+(ch->level / 10*2.5))/3);
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_sixth_cast)+(ch->level / 10*3))/3.5);
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_seventh_cast)+(ch->level / 10*3.5))/4);
magic.c:	chance = IS_NPC(ch) ? ch->level
magic.c:	   : (int) ((LEARNED(ch, gsn_eighth_cast)+(ch->level / 10*4))/4.5);
magic.c:	  gain_condition( ch, COND_BLOODTHIRST, - blood );
magic.c:	  ch->mana -= mana;
magic.c:	/* end multicasting -- Scion */
magic.c:	if (skill->target != TAR_CHAR_OFFENSIVE)
magic.c:	while (multi-- > 0)	{
magic.c:			retcode = (*skill->spell_fun) ( sn, ch->level, ch, vo );
magic.c:	 update_userec(&time_used, &skill->userec);
magic.c:    &&   skill->target == TAR_CHAR_DEFENSIVE )
magic.c:    &&   skill->target == TAR_CHAR_DEFENSIVE )
magic.c:    &&   skill->target == TAR_CHAR_OFFENSIVE )
magic.c:     * Fixed up a weird mess here, and added double safeguards	-Thoric
magic.c:    if ( skill->target == TAR_CHAR_OFFENSIVE && victim && !char_died(victim) && victim != ch )
magic.c:		for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:    	   vch_next = vch->next_in_room;
magic.c:				if ( victim->master != ch &&  !victim->fighting )
magic.c:    int levdiff = ch->level - level;
magic.c:    if ( sn == -1 )
magic.c:    if ( !skill || !skill->spell_fun )
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_NO_MAGIC ) )
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) && 
magic.c:	 skill->target == TAR_CHAR_OFFENSIVE)
magic.c:     * 40 scrolls in battle too often ;)		-Thoric
magic.c:    if ( (skill->target == TAR_CHAR_OFFENSIVE
magic.c:    ||    number_bits(7) == 1)	/* 1/128 chance if non-offensive */
magic.c:    &&    skill->type != SKILL_HERB
magic.c:		act( AT_MAGIC, "The $t spell backfires!", ch, skill->name, victim, TO_CHAR );
magic.c:		  act( AT_MAGIC, "$n's $t spell backfires!", ch, skill->name, victim, TO_VICT );
magic.c:		act( AT_MAGIC, "$n's $t spell backfires!", ch, skill->name, victim, TO_NOTVICT );
magic.c:		act( AT_MAGIC, "The $t spell backfires!", ch, skill->name, victim, TO_CHAR );
magic.c:		  act( AT_MAGIC, "$n's $t spell backfires!", ch, skill->name, victim, TO_VICT );
magic.c:		act( AT_MAGIC, "$n's $t spell backfires!", ch, skill->name, victim, TO_NOTVICT );
magic.c:    switch ( skill->target )
magic.c:	    target_name = victim->name;
magic.c:	    target_name = obj->name;
magic.c:	if ( skill->type != SKILL_HERB
magic.c:	&&   IS_SET(victim->immune, RIS_MAGIC ) )
magic.c:	if ( skill->type != SKILL_HERB
magic.c:	&&   IS_SET(ch->immune, RIS_MAGIC ) )
magic.c:    retcode = (*skill->spell_fun) ( sn, level, ch, vo );
magic.c:    update_userec(&time_used, &skill->userec);
magic.c:    if ( skill->target == TAR_CHAR_OFFENSIVE
magic.c:	for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:	    vch_next = vch->next_in_room;
magic.c:	    if ( victim == vch && !victim->fighting && victim->master != ch )
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    af.modifier  = -4;
magic.c:/* added these to prevent core dumps for new max level - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    if ( ch->in_room->area->weather->precip <= 0 )
magic.c:	vch_next	= vch->next;
magic.c:	if ( !vch->in_room )
magic.c:	if ( vch->in_room == ch->in_room )
magic.c:            if ( !IS_NPC( vch ) && xIS_SET( vch->act, PLR_WIZINVIS )
magic.c:	    &&    vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:	&&   vch->in_room->area == ch->in_room->area
magic.c:    return damage( ch, (CHAR_DATA *) vo, dice(3, 8) + level - 6, sn );
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:	af.modifier  = number_range( 0, 2 ) - victim->sex;
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC )
magic.c:    ||   IS_SET( victim->immune, RIS_CHARM ) )
magic.c:  -- What's wrong with a little charming between friends? -- Scion */
magic.c:    ||   level < victim->level
magic.c:    if ( victim->master )
magic.c:    sprintf( buf, "%s has charmed %s.", ch->name, victim->name);
magic.c:    log_string_plus( buf, LOG_NORMAL, ch->level );
magic.c:    to_channel( buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level ) );
magic.c:/* added to prevent core dumbs for new max level - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:	af.modifier  = -1;
magic.c:/* added to prevent core dumbs for new max level - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    weath = ch->in_room->area->weather;
magic.c:    change = number_range(-rand_factor, rand_factor) +
magic.c:    	(ch->level*3)/(2*max_vector);
magic.c:	weath->temp_vector += change;
magic.c:	weath->temp_vector -= change;
magic.c:    	weath->precip_vector += change;
magic.c:    	weath->precip_vector -= change;
magic.c:    	weath->wind_vector += change;
magic.c:    	weath->wind_vector -= change;
magic.c:    weath->temp_vector = URANGE(-max_vector,
magic.c:    	weath->temp_vector, max_vector);
magic.c:    weath->precip_vector = URANGE(-max_vector,
magic.c:    	weath->precip_vector, max_vector);
magic.c:    weath->wind_vector = URANGE(-max_vector,
magic.c:    	weath->wind_vector, max_vector);
magic.c:    mushroom->value[0] = 5 + level;
magic.c:    mushroom = obj_to_room( mushroom, ch->in_room );
magic.c:    if ( obj->item_type != ITEM_DRINK_CON )
magic.c:    if ( obj->value[2] != LIQ_WATER && obj->value[1] != 0 )
magic.c:    weath = ch->in_room->area->weather;
magic.c:		obj->value[0] - obj->value[1]
magic.c:	obj->value[2] = LIQ_WATER;
magic.c:	obj->value[1] += water;
magic.c:	if ( !is_name( "water", obj->name ) )
magic.c:	    sprintf( buf, "%s water", obj->name );
magic.c:	    STRFREE( obj->name );
magic.c:	    obj->name = STRALLOC( buf );
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:/* Next 3 are Paladin spells, until we update smaugspells -- Blodkai, 4/97 */
magic.c:    if ( ch->alignment < 350 ) {
magic.c:    if ( IS_SET( ch->immune, RIS_MAGIC ) ) {
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) ) {
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) ) {
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:	victim->mental_state = URANGE( -100, victim->mental_state, -10 );
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    af.modifier  = -1;
magic.c:    if ( obj->item_type == ITEM_DRINK_CON || obj->item_type == ITEM_FOOD 
magic.c:	 || obj->item_type == ITEM_COOK)
magic.c:	if ( obj->item_type == ITEM_COOK && obj->value[2] == 0 )
magic.c:	else if ( obj->value[3] != 0 )
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:  chance = ( get_curr_int ( ch ) - get_curr_int ( victim ) );
magic.c:  if ( IS_SET ( victim->immune, RIS_MAGIC ) )
magic.c:	chance -= 15;
magic.c:      if ( ch->first_affect )
magic.c:          while ( ch->first_affect )
magic.c:            affect_remove ( ch, ch->first_affect );
magic.c:  if ( number_percent() > ( 75 - chance ) )
magic.c:        if ( number_percent () > ( 75 - chance ) )
magic.c:  if ( IS_NPC( victim ) && !xIS_EMPTY(victim->affected_by) )
magic.c:                affected_by = number_range(0, MAX_AFFECTED_BY-1);
magic.c:                if ( xIS_SET(victim->affected_by, affected_by) )
magic.c:          for ( paf = victim->first_affect; paf; paf = paf->next )
magic.c:                if ( xIS_SET(paf->bitvector, affected_by) )
magic.c:                if (level < victim->level || saves_spell_staff (level, victim))
magic.c:                if ( SPELL_FLAG ( get_skilltype (paf->type), SF_NODISPEL))
magic.c:                if (level < victim->level || saves_spell_staff (level, victim))
magic.c:		xREMOVE_BIT(victim->affected_by, affected_by);
magic.c:  if ( !victim->first_affect )
magic.c:  for ( paf = victim->first_affect; paf; paf = paf->next )
magic.c:  paf = victim->first_affect;
magic.c:  for ( affect_num = number_range (0, (cnt - 1));affect_num > 0; affect_num-- )
magic.c:        paf = paf->next;
magic.c:  if ( level < victim->level || saves_spell_staff ( level, victim ) )
magic.c:  if ( !paf || SPELL_FLAG ( get_skilltype (paf->type), SF_NODISPEL))
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
magic.c:	vch_next	= vch->next;
magic.c:	if ( !vch->in_room )
magic.c:	if ( vch->in_room == ch->in_room )
magic.c:            if ( !IS_NPC( vch ) && xIS_SET( vch->act, PLR_WIZINVIS )
magic.c:                 && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:	if ( !ch_died && vch->in_room->area == ch->in_room->area )
magic.c:    if ( obj->item_type != ITEM_WEAPON
magic.c:    ||   obj->first_affect )
magic.c:    /* Bug fix here. -- Alty */
magic.c:    paf->type		= -1;
magic.c:    paf->duration	= -1;
magic.c:    paf->location	= APPLY_HITROLL;
magic.c:    paf->modifier	= level / 15;
magic.c:    xCLEAR_BITS(paf->bitvector);
magic.c:    LINK( paf, obj->first_affect, obj->last_affect, next, prev );
magic.c:    paf->type		= -1;
magic.c:    paf->duration	= -1;
magic.c:    paf->location	= APPLY_DAMROLL;
magic.c:    paf->modifier	= level / 15;
magic.c:    xCLEAR_BITS(paf->bitvector);
magic.c:    LINK( paf, obj->first_affect, obj->last_affect, next, prev );
magic.c:	xSET_BIT(obj->extra_flags, ITEM_ANTI_EVIL);
magic.c:	xSET_BIT(obj->extra_flags, ITEM_ANTI_GOOD);
magic.c:	xSET_BIT(obj->extra_flags, ITEM_ANTI_EVIL);
magic.c:	xSET_BIT(obj->extra_flags, ITEM_ANTI_GOOD);
magic.c:    if ( obj->item_type != ITEM_WEAPON )
magic.c:    if ( !IS_OBJ_STAT(obj, ITEM_MAGIC) || !obj->first_affect )
magic.c:    if ( xIS_SET(obj->pIndexData->extra_flags, ITEM_MAGIC) )
magic.c:    if ( xIS_SET(obj->pIndexData->extra_flags, ITEM_ANTI_GOOD) 
magic.c:    ||   xIS_SET(obj->pIndexData->extra_flags, ITEM_ANTI_EVIL) )
magic.c:    for ( paf = obj->first_affect; paf; paf = paf->next)
magic.c:	if ( paf->location == APPLY_HITROLL
magic.c:	||   paf->location == APPLY_DAMROLL )
magic.c:	    UNLINK( paf, obj->first_affect, obj->last_affect, next, prev );
magic.c:	xREMOVE_BIT(obj->extra_flags, ITEM_ANTI_EVIL);
magic.c:	xREMOVE_BIT(obj->extra_flags, ITEM_ANTI_GOOD);
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    chance = ris_save( victim, victim->level, RIS_DRAIN );
magic.c:    ch->alignment = UMAX(-1000, ch->alignment - 200);
magic.c:    if ( victim->level <= 2 )
magic.c:	dam		 = ch->hit + 1;
magic.c:	gain_exp( victim, 0 - number_range( level / 2, 3 * level / 2 ) );
magic.c:	victim->mana	/= 2;
magic.c:	victim->move	/= 2;
magic.c:	ch->hit		+= dam;
magic.c:    if ( ch->hit > ch->max_hit )
magic.c:	ch->hit = ch->max_hit;
magic.c:/* added these to prevent new max level core dump - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    for ( ich = ch->in_room->first_person; ich; ich = ich->next_in_room )
magic.c:	if ( !IS_NPC(ich) && xIS_SET(ich->act, PLR_WIZINVIS) )
magic.c:	xREMOVE_BIT   ( ich->affected_by, AFF_HIDE	);
magic.c:	xREMOVE_BIT   ( ich->affected_by, AFF_INVISIBLE	);
magic.c:	xREMOVE_BIT   ( ich->affected_by, AFF_SNEAK	);
magic.c:	ch->in_room );
magic.c:	if ( victim->master )
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    dam = UMAX(  20, victim->hit - dice(1,4) );
magic.c:   to know the keyword anyways, we may as well make it look nice -- Alty */
magic.c:/*		obj->name,*/
magic.c:		obj->short_descr,
magic.c:	if ( obj->item_type != ITEM_LIGHT && obj->wear_flags-1 > 0 )
magic.c:		flag_string(obj->wear_flags-1, w_flags) );
magic.c:		extra_bit_name( &obj->extra_flags ),
magic.c:	/*	magic_bit_name( obj->magic_flags ), -- unused for now */
magic.c:		obj->weight,
magic.c:		obj->cost,
magic.c:		obj->level );
magic.c:    switch ( obj->item_type )
magic.c:	ch_printf( ch, "%s appears to be %s.\n\r", capitalize(obj->short_descr),
magic.c:		obj->value[0] < 76  ? "of a small capacity"           :
magic.c:		obj->value[0] < 150 ? "of a small to medium capacity" :
magic.c:		obj->value[0] < 300 ? "of a medium capacity"          :
magic.c:		obj->value[0] < 550 ? "of a medium to large capacity" :
magic.c:		obj->value[0] < 751 ? "of a large capacity"           :
magic.c:	ch_printf( ch, "Level %d spells of:", obj->value[0] );
magic.c:	if ( obj->value[1] >= 0 && (sktmp=get_skilltype(obj->value[1])) != NULL )
magic.c:	    send_to_char( sktmp->name, ch );
magic.c:	if ( obj->value[2] >= 0 && (sktmp=get_skilltype(obj->value[2])) != NULL )
magic.c:	    send_to_char( sktmp->name, ch );
magic.c:	if ( obj->value[3] >= 0 && (sktmp=get_skilltype(obj->value[3])) != NULL )
magic.c:	    send_to_char( sktmp->name, ch );
magic.c:	  obj->value[1], obj->value[2], obj->value[0] );
magic.c:	if ( obj->value[4] >= 0 && (sktmp=get_skilltype(obj->value[4])) != NULL )
magic.c:            send_to_char( sktmp->name, ch );
magic.c:	if ( obj->value[5] >= 0 && (sktmp=get_skilltype(obj->value[5])) != NULL )
magic.c:            send_to_char( sktmp->name, ch );
magic.c:	    obj->value[1], obj->value[2], obj->value[0] );
magic.c:	if ( obj->value[3] >= 0 && (sktmp=get_skilltype(obj->value[3])) != NULL )
magic.c:	    send_to_char( sktmp->name, ch );
magic.c:	    obj->value[1], obj->value[2],
magic.c:	    ( obj->value[1] + obj->value[2] ) / 2,
magic.c:        if (obj->value[3] == 0)
magic.c:        if (obj->value[3] == 1)
magic.c:        if (obj->value[3] == 2)
magic.c:        if (obj->value[3] == 3)
magic.c:        if (obj->value[3] == 4)
magic.c:        if (obj->value[3] == 5)
magic.c:        if (obj->value[3] == 6)
magic.c:        if (obj->value[3] == 7)
magic.c:        if (obj->value[3] == 8)
magic.c:        if (obj->value[3] == 9)
magic.c:        ch_printf( ch, "Weapon Type: Unknown\n\r" ); /* What type would a v3 of 9 make it? Not sure-Joe*/
magic.c:        if (obj->value[3] == 10)
magic.c:        if (obj->value[3] == 11)
magic.c:        if (obj->value[3] == 12)
magic.c:        if (obj->value[3] >= 13)
magic.c:/* that covers all of them -Joe */
magic.c:	ch_printf( ch, "Armor class is %d.\n\r", obj->value[0] );
magic.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
magic.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:     * use their name -- Shaddai
magic.c:    if ( victim->morph && victim->morph->morph )
magic.c:	name = capitalize(victim->morph->morph->short_desc);
magic.c:    	name = capitalize(victim->short_descr);
magic.c:    	name = victim->name;
magic.c:	victim->level - (victim->level % 5), 
magic.c:        victim->level - (victim->level % 5) + 5);
magic.c:/* DELETE LATER -- SHADDAI 
magic.c:    if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_POLYMORPHED) )
magic.c:	((ch->level > victim->level + 10) 
magic.c:	 && victim->desc && victim->desc->original)
magic.c:	? victim->desc->original->name : "someone else");
magic.c:    if ( IS_NPC(victim) && victim->morph )
magic.c:	(ch->level > victim->level + 10) 
magic.c:	 ? victim->name : "someone else");
magic.c:    if ( (chance(ch, 50) && ch->level >= victim->level + 10 )
magic.c:    if (!victim->first_affect)
magic.c:      for ( paf = victim->first_affect; paf; paf = paf->next )
magic.c:        if (victim->first_affect != victim->last_affect)
magic.c:          if( paf != victim->last_affect && (sktmp=get_skilltype(paf->type)) != NULL )
magic.c:            ch_printf( ch, "%s, ", sktmp->name );
magic.c:	  if( paf == victim->last_affect && (sktmp=get_skilltype(paf->type)) != NULL )
magic.c:	    ch_printf( ch, "and %s.\n\r", sktmp->name );
magic.c:	  if ( (sktmp=get_skilltype(paf->type)) != NULL )
magic.c:	    ch_printf( ch, "%s.\n\r", sktmp->name );
magic.c:/* Modifications on 1/2/96 to work on player/object - Scryn */
magic.c:	if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:	    separate_obj(obj); /* Fix multi-invis bug --Blod */
magic.c:	    xSET_BIT( obj->extra_flags, ITEM_INVIS );
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    ap = victim->alignment;
magic.c:    else if ( ap > -100 ) msg = "$N doesn't have a firm moral commitment.";
magic.c:    else if ( ap > -350 ) msg = "$N lies to $S friends.";
magic.c:    else if ( ap > -700 ) msg = "$N would just as soon kill you as look at you.";
magic.c:/* add more to prevent core dump for new max level - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    for ( obj = first_object; obj; obj = obj->next )
magic.c:	if ( !can_see_obj( ch, obj ) || !nifty_is_name( target_name, obj->name ) )
magic.c:	      in_obj->in_obj && cnt < 100;
magic.c:	      in_obj = in_obj->in_obj, ++cnt )
magic.c:		obj->pIndexData->vnum, obj->short_descr, MAX_NEST );
magic.c:	if ( in_obj->carried_by )
magic.c:	    if ( IS_IMMORTAL( in_obj->carried_by )
magic.c:	      && !IS_NPC( in_obj->carried_by )
magic.c:	      && ( get_trust( ch ) < in_obj->carried_by->pcdata->wizinvis )
magic.c:	      && xIS_SET( in_obj->carried_by->act, PLR_WIZINVIS ) )
magic.c:		found--;
magic.c:		   obj_short(obj), PERS(in_obj->carried_by, ch) );
magic.c:		obj_short(obj), in_obj->in_room == NULL
magic.c:		    ? "somewhere" : in_obj->in_room->name );
magic.c:/* add more to prevent core dump for new max level - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    /*  What's this?  You can't save vs. magic missile!		-Thoric
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    af.modifier  = -2;
magic.c:      victim->mental_state = URANGE( 10, victim->mental_state
magic.c:      victim->mental_state = URANGE( 20, victim->mental_state
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    if ( victim->first_carrying )
magic.c:	for ( obj = victim->first_carrying; obj; obj = obj->next_content )
magic.c:	   if ( !obj->in_obj
magic.c:		xREMOVE_BIT( obj->extra_flags, ITEM_NOREMOVE );
magic.c:		xREMOVE_BIT( obj->extra_flags, ITEM_NODROP );
magic.c:    if ( !ch->in_room->first_content )
magic.c:    for ( obj = ch->in_room->first_content; obj; obj = obj->next_content )
magic.c:       if ( can_see_obj( ch, obj ) && nifty_is_name( target_name, obj->name ) )
magic.c:/* added more to prevent new max level core dump - shogar */
magic.c:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    if ( !IS_NPC(victim) && victim->fighting )
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    ||   level < victim->level
magic.c:    ||  (victim != ch && IS_SET(victim->in_room->room_flags, ROOM_SAFE))
magic.c:	if ( !victim->fighting )
magic.c:	sprintf( log_buf, "%s has cast sleep on %s.", ch->name, victim->name );
magic.c:	log_string_plus( log_buf, LOG_NORMAL, ch->level );
magic.c:	to_channel( log_buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level ) );
magic.c:	victim->position = POS_SLEEPING;
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(ch->in_room->room_flags,     ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SAFE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_SUMMON)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->fighting
magic.c:    ||  (IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    ||   !in_hard_range( victim, ch->in_room->area )
magic.c:    ||  (IS_SET(ch->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(victim))
magic.c:    ||  ( !IS_NPC(ch) && !IS_NPC(victim) && IS_SET(victim->pcdata->flags, PCFLAG_NOSUMMON) ) )
magic.c:    if ( ch->in_room->area != victim->in_room->area )
magic.c:	sprintf( buf, "%s summoned %s to room %d.", ch->name,
magic.c:					     victim->name,
magic.c:					     ch->in_room->vnum );
magic.c:	log_string_plus( buf, LOG_NORMAL, ch->level );
magic.c:	to_channel( buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level ) );
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_char, ch, NULL, victim, TO_CHAR );
magic.c:    if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_vict, ch, NULL, victim, TO_VICT );
magic.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_room, victim, NULL, ch, TO_ROOM );
magic.c:    char_to_room( victim, ch->in_room );
magic.c:    if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
magic.c:		act( AT_MAGIC, skill->hit_dest, victim, NULL, ch, TO_ROOM );
magic.c: *	-Thoric
magic.c:    ||   !in_hard_range(ch, victim->in_room->area) )
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_char, ch, NULL, victim, TO_CHAR );
magic.c:    if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_vict, ch, NULL, victim, TO_VICT );
magic.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_room, ch, NULL, victim, TO_NOTVICT );
magic.c:    char_to_room( ch, victim->in_room );
magic.c:    if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_dest, ch, NULL, victim, TO_NOTVICT );
magic.c:    if ( !victim->in_room
magic.c:         ||   IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
magic.c:         || ( !IS_NPC(ch) && victim->fighting )
magic.c:            if ( !IS_SET(pRoomIndex->room_flags, ROOM_PRIVATE)
magic.c:                 &&   !IS_SET(pRoomIndex->room_flags, ROOM_SOLITARY)
magic.c:                 &&   !IS_SET(pRoomIndex->room_flags, ROOM_NO_ASTRAL)
magic.c:                 &&   !IS_SET(pRoomIndex->area->flags, AFLAG_NOTELEPORT)
magic.c:                 &&   !IS_SET(pRoomIndex->room_flags, ROOM_PROTOTYPE)
magic.c:                 &&   !IS_SET(pRoomIndex->room_flags, ROOM_NO_RECALL)
magic.c:                 &&   in_hard_range( ch, pRoomIndex->area ) )
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_char, ch, NULL, victim, TO_CHAR );
magic.c:    if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_vict, ch, NULL, victim, TO_VICT );
magic.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_room, victim, NULL, ch, TO_ROOM );
magic.c:    sprintf( buf, "%s teleported %s to room %d.", ch->name,
magic.c:             victim->name,
magic.c:             victim->in_room->vnum );
magic.c:    log_string_plus( buf, LOG_NORMAL, ch->level );
magic.c:    to_channel( buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level ) );
magic.c:    if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_dest, victim, NULL, ch, TO_ROOM );
magic.c:    if ( !victim->in_room
magic.c:         ||   IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
magic.c:         || ( !IS_NPC(ch) && victim->fighting )
magic.c:    pRoomIndex = get_room_index(ch->pcdata->memorize[i]);
magic.c:    if ( IS_SET( pRoomIndex->room_flags, ROOM_NO_ASTRAL ) )
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_char, ch, NULL, ch, TO_CHAR );
magic.c:    if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_vict, ch, NULL, ch, TO_VICT );
magic.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_room, ch, NULL, ch, TO_ROOM );
magic.c:    sprintf( buf, "%s teleported %s to room %d.", ch->name,
magic.c:             ch->name,
magic.c:             ch->in_room->vnum );
magic.c:    log_string_plus( buf, LOG_NORMAL, ch->level );
magic.c:    to_channel( buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level ) );
magic.c:    if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
magic.c:        act( AT_MAGIC, skill->hit_dest, ch, NULL, ch, TO_ROOM );
magic.c:    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
magic.c:	if ( !is_name( speaker, vch->name ) ) {
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:    af.modifier  = -2;
magic.c:      if ( ( ( ( !IS_NPC(victim) && class_table[victim->class]->attr_prime == APPLY_STR )
magic.c: * A spell as it should be				-Thoric
magic.c:	for ( obj_lose = victim->first_carrying; obj_lose; obj_lose = obj_next )
magic.c:	    obj_next = obj_lose->next_content;
magic.c:	    switch ( obj_lose->item_type )
magic.c:		if ( obj_lose->value[0] > 0 )
magic.c:		    if ( ( iWear = obj_lose->wear_loc ) != WEAR_NONE )
magic.c:			victim->armor -= apply_ac( obj_lose, iWear );
magic.c:		    obj_lose->value[0] -= 1;
magic.c:		    obj_lose->cost      = 0;
magic.c:			victim->armor += apply_ac( obj_lose, iWear );
magic.c:		empty_obj( obj_lose, NULL, victim->in_room );
magic.c:    hpch = UMAX( 10, ch->hit );
magic.c:	for ( obj_lose = victim->first_carrying; obj_lose;
magic.c:	    obj_next = obj_lose->next_content;
magic.c:	    switch ( obj_lose->item_type )
magic.c:	    if ( obj_lose->item_type == ITEM_CONTAINER )
magic.c:		empty_obj( obj_lose, NULL, victim->in_room );
magic.c:    hpch = UMAX( 10, ch->hit );
magic.c:	for ( obj_lose = victim->first_carrying; obj_lose;
magic.c:	    obj_next = obj_lose->next_content;
magic.c:	    switch ( obj_lose->item_type )
magic.c:	    if ( obj_lose->item_type == ITEM_CONTAINER )
magic.c:		empty_obj( obj_lose, NULL, victim->in_room );
magic.c:    hpch = UMAX( 10, ch->hit );
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
magic.c:    for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:	vch_next = vch->next_in_room;
magic.c:        if ( !IS_NPC( vch ) && xIS_SET( vch->act, PLR_WIZINVIS ) 
magic.c:             && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:	    hpch = UMAX( 10, ch->hit );
magic.c:    hpch = UMAX( 10, ch->hit );
magic.c: *        enchant armour?  (say -1/-2/-3 ac )
magic.c:/* Working on DM's transport eq suggestion - Scryn 8/13 */
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE)))
magic.c:    || ( victim->carry_weight + get_obj_weight ( obj ) ) > can_carry_w(victim) 
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE)))
magic.c:    separate_obj(obj);  /* altrag shoots, haus alley-oops! */
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:		act( AT_MAGIC, skill->hit_char, ch, obj, NULL, TO_CHAR );
magic.c:	if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:		act( AT_MAGIC, skill->hit_room, ch, obj, NULL, TO_ROOM );
magic.c:	if ( skill->hit_char && skill->hit_dest[0] != '\0' )
magic.c:		act( AT_MAGIC, skill->hit_char, victim, obj, NULL, TO_CHAR );
magic.c:	if ( skill->hit_room && skill->hit_dest[0] != '\0' )
magic.c:		act( AT_MAGIC, skill->hit_room, victim, obj, NULL, TO_ROOM );
magic.c: * opens a 2-way EX_PORTAL from caster's room to room inhabited by  
magic.c:       and victim are not both pkill or both peaceful. -- Narn
magic.c:    ||   !in_hard_range(ch, victim->in_room->area)
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    if (victim->in_room == ch->in_room)
magic.c:    targetRoomVnum = victim->in_room->vnum;
magic.c:    fromRoom = ch->in_room;
magic.c:    targetRoom = victim->in_room;
magic.c:    for ( pexit = fromRoom->first_exit; pexit; pexit = pexit->next )
magic.c:	if ( IS_SET( pexit->exit_info, EX_PORTAL ) ) 
magic.c:	if ( pexit->vdir == DIR_PORTAL )
magic.c:    for ( pexit = targetRoom->first_exit; pexit; pexit = pexit->next )
magic.c:	if ( pexit->vdir == DIR_PORTAL )
magic.c:    pexit->keyword 	= STRALLOC( "portal" );
magic.c:    pexit->description	= STRALLOC( "You gaze into the shimmering portal...\n\r" );
magic.c:    pexit->key     	= -1;
magic.c:    pexit->exit_info	= EX_PORTAL | EX_xENTER | EX_HIDDEN | EX_xLOOK;
magic.c:    pexit->vnum    	= targetRoomVnum;
magic.c:    portalObj->timer = 3;
magic.c:    sprintf( buf, "a portal created by %s", ch->name );
magic.c:    STRFREE( portalObj->short_descr );
magic.c:    portalObj->short_descr = STRALLOC( buf ); 
magic.c:    if ( !skill->hit_char || skill->hit_char[0] == '\0' )
magic.c:	act( AT_MAGIC, skill->hit_char, ch, NULL, victim, TO_CHAR );
magic.c:    if ( !skill->hit_room || skill->hit_room[0] == '\0' )
magic.c:	act( AT_MAGIC, skill->hit_room, ch, NULL, victim, TO_ROOM );
magic.c:    if ( !skill->hit_vict || skill->hit_vict[0] == '\0' )
magic.c:	act( AT_MAGIC, skill->hit_vict, victim, NULL, victim, TO_ROOM );
magic.c:    portalObj = obj_to_room( portalObj, ch->in_room );
magic.c:    pexit->keyword 	= STRALLOC( "portal" );
magic.c:    pexit->description	= STRALLOC( "You gaze into the shimmering portal...\n\r" );
magic.c:    pexit->key          = -1;
magic.c:    pexit->exit_info    = EX_PORTAL | EX_xENTER | EX_HIDDEN;
magic.c:    pexit->vnum         = targetRoomVnum;
magic.c:    portalObj->timer = 3;
magic.c:    STRFREE( portalObj->short_descr );
magic.c:    portalObj->short_descr = STRALLOC( buf ); 
magic.c:             ch->name, fromRoom->vnum, targetRoomVnum );
magic.c:    log_string_plus( buf, LOG_NORMAL, ch->level );
magic.c:    to_channel( buf, CHANNEL_MONITOR, "Monitor", UMAX( LEVEL_IMMORTAL, ch->level)  );
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    location = victim->in_room;
magic.c:    original = ch->in_room;
magic.c:    if ( obj->item_type == ITEM_STAFF 
magic.c:    ||   obj->item_type == ITEM_WAND) 
magic.c:	if ( obj->value[2] == obj->value[1]
magic.c:	||   obj->value[1] > (obj->pIndexData->value[1] * 4) )
magic.c:	    if ( damage(ch, ch, obj->level * 2, TYPE_UNDEFINED) == rCHAR_DIED
magic.c:	    obj->value[1] *= 2;
magic.c:	    obj->value[2] = obj->value[1];
magic.c:	    obj->value[2] = obj->value[1];
magic.c:	if ( chance(ch, 50 - (ch->level/2) ) )
magic.c:	    --obj->value[1];
magic.c:	    obj->value[2] = obj->value[1];
magic.c: * -Thoric
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||  (victim->in_room->sector_type != SECT_FOREST
magic.c:    &&   victim->in_room->sector_type != SECT_FIELD)
magic.c:    ||  (ch->in_room->sector_type     != SECT_FOREST
magic.c:    &&   ch->in_room->sector_type     != SECT_FIELD)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    ||  !in_hard_range( ch, victim->in_room->area )
magic.c:    ||  (IS_SET(victim->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(ch)))
magic.c:    if ( ch->in_room->sector_type == SECT_FOREST )
magic.c:    char_to_room( ch, victim->in_room );
magic.c:    if ( ch->in_room->sector_type == SECT_FOREST )
magic.c: * Vampire version of astral_walk				-Thoric
magic.c:    &&   ch->pcdata->condition[COND_BLOODTHIRST] > 22 )
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    ||  !in_hard_range( ch, victim->in_room->area )
magic.c:    ||  (IS_SET(victim->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(ch)))
magic.c:	gain_condition( ch, COND_BLOODTHIRST, - 22 );
magic.c:    char_to_room( ch, victim->in_room );
magic.c: * Cleric version of astral_walk				-Thoric
magic.c:    WEATHER_DATA *weath = ch->in_room->area->weather;
magic.c:    ||   !victim->in_room
magic.c:    ||   weath->precip >= 0
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    ||  !in_hard_range( ch, victim->in_room->area )
magic.c:    ||  (IS_SET(victim->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(ch)))
magic.c:    char_to_room( ch, victim->in_room );
magic.c:	xREMOVE_BIT(obj->extra_flags, ITEM_INVIS);
magic.c:	    if ( IS_SET( victim->immune, RIS_MAGIC ) )
magic.c:		if ( chance(ch, 50) && ch->level + 10 < victim->level )
magic.c:		if ( chance(ch, 50) && ch->level + 15 < victim->level )
magic.c:	    xREMOVE_BIT  ( victim->affected_by, AFF_INVISIBLE       );
magic.c:    for (corpse = ch->in_room->first_content; corpse; corpse = corpse_next)
magic.c:	corpse_next = corpse->next_content;
magic.c:	if (corpse->item_type == ITEM_CORPSE_NPC && corpse->cost != -5)
magic.c:    if ( (pMobIndex = get_mob_index((sh_int) abs(corpse->cost) )) == NULL )
magic.c:        if ( !IS_IMMORTAL(ch) && ch->pcdata->condition[COND_BLOODTHIRST] -
magic.c:            (pMobIndex->level/3) < 0 )
magic.c:        gain_condition(ch, COND_BLOODTHIRST, pMobIndex->level/3);
magic.c:      else if ( ch->mana - (pMobIndex->level*4) < 0 )
magic.c:        ch->mana -= (pMobIndex->level*4);
magic.c:    if ( IS_IMMORTAL(ch) || ( chance(ch, 75) && pMobIndex->level - ch->level < 10 ) )
magic.c:	char_to_room( mob, ch->in_room );
magic.c:	mob->level 	 = UMIN(ch->level / 2, pMobIndex->level);
magic.c:	mob->race  	 = pMobIndex->race;	/* should be undead */
magic.c:        /* Fix so mobs wont have 0 hps and crash mud - Scryn 2/20/96 */
magic.c:  	if (!pMobIndex->hitnodice)
magic.c:	  mob->max_hit      = pMobIndex->level * 8 + number_range(
magic.c:                              pMobIndex->level * pMobIndex->level / 4,
magic.c:                              pMobIndex->level * pMobIndex->level );        
magic.c:	mob->max_hit     = dice(pMobIndex->hitnodice, pMobIndex->hitsizedice)
magic.c:	                 + pMobIndex->hitplus;
magic.c:	mob->max_hit	 = UMAX( URANGE( mob->max_hit / 4,
magic.c:	                          (mob->max_hit * corpse->value[3]) / 100,
magic.c:				   ch->level * dice(20,10)), 1 );
magic.c:	mob->hit       = mob->max_hit;
magic.c:	mob->damroll   = ch->level / 8;
magic.c:	mob->hitroll   = ch->level / 6;
magic.c:	mob->alignment = ch->alignment;
magic.c:	act(AT_MAGIC, "$n makes $T rise from the grave!", ch, NULL, pMobIndex->short_descr, TO_ROOM);
magic.c:	act(AT_MAGIC, "You make $T rise from the grave!", ch, NULL, pMobIndex->short_descr, TO_CHAR);
magic.c:	sprintf(buf, "animated corpse %s", pMobIndex->player_name);
magic.c:	STRFREE(mob->name);
magic.c:	mob->name = STRALLOC(buf);
magic.c:	sprintf(buf, "The animated corpse of %s", pMobIndex->short_descr);
magic.c:	STRFREE(mob->short_descr);
magic.c:	mob->short_descr = STRALLOC(buf);
magic.c:	sprintf(buf, "An animated corpse of %s struggles with the horror of its undeath.\n\r", pMobIndex->short_descr);
magic.c:	STRFREE(mob->long_descr);
magic.c:	mob->long_descr = STRALLOC(buf);
magic.c:	if (corpse->first_content)
magic.c:	    for( obj = corpse->first_content; obj; obj = obj_next)
magic.c:		obj_next = obj->next_content;
magic.c:		obj_to_room(obj, corpse->in_room);
magic.c:/* Works now.. -- Altrag */
magic.c:    if (ch->desc->original)
magic.c:    if (victim->desc)
magic.c:	ch_printf(ch, "%s is already possessed.\n\r", victim->short_descr);
magic.c:    if ( IS_SET( victim->immune, RIS_MAGIC )
magic.c:    ||   IS_SET( victim->immune, RIS_CHARM ) )
magic.c:    ||   level < victim->level 
magic.c:    ||  victim->desc
magic.c:    af.duration  = 20 + (ch->level - victim->level) / 2;
magic.c:    sprintf(buf, "You have possessed %s!\n\r", victim->short_descr);
magic.c:    ch->desc->character = victim;
magic.c:    ch->desc->original  = ch;
magic.c:    victim->desc        = ch->desc;
magic.c:    ch->desc            = NULL;
magic.c:    ch->switched        = victim;
magic.c:/* Ignores pickproofs, but can't unlock containers. -- Altrag 17/2/96 */
magic.c:   * exits.  -Thoric
magic.c:  ||   !IS_SET(pexit->exit_info, EX_CLOSED)
magic.c:  ||   !IS_SET(pexit->exit_info, EX_LOCKED)
magic.c:  ||    IS_SET(pexit->exit_info, EX_PICKPROOF) )
magic.c:  REMOVE_BIT(pexit->exit_info, EX_LOCKED);
magic.c:  if ( pexit->rexit && pexit->rexit->to_room == ch->in_room )
magic.c:    REMOVE_BIT( pexit->rexit->exit_info, EX_LOCKED );
magic.c:  check_room_for_traps( ch, TRAP_UNLOCK | trap_door[pexit->vdir] );
magic.c:/* Tells to sleepers in are. -- Altrag 17/2/96 */
magic.c:      victim->in_room->area != ch->in_room->area )
magic.c:  if ( victim->position != POS_SLEEPING )
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )   
magic.c:    for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:        vch_next = vch->next_in_room;
magic.c:	if ( !IS_NPC( vch ) && xIS_SET( vch->act, PLR_WIZINVIS )       
magic.c:        && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:            hpch = UMAX( 10, ch->hit );
magic.c:/* added more to prevent new max level core dump - shogar */
magic.c:    level       = UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:    ||   !victim->in_room
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
magic.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
magic.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
magic.c:    ||   victim->level >= level + 15
magic.c:    ||  (IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
magic.c:    ||  !in_hard_range( ch, victim->in_room->area )
magic.c:    ||  (IS_SET(victim->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(ch)))
magic.c:    char_to_room( ch, victim->in_room );
magic.c: * saving throw check						-Thoric
magic.c:    if ( skill->saves )
magic.c:	switch( skill->saves )
magic.c: * Generic offensive spell damage attack			-Thoric
magic.c:    if ( skill->dice )
magic.c:	dam = UMAX( 0, dice_parse( ch, level, skill->dice ) );
magic.c:		act( AT_MAGIC, "$N absorbs your $t!", ch, skill->noun_damage, victim, TO_CHAR );
magic.c:		act( AT_MAGIC, "You absorb $N's $t!", victim, skill->noun_damage, ch, TO_CHAR );
magic.c:		act( AT_MAGIC, "$N absorbs $n's $t!", ch, skill->noun_damage, victim, TO_NOTVICT );
magic.c:		victim->hit = URANGE( 0, victim->hit + dam, victim->max_hit );
magic.c:		if ( (dam > 0 && ch->fighting && ch->fighting->who == victim)
magic.c:		||   (dam > 0 && victim->fighting && victim->fighting->who == ch) )
magic.c:		    int xp = ch->fighting ? ch->fighting->xp : victim->fighting->xp;
magic.c:		    int xp_gain = (int) (xp * dam * 2) / victim->max_hit;
magic.c:		    gain_exp( ch, 0 - xp_gain );
magic.c:		if ( skill->affects )
magic.c:    if ( retcode == rNONE && skill->affects
magic.c: * Generic area attack						-Thoric
magic.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
magic.c:    affects = (skill->affects ? TRUE : FALSE);
magic.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_char, ch, NULL, NULL, TO_CHAR );
magic.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:	act( AT_MAGIC, skill->hit_room, ch, NULL, NULL, TO_ROOM );
magic.c:    for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:	vch_next = vch->next_in_room;
magic.c:	if ( !IS_NPC(vch) && xIS_SET(vch->act, PLR_WIZINVIS)
magic.c:	&&    vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:		if ( skill->dice )
magic.c:		    dam = dice_parse(ch, level, skill->dice);
magic.c:			    act( AT_MAGIC, "$N absorbs your $t!", ch, skill->noun_damage, vch, TO_CHAR );
magic.c:			    act( AT_MAGIC, "You absorb $N's $t!", vch, skill->noun_damage, ch, TO_CHAR );
magic.c:			    act( AT_MAGIC, "$N absorbs $n's $t!", ch, skill->noun_damage, vch, TO_NOTVICT );
magic.c:			    vch->hit = URANGE( 0, vch->hit + dam, vch->max_hit );
magic.c:			    if ( (dam > 0 && ch->fighting && ch->fighting->who == vch)
magic.c:			    ||   (dam > 0 && vch->fighting && vch->fighting->who == ch) )
magic.c:				int xp = ch->fighting ? ch->fighting->xp : vch->fighting->xp;
magic.c:				int xp_gain = (int) (xp * dam * 2) / vch->max_hit;
magic.c:				gain_exp( ch, 0 - xp_gain );
magic.c:    for ( saf = skill->affects; saf; saf = saf->next )
magic.c:	if ( saf->location >= REVERSE_APPLY )
magic.c:	af.bitvector = meb(saf->bitvector);
magic.c:	if ( saf->bitvector >= 0
magic.c:	&&   xIS_SET(victim->affected_by, saf->bitvector)
magic.c:        switch ( saf->bitvector )
magic.c:		victim->mental_state = URANGE( 30, victim->mental_state + 2, 100 );
magic.c:	af.duration  = dice_parse(ch, level, saf->duration);
magic.c:	af.modifier  = dice_parse(ch, level, saf->modifier);
magic.c:	af.location  = saf->location % REVERSE_APPLY;
magic.c:		    victim->hit = URANGE( 0, victim->hit + af.modifier, victim->max_hit );
magic.c:		    if ( (af.modifier > 0 && ch->fighting && ch->fighting->who == victim)
magic.c:		    ||   (af.modifier > 0 && victim->fighting && victim->fighting->who == ch) )
magic.c:			int xp = ch->fighting ? ch->fighting->xp : victim->fighting->xp;
magic.c:			xp_gain = (int) (xp * af.modifier*2) / victim->max_hit;
magic.c:			gain_exp( ch, 0 - xp_gain );
magic.c:		    victim->mana = URANGE( 0, victim->mana + af.modifier, victim->max_mana );
magic.c:		    victim->move = URANGE( 0, victim->move + af.modifier, victim->max_move );
magic.c: * Generic spell affect						-Thoric
magic.c:    if ( !skill->affects )
magic.c:	if ( (skill->type != SKILL_HERB
magic.c:	&&    IS_SET( victim->immune, RIS_MAGIC ))
magic.c:	if ( (saf = skill->affects) && !saf->next
magic.c:	&&    saf->location == APPLY_STRIPSN
magic.c:	&&   !is_affected( victim, dice_parse(ch, level, saf->modifier) ) )
magic.c:	if ( skill->hit_char && skill->hit_char[0] != '\0' )
magic.c:	    if ( strstr(skill->hit_char, "$N") )
magic.c:		act( AT_MAGIC, skill->hit_char, ch, NULL, NULL, TO_CHAR );
magic.c:	if ( skill->hit_room && skill->hit_room[0] != '\0' )
magic.c:	    if ( strstr(skill->hit_room, "$N") )
magic.c:		act( AT_MAGIC, skill->hit_room, ch, NULL, NULL, TO_ROOM );
magic.c:	if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
magic.c:	  victim = victim->in_room->first_person;
magic.c:	  victim = ch->in_room->first_person;
magic.c:    for ( ; victim; victim = victim->next_in_room )
magic.c:	    ||	 IS_SET( victim->immune, RIS_MAGIC )
magic.c:		act( AT_MAGIC, skill->hit_vict, ch, NULL, victim, TO_VICT );
magic.c:		   act( AT_MAGIC, skill->hit_room, ch, NULL, victim, TO_NOTVICT );
magic.c:		   act( AT_MAGIC, skill->hit_room, ch, NULL, victim, TO_CHAR );
magic.c:		act( AT_MAGIC, skill->hit_room, ch, NULL, victim, TO_ROOM );
magic.c:		  act( AT_MAGIC, skill->hit_vict, ch, NULL, ch, TO_CHAR );
magic.c:		  act( AT_MAGIC, skill->hit_char, ch, NULL, ch, TO_CHAR );
magic.c:		act( AT_MAGIC, skill->hit_char, ch, NULL, victim, TO_CHAR );
magic.c: * Generic inventory object spell				-Thoric
magic.c:	    WEATHER_DATA *weath = ch->in_room->area->weather;
magic.c:	    if ( obj->item_type != ITEM_DRINK_CON )
magic.c:	    if ( obj->value[2] != LIQ_WATER && obj->value[1] != 0 )
magic.c:	    water = UMIN( (skill->dice ? dice_parse(ch, level, skill->dice) : level)
magic.c:		       * (weath->precip >= 0 ? 2 : 1),
magic.c:			obj->value[0] - obj->value[1] );
magic.c:		obj->value[2] = LIQ_WATER;
magic.c:		obj->value[1] += water;
magic.c:		if ( !is_name( "water", obj->name ) )
magic.c:		    sprintf( buf, "%s water", obj->name );
magic.c:		    STRFREE( obj->name );
magic.c:		    obj->name = STRALLOC( buf );
magic.c:	     switch( obj->item_type )
magic.c:		  obj->value[3] = 1;
magic.c:	  &&  (obj->item_type == ITEM_FOOD || obj->item_type == ITEM_DRINK_CON
magic.c:	       || obj->item_type == ITEM_COOK) )
magic.c:	     switch( obj->item_type )
magic.c:		  obj->value[3] = 0;
magic.c:		if ( ch->level - obj->level < 10
magic.c:		||   obj->cost > ch->level * get_curr_int(ch) * get_curr_wis(ch) )
magic.c:		if ( ch->level - obj->level < 20
magic.c:		||   obj->cost > ch->level * get_curr_int(ch) / 5 )
magic.c:		if ( ch->level - obj->level < 5
magic.c:		||   obj->cost > ch->level * 10 * get_curr_int(ch) * get_curr_wis(ch) )
magic.c:		if ( ch->level - obj->level < 0
magic.c:		||   obj->cost > ch->level * 50 * get_curr_int(ch) * get_curr_wis(ch) )
magic.c:	     clone->timer = skill->dice ? dice_parse(ch, level, skill->dice) : 0;
magic.c:	     if ( obj->item_type == ITEM_DRINK_CON
magic.c:	     ||   obj->item_type == ITEM_FOOD 
magic.c:	     ||   obj->item_type == ITEM_COOK )
magic.c:		if ( obj->item_type == ITEM_COOK && obj->value[2] == 0)
magic.c:		else if ( obj->value[3] != 0 )
magic.c:	  ||   chance(ch, skill->dice ? dice_parse(ch, level, skill->dice) : 20))
magic.c:	  xSET_BIT(obj->extra_flags, ITEM_INVIS);
magic.c: * Generic object creating spell				-Thoric
magic.c:    int vnum = skill->value;
magic.c:    obj->timer = skill->dice ? dice_parse( ch, level, skill->dice ) : 0;
magic.c:      obj_to_room( obj, ch->in_room );
magic.c: * Generic mob creating spell					-Thoric
magic.c:    int vnum = skill->value;
magic.c:    mob->level   = UMIN( lvl, skill->dice ? dice_parse(ch, level, skill->dice) : mob->level );
magic.c:    mob->armor	 = interpolate( mob->level, 100, -100 );
magic.c:    mob->max_hit = mob->level * 8 + number_range(
magic.c:				mob->level * mob->level / 4,
magic.c:				mob->level * mob->level );
magic.c:    mob->hit	 = mob->max_hit;
magic.c:    mob->gold	 = 0;
magic.c:    char_to_room( mob, ch->in_room );
magic.c: * Generic handler for new "SMAUG" spells			-Thoric
magic.c:/* added bad skill check - shogar */
magic.c:    if(!skill || sn == -1)
magic.c:    switch( skill->target )
magic.c:	  if ( skill->range > 0 && (
magic.c:	     return ranged_attack(ch, ranged_target_name, NULL, NULL, sn, skill->range );
magic.c:               ( ch->position == POS_FIGHTING
magic.c:               || ch->position ==  POS_EVASIVE
magic.c:               || ch->position ==  POS_DEFENSIVE
magic.c:               || ch->position ==  POS_AGGRESSIVE
magic.c:               || ch->position ==  POS_BERSERK ) )
magic.c:			victim->mental_state = URANGE( -100, victim->mental_state, -10 );
magic.c:    dam         = 1.3*(level*number_range( 1, 6 ))-31;
magic.c:/* Non-offensive spell! */
magic.c:    dam         = 1.3*(2*level*number_range( 1, 6 ))-31;
magic.c: * Black-magicish guys
magic.c:       || ( obj->item_type == ITEM_CORPSE_NPC)
magic.c:       || ( obj->item_type == ITEM_CORPSE_PC )
magic.c:    val = obj->cost/2;
magic.c:    if(  obj->item_type==ITEM_WEAPON ){
magic.c:    } else if (  obj->item_type==ITEM_ARMOR ){
magic.c:    } else if (  obj->item_type==ITEM_SCROLL ){
magic.c:    } else if (  obj->item_type==ITEM_STAFF ){
magic.c:    } else if (  obj->item_type==ITEM_WAND ){
magic.c:        ch->gold += val;
magic.c:        if ( cur_obj == obj->serial )
magic.c:    if ( ( victim->carry_weight + get_obj_weight ( obj ) ) > can_carry_w(victim) 
magic.c:    ||	(IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE)))
magic.c:        ch->gold += val;
magic.c:        if ( cur_obj == obj->serial )
magic.c:    ch->gold += val;
magic.c:	if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
magic.c:	hpch = UMAX( 10, ch->hit );
magic.c:	for ( vch = ch->in_room->first_person; vch; vch = vch_next )
magic.c:		vch_next = vch->next_in_room;
magic.c:		if ( !vch->in_room )
magic.c:		if ( !IS_NPC( vch ) &&  xIS_SET( vch->act, PLR_WIZINVIS ) && vch->pcdata->wizinvis >= LEVEL_IMMORTAL )
magic.c:			if ( saves_spell_staff( level, vch ) )  /* small fix, --Cronel */
makeobjs.c: * -----------------------------------------------------------|   (0...0)   *
makeobjs.c: * -----------------------------------------------------------|    {o o}    *
makeobjs.c: * ------------------------------------------------------------------------ *
makeobjs.c: * ------------------------------------------------------------------------ *
makeobjs.c:    fire->timer = number_fuzzy(timer);
makeobjs.c:    trap->timer = 0;
makeobjs.c:    trap->value[0] = v0;
makeobjs.c:    trap->value[1] = v1;
makeobjs.c:    trap->value[2] = v2;
makeobjs.c:    trap->value[3] = v3;
makeobjs.c: * Turn an object into scraps.		-Thoric
makeobjs.c:  if ((obj->carried_by && IS_IMMORTAL(obj->carried_by)) || IS_OBJ_STAT(obj, ITEM_ARTIFACT))
makeobjs.c:  scraps->timer = number_range( 5, 15 );
makeobjs.c:  if ( obj->pIndexData->vnum == OBJ_VNUM_SCRAPS )
makeobjs.c:     STRFREE( scraps->short_descr );
makeobjs.c:     scraps->short_descr = STRALLOC( "some debris" );
makeobjs.c:     STRFREE( scraps->description );
makeobjs.c:     scraps->description = STRALLOC( "Bits of debris lie on the ground here." );
makeobjs.c:     sprintf( buf, scraps->short_descr, obj->short_descr );
makeobjs.c:     STRFREE( scraps->short_descr );
makeobjs.c:     scraps->short_descr = STRALLOC( buf );
makeobjs.c:     sprintf( buf, scraps->description, obj->short_descr );
makeobjs.c:     STRFREE( scraps->description );
makeobjs.c:     scraps->description = STRALLOC( buf );
makeobjs.c:  if ( obj->carried_by )
makeobjs.c:		  obj->carried_by, obj, NULL, TO_CHAR );
makeobjs.c:    if ( obj == get_eq_char( obj->carried_by, WEAR_WIELD )
makeobjs.c:    &&  (tmpobj = get_eq_char( obj->carried_by, WEAR_DUAL_WIELD)) != NULL )
makeobjs.c:       tmpobj->wear_loc = WEAR_WIELD;
makeobjs.c:    obj_to_room( scraps, obj->carried_by->in_room);
makeobjs.c:  if ( obj->in_room )
makeobjs.c:    if ( (ch = obj->in_room->first_person ) != NULL )
makeobjs.c:    obj_to_room( scraps, obj->in_room);
makeobjs.c:  if ( (obj->item_type == ITEM_CONTAINER || obj->item_type == ITEM_KEYRING
makeobjs.c:  ||    obj->item_type == ITEM_QUIVER    || obj->item_type == ITEM_CORPSE_PC)
makeobjs.c:  &&    obj->first_content )
makeobjs.c:    if ( ch && ch->in_room )
makeobjs.c:    if ( obj->carried_by )
makeobjs.c:	empty_obj( obj, NULL, obj->carried_by->in_room );
makeobjs.c:    if ( obj->in_room )
makeobjs.c:	empty_obj( obj, NULL, obj->in_room );
makeobjs.c:    if ( obj->in_obj )
makeobjs.c:	empty_obj( obj, obj->in_obj, NULL );
makeobjs.c:	name		= ch->short_descr;
makeobjs.c:	corpse->timer	= 6;
makeobjs.c:	if ( ch->gold > 0 )
makeobjs.c:	    if ( ch->in_room )
makeobjs.c:	      ch->in_room->area->gold_looted += ch->gold;
makeobjs.c:	      sysdata.global_looted += ch->gold/100;
makeobjs.c:	    obj_to_obj( create_money( ch->gold ), corpse );
makeobjs.c:	    ch->gold = 0;
makeobjs.c:	corpse->value[0] = (int)ch->pIndexData->vnum;
makeobjs.c:	corpse->value[1] = (int)ch->max_hit;
makeobjs.c:	corpse->cost     = (-(int)ch->pIndexData->vnum);
makeobjs.c:        corpse->value[2] = corpse->timer; 
makeobjs.c:	name		= ch->name;
makeobjs.c:	  corpse->timer	= 0;
makeobjs.c:	  corpse->timer = 40;
makeobjs.c:        corpse->value[2] = (int)(corpse->timer/8);
makeobjs.c:	corpse->value[4] = ch->level;
makeobjs.c:	  xSET_BIT( corpse->extra_flags, ITEM_CLANCORPSE );
makeobjs.c:	  corpse->value[3] = 1;
makeobjs.c:	  corpse->value[3] = 0;
makeobjs.c:	sprintf( buf, "%s", killer->name );
makeobjs.c:	STRFREE( corpse->action_desc );
makeobjs.c:	corpse->action_desc = STRALLOC( buf );
makeobjs.c:    /* Added corpse name - make locate easier , other skills */
makeobjs.c:    STRFREE( corpse->name );
makeobjs.c:    corpse->name = STRALLOC( buf );
makeobjs.c:    sprintf( buf, corpse->short_descr, name );
makeobjs.c:    STRFREE( corpse->short_descr );
makeobjs.c:    corpse->short_descr = STRALLOC( buf );
makeobjs.c:    sprintf( buf, corpse->description, name );
makeobjs.c:    STRFREE( corpse->description );
makeobjs.c:    corpse->description = STRALLOC( buf );
makeobjs.c:    for ( obj = ch->first_carrying; obj; obj = obj_next )
makeobjs.c:	obj_next = obj->next_content;
makeobjs.c:    if (IS_NPC(ch)|| ch->level > 10 )
makeobjs.c:    obj_to_room( corpse, ch->in_room );
makeobjs.c:	obj->timer	= number_range( 2, 4 );
makeobjs.c:	obj->value[1]   = number_range( 3, UMIN(5, ch->level) );
makeobjs.c:	obj_to_room( obj, ch->in_room );
makeobjs.c:	obj->timer	= number_range( 1, 2 );
makeobjs.c:	obj_to_room( obj, ch->in_room );
makeobjs.c:	sprintf( buf, obj->short_descr, amount );
makeobjs.c:	STRFREE( obj->short_descr );
makeobjs.c:	obj->short_descr = STRALLOC( buf );
makeobjs.c:	obj->value[0]	 = amount;
mapout.c: * -----------------------------------------------------------|   (0...0)   *
mapout.c: * -----------------------------------------------------------|    {o o}    *
mapout.c: * ------------------------------------------------------------------------ *
mapout.c:/*  on-line map editing, such as it is.                      */
mapout.c:    map_index -> vnum = vnum;
mapout.c:	    map_index -> map_of_vnums[i][j] = -1;
mapout.c:    map_index -> next = first_map;
mapout.c: *  --------------------------------------------------------------------
mapout.c:      case 11: return count_lines(room->description);
mapout.c:      case 10: if(IS_SET(room->room_flags,ROOM_NO_SUMMON)) return (char) 'X';
mapout.c:       case 9: if(IS_SET(room->room_flags,ROOM_SAFE)) return (char) 'X';
mapout.c:       case 8: if(IS_SET(room->room_flags,ROOM_DEATH)) return (char) 'X';
mapout.c:       case 7: if(IS_SET(room->room_flags,ROOM_INDOORS)) return (char) 'X';
mapout.c:       case 6: sprintf(buf,"%d",room->light);
mapout.c:       case 5: sprintf(buf,"%d",room->sector_type);
mapout.c:       case 4: for ( pexit = room->first_exit; pexit; pexit = pexit->next)
mapout.c:       case 3: for(obj=room->first_content;obj;obj=obj->next_content)
mapout.c:       case 2: for(mob=room->first_person;mob;mob=mob->next_in_room) {
mapout.c:       case 1: for(mob=room->first_person;mob;mob=mob->next_in_room) {
mapout.c:	       if(!room->map) return (char) 'X';
mapout.c:	       return ((char) room->map->entry);
mapout.c:    if (!rm -> map) {
mapout.c:	sprintf (text_map, "(no rm->map)\n\r");
mapout.c:    if ((map_index = get_map_index (rm -> map -> vnum)) == NULL) {
mapout.c:	bug (" No map_index with vnum %d\n\r", rm -> map -> vnum);
mapout.c:	sprintf (text_map, "-ERROR-\n\r");
mapout.c:	    if (map_index -> map_of_vnums[y][x] < 1) {
mapout.c:	    /* tmp_rm = map_index -> map_of_ptrs[y][x]; */
mapout.c:	    tmp_rm = get_room_index( map_index -> map_of_vnums[y][x] ) ;
mapout.c:	    if (!tmp_rm -> map) {
mapout.c:	       if(map_index->map_of_vnums[y][x]==ch->in_room->vnum)
mapout.c:		  if ( xIS_SET(ch->act, PLR_ANSI) ){
mapout.c:	             /*text_map[i] = (char) tmp_rm -> map -> entry;*/
mapout.c:	           /*text_map[i] = (char) tmp_rm -> map -> entry; */
mapout.c:	       /*text_map[i] = (char) tmp_rm -> map -> entry;*/
mapout.c:    for (map = first_map; map; map = map -> next) {
mapout.c:	if (map -> vnum == vnum)
mapout.c:    for (map_index = first_map; map_index; map_index = map_index -> next) {
mapout.c:		   map_index -> map_of_ptrs[i][j] = 
mapout.c:		    get_room_index (map_index -> map_of_vnums[i][j]);
mapout.c:    if (!ch -> pnote) {
mapout.c:	bug ("map_stats: ch->pnote==NULL!", 0);
mapout.c:    l = ch -> pnote -> text;
mapout.c:	if (char_to_number (c) > -1) {
mapout.c:    *cols = rightmost - leftmost + 1;
mapout.c:   return -1;
mapout.c:    if (ch -> in_room -> map) {
mapout.c:        sprintf( buf , ".------[Map %5.5d]-----------------------------------------------------------.\n\r", ch -> in_room -> map -> vnum);
mapout.c:	draw_map (ch, ch -> in_room, 1, mode);
mapout.c:	sprintf( buf,"`----------------------------------------------------------------------------'\n\r");
mapout.c:    MD      *map, *tmp;               /* for new per-room map info to goin*/
mapout.c:    if (!ch -> desc) {
mapout.c:    switch (ch -> substate) {
mapout.c:	    if (ch -> dest_buf != ch -> pnote)
mapout.c:		bug ("do_mapout: sub_writing_map: ch->dest_buf != ch->pnote", 0);
mapout.c:	    STRFREE (ch -> pnote -> text);
mapout.c:	    ch -> pnote -> text = copy_buffer (ch);
mapout.c:	if (!ch -> pnote) {
mapout.c:       if ( ch->prev_cmd == do_north )
mapout.c:	   tmp_x = get_exit(ch->in_room, DIR_SOUTH );
mapout.c:	     tmp_r = tmp_x->to_room;
mapout.c:	     tmp = tmp_r->map;
mapout.c:	   row = (tmp->y) - 1;
mapout.c:	   col = (tmp->x);
mapout.c:	   mapnum = tmp->vnum;
mapout.c:       if ( ch->prev_cmd == do_east )
mapout.c:	   tmp_x = get_exit( ch->in_room, DIR_WEST );
mapout.c:	     tmp_r = tmp_x->to_room;
mapout.c:	     tmp = tmp_r->map;
mapout.c:	   row = (tmp->y);
mapout.c:	   col = (tmp->x)+1;
mapout.c:	   mapnum = tmp->vnum;
mapout.c:       if ( ch->prev_cmd == do_south )
mapout.c:	   tmp_x = get_exit( ch->in_room, DIR_NORTH );
mapout.c:	     tmp_r = tmp_x->to_room;
mapout.c:	     tmp = tmp_r->map;
mapout.c:	   row = (tmp->y)+1;
mapout.c:	   col = (tmp->x);
mapout.c:	   mapnum = tmp->vnum;
mapout.c:       if ( ch->prev_cmd == do_west )
mapout.c:	   tmp_x = get_exit( ch->in_room, DIR_EAST );
mapout.c:	     tmp_r = tmp_x->to_room;
mapout.c:	     tmp = tmp_r->map;
mapout.c:	   row = (tmp->y);
mapout.c:	   col = (tmp->x) - 1;
mapout.c:	   mapnum = tmp->vnum;
mapout.c:        this_rm = ch->in_room;
mapout.c:	if(this_rm->map!=NULL)
mapout.c:						  ch->in_room->vnum,
mapout.c:						  ch->in_room->map->vnum);
mapout.c:						  ch->in_room->vnum,
mapout.c:						  ch->in_room->vnum,
mapout.c:        if(map_index->map_of_vnums[y][x]!=-1)
mapout.c:				  x,y, map_index->map_of_vnums[y][x]);
mapout.c:	map->vnum        = mapnum;
mapout.c:	map->x		 = x;
mapout.c:	map->y		 = y;
mapout.c:	map->entry	 = code;
mapout.c:	ch->in_room->map = map;
mapout.c:        map_index->map_of_vnums[y][x] = ch->in_room->vnum;
mapout.c:        this_rm = ch->in_room;
mapout.c:	if(!this_rm->map)
mapout.c:						  ch->in_room->vnum);
mapout.c:	if(   (map_index=get_map_index(this_rm->map->vnum )) ==NULL  )
mapout.c:						  ch->in_room->vnum,
mapout.c:						  this_rm->map->vnum);
mapout.c:	if(  (this_rm->map->x <0 ) || (this_rm->map->x >78) )
mapout.c:						  ch->in_room->vnum,
mapout.c:						  this_rm->map->x);
mapout.c:	if(  (this_rm->map->y <0 ) || (this_rm->map->y >48 ) )
mapout.c:						  ch->in_room->vnum,
mapout.c:						  this_rm->map->y);
mapout.c:						  ch->in_room->vnum,
mapout.c:						  this_rm->map->vnum);
mapout.c:	   uninitialized.  -Thoric */
mapout.c:	x = this_rm->map->x;
mapout.c:	y = this_rm->map->y;
mapout.c:	map_index->map_of_vnums[y][x]= -1;
mapout.c:	this_rm->map->vnum        = 0;
mapout.c:	this_rm->map->x	 	  = -1;
mapout.c:	this_rm->map->y	 	  = -1;
mapout.c:	this_rm->map->entry 	  = ' ';  
mapout.c:	DISPOSE(this_rm->map);
mapout.c:	this_rm->map = NULL;   /* redundant? */
mapout.c:	ch -> substate = SUB_WRITING_NOTE;
mapout.c:	ch -> dest_buf = ch -> pnote;
mapout.c:	start_editing (ch, ch -> pnote -> text);
mapout.c:	if (ch -> pnote) {
mapout.c:	    STRFREE (ch -> pnote -> text);
mapout.c:	    STRFREE (ch -> pnote -> subject);
mapout.c:	    STRFREE (ch -> pnote -> to_list);
mapout.c:	    STRFREE (ch -> pnote -> date);
mapout.c:	    STRFREE (ch -> pnote -> sender);
mapout.c:	    DISPOSE (ch -> pnote);
mapout.c:	ch -> pnote = NULL;
mapout.c:	if (!ch -> pnote) {
mapout.c:	send_to_char (ch -> pnote -> text, ch);
mapout.c:	if (!ch -> pnote) {
mapout.c:	if (!ch -> pnote) {
mapout.c:	    STRFREE( ed->description );
mapout.c:	    ed -> description = QUICKLINK (ch -> pnote -> text);
mapout.c:	rm = ch -> in_room;
mapout.c:    for (i = ch -> pcdata -> r_range_lo; i <= ch -> pcdata -> r_range_hi; i++) {
mapout.c:		return - 1;
mapout.c:	    location -> area = ch -> pcdata -> area;
mapout.c:	    location -> name = QUICKLINK (rm -> name);
mapout.c:	    location -> description = QUICKLINK (rm -> description);
mapout.c:	    CREATE (location -> map, MAP_DATA, 1);
mapout.c:	    location -> map -> vnum = map -> vnum;   /* not working? */
mapout.c:	    location -> map -> x = col;
mapout.c:	    location -> map -> y = row;
mapout.c:	    location -> map -> entry = code;
mapout.c:	    location -> room_flags = ROOM_PROTOTYPE && rm -> room_flags;
mapout.c:	    location -> light = rm -> light;
mapout.c:	    location -> sector_type = rm -> sector_type;
mapout.c:    return - 1;
mapout.c:    for (i = ch -> pcdata -> r_range_lo; i <= ch -> pcdata -> r_range_hi; i++)
mapout.c: * This function takes the character string in ch->pnote and
mapout.c:    if (!ch -> pnote) {
mapout.c:	bug ("map_to_rooms: ch->pnote==NULL!", 0);
mapout.c:	for (i=ch->pcdata->r_range_lo;i<=ch->pcdata->r_range_hi;i++) {
mapout.c:    l = ch -> pnote -> text;
mapout.c:	if ((map[row][col].index = char_to_number (c)) > -1) {
mapout.c:            map_index->map_of_vnums[row][col] = map[row][col].vnum;
mapout.c:            map_index->map_of_vnums[row][col] = 0;
mapout.c:	    CREATE (newrm -> map, MAP_DATA, 1);
mapout.c:	    newrm -> map -> vnum = map_index->vnum; 
mapout.c:	    newrm -> map -> x = x;
mapout.c:	    newrm -> map -> y = y;
mapout.c:	    newrm -> map -> entry = map[y][x].code;  
mapout.c:		if ((tvnum = map[y - 1][x].vnum) != 0) {
mapout.c:			    map[y - 1][x].proto_vnum);
mapout.c:		    if (exit_type > -1) {
mapout.c:			xit->keyword  		= STRALLOC( "" );
mapout.c:			xit->description	= STRALLOC( "" );
mapout.c:			xit->key 		= -1;
mapout.c:			xit->exit_info 		= exit_type;
mapout.c:		    if (exit_type > -1) {
mapout.c:			xit->keyword  		= STRALLOC( "" );
mapout.c:			xit->description	= STRALLOC( "" );
mapout.c:			xit->key 		= -1;
mapout.c:			xit->exit_info 		= exit_type;
mapout.c:		    if (exit_type > -1) {
mapout.c:			xit->keyword  		= STRALLOC( "" );
mapout.c:			xit->description	= STRALLOC( "" );
mapout.c:			xit->key 		= -1;
mapout.c:			xit->exit_info 		= exit_type;
mapout.c:		if ((tvnum = map[y][x - 1].vnum) != 0) {
mapout.c:			    map[y][x - 1].proto_vnum);
mapout.c:		    if (exit_type > -1) {
mapout.c:			xit->keyword  		= STRALLOC( "" );
mapout.c:			xit->description	= STRALLOC( "" );
mapout.c:			xit->key 		= -1;
mapout.c:			xit->exit_info 		= exit_type;
mapout.c: * Constants & constant-like functions follow
mapout.c:    sect1 = rm1 -> sector_type;
mapout.c:    sect2 = rm2 -> sector_type;
mapout.c:	    case 9501: 		/* tent *//* single-roomed buildings */
mapout.c:	    case 9504: 		/* shack *//* all sides -- user fixes */
mapout.c:		exit_flag = -1;
mapout.c:	    case 9501: 		/* tent *//* single-roomed buildings */
mapout.c:	    case 9504: 		/* shack *//* all sides -- user fixes */
mapout.c:		exit_flag = -1;
mapout.c:		exit_flag = -1;
mapout.c:		exit_flag = -1;
mapout.c: *   -1.  To lookup the corresponding room vnum, call
mapout.c:	case '-': 
mapout.c:	    return - 1;
marry.c:Add do_divorce and do_marry to mud.h and tables.c - Ntanel StormBlade
marry.c:    if( !victim->pcdata->wedto && !victim2->pcdata->wedto )
marry.c:        victim->pcdata->wedto = STRALLOC(victim2->name);
marry.c:        victim2->pcdata->wedto = STRALLOC(victim->name);
marry.c:        xSET_BIT( victim->act, PLR_MARRIED );
marry.c:        xSET_BIT( victim2->act, PLR_MARRIED );
marry.c:        for( dtmp = first_descriptor ; dtmp ; dtmp = dtmp->next )
marry.c:            if( dtmp->connected != CON_PLAYING )
marry.c:            wch = dtmp->original ? dtmp->original : dtmp->character;
marry.c:    else if( !victim->pcdata->wedto )
marry.c:        sprintf( buf, "But %s is already married!\n\r", victim->name );
marry.c:    else if( !victim2->pcdata->wedto )
marry.c:        sprintf( buf, "But %s is already married!\n\r", victim2->name );
marry.c:    if (victim->level < 10 || victim2->level < 10)
marry.c:    if ( !str_cmp( victim->pcdata->wedto, victim2->name )
marry.c:         && !str_cmp( victim2->pcdata->wedto, victim->name ) )
marry.c:        /*       if (victim->pcdata->spouse != victim2->name || victim2->pcdata->spouse != victim->name)
marry.c:        act(AT_WHITE,"$n and $N swap divorce papers, they are no-longer married.",victim, NULL, victim2, TO_NOTVICT);
marry.c:        STRFREE( victim->pcdata->wedto         );
marry.c:        STRFREE( victim2->pcdata->wedto        );
marry.c:        victim->pcdata->wedto  = NULL;
marry.c:        victim2->pcdata->wedto = NULL;
marry.c:        xREMOVE_BIT( victim->act,  PLR_MARRIED );
marry.c:        xREMOVE_BIT( victim2->act, PLR_MARRIED );
marry.c:        for( dtmp = first_descriptor ; dtmp ; dtmp = dtmp->next )
marry.c:            if( dtmp->connected != CON_PLAYING )
marry.c:            wch = dtmp->original ? dtmp->original : dtmp->character;
marry.c:    /*       if ((victim->pcdata->spouse != victim2->name) || (victim2->pcdata->spouse != victim->name))
marry.c:    switch( victim2->sex )
marry.c:            switch( victim->sex )
marry.c:                    sprintf( buf, "This is the beautiful diamond ring given to you by your lovely\n\rwife %s at your wedding. It signifies your eternal love for eachother.\n\r",victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:                    sprintf( buf, "This is the beautiful diamond ring given to you by your handsome\n\rhusband %s at your wedding. It signifies your eternal love for eachother.\n\r", victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:                    sprintf( buf, "This is the beautiful diamond ring given to you by your\n\rspouse %s at your wedding. It signifies your eternal love for eachother.\n\r", victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:            sprintf( buf, "The inscription reads:\n\rTo my lovely wife, yours forever, %s\n\r", victim->name );
marry.c:            ed->description = STRALLOC( buf );
marry.c:            switch( victim->sex )
marry.c:                    sprintf( buf, "This is the ring given to you by your beautifull wife %s\n\rat your wedding. It signifies your eternal love for eachother.\n\r", victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:                    sprintf( buf, "This is the ring given to you by your handsome husband %s\n\rat your wedding. It signifies your eternal love for eachother.\n\r", victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:                    sprintf( buf, "This is the ring given to you by your spouse %s at\n\ryour wedding. It signifies your eternal love for eachother.\n\r", victim->name );
marry.c:                    ring->description = STRALLOC( buf );
marry.c:            switch( victim->sex )
marry.c:                    sprintf( buf, "The inscription reads:\n\rTo my handsome husband... Forever yours, %s\n\r", victim->name );
marry.c:                    ed->description = STRALLOC( buf );
marry.c:                    sprintf( buf,"The inscription reads:\n\rForever love, %s\n\r", victim->name );
marry.c:                    ed->description = STRALLOC( buf );
mccp.c: * mccp.c - support functions for mccp (the Mud Client Compression Protocol)
mccp.c: * see http://homepages.ihug.co.nz/~icecube/compress/ and README.Rom24-mccp
mccp.c: * Memory management - zlib uses these hooks to allocate and free the
mccp.c:/* Try to send any pending compressed-but-not-sent data in 'd' */
mccp.c:    if (!d->out_compress)
mccp.c:    len = d->out_compress->next_out - d->out_compress_buf;
mccp.c:            nBlock = UMIN (len - iStart, 4096);
mccp.c:            if ((nWrite = write(d->descriptor, d->out_compress_buf + iStart, nBlock)) < 0)
mccp.c:                memmove(d->out_compress_buf, d->out_compress_buf+iStart, len - iStart);
mccp.c:            d->out_compress->next_out = d->out_compress_buf + len - iStart;
mccp.c:    if (d->out_compress)
mccp.c:    CREATE(d->out_compress_buf, unsigned char, COMPRESS_BUF_SIZE);
mccp.c:    s->next_in = NULL;
mccp.c:    s->avail_in = 0;
mccp.c:    s->next_out = d->out_compress_buf;
mccp.c:    s->avail_out = COMPRESS_BUF_SIZE;
mccp.c:    s->zalloc = zlib_alloc;
mccp.c:    s->zfree  = zlib_free;
mccp.c:    s->opaque = NULL;
mccp.c:        DISPOSE(d->out_compress_buf);
mccp.c:    d->out_compress = s;
mccp.c:    if (!d->out_compress)
mccp.c:    d->out_compress->avail_in = 0;
mccp.c:    d->out_compress->next_in = dummy;
mccp.c:    if (deflate(d->out_compress, Z_FINISH) != Z_STREAM_END)
mccp.c:    deflateEnd(d->out_compress);
mccp.c:    DISPOSE(d->out_compress_buf);
mccp.c:    DISPOSE(d->out_compress);
mccp.c:    z_stream *s = d->out_compress;
mccp.c:    s->next_in = (unsigned char *) txt;
mccp.c:    s->avail_in = length;
mccp.c:    while (s->avail_in)
mccp.c:        s->avail_out = COMPRESS_BUF_SIZE - (s->next_out - d->out_compress_buf);
mccp.c:        if (s->avail_out)
mccp.c:        len = d->out_compress->next_out - d->out_compress_buf;
mccp.c:                nBlock = UMIN (len - iStart, 4096);
mccp.c:                if ((nWrite = write(d->descriptor, d->out_compress_buf + iStart, nBlock)) < 0)
mccp.c:                memmove(d->out_compress_buf, d->out_compress_buf+iStart, len - iStart);
mccp.c:            d->out_compress->next_out = d->out_compress_buf + len - iStart;
mccp.c:    if (!ch->desc)
mccp.c:    if (!ch->desc->out_compress)
mccp.c:        if (!compressStart(ch->desc))
mccp.c:        if (!compressEnd(ch->desc))
medit.c:/*-------------------------------------------------------------------*/
medit.c:/*-------------------------------------------------------------------*/
medit.c:/*-------------------------------------------------------------------*\
medit.c:\*-------------------------------------------------------------------*/
medit.c:    if ( !IS_NPC( victim ) && str_cmp( ch->name, "Tagith" ) )
medit.c:    for ( d = first_descriptor; d; d = d->next )
medit.c:	if ( d->connected == CON_MEDIT )
medit.c:	    if ( d->olc && OLC_VNUM(d) == victim->pIndexData->vnum )
medit.c:                           IS_NPC(victim) ? "mobile" : "character", d->character->name );
medit.c:    d = ch->desc;
medit.c:    CREATE( d->olc, OLC_DATA, 1 );
medit.c:        OLC_VNUM(d) = victim->pIndexData->vnum;
medit.c:    d->character->dest_buf = victim;
medit.c:    d->connected = CON_MEDIT;
medit.c:        if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
medit.c:        if ( cvnum < pArea->low_o_vnum
medit.c:        ||   cvnum > pArea->hi_o_vnum )
medit.c:    copy->vnum                  = cvnum;
medit.c:    copy->player_name           = QUICKLINK( orig->player_name );
medit.c:    copy->short_descr	        = QUICKLINK( orig->short_descr );
medit.c:    copy->long_descr	        = QUICKLINK( orig->long_descr  );
medit.c:    copy->description	        = QUICKLINK( orig->description );
medit.c:    copy->act		        = orig->act;
medit.c:    copy->affected_by	        = orig->affected_by;
medit.c:    copy->pShop		        = NULL;
medit.c:    copy->rShop		        = NULL;
medit.c:    copy->spec_fun		= orig->spec_fun;
medit.c:    copy->mudprogs		= NULL;
medit.c:    xCLEAR_BITS(copy->progtypes);
medit.c:    copy->alignment	        = orig->alignment;
medit.c:    copy->level		        = orig->level;
medit.c:    copy->mobthac0		= orig->mobthac0;
medit.c:    copy->ac		        = orig->ac;
medit.c:    copy->hitnodice	        = orig->hitnodice;
medit.c:    copy->hitsizedice	        = orig->hitsizedice;
medit.c:    copy->hitplus		= orig->hitplus;
medit.c:    copy->damnodice	        = orig->damnodice;
medit.c:    copy->damsizedice	        = orig->damsizedice;
medit.c:    copy->damplus		= orig->damplus;
medit.c:    copy->gold		        = orig->gold;
medit.c:    copy->exp		        = orig->exp;
medit.c:    copy->position		= orig->position;
medit.c:    copy->defposition	        = orig->defposition;
medit.c:    copy->sex		        = orig->sex;
medit.c:    copy->perm_str		= orig->perm_str;
medit.c:    copy->perm_dex		= orig->perm_dex;
medit.c:    copy->perm_int		= orig->perm_int;
medit.c:    copy->perm_wis		= orig->perm_wis;
medit.c:    copy->perm_cha		= orig->perm_cha;
medit.c:    copy->perm_con		= orig->perm_con;
medit.c:    copy->perm_lck		= orig->perm_lck;
medit.c:    copy->race		        = orig->race;
medit.c:    copy->class		        = orig->class;
medit.c:    copy->xflags	        = orig->xflags;
medit.c:    copy->resistant	        = orig->resistant;
medit.c:    copy->immune	        = orig->immune;
medit.c:    copy->susceptible	        = orig->susceptible;
medit.c:    copy->numattacks	        = orig->numattacks;
medit.c:    copy->attacks	        = orig->attacks;
medit.c:    copy->defenses	        = orig->defenses;
medit.c:    copy->height		= orig->height;
medit.c:    copy->weight		= orig->weight;
medit.c:    copy->saving_poison_death	= orig->saving_poison_death;
medit.c:    copy->saving_wand         	= orig->saving_wand;
medit.c:    copy->saving_para_petri	= orig->saving_para_petri;
medit.c:    copy->saving_breath  	= orig->saving_breath;
medit.c:    copy->saving_spell_staff 	= orig->saving_spell_staff;
medit.c:    if ( orig->mudprogs )
medit.c:        copy->mudprogs = mprog;
medit.c:        for ( cprog = orig->mudprogs; cprog; cprog = cprog->next )
medit.c:            mprog->type 		= cprog->type;
medit.c:            xSET_BIT( copy->progtypes, mprog->type );
medit.c:            mprog->arglist		= QUICKLINK( cprog->arglist );
medit.c:            mprog->comlist		= QUICKLINK( cprog->comlist );
medit.c:            if ( cprog->next )
medit.c:                CREATE( mprog->next, MPROG_DATA, 1 );
medit.c:                mprog = mprog->next;
medit.c:                mprog->next = NULL;
medit.c:    copy->count			= 0;
medit.c:    copy->next			= mob_index_hash[iHash];
medit.c:    for ( clan = first_clan; clan; clan = clan->next )
medit.c:	if ( clan->clan_type != CLAN_ORDER && clan->clan_type != CLAN_GUILD )
medit.c:	    olc_clan_list[count] = clan->name;
medit.c:    olc_top_clan = count-1;
medit.c:    for ( clan = first_clan; clan; clan = clan->next )
medit.c:	if ( clan->clan_type == CLAN_GUILD )
medit.c:	    olc_clan_list[count] = clan->name;
medit.c:    olc_top_guild = count-1;
medit.c:    for ( clan = first_clan; clan; clan = clan->next )
medit.c:	if ( clan->clan_type == CLAN_ORDER )
medit.c:	    olc_clan_list[count] = clan->name;
medit.c:    olc_top_order = count-1;
medit.c:    for ( deity = first_deity; deity; deity = deity->next )
medit.c:	olc_deity_list[count] = QUICKLINK( deity->name );
medit.c:    for ( council = first_council; council; council = council->next )
medit.c:	olc_council_list[count] = council->name;
medit.c:    send_to_char_color( " &g0&w) Dead\n\r", d->character );
medit.c:    send_to_char_color( " &g1&w) Mortally Wounded\n\r", d->character );
medit.c:    send_to_char_color( " &g2&w) Incapacitated\n\r", d->character );
medit.c:    send_to_char_color( " &g3&w) Stunned\n\r", d->character );
medit.c:    send_to_char_color( " &g4&w) Sleeping\n\r", d->character );
medit.c:    send_to_char_color( " &g5&w) Berserk\n\r", d->character );
medit.c:    send_to_char_color( " &g6&w) Resting\n\r", d->character );
medit.c:    send_to_char_color( " &g7&w) Aggressive\n\r", d->character );
medit.c:    send_to_char_color( " &g8&w) Sitting\n\r", d->character );
medit.c:    send_to_char_color( " &g9&w) Fighting\n\r", d->character );
medit.c:    send_to_char_color( "&g10&w) Defensive\n\r", d->character );
medit.c:    send_to_char_color( "&g11&w) Evasive\n\r", d->character );
medit.c:    send_to_char_color( "&g12&w) Standing\n\r", d->character );
medit.c:	send_to_char_color(buf, d->character);
medit.c:    send_to_char("Enter position number : ", d->character);
medit.c:    send_to_char_color( " &g0&w) Neutral\n\r", d->character );
medit.c:    send_to_char_color( " &g1&w) Male\n\r", d->character );
medit.c:    send_to_char_color( " &g2&w) Female\n\r", d->character );
medit.c:    send_to_char("\n\rEnter gender number : ", d->character);
medit.c:    CHAR_DATA *ch = d->character;
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r",
medit.c:    if ( d->connected == CON_OEDIT )
medit.c:            ch_printf_color( d->character, "\n\rCurrent flags: &c%s&w\n\r", flag_string( d->character->tempnum, ris_flags ) );
medit.c:    else if ( d->connected == CON_MEDIT )
medit.c:            ch_printf_color( d->character, "\n\rCurrent flags: &c%s&w\n\r", flag_string( victim->resistant, ris_flags ) );
medit.c:            ch_printf_color( d->character, "\n\rCurrent flags: &c%s&w\n\r", flag_string( victim->immune, ris_flags ) );
medit.c:            ch_printf_color( d->character, "\n\rCurrent flags: &c%s&w\n\r", flag_string( victim->susceptible, ris_flags ) );
medit.c:    send_to_char( "Enter flag (0 to quit): ", d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	sprintf( buf, "&g%2d&w) %-20.20s\n\r", i+1, attack_flags[i] );
medit.c:	send_to_char_color( buf, d->character );
medit.c:             ext_flag_string( &victim->attacks, attack_flags ) );
medit.c:    send_to_char_color( buf, d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	sprintf( buf, "&g%2d&w) %-20.20s\n\r", i+1, defense_flags[i] );
medit.c:	send_to_char_color( buf, d->character );
medit.c:             ext_flag_string( &victim->defenses, defense_flags ) );
medit.c:    send_to_char_color( buf, d->character );
medit.c:/*-------------------------------------------------------------------*/
medit.c:/*. Display mob-flags menu .*/
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	sprintf(buf, "&g%2d&w) %-20.20s  ",
medit.c:  	send_to_char_color( buf, d->character );
medit.c:	ext_flag_string( &victim->act, act_flags )
medit.c:    send_to_char_color( buf, d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s   ", i+1, plr_flags[i] );
medit.c:	    send_to_char( "\n\r", d->character );
medit.c:	ext_flag_string( &victim->act, plr_flags ) );
medit.c:    send_to_char_color( buf, d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s   \n\r", i+1, pc_flags[i] );
medit.c:    ch_printf_color( d->character, "\n\rCurrent flags: &c%s&w\n\rEnter flags (0 to quit): ",
medit.c:	flag_string( victim->pcdata->flags, pc_flags ) );
medit.c:/*-------------------------------------------------------------------*/
medit.c:/*. Display aff-flags menu .*/
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	sprintf(buf, "&g%2d&w) %-20.20s  ", i+1, a_flags[i] );
medit.c:	send_to_char_color( buf, d->character );
medit.c:	affect_bit_name( &victim->affected_by )
medit.c:	    if ( IS_SET( d->character->tempnum, 1 << i ) )
medit.c:	ch_printf_color( d->character, "\n\rCurrent flags   : &c%s&w\n\r", buf );
medit.c:	ch_printf_color( d->character, "\n\rCurrent flags   : &c%s&w\n\r", affect_bit_name( &victim->affected_by ) );
medit.c:    send_to_char_color( "Enter affected flags (0 to quit) : ", d->character );
medit.c:    CHAR_DATA *ch = d->character;
medit.c:    send_to_char( "Clans:\n\r", d->character );
medit.c:	ch_printf_color( ch, "&g%2d&w) %-20.20s\n\r", count+1, olc_clan_list[count] );
medit.c:    send_to_char( "\n\rGuilds:\n\r", d->character );	
medit.c:	ch_printf_color( ch, "&g%2d&w) %-20.20s\n\r", count+1, olc_clan_list[count] );
medit.c:    send_to_char( "\n\rOrders:\n\r", d->character );
medit.c:	ch_printf_color( ch, "&g%2d&w) %-20.20s\n\r", count+1, olc_clan_list[count] );
medit.c:    send_to_char( "Enter choice (0 for none): ", d->character );
medit.c:    ch_printf( d->character, "%d\n\r", olc_top_deity );
medit.c:    ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r", 0, "None" );
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r", count+1, olc_deity_list[count] );
medit.c:    send_to_char( "Enter choice: ", d->character );
medit.c:    ch_printf( d->character, "%d\n\r", olc_top_council );
medit.c:    ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r", 0, "None" );
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r", count+1, olc_council_list[count] );
medit.c:    send_to_char( "Enter choice: ", d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s    ", count+1, part_flags[count] );
medit.c:	    send_to_char( "\n\r", d->character );
medit.c:    ch_printf_color( d->character, "\n\rCurrent flags: %s\n\rEnter flag or 0 to exit: ",
medit.c:	flag_string( victim->xflags, part_flags ) ); 
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	    ch_printf_color( d->character, "&g%2d&w) %-20.20s     ", iClass, npc_class[iClass] );
medit.c:		send_to_char( "\n\r", d->character );
medit.c:	    ch_printf_color( d->character, "&g%2d&w) %-20.20s     \n\r", iClass, class_table[iClass]->who_name );
medit.c:		send_to_char( "\n\r", d->character ); */
medit.c:    send_to_char( "\n\rEnter class: ", d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	    ch_printf_color( d->character, "&g%2d&w) %-20.20s  ", iRace, npc_race[iRace] );
medit.c:		send_to_char( "\n\r", d->character );
medit.c:	    ch_printf_color( d->character, "&g%2d&w) %-20.20s     \n\r", iRace, race_table[iRace]->race_name );
medit.c:		send_to_char( "\n\r", d->character ); */
medit.c:    send_to_char( "\n\rEnter race: ", d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:    ch_printf_color( d->character, "&g1&w) %-30.30s: %2d\n\r", "Saving vs. poison", victim->saving_poison_death );
medit.c:    ch_printf_color( d->character, "&g2&w) %-30.30s: %2d\n\r", "Saving vs. wands", victim->saving_wand );
medit.c:    ch_printf_color( d->character, "&g3&w) %-30.30s: %2d\n\r", "Saving vs. paralysis", victim->saving_para_petri );
medit.c:    ch_printf_color( d->character, "&g4&w) %-30.30s: %2d\n\r", "Saving vs. breath", victim->saving_breath );
medit.c:    ch_printf_color( d->character, "&g5&w) %-30.30s: %2d\n\r", "Saving vs. spells", victim->saving_spell_staff );
medit.c:    send_to_char( "\n\rModify which saving throw: ", d->character );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:    CHAR_DATA *ch = d->character;
medit.c:    CHAR_DATA *mob = d->character->dest_buf;
medit.c:    if ( !mob->pIndexData->hitnodice )
medit.c:	hitestimate = mob->level * 8 + number_range( mob->level * mob->level / 4, 
medit.c:	    mob->level * mob->level );
medit.c:	hitestimate = mob->pIndexData->hitnodice * number_range(1, 
medit.c:	    mob->pIndexData->hitsizedice ) + mob->pIndexData->hitplus;
medit.c:    damestimate = number_range( mob->pIndexData->damnodice, 
medit.c:	mob->pIndexData->damsizedice * mob->pIndexData->damnodice );
medit.c:    set_char_color( AT_PLAIN, d->character );
medit.c:    ch_printf_color( ch, "-- Mob Number:  [&c%d&w]\n\r", mob->pIndexData->vnum );
medit.c:    ch_printf_color( ch, "&g1&w) Sex: &O%-7.7s          &g2&w) Name: &O%s\n\r", mob->sex == SEX_MALE ? "male" : mob->sex == SEX_FEMALE  ? "female" : "neutral", mob->name );
medit.c:    ch_printf_color( ch, "&g3&w) Shortdesc: &O%s\n\r", mob->short_descr[0] == '\0' ? "(none set)" : mob->short_descr );
medit.c:    ch_printf_color( ch, "&g4&w) Longdesc:-\n\r&O%s\n\r", mob->long_descr[0] == '\0' ? "(none set)" : mob->long_descr );
medit.c:    ch_printf_color( ch, "&g5&w) Description:-\n\r&O%-74.74s\n\r", mob->description );
medit.c:    ch_printf_color( ch, "&g6&w) Class: [&c%-11.11s&w], &g7&w) Race:   [&c%-11.11s&w]\n\r",
medit.c:	npc_class[mob->class], npc_race[mob->race] );
medit.c:	mob->level, mob->alignment, get_curr_str(mob) );
medit.c:        mob->pIndexData->damnodice, mob->pIndexData->damsizedice, mob->pIndexData->damplus, damestimate );
medit.c:        mob->pIndexData->hitnodice, mob->pIndexData->hitsizedice, mob->pIndexData->hitplus, hitestimate );
medit.c:    ch_printf_color( ch, "&gN&w) Gold:     [&c%8d&w], &gO&w) Spec: &O%-22.22s\n\r",
medit.c:        mob->gold, lookup_spec( mob->spec_fun ) );
medit.c:    ch_printf_color( ch, "&gR&w) Resistant   : &O%s\n\r", flag_string( mob->resistant, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gS&w) Immune      : &O%s\n\r", flag_string( mob->immune, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gT&w) Susceptible : &O%s\n\r", flag_string( mob->susceptible, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gU&w) Position    : &O%s\n\r", position_names[ (int) mob->position ] );
medit.c:    ch_printf_color( ch, "&gV&w) Attacks     : &c%s\n\r", ext_flag_string( &mob->attacks, attack_flags ) );
medit.c:    ch_printf_color( ch, "&gW&w) Defenses    : &c%s\n\r", ext_flag_string( &mob->defenses, defense_flags ) );
medit.c:    ch_printf_color( ch, "&gX&w) Body Parts  : &c%s\n\r", flag_string(mob->xflags, part_flags) );
medit.c:    ch_printf_color( ch, "&gY&w) Act Flags   : &c%s\n\r", ext_flag_string( &mob->act, act_flags ) );
medit.c:    ch_printf_color( ch, "&gZ&w) Affected    : &c%s\n\r", affect_bit_name( &mob->affected_by ) );
medit.c:    CHAR_DATA *ch = d->character;
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:    ch_printf_color( ch, "&g1&w) Sex: &O%-7.7s           &g2&w) Name: &O%s\n\r",
medit.c:	victim->sex == SEX_MALE ? "male" : victim->sex == SEX_FEMALE  ? "female" : "neutral", victim->name );
medit.c:    ch_printf_color( ch, "&g3&w) Description:-\n\r&O%-74.74s\n\r", victim->description );
medit.c:    ch_printf_color( ch, "&g4&w) Class: [&c%-11.11s&w],  &g5&w) Race:   [&c%-11.11s&w]\n\r",
medit.c:	class_table[victim->class]->who_name, race_table[victim->race]->race_name );
medit.c:	victim->level, victim->alignment, get_curr_str(victim) );
medit.c:    ch_printf_color( ch, "&gF&w) Hps:   [&c%5d&w/&c%5d&w],  &gG&w) Mana:   [&c%5d&w/&c%5d&w],  &gH&w) Move:[&c%5d&w/&c%-5d&w]\n\r",
medit.c:	victim->hit, victim->max_hit, victim->mana, victim->max_mana, victim->move, victim->max_move );
medit.c:        victim->gold, victim->mental_state, victim->emotional_state );
medit.c:	victim->pcdata->condition[COND_THIRST], victim->pcdata->condition[COND_FULL], victim->pcdata->condition[COND_DRUNK] );
medit.c:    ch_printf_color( ch, "&gO&w) Favor:       [&c%5d&w]\n\r", victim->pcdata->favor );
medit.c:    ch_printf_color( ch, "&gR&w) Resistant   : &O%s\n\r", flag_string( victim->resistant, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gS&w) Immune      : &O%s\n\r", flag_string( victim->immune, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gT&w) Susceptible : &O%s\n\r", flag_string( victim->susceptible, ris_flags ) );
medit.c:    ch_printf_color( ch, "&gU&w) Position    : &O%s\n\r", position_names[ (int) victim->position ] );
medit.c:    ch_printf_color( ch, "&gV&w) Act Flags   : &c%s\n\r", ext_flag_string( &victim->act, plr_flags ) );
medit.c:    ch_printf_color( ch, "&gW&w) PC Flags    : &c%s\n\r", flag_string( victim->pcdata->flags, pc_flags ) );
medit.c:    ch_printf_color( ch, "&gX&w) Affected    : &c%s\n\r", affect_bit_name( &victim->affected_by ) );
medit.c:	victim->pcdata->deity ? victim->pcdata->deity->name : "None" );
medit.c:  if ( get_trust(ch) >= LEVEL_GOD && victim->pcdata->clan )
medit.c:    ch_printf_color( ch, "&gZ&w) %-12.12s: &O%s\n\r",
medit.c:	victim->pcdata->clan->clan_type == CLAN_ORDER ? "Order" :
medit.c:	victim->pcdata->clan->clan_type == CLAN_GUILD ? "Guild" : "Clan",
medit.c:	victim->pcdata->clan->name );
medit.c:  else if ( get_trust(ch) >= LEVEL_GOD && !victim->pcdata->clan )
medit.c:	victim->pcdata->council ? victim->pcdata->council->name : "None" );
medit.c:    CHAR_DATA *victim = ch->dest_buf;
medit.c:    switch ( ch->substate )
medit.c:	    if ( !ch->dest_buf )
medit.c:		bug( "do_medit_reset: sub_mob_desc: NULL ch->dest_buf", 0 );
medit.c:		cleanup_olc( ch->desc );
medit.c:		ch->substate = SUB_NONE;
medit.c:	    STRFREE( victim->description );
medit.c:	    victim->description = copy_buffer( ch );
medit.c:	    if ( IS_NPC( victim ) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:		STRFREE( victim->pIndexData->description );
medit.c:		victim->pIndexData->description = QUICKLINK( victim->description );
medit.c:	    ch->dest_buf = victim;
medit.c:	    ch->substate = SUB_NONE;
medit.c:	    ch->desc->connected = CON_MEDIT;
medit.c:	    medit_disp_menu( ch->desc );
medit.c:    CHAR_DATA *victim = d->character->dest_buf;
medit.c:	    send_to_char("Saving...\n\r", d->character);
medit.c:		sprintf( log_buf, "OLC: %s edits mob %d(%s)", d->character->name, victim->pIndexData->vnum, victim->name );
medit.c:		for ( tarea = first_asort; tarea; tarea = tarea->next )
medit.c:		    if ( OLC_VNUM(d) >= tarea->low_m_vnum
medit.c:		    &&   OLC_VNUM(d) <= tarea->hi_m_vnum )
medit.c:			if ( get_trust(d->character) >= 58 )
medit.c:			    fold_area( tarea, tarea->filename, FALSE );
medit.c:		&&   (tarea = d->character->pcdata->area) != NULL
medit.c:		&&   get_trust(d->character) >= LEVEL_CREATOR 
medit.c:		&&   IS_SET(tarea->status, AREA_LOADED ) )
medit.c:		    tarea = d->character->pcdata->area;
medit.c:		    sprintf( buf, "%s%s", BUILD_DIR, tarea->filename );
medit.c:                sprintf( log_buf, "OLC: %s edits %s", d->character->name, victim->name );
medit.c:	    log_string_plus( log_buf, LOG_BUILD, d->character->level );
medit.c:	    send_to_char("Invalid choice!\n\r", d->character);
medit.c:	    send_to_char("Do you wish to save to disk? : ", d->character);
medit.c:	    send_to_char( "\n\rEnter name: ", d->character );
medit.c:	    send_to_char( "\n\rEnter short description: ", d->character );
medit.c:	    send_to_char( "\n\rEnter long description: ", d->character );
medit.c:	    d->character->substate = SUB_MOB_DESC;
medit.c:	    d->character->last_cmd = do_medit_reset;
medit.c:	    send_to_char("Enter new mob description:\r\n", d->character);
medit.c:	    if ( !victim->description )
medit.c:		victim->description = STRALLOC( "" );
medit.c:	    start_editing( d->character, victim->description );
medit.c:	    send_to_char( "\n\rEnter level: ", d->character );
medit.c:	    send_to_char( "\n\rEnter alignment: ", d->character );
medit.c:	    send_to_char( "\n\rEnter strength: ", d->character );
medit.c:	    send_to_char( "\n\rEnter intelligence: ", d->character );
medit.c:	    send_to_char( "\n\rEnter wisdom: ", d->character );
medit.c:	    send_to_char( "\n\rEnter dexterity: ", d->character );
medit.c:	    send_to_char( "\n\rEnter constitution: ", d->character );
medit.c:	    send_to_char( "\n\rEnter charisma: ", d->character );
medit.c:	    send_to_char( "\n\rEnter luck: ", d->character );
medit.c:	    send_to_char( "\n\rEnter number of damage dice: ", d->character );
medit.c:	    send_to_char( "\n\rEnter size of damage dice: ", d->character );
medit.c:	    send_to_char( "\n\rEnter amount to add to damage: ", d->character );
medit.c:	    send_to_char( "\n\rEnter number of hitpoint dice: ", d->character );
medit.c:	    send_to_char( "\n\rEnter size of hitpoint dice: ", d->character );
medit.c:	    send_to_char( "\n\rEnter amount to add to hitpoints: ", d->character );
medit.c:	    send_to_char( "\n\rEnter amount of gold mobile carries: ", d->character );
medit.c:		send_to_char( "Do you wish to save changes to disk? (y/n): ", d->character );
medit.c:	    d->character->substate = SUB_MOB_DESC;
medit.c:	    d->character->last_cmd = do_medit_reset;
medit.c:	    send_to_char("Enter new player description:\r\n", d->character);
medit.c:	    if ( !victim->description )
medit.c:		victim->description = STRALLOC( "" );
medit.c:	    start_editing( d->character, victim->description );
medit.c:	    send_to_char( "\n\rNPC Only!!", d->character );
medit.c:	    send_to_char( "\n\rEnter alignment: ", d->character );
medit.c:	    send_to_char( "\n\rEnter strength: ", d->character );
medit.c:	    send_to_char( "\n\rEnter intelligence: ", d->character );
medit.c:	    send_to_char( "\n\rEnter wisdom: ", d->character );
medit.c:	    send_to_char( "\n\rEnter dexterity: ", d->character );
medit.c:	    send_to_char( "\n\rEnter constitution: ", d->character );
medit.c:	    send_to_char( "\n\rEnter charisma: ", d->character );
medit.c:	    send_to_char( "\n\rEnter luck: ", d->character );
medit.c:	    send_to_char( "\n\rEnter hitpoints: ", d->character );
medit.c:	    send_to_char( "\n\rEnter mana: ", d->character );
medit.c:	    send_to_char( "\n\rEnter moves: ", d->character );
medit.c:	    send_to_char( "\n\rEnter amount of gold player carries: ", d->character );
medit.c:	    send_to_char( "\n\rEnter players mentalstate: ", d->character );
medit.c:	    send_to_char( "\n\rEnter players emotional state: ", d->character );
medit.c: 	    send_to_char( "\n\rEnter player's thirst (0 = dehydrated): ", d->character );
medit.c:	    send_to_char( "\n\rEnter player's fullness (0 = starving): ", d->character );
medit.c:	    send_to_char( "\n\rEnter player's drunkeness (0 = sober): ", d->character );
medit.c:	    send_to_char( "\n\rEnter player's favor (-2500 to 2500): ", d->character );
medit.c:	    send_to_char( "NPCs Only!!\n\r", d->character );
medit.c:	    if ( get_trust(d->character) < LEVEL_GOD )
medit.c:	    if ( get_trust(d->character) < 58 )
medit.c:	if ( !IS_NPC(victim) && get_trust( d->character ) > 58 )
medit.c:	    sprintf( buf, "%s %s", victim->name, arg );
medit.c:	    do_pcrename( d->character, buf );
medit.c:	STRFREE( victim->name );
medit.c:	victim->name = STRALLOC( arg );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    STRFREE( victim->pIndexData->player_name );
medit.c:	    victim->pIndexData->player_name = QUICKLINK( victim->name );
medit.c:	STRFREE( victim->short_descr );
medit.c:	victim->short_descr = STRALLOC( arg );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    STRFREE( victim->pIndexData->short_descr );
medit.c:	    victim->pIndexData->short_descr = QUICKLINK( victim->short_descr );
medit.c:	STRFREE( victim->long_descr );
medit.c:	victim->long_descr = STRALLOC( buf ); 
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    STRFREE( victim->pIndexData->long_descr );
medit.c:	    victim->pIndexData->long_descr = QUICKLINK( victim->long_descr );
medit.c:                number -= 1;
medit.c:                    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:                    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:            &&   get_trust( d->character ) < LEVEL_GREATER
medit.c:            &&   !is_name( "protoflag", d->character->pcdata->bestowments ) )
medit.c:                send_to_char( "You don't have permission to change the prototype flag.\n\r", d->character );
medit.c:                send_to_char( "It isn't possible to change that flag.\n\r", d->character );
medit.c:                xTOGGLE_BIT( victim->act, number );
medit.c:            if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:                victim->pIndexData->act = victim->act;
medit.c:		number -= 1; /* offset :P */
medit.c:                xTOGGLE_BIT( victim->act, number );
medit.c:		olc_log( d, "%s the flag %s", xIS_SET( victim->act, number ) ? "Added" : "Removed",
medit.c:                    xTOGGLE_BIT( victim->act, number );
medit.c:		    olc_log( d, "%s the flag %s", xIS_SET( victim->act, number ) ? "Added" : "Removed",
medit.c:		number -= 1;
medit.c:                TOGGLE_BIT( victim->pcdata->flags, 1 << number );
medit.c:		olc_log( d, "%s the pcflag %s", IS_SET( victim->pcdata->flags, 1 << number ) ? "Added" : "Removed",
medit.c:                    TOGGLE_BIT( victim->pcdata->flags, 1 << number );
medit.c:		    olc_log( d, "%s the pcflag %s", IS_SET( victim->pcdata->flags, 1 << number ) ? "Added" : "Removed",
medit.c:		number -= 1;
medit.c:                xTOGGLE_BIT( victim->affected_by, number );
medit.c:		olc_log( d, "%s the affect %s", xIS_SET( victim->affected_by, number ) ? "Added" : "Removed",
medit.c:                    xTOGGLE_BIT( victim->affected_by, number );
medit.c:		    olc_log( d, "%s the affect %s", xIS_SET( victim->affected_by, number ) ? "Added" : "Removed",
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->affected_by = victim->affected_by;
medit.c:/*-------------------------------------------------------------------*/
medit.c:	victim->max_hit = URANGE( 1, atoi(arg), 32700 );
medit.c:	olc_log( d, "Changed hitpoints to %d", victim->max_hit );
medit.c:	victim->max_mana = URANGE( 1, atoi(arg), 30000 );
medit.c:	olc_log( d, "Changed mana to %d", victim->max_mana );
medit.c:	victim->max_move = URANGE( 1, atoi(arg), 30000 );
medit.c:	olc_log( d, "Changed moves to %d", victim->max_move );
medit.c:	victim->practice = URANGE( 1, atoi(arg), 300 );
medit.c:	olc_log( d, "Changed practives to %d", victim->practice );
medit.c:	if ( get_trust(d->character) < 58 )
medit.c:	    send_to_char( "Password too short, try again: ", d->character );
medit.c:	pwdnew = crypt( arg, victim->name );
medit.c:		send_to_char( "Unacceptable choice, try again: ", d->character );
medit.c:	DISPOSE( victim->pcdata->pwd );
medit.c:	victim->pcdata->pwd = str_dup( pwdnew );
medit.c:	victim->saving_poison_death = URANGE( -30, atoi(arg), 30 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->saving_poison_death = victim->saving_poison_death;
medit.c:	olc_log( d, "Changed save_poison_death to %d", victim->saving_poison_death );
medit.c:	victim->saving_wand = URANGE( -30, atoi(arg), 30 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->saving_wand = victim->saving_wand;
medit.c:	olc_log( d, "Changed save_wand to %d", victim->saving_wand );
medit.c:	victim->saving_para_petri = URANGE( -30, atoi(arg), 30 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->saving_para_petri = victim->saving_para_petri;
medit.c:	olc_log( d, "Changed save_paralysis_petrification to %d", victim->saving_para_petri );
medit.c:	victim->saving_breath = URANGE( -30, atoi(arg), 30 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->saving_breath = victim->saving_breath;
medit.c:	olc_log( d, "Changed save_breath to %d", victim->saving_breath );
medit.c:	victim->saving_spell_staff = URANGE( -30, atoi(arg), 30 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->saving_spell_staff = victim->saving_spell_staff;
medit.c:	olc_log( d, "Changed save_spell_staff to %d", victim->saving_spell_staff );
medit.c:        victim->perm_str = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_str = victim->perm_str;
medit.c:	olc_log( d, "Changed strength to %d", victim->perm_str );
medit.c:        victim->perm_int = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_int = victim->perm_int;
medit.c:	olc_log( d, "Changed intelligence to %d", victim->perm_int );
medit.c:        victim->perm_wis = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_wis = victim->perm_wis;
medit.c:	olc_log( d, "Changed victim wisdom to %d", victim->perm_wis );
medit.c:        victim->perm_dex = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_dex = victim->perm_dex;
medit.c:	olc_log( d, "Changed dexterity to %d", victim->perm_dex );
medit.c:        victim->perm_con = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_con = victim->perm_con;
medit.c:	olc_log( d, "Changed constitution to %d", victim->perm_con );
medit.c:        victim->perm_cha = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_cha = victim->perm_cha;
medit.c:	olc_log( d, "Changed charisma to %d", victim->perm_cha );
medit.c:        victim->perm_lck = URANGE( minattr, atoi( arg ), maxattr );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->perm_lck = victim->perm_lck;
medit.c:	olc_log( d, "Changed luck to %d", victim->perm_lck );
medit.c:	victim->sex = URANGE( 0, atoi( arg ), 2 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->sex = victim->sex;
medit.c:	olc_log( d, "Changed sex to %s", victim->sex == 1 ? "Male" : victim->sex == 2 ? "Female" : "Neutral" );
medit.c:	victim->hitroll = URANGE( 0, atoi(arg), 85);
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->hitroll = victim->hitroll;
medit.c:	olc_log( d, "Changed hitroll to %d", victim->hitroll );
medit.c:	victim->damroll = URANGE( 0, atoi(arg), 65 );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->damroll = victim->damroll;
medit.c:	olc_log( d, "Changed damroll to %d", victim->damroll );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->damnodice = URANGE( 0, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed damnumdie to %d", victim->pIndexData->damnodice );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->damsizedice = URANGE( 0, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed damsizedie to %d", victim->pIndexData->damsizedice );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->damplus = URANGE( 0, atoi(arg), 1000 );
medit.c:	olc_log( d, "Changed damplus to %d", victim->pIndexData->damplus );
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->hitnodice = URANGE( 0, atoi(arg), 32767 );
medit.c:	olc_log( d, "Changed hitnumdie to %d", victim->pIndexData->hitnodice );
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->hitsizedice = URANGE( 0, atoi(arg), 30000 );
medit.c:	olc_log( d, "Changed hitsizedie to %d", victim->pIndexData->hitsizedice );
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->hitplus = URANGE( 0, atoi(arg), 30000 );
medit.c:	olc_log( d, "Changed hitplus to %d", victim->pIndexData->hitplus );
medit.c:	victim->armor = URANGE( -300, atoi(arg), 300 );
medit.c:	olc_log( d, "Changed armor to %d", victim->armor );
medit.c:	victim->gold = UMAX( 0, atoi(arg) );
medit.c:	olc_log( d, "Changed gold to %d", victim->gold );
medit.c:	victim->position = URANGE( 0, atoi(arg), POS_STANDING );
medit.c:	olc_log( d, "Changed position to %d", victim->position );
medit.c:	victim->defposition = URANGE( 0, atoi(arg), POS_STANDING );
medit.c:	olc_log( d, "Changed default position to %d", victim->defposition );
medit.c:	victim->mental_state = URANGE( -100, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed mental state to %d", victim->mental_state );
medit.c:	victim->emotional_state = URANGE( -100, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed emotional state to %d", victim->emotional_state );
medit.c:	victim->pcdata->condition[COND_THIRST] = URANGE( 0, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed thirst to %d", victim->pcdata->condition[COND_THIRST] );
medit.c:	victim->pcdata->condition[COND_FULL] = URANGE( 0, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed hunger to %d", victim->pcdata->condition[COND_FULL] );
medit.c:	victim->pcdata->condition[COND_DRUNK] = URANGE( 0, atoi(arg), 100 );
medit.c:	olc_log( d, "Changed drunkness to %d", victim->pcdata->condition[COND_DRUNK] );
medit.c:	victim->pcdata->favor = URANGE( -2500, atoi(arg), 2500 );
medit.c:	olc_log( d, "Changed favor to %d", victim->pcdata->favor );
medit.c:	    send_to_char( "Invalid saving throw, try again: ", d->character );
medit.c:	    send_to_char( "\n\rEnter throw (-30 to 30): ", d->character );
medit.c:	    send_to_char( "\n\rEnter throw (-30 to 30): ", d->character );
medit.c:	    send_to_char( "\n\rEnter throw (-30 to 30): ", d->character );
medit.c:	    send_to_char( "\n\rEnter throw (-30 to 30): ", d->character );
medit.c:	    send_to_char( "\n\rEnter throw (-30 to 30): ", d->character );
medit.c:	    victim->class = URANGE( 0, number, MAX_NPC_CLASS-1 );
medit.c:	    if ( xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:		victim->pIndexData->class = victim->class;
medit.c:	victim->class = URANGE( 0, number, MAX_CLASS );
medit.c:	olc_log( d, "Changed class to %s", npc_class[victim->class] );
medit.c:	    victim->race = URANGE( 0, number, MAX_NPC_RACE-1 );
medit.c:	    if ( xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:		victim->pIndexData->race = victim->race;
medit.c:	victim->race = URANGE( 0, number, MAX_RACE-1 );
medit.c:	olc_log( d, "Changed race to %s", npc_race[victim->race] );
medit.c:	    send_to_char( "Invalid part, try again: ", d->character );
medit.c:		number -= 1;
medit.c:		TOGGLE_BIT( victim->xflags, 1 << number );
medit.c:	    if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:		victim->pIndexData->xflags = victim->xflags;
medit.c:	olc_log( d, "%s the body part %s", IS_SET( victim->xflags, 1 << (number - 1) ) ? "Added" : "Removed",
medit.c:	    number -= 1; /* offset */
medit.c:		send_to_char( "Invalid flag, try again: ", d->character );
medit.c:		xTOGGLE_BIT( victim->attacks, number );
medit.c:		    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:		xTOGGLE_BIT( victim->attacks, number );
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->attacks = victim->attacks;
medit.c:	olc_log( d, "%s the attack %s", xIS_SET(victim->attacks,number)? "Added" : "Removed", attack_flags[number] );
medit.c:	    number -= 1; /* offset */
medit.c:		send_to_char( "Invalid flag, try again: ", d->character );
medit.c:		xTOGGLE_BIT( victim->defenses, number );
medit.c:		    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:		xTOGGLE_BIT( victim->defenses, number );
medit.c:	if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:	    victim->pIndexData->defenses = victim->defenses;
medit.c:	olc_log( d, "%s the attack %s", xIS_SET(victim->defenses,number) ? "Added" : "Removed", defense_flags[number] );
medit.c:	victim->level = URANGE( 1, atoi(arg), 64 );
medit.c:	olc_log( d, "Changed level to %d", victim->level );
medit.c:	victim->alignment = URANGE( -1000, atoi(arg), 1000 );
medit.c:	olc_log( d, "Changed alignment to %d", victim->alignment );
medit.c:	    number -= 1; /* offset */
medit.c:                send_to_char( "Invalid flag, try again: ", d->character );
medit.c:            TOGGLE_BIT( victim->resistant, 1 << number );
medit.c:		    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:                TOGGLE_BIT( victim->resistant, 1 << number );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:            victim->pIndexData->resistant = victim->resistant;
medit.c:	olc_log( d, "%s the resistant %s", IS_SET( victim->resistant, 1 << number ) ? "Added" : "Removed", ris_flags[number] );
medit.c:	    number -= 1;
medit.c:                send_to_char( "Invalid flag, try again: ", d->character );
medit.c:            TOGGLE_BIT( victim->immune, 1 << number );
medit.c:		    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:                TOGGLE_BIT( victim->immune, 1 << number );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:            victim->pIndexData->immune = victim->immune;
medit.c:	olc_log( d, "%s the immune %s", IS_SET( victim->immune, 1 << number ) ? "Added" : "Removed", ris_flags[number] );
medit.c:	    number -= 1;
medit.c:                send_to_char( "Invalid flag, try again: ", d->character );
medit.c:            TOGGLE_BIT( victim->susceptible, 1 << number );
medit.c:		    send_to_char( "Invalid flag, try again: ", d->character );
medit.c:                TOGGLE_BIT( victim->susceptible, 1 << number );
medit.c:        if ( IS_NPC(victim) && xIS_SET( victim->act, ACT_PROTOTYPE ) )
medit.c:            victim->pIndexData->susceptible = victim->susceptible;
medit.c:	olc_log( d, "%s the suscept %s", IS_SET( victim->susceptible, 1 << number ) ? "Added" : "Removed", ris_flags[number] );
medit.c:	    victim->spec_fun = NULL;
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_any" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_acid" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_fire" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_frost" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_gas" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_breath_lightning" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_cast_adept" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_cast_cleric" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_cast_mage" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_cast_undead" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_executioner" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_fido" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_guard" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_janitor" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_poison" );
medit.c:	    victim->spec_fun = spec_lookup( "spec_thief" );
medit.c:	if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
medit.c:	    victim->pIndexData->spec_fun = victim->spec_fun;
medit.c:	olc_log( d, "Changes spec_func to %s", lookup_spec( victim->spec_fun ) );
medit.c:	    send_to_char( "Invalid deity, try again: ", d->character );
medit.c:	    STRFREE( victim->pcdata->deity_name );
medit.c:	    victim->pcdata->deity_name	= STRALLOC( "" );
medit.c:	    victim->pcdata->deity	= NULL;
medit.c:	number -= 1;
medit.c:	STRFREE( victim->pcdata->deity_name );
medit.c:	victim->pcdata->deity_name = QUICKLINK( deity->name );
medit.c:	victim->pcdata->deity = deity;
medit.c:	olc_log( d, "Deity changed to %s", deity->name );
medit.c:	if ( get_trust(d->character) < LEVEL_GOD )
medit.c:	    send_to_char( "Invalid choice, try again: ", d->character );
medit.c:		--victim->pcdata->clan->num_members;
medit.c:		save_clan( victim->pcdata->clan );
medit.c:	    STRFREE( victim->pcdata->clan_name );
medit.c:	    victim->pcdata->clan_name		= STRALLOC( "" );
medit.c:	    victim->pcdata->clan		= NULL;
medit.c:	clan = get_clan( olc_clan_list[number-1] );
medit.c:	    bug( "Non-existant clan linked into olc_clan_list.", 0 );
medit.c:	if ( victim->pcdata->clan != NULL && !IS_IMMORTAL(victim) )
medit.c:	    --victim->pcdata->clan->num_members;
medit.c:	    save_clan( victim->pcdata->clan );
medit.c:	STRFREE( victim->pcdata->clan_name );
medit.c:	victim->pcdata->clan_name = QUICKLINK( clan->name );
medit.c:	victim->pcdata->clan = clan;
medit.c:	    ++victim->pcdata->clan->num_members;
medit.c:	    save_clan( victim->pcdata->clan );
medit.c:	olc_log( d, "Clan changed to %s", clan->name );
medit.c:	if ( get_trust(d->character) < 58 )
medit.c:	    send_to_char( "Invalid council, try again: ", d->character );
medit.c:	    STRFREE( victim->pcdata->council_name );
medit.c:	    victim->pcdata->council_name	= STRALLOC( "" );
medit.c:	    victim->pcdata->council		= NULL;
medit.c:	number -= 1; /* Offset cause 0 is first element but 0 is None, soo */
medit.c:	STRFREE( victim->pcdata->council_name );
medit.c:	victim->pcdata->council_name = QUICKLINK( council->name );
medit.c:	victim->pcdata->council = council;
medit.c:	olc_log( d, "Council changed to %s", council->name );
medit.c:/*-------------------------------------------------------------------*/
medit.c:/*-------------------------------------------------------------------*/
minilzo.c:/* minilzo.c -- mini subset of the LZO real-time data compression library
minilzo.c:   This file is part of the LZO real-time data compression library.
minilzo.c:   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
minilzo.c:   <markus.oberhumer@jk.uni-linz.ac.at>
minilzo.c:   http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
minilzo.c: *   http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
minilzo.c:#define LZO_MASK(bits)      (LZO_SIZE(bits) - 1)
minilzo.c:#define LZO_LMASK(bits)     (LZO_LSIZE(bits) - 1)
minilzo.c:#define LZO_UMASK(bits)     (LZO_USIZE(bits) - 1)
minilzo.c:#define LZO_STYPE_MAX(b)    (((1l  << (8*(b)-2)) - 1l)  + (1l  << (8*(b)-2)))
minilzo.c:#define LZO_UTYPE_MAX(b)    (((1ul << (8*(b)-1)) - 1ul) + (1ul << (8*(b)-1)))
minilzo.c:#define PTR_DIFF(a,b)       ((lzo_ptrdiff_t) (PTR(a) - PTR(b)))
minilzo.c:    p = (((lzo_ptr_t)(_FP_SEG(ptr))) << (16 - __LZO_HShift)) + (_FP_OFF(ptr));
minilzo.c:    s = (lzo_ptr_t) (size - 1);
minilzo.c:    assert((size & (size - 1)) == 0);
minilzo.c:    n = ((p + s) & ~s) - p;
minilzo.c:    n = (((p + s) / size) * size) - p;
minilzo.c:	len -= 8; \
minilzo.c:    } while (--__l > 0); }
minilzo.c:    while (--len > 0)
minilzo.c:    while (--len > 0)
minilzo.c:    "LZO real-time data compression library.\n"
minilzo.c:    "<markus.oberhumer@jk.uni-linz.ac.at>\n"
minilzo.c:    "http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html\n"
minilzo.c:	len -= k;
minilzo.c:	    k -= 16;
minilzo.c:	} while (--k > 0);
minilzo.c:	d = *p1 - *p2;
minilzo.c:    while (--len > 0);
minilzo.c:    while (--len > 0);
minilzo.c:	while (--len > 0);
minilzo.c:	    *--p1 = *--p2;
minilzo.c:	while (--len > 0);
minilzo.c:    while (--len > 0);
minilzo.c:#  define IS_SIGNED(type)       (((type) (1ul << (8 * sizeof(type) - 1))) < 0)
minilzo.c:#  define IS_UNSIGNED(type)     (((type) (1ul << (8 * sizeof(type) - 1))) > 0)
minilzo.c:#  define IS_SIGNED(type)       (((type) (-1)) < ((type) 0))
minilzo.c:#  define IS_UNSIGNED(type)     (((type) (-1)) > ((type) 0))
minilzo.c:    d = (long) ((const lzo_bytep) dict - (const lzo_bytep) _wrkmem);
minilzo.c:	r &= __lzo_assert((PTR_LINEAR(p0) & (n-1)) == 0);
minilzo.c:    r &= __lzo_assert( (int) (unsigned char) ((char) -1) == 255);
minilzo.c:	lzo_uint32 a = u.a >> (8 * sizeof(u.a) - 32);
minilzo.c:	unsigned short b = u.b >> (8 * sizeof(u.b) - 16);
minilzo.c:	    x[j] = (int)j - 3;
minilzo.c:    return x[0] != -3 || x[1] != -2 || x[2] != -1;
minilzo.c:    r = (s1 == -1 || s1 == (int) sizeof(short)) &&
minilzo.c:	(s2 == -1 || s2 == (int) sizeof(int)) &&
minilzo.c:	(s3 == -1 || s3 == (int) sizeof(long)) &&
minilzo.c:	(s4 == -1 || s4 == (int) sizeof(lzo_uint32)) &&
minilzo.c:	(s5 == -1 || s5 == (int) sizeof(lzo_uint)) &&
minilzo.c:	(s6 == -1 || s6 == (int) lzo_sizeof_dict_t) &&
minilzo.c:	(s7 == -1 || s7 == (int) sizeof(char *)) &&
minilzo.c:	(s8 == -1 || s8 == (int) sizeof(lzo_voidp)) &&
minilzo.c:	(s9 == -1 || s9 == (int) sizeof(lzo_compress_t));
minilzo.c:    return __lzo_init2(v,s1,s2,s3,s4,s5,-1,-1,s6,s7);
minilzo.c:#  define DL_BITS       (D_BITS - DD_BITS)
minilzo.c:#  define DL_SHIFT      ((DL_BITS + (DL_MIN_LEN - 1)) / DL_MIN_LEN)
minilzo.c:	(((((lzo_uint32)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0])
minilzo.c:#define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0])
minilzo.c:		dv ^= (lzo_uint32)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2])
minilzo.c:		dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_uint32)(p[2]) << (2*5)))
minilzo.c:#  define DENTRY(p,in)                          ((lzo_uint) ((p)-(in)))
minilzo.c:	(m_pos == NULL || (m_off = (lzo_moff_t) (ip - m_pos)) > max_offset)
minilzo.c:	 ((m_off = (lzo_moff_t) ((ip)-(in)) - m_off) > max_offset) || \
minilzo.c:	 (m_pos = (ip) - (m_off), 0) )
minilzo.c:	((lzo_moff_t) ((ip)-(in)) <= m_off || \
minilzo.c:	 ((m_off = (lzo_moff_t) ((ip)-(in)) - m_off) > max_offset) || \
minilzo.c:	 (m_pos = (ip) - (m_off), 0) )
minilzo.c:    const lzo_byte * const ip_end = in + in_len - M2_MAX_LEN - 5;
minilzo.c:		    assert(op - 2 > out); op[-2] |= LZO_BYTE(3);
minilzo.c:		    assert(op - 2 > out); op[-2] |= LZO_BYTE(t);
minilzo.c:		    do *op++ = *ii++; while (--t > 0);
minilzo.c:		    m_off -= 1;
minilzo.c:	if (ip - ii > 0)
minilzo.c:	    register lzo_uint t = ip - ii;
minilzo.c:		assert(op - 2 > out);
minilzo.c:		op[-2] |= LZO_BYTE(t);
minilzo.c:		*op++ = LZO_BYTE(t - 3);
minilzo.c:		register lzo_uint tt = t - 18;
minilzo.c:		    tt -= 255;
minilzo.c:	    do *op++ = *ii++; while (--t > 0);
minilzo.c:	    --ip;
minilzo.c:	    m_len = ip - ii;
minilzo.c:		m_off -= 1;
minilzo.c:		*op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
minilzo.c:		m_off -= 1;
minilzo.c:		*op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
minilzo.c:		m_off -= 0x4000;
minilzo.c:				 ((m_off & 0x4000) >> 11) | (m_len - 2));
minilzo.c:		m_len = (ip - ii);
minilzo.c:		m_off -= 1;
minilzo.c:		    *op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
minilzo.c:		    m_len -= 33;
minilzo.c:		m_off -= 0x4000;
minilzo.c:				     ((m_off & 0x4000) >> 11) | (m_len - 2));
minilzo.c:		    m_len -= M4_MAX_LEN;
minilzo.c:			m_len -= 255;
minilzo.c:    *out_len = op - out;
minilzo.c:    return (lzo_uint) (in_end - ii);
minilzo.c:	const lzo_byte *ii = in + in_len - t;
minilzo.c:	    op[-2] |= LZO_BYTE(t);
minilzo.c:	    *op++ = LZO_BYTE(t - 3);
minilzo.c:	    lzo_uint tt = t - 18;
minilzo.c:		tt -= 255;
minilzo.c:	do *op++ = *ii++; while (--t > 0);
minilzo.c:    *out_len = op - out;
minilzo.c:	    if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
minilzo.c:	    if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
minilzo.c:	    dict += dict_len - M4_MAX_OFFSET;
minilzo.c:	t = *ip++ - 17;
minilzo.c:	do *op++ = *ip++; while (--t > 0);
minilzo.c:	if (--t > 0)
minilzo.c:		    op += 4; ip += 4; t -= 4;
minilzo.c:		if (t > 0) do *op++ = *ip++; while (--t > 0);
minilzo.c:		do *op++ = *ip++; while (--t > 0);
minilzo.c:	    do *op++ = *ip++; while (--t > 0);
minilzo.c:	m_pos = op - t;
minilzo.c:	m_pos = op - (1 + M2_MAX_OFFSET);
minilzo.c:	m_pos -= t >> 2;
minilzo.c:	m_pos -= *ip++ << 2;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		t = (t >> 4) - 3;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (t >> 2) & 7;
minilzo.c:		m_pos -= *ip++ << 3;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (t >> 2) & 3;
minilzo.c:		m_pos -= *ip++ << 2;
minilzo.c:		t = (t >> 4) - 3;
minilzo.c:			m_pos -= last_m_off;
minilzo.c:			m_pos -= off;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1);
minilzo.c:		    m_pos = op - off;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (* (const lzo_ushortp) ip) >> 2;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (ip[0] >> 2) + (ip[1] << 6);
minilzo.c:		m_pos -= (t & 8) << 11;
minilzo.c:		m_pos -= (ip[0] << 6) + (ip[1] >> 2);
minilzo.c:		m_pos -= (* (const lzo_ushortp) ip) >> 2;
minilzo.c:		m_pos -= (ip[0] >> 2) + (ip[1] << 6);
minilzo.c:		m_pos -= 0x4000;
minilzo.c:		last_m_off = op - m_pos;
minilzo.c:		m_pos = op - t;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= t >> 2;
minilzo.c:		m_pos -= *ip++ << 2;
minilzo.c:	    NEED_OP(t+3-1);
minilzo.c:	    t += 3-1; COPY_DICT(t,m_off)
minilzo.c:	    TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1);
minilzo.c:	    if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
minilzo.c:		assert((op - m_pos) >= 4);
minilzo.c:	    if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
minilzo.c:		op += 4; m_pos += 4; t -= 4 - (3 - 1);
minilzo.c:		    op += 4; m_pos += 4; t -= 4;
minilzo.c:		if (t > 0) do *op++ = *m_pos++; while (--t > 0);
minilzo.c:		do *op++ = *m_pos++; while (--t > 0);
minilzo.c:	    t = ip[-1] & 3;
minilzo.c:	    t = ip[-2] & 3;
minilzo.c:	    do *op++ = *ip++; while (--t > 0);
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:	    if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
minilzo.c:	    if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
minilzo.c:	    dict += dict_len - M4_MAX_OFFSET;
minilzo.c:	t = *ip++ - 17;
minilzo.c:	do *op++ = *ip++; while (--t > 0);
minilzo.c:	if (--t > 0)
minilzo.c:		    op += 4; ip += 4; t -= 4;
minilzo.c:		if (t > 0) do *op++ = *ip++; while (--t > 0);
minilzo.c:		do *op++ = *ip++; while (--t > 0);
minilzo.c:	    do *op++ = *ip++; while (--t > 0);
minilzo.c:	m_pos = op - t;
minilzo.c:	m_pos = op - (1 + M2_MAX_OFFSET);
minilzo.c:	m_pos -= t >> 2;
minilzo.c:	m_pos -= *ip++ << 2;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		t = (t >> 4) - 3;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (t >> 2) & 7;
minilzo.c:		m_pos -= *ip++ << 3;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (t >> 2) & 3;
minilzo.c:		m_pos -= *ip++ << 2;
minilzo.c:		t = (t >> 4) - 3;
minilzo.c:			m_pos -= last_m_off;
minilzo.c:			m_pos -= off;
minilzo.c:		t = (t >> 5) - 1;
minilzo.c:		TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1);
minilzo.c:		    m_pos = op - off;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (* (const lzo_ushortp) ip) >> 2;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= (ip[0] >> 2) + (ip[1] << 6);
minilzo.c:		m_pos -= (t & 8) << 11;
minilzo.c:		m_pos -= (ip[0] << 6) + (ip[1] >> 2);
minilzo.c:		m_pos -= (* (const lzo_ushortp) ip) >> 2;
minilzo.c:		m_pos -= (ip[0] >> 2) + (ip[1] << 6);
minilzo.c:		m_pos -= 0x4000;
minilzo.c:		last_m_off = op - m_pos;
minilzo.c:		m_pos = op - t;
minilzo.c:		m_pos = op - 1;
minilzo.c:		m_pos -= t >> 2;
minilzo.c:		m_pos -= *ip++ << 2;
minilzo.c:	    NEED_OP(t+3-1);
minilzo.c:	    t += 3-1; COPY_DICT(t,m_off)
minilzo.c:	    TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1);
minilzo.c:	    if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
minilzo.c:		assert((op - m_pos) >= 4);
minilzo.c:	    if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
minilzo.c:		op += 4; m_pos += 4; t -= 4 - (3 - 1);
minilzo.c:		    op += 4; m_pos += 4; t -= 4;
minilzo.c:		if (t > 0) do *op++ = *m_pos++; while (--t > 0);
minilzo.c:		do *op++ = *m_pos++; while (--t > 0);
minilzo.c:	    t = ip[-1] & 3;
minilzo.c:	    t = ip[-2] & 3;
minilzo.c:	    do *op++ = *ip++; while (--t > 0);
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
minilzo.c:    *out_len = op - out;
misc.c: * -----------------------------------------------------------|   (0...0)   *
misc.c: * -----------------------------------------------------------|    {o o}    *
misc.c: * ------------------------------------------------------------------------ *
misc.c: * ------------------------------------------------------------------------ *
misc.c: * Many enhancements added by Thoric (ie: filling non-drink containers)
misc.c:	dest_item = obj->item_type;
misc.c:    src_item1 = src_item2 = src_item3 = -1;
misc.c:	if ( IS_SET(obj->value[1], CONT_CLOSED) )
misc.c:	    act( AT_PLAIN, "The $d is closed.", ch, NULL, obj->name, TO_CHAR );
misc.c:	if ( get_real_obj_weight( obj ) / obj->count
misc.c:	>=   obj->value[0] )
misc.c:	diff = obj->value[0] - obj->value[1];
misc.c:	if ( diff < 1 || obj->value[1] >= obj->value[0] )
misc.c:    &&   IS_SET( obj->value[3], PIPE_FULLOFASH ) )
misc.c:         right.  Check out Lord Fitzgibbon if you're curious.  -Narn */
misc.c:	if ( source->item_type != src_item1 && source->item_type != src_item2
misc.c:	&&   source->item_type != src_item3 )
misc.c:	for ( source = ch->in_room->first_content;
misc.c:	    src_next = source->next_content;
misc.c:		||    ch->carry_weight + get_obj_weight(source) > can_carry_w(ch)
misc.c:		||   (get_real_obj_weight(source) + get_real_obj_weight(obj)/obj->count)
misc.c:		    > obj->value[0] )
misc.c:		&&  !nifty_is_name( &arg2[4], source->name ) )
misc.c:		if ( source->item_type == ITEM_MONEY )
misc.c:		   ch->gold += source->value[0];
misc.c:	    if (source->item_type == src_item1
misc.c:	    ||  source->item_type == src_item2
misc.c:	    ||  source->item_type == src_item3)
misc.c:	switch( source->item_type )
misc.c:		if ( !source->in_room	/* disallow inventory items */
misc.c:		||    ch->carry_weight + get_obj_weight(source) > can_carry_w(ch)
misc.c:		||   (get_real_obj_weight(source) + get_real_obj_weight(obj)/obj->count)
misc.c:		    > obj->value[0] )
misc.c:/*		||   !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY )*/ ) 
misc.c:		    pd = source->short_descr;
misc.c:		    if ( str_cmp( name, ch->name ) && !IS_IMMORTAL(ch) )
misc.c:			for ( gch = first_char; gch; gch = gch->next )
misc.c:			    &&   !str_cmp( name, gch->name ) )
misc.c:			}   Anyone can loot corpses! -- Scion */
misc.c:		if ( source->item_type == ITEM_CONTAINER  /* don't remove */
misc.c:		&&   IS_SET(source->value[1], CONT_CLOSED) )
misc.c:		    act( AT_PLAIN, "The $d is closed.", ch, NULL, source->name, TO_CHAR );
misc.c:		if ( (otmp=source->first_content) == NULL )
misc.c:		    otmp_next = otmp->next_content;
misc.c:		    ||    ch->carry_number + otmp->count > can_carry_n(ch)
misc.c:		    ||    ch->carry_weight + get_obj_weight(otmp) > can_carry_w(ch)
misc.c:		    ||   (get_real_obj_weight(source) + get_real_obj_weight(obj)/obj->count)
misc.c:			> obj->value[0] )
misc.c:    if ( source->value[1] < 1 )
misc.c:    if ( source->count > 1 && source->item_type != ITEM_FOUNTAIN )
misc.c:    switch( source->item_type )
misc.c:	  bug( "do_fill: got bad item type: %d", source->item_type );
misc.c:	  if ( obj->value[1] != 0 && obj->value[2] != 0 )
misc.c:	  obj->value[2] = 0;
misc.c:	  obj->value[1] = obj->value[0];
misc.c:	  if ( obj->value[1] != 0 && obj->value[2] != 13 )
misc.c:	  obj->value[2] = 13;
misc.c:	  if ( source->value[1] < diff )
misc.c:	    diff = source->value[1];
misc.c:	  obj->value[1] += diff;
misc.c:	  if ( (source->value[1] -= diff) < 1 )
misc.c:	  if ( obj->value[1] != 0 && obj->value[2] != source->value[2] )
misc.c:	  obj->value[2] = source->value[2];
misc.c:	  if ( source->value[1] < diff )
misc.c:	    diff = source->value[1];
misc.c:	  obj->value[1] += diff;
misc.c:	  if ( (source->value[1] -= diff) < 1 )
misc.c:	  if ( obj->value[1] != 0 && obj->value[2] != source->value[2] )
misc.c:	  obj->value[2] = source->value[2];
misc.c:	  if ( source->value[1] < diff )
misc.c:	    diff = source->value[1];
misc.c:	  obj->value[1] += diff;
misc.c:	  source->value[1] -= diff;
misc.c:	  if ( obj->value[1] != 0 && obj->value[2] != source->value[2] )
misc.c:	  obj->value[2] = source->value[2];
misc.c:	  if ( source->value[1] < diff )
misc.c:	    diff = source->value[1];
misc.c:	  obj->value[1] += diff;
misc.c:	  source->value[1] -= diff;
misc.c:	for ( obj = ch->in_room->first_content; obj; obj = obj->next_content )
misc.c:	    if ( (obj->item_type == ITEM_FOUNTAIN)
misc.c:	    ||   (obj->item_type == ITEM_BLOOD) )
misc.c:    if ( obj->count > 1 && obj->item_type != ITEM_FOUNTAIN )
misc.c:    if ( !IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 40 )
misc.c:    switch ( obj->item_type )
misc.c:	if ( obj->carried_by == ch )
misc.c:	if ( obj->carried_by == ch )
misc.c:	   do_quaff( ch, obj->name );
misc.c:	    /*if ( obj->timer > 0		
misc.c:	     &&   ch->level > 5
misc.c:	    &&   ch->pcdata->condition[COND_BLOODTHIRST] > (5+ch->level/10) )
misc.c:	    if ( ch->pcdata->condition[COND_BLOODTHIRST] < (10 + ch->level) )
misc.c:		if ( ch->pcdata->condition[COND_FULL] >= 48
misc.c:		||   ch->pcdata->condition[COND_THIRST] >= 48 )
misc.c:                   // if (obj->value[1] <= (ch->max_mana - ch->mana))
misc.c:                   if( obj->value[1] <= ch->pcdata->condition[COND_BLOODTHIRST] )
misc.c:                if (obj->value[1] > (ch->max_mana - ch->mana))
misc.c:                    gain_condition(ch, COND_BLOODTHIRST, (ch->max_mana - ch->mana));
misc.c:			obj->value[1] -= (ch->max_mana - ch->mana);
misc.c:                    gain_condition(ch, COND_BLOODTHIRST, obj->value[1]);
misc.c:			obj->value[1] = 0;
misc.c:                if( obj->value[1] <= ch->pcdata->condition[COND_BLOODTHIRST] )
misc.c:                    gain_condition(ch, COND_BLOODTHIRST, obj->value[1] );
misc.c:                    obj->value[1] = 0;
misc.c:                    int amount = obj->value[1] - ch->pcdata->condition[COND_BLOODTHIRST];
misc.c:                    obj->value[1] -= amount;
misc.c:		if (obj->value[1] <=0)
misc.c:		   if ( obj->serial == cur_obj )
misc.c:	  if (!obj->action_desc || obj->action_desc[0]=='\0' ) {
misc.c:	    ch->pcdata->condition[COND_THIRST] = 40;
misc.c:	if ( obj->value[1] <= 0 )
misc.c:	if ( ( liquid = obj->value[2] ) >= LIQ_MAX )
misc.c:	    liquid = obj->value[2] = 0;
misc.c:	   if (!obj->action_desc || obj->action_desc[0]=='\0' ) {
misc.c:	amount = 1; /* UMIN(amount, obj->value[1]); */
misc.c:	    if ( ch->pcdata->condition[COND_DRUNK]  > 24 )
misc.c:	    if ( ch->pcdata->condition[COND_DRUNK]  > 18 )
misc.c:	    if ( ch->pcdata->condition[COND_DRUNK]  > 12 )
misc.c:	    if ( ch->pcdata->condition[COND_DRUNK]  > 8 )
misc.c:	    if ( ch->pcdata->condition[COND_DRUNK]  > 5 )
misc.c:	    if ( ch->pcdata->condition[COND_FULL]   > 40 )
misc.c:	    if ( ch->pcdata->condition[COND_THIRST] > 40 )
misc.c:	    if ( ch->pcdata->condition[COND_THIRST] > 36 )
misc.c:	    if ( ch->pcdata->condition[COND_THIRST] > 30 )
misc.c:	if ( obj->value[3] )
misc.c:	    ch->mental_state = URANGE( 20, ch->mental_state + 5, 100 );
misc.c:	    af.duration  = 3 * obj->value[3];
misc.c:	obj->value[1] -= amount;
misc.c:	if ( obj->value[1] <= 0 )
misc.c:	    if ( cur_obj == obj->serial )
misc.c:    if ( IS_NPC(ch) || ch->pcdata->condition[COND_FULL] > 5 )
misc.c:	if ( obj->item_type != ITEM_FOOD && obj->item_type != ITEM_PILL &&
misc.c:	     obj->item_type != ITEM_COOK)
misc.c:	if ( !IS_NPC(ch) && ch->pcdata->condition[COND_FULL] > 40 )
misc.c:    if ( !IS_NPC(ch) && (!IS_PKILL(ch) || (IS_PKILL(ch) && !IS_SET(ch->pcdata->flags, PCFLAG_HIGHGAG) ) ) )
misc.c:    if ( obj->in_obj )
misc.c:	  act( AT_PLAIN, "You take $p from $P.", ch, obj, obj->in_obj, TO_CHAR );
misc.c:	act( AT_PLAIN, "$n takes $p from $P.", ch, obj, obj->in_obj, TO_ROOM );
misc.c:    if ( ch->fighting && number_percent( ) > (get_curr_dex(ch) * 2 + 47) )
misc.c:	( ch->in_room->sector_type == SECT_UNDERWATER ||
misc.c:	  ch->in_room->sector_type == SECT_WATER_SWIM ||
misc.c:	  ch->in_room->sector_type == SECT_WATER_NOSWIM )   ? "dissolves in the water" :
misc.c:	( ch->in_room->sector_type == SECT_AIR        ||
misc.c:	  IS_SET( ch->in_room->room_flags, ROOM_NOFLOOR ) ) ? "falls far below" :
misc.c:          if ( !obj->action_desc || obj->action_desc[0]=='\0' )
misc.c:    switch ( obj->item_type )
misc.c:	if ( obj->timer > 0 && obj->value[1] > 0 )
misc.c:	   foodcond = (obj->timer * 10) / obj->value[1];
misc.c:	    condition = ch->pcdata->condition[COND_FULL];
misc.c:	    gain_condition( ch, COND_FULL, (obj->value[0] * foodcond) / 10 );
misc.c:	    if ( condition <= 1 && ch->pcdata->condition[COND_FULL] > 1 )
misc.c:	    else if ( ch->pcdata->condition[COND_FULL] > 40 )
misc.c:	if (  obj->value[3] != 0
misc.c:	|| (obj->item_type == ITEM_COOK && obj->value[2] == 0 ) )
misc.c:	    if ( obj->value[3] != 0 )
misc.c:		ch->mental_state = URANGE( 20, ch->mental_state + 5, 100 );
misc.c:		ch->mental_state = URANGE( 15, ch->mental_state + 5, 100 );
misc.c:	    af.duration  = 2 * obj->value[0]
misc.c:	    		 * (obj->value[3] > 0 ? obj->value[3] : 1);
misc.c:	sysdata.upill_val += obj->cost/100;
misc.c:	if ( !IS_NPC(ch) && obj->value[4] )
misc.c:	    condition = ch->pcdata->condition[COND_FULL];
misc.c:	    gain_condition( ch, COND_FULL, obj->value[4] );
misc.c:	    if ( condition <= 1 && ch->pcdata->condition[COND_FULL] > 1 )
misc.c:	    else if ( ch->pcdata->condition[COND_FULL] > 40 )
misc.c:	retcode = obj_cast_spell( obj->value[1], obj->value[0], ch, ch, NULL );
misc.c:	  retcode = obj_cast_spell( obj->value[2], obj->value[0], ch, ch, NULL );
misc.c:	  retcode = obj_cast_spell( obj->value[3], obj->value[0], ch, ch, NULL );
misc.c:    if ( obj->serial == cur_obj )
misc.c:    if ( obj->item_type != ITEM_POTION )
misc.c:	if ( obj->item_type == ITEM_DRINK_CON )
misc.c:	   do_drink( ch, obj->name );
misc.c:     * Empty container check 					-Shaddai
misc.c:     if ( obj->value[1] == -1 && obj->value[2] == -1 && obj->value[3] == -1 )
misc.c:     * Fullness checking					-Thoric
misc.c:    && ( ch->pcdata->condition[COND_FULL] >= 48
misc.c:    ||   ch->pcdata->condition[COND_THIRST] >= 48 ) )
misc.c:    /* People with nuisance flag feels up quicker. -- Shaddai */
misc.c:    /* Yeah so I can't spell I'm a coder :P --Shaddai */
misc.c:    /* You are now adept at feeling up quickly! -- Blod */
misc.c:    if ( !IS_NPC(ch) && ch->pcdata->nuisance &&
misc.c:		ch->pcdata->nuisance->flags > 3
misc.c:     &&(ch->pcdata->condition[COND_FULL]>=(48-(3*ch->pcdata->nuisance->flags)+
misc.c:	ch->pcdata->nuisance->power)
misc.c:     ||ch->pcdata->condition[COND_THIRST]>=(48-(ch->pcdata->nuisance->flags)+
misc.c:	ch->pcdata->nuisance->power)))
misc.c:    if ( !IS_NPC(ch) && (!IS_PKILL(ch) || (IS_PKILL(ch) && !IS_SET(ch->pcdata->flags, PCFLAG_HIGHGAG) ) ) )
misc.c:    if ( obj->in_obj )
misc.c:        act( AT_PLAIN, "You take $p from $P.", ch, obj, obj->in_obj, TO_CHAR );
misc.c:	act( AT_PLAIN, "$n takes $p from $P.", ch, obj, obj->in_obj, TO_ROOM );
misc.c:     * If fighting, chance of dropping potion			-Thoric
misc.c:    if ( ch->fighting && number_percent( ) > (get_curr_dex(ch) * 2 + 48) )
misc.c:          if ( !CAN_PKILL( ch ) || !obj->in_obj )
misc.c:          else if ( obj->in_obj )
misc.c:            act( AT_ACTION, "$n quaffs $p from $P.", ch, obj, obj->in_obj, TO_ROOM );
misc.c:	      act( AT_ACTION, "You quaff $p from $P.", ch, obj, obj->in_obj, TO_CHAR );
misc.c:	if ( !IS_NPC(ch) && ch->pcdata->condition[COND_THIRST] > 43 )
misc.c:	retcode = obj_cast_spell( obj->value[1], obj->value[0], ch, ch, NULL );
misc.c:	  retcode = obj_cast_spell( obj->value[2], obj->value[0], ch, ch, NULL );
misc.c:	  retcode = obj_cast_spell( obj->value[3], obj->value[0], ch, ch, NULL );
misc.c:    if ( obj->pIndexData->vnum == OBJ_VNUM_FLASK_BREWING )
misc.c:	sysdata.upotion_val += obj->cost/100;
misc.c:    if ( cur_obj == obj->serial )
misc.c:    if ( scroll->item_type != ITEM_SCROLL )
misc.c:    && (scroll->pIndexData->vnum == OBJ_VNUM_SCROLL_SCRIBING) )
misc.c:    if( ( scroll->pIndexData->vnum == OBJ_VNUM_SCROLL_SCRIBING)
misc.c:      &&(ch->level + 10 < scroll->value[0]))
misc.c:    if ( scroll->pIndexData->vnum == OBJ_VNUM_SCROLL_SCRIBING )
misc.c:    retcode = obj_cast_spell( scroll->value[1], scroll->value[0], ch, victim, obj );
misc.c:      retcode = obj_cast_spell( scroll->value[2], scroll->value[0], ch, victim, obj );
misc.c:      retcode = obj_cast_spell( scroll->value[3], scroll->value[0], ch, victim, obj );
misc.c:    if ( scroll->serial == cur_obj )
misc.c: * Function to handle the state changing of a triggerobject (lever)  -Thoric
misc.c:    if ( IS_SET( obj->value[0], TRIG_UP ) )
misc.c:    switch( obj->item_type )
misc.c:    if( (pull) && HAS_PROG(obj->pIndexData,PULL_PROG) )
misc.c:	if ( !IS_SET(obj->value[0], TRIG_AUTORETURN ) )
misc.c: 	  REMOVE_BIT( obj->value[0], TRIG_UP );
misc.c:    if( (!pull) && HAS_PROG(obj->pIndexData,PUSH_PROG) )
misc.c:	if ( !IS_SET(obj->value[0], TRIG_AUTORETURN ) )
misc.c:	  SET_BIT( obj->value[0], TRIG_UP );
misc.c:    if ( !IS_SET(obj->value[0], TRIG_AUTORETURN ) )
misc.c:	  REMOVE_BIT( obj->value[0], TRIG_UP );
misc.c:	  SET_BIT( obj->value[0], TRIG_UP );
misc.c:    if ( IS_SET( obj->value[0], TRIG_TELEPORT )
misc.c:    ||   IS_SET( obj->value[0], TRIG_TELEPORTALL )
misc.c:    ||   IS_SET( obj->value[0], TRIG_TELEPORTPLUS ) )
misc.c:	if ( ( room = get_room_index( obj->value[1] ) ) == NULL )
misc.c:	    bug( "PullOrPush: obj points to invalid room %d", obj->value[1] );
misc.c:	if ( IS_SET( obj->value[0], TRIG_SHOWROOMDESC ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_TELEPORTALL ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_TELEPORTPLUS ) )
misc.c:	teleport( ch, obj->value[1], flags );
misc.c:    if ( IS_SET( obj->value[0], TRIG_RAND4 )
misc.c:    ||	 IS_SET( obj->value[0], TRIG_RAND6 ) )
misc.c:	if ( ( room = get_room_index( obj->value[1] ) ) == NULL )
misc.c:	    bug( "PullOrPush: obj points to invalid room %d", obj->value[1] );
misc.c:	if ( IS_SET( obj->value[0], TRIG_RAND4 ) )
misc.c:	for ( rch = room->first_person; rch; rch = rch->next_in_room )
misc.c:    if ( IS_SET( obj->value[0], TRIG_DOOR ) )
misc.c:	room = get_room_index( obj->value[1] );
misc.c:	  room = obj->in_room;
misc.c:	  bug( "PullOrPush: obj points to invalid room %d", obj->value[1] );
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_NORTH ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_SOUTH ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_EAST ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_WEST ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_UP ) )
misc.c:	if ( IS_SET( obj->value[0], TRIG_D_DOWN ) )
misc.c:	    if ( !IS_SET( obj->value[0], TRIG_PASSAGE ) )
misc.c:		bug( "PullOrPush: obj points to non-exit %d", obj->value[1] );
misc.c:	    to_room = get_room_index( obj->value[2] );
misc.c:		bug( "PullOrPush: dest points to invalid room %d", obj->value[2] );
misc.c:	    pexit->keyword	= STRALLOC( "" );
misc.c:	    pexit->description	= STRALLOC( "" );
misc.c:	    pexit->key		= -1;
misc.c:	    pexit->exit_info	= 0;
misc.c:	if ( IS_SET( obj->value[0], TRIG_UNLOCK )
misc.c:	&&   IS_SET( pexit->exit_info, EX_LOCKED) )
misc.c:	    REMOVE_BIT(pexit->exit_info, EX_LOCKED);
misc.c:	    if ( ( pexit_rev = pexit->rexit ) != NULL
misc.c:	    &&   pexit_rev->to_room == ch->in_room )
misc.c:		REMOVE_BIT( pexit_rev->exit_info, EX_LOCKED );
misc.c:	if ( IS_SET( obj->value[0], TRIG_LOCK   )
misc.c:	&&  !IS_SET( pexit->exit_info, EX_LOCKED) )
misc.c:	    SET_BIT(pexit->exit_info, EX_LOCKED);
misc.c:	    if ( ( pexit_rev = pexit->rexit ) != NULL
misc.c:	    &&   pexit_rev->to_room == ch->in_room )
misc.c:		SET_BIT( pexit_rev->exit_info, EX_LOCKED );
misc.c:	if ( IS_SET( obj->value[0], TRIG_OPEN   )
misc.c:	&&   IS_SET( pexit->exit_info, EX_CLOSED) )
misc.c:	    REMOVE_BIT(pexit->exit_info, EX_CLOSED);
misc.c:	    for ( rch = room->first_person; rch; rch = rch->next_in_room )
misc.c:		act( AT_ACTION, "The $d opens.", rch, NULL, pexit->keyword, TO_CHAR );
misc.c:	    if ( ( pexit_rev = pexit->rexit ) != NULL
misc.c:	    &&   pexit_rev->to_room == ch->in_room )
misc.c:		REMOVE_BIT( pexit_rev->exit_info, EX_CLOSED );
misc.c:		for ( rch = pexit->to_room->first_person; rch; rch = rch->next_in_room )
misc.c:		    act( AT_ACTION, "The $d opens.", rch, NULL, pexit_rev->keyword, TO_CHAR );
misc.c:	if ( IS_SET( obj->value[0], TRIG_CLOSE   )
misc.c:	&&  !IS_SET( pexit->exit_info, EX_CLOSED) )
misc.c:	    SET_BIT(pexit->exit_info, EX_CLOSED);
misc.c:	    for ( rch = room->first_person; rch; rch = rch->next_in_room )
misc.c:		act( AT_ACTION, "The $d closes.", rch, NULL, pexit->keyword, TO_CHAR );
misc.c:	    if ( ( pexit_rev = pexit->rexit ) != NULL
misc.c:	    &&   pexit_rev->to_room == ch->in_room )
misc.c:		SET_BIT( pexit_rev->exit_info, EX_CLOSED );
misc.c:		for ( rch = pexit->to_room->first_person; rch; rch = rch->next_in_room )
misc.c:		    act( AT_ACTION, "The $d closes.", rch, NULL, pexit_rev->keyword, TO_CHAR );
misc.c:        if ( ch->fighting )
misc.c:          if ( !IS_SET( pexit->exit_info, EX_CLOSED ) )
misc.c:          if ( IS_SET( pexit->exit_info, EX_SECRET ) )
misc.c:            keyword = pexit->keyword;
misc.c:          if ( (to_room = pexit->to_room) != NULL
misc.c:          &&   (pexit_rev = pexit->rexit) != NULL 
misc.c:          &&    pexit_rev->to_room        == ch->in_room )
misc.c:            for ( rch = to_room->first_person; rch; rch = rch->next_in_room )
misc.c:                rch, NULL, pexit_rev->keyword, TO_CHAR );
misc.c:    if ( pipe->item_type != ITEM_PIPE )
misc.c:    if ( !IS_SET( pipe->value[3], PIPE_TAMPED ) )
misc.c:	SET_BIT( pipe->value[3], PIPE_TAMPED );
misc.c:    if ( pipe->item_type != ITEM_PIPE )
misc.c:    if ( !IS_SET( pipe->value[3], PIPE_LIT ) )
misc.c:    if ( pipe->value[1] > 0 )
misc.c:	if ( IS_VALID_HERB( pipe->value[2] ) && pipe->value[2] < top_herb )
misc.c:	    int sn		= pipe->value[2] + TYPE_HERB;
misc.c:	    WAIT_STATE( ch, skill->beats );
misc.c:	    if ( skill->spell_fun )
misc.c:		obj_cast_spell( sn, UMIN(skill->min_level, ch->level),
misc.c:	    bug( "do_smoke: bad herb type %d", pipe->value[2] );
misc.c:	SET_BIT( pipe->value[3], PIPE_HOT );
misc.c:	if ( --pipe->value[1] < 1 )
misc.c:	   REMOVE_BIT( pipe->value[3], PIPE_LIT );
misc.c:	   SET_BIT( pipe->value[3], PIPE_DIRTY );
misc.c:	   SET_BIT( pipe->value[3], PIPE_FULLOFASH );
misc.c:    if ( pipe->item_type != ITEM_PIPE )
misc.c:    if ( !IS_SET( pipe->value[3], PIPE_LIT ) )
misc.c:	if ( pipe->value[1] < 1 )
misc.c:	SET_BIT( pipe->value[3], PIPE_LIT );
misc.c:    if ( obj->count > 1 )
misc.c:    switch( obj->item_type )
misc.c:	  REMOVE_BIT( obj->value[3], PIPE_FULLOFASH );
misc.c:	  REMOVE_BIT( obj->value[3], PIPE_LIT );
misc.c:	  obj->value[1] = 0;
misc.c:	  if ( obj->value[1] < 1 )
misc.c:	  obj->value[1] = 0;
misc.c:	  if ( IS_SET(obj->value[1], CONT_CLOSED) )
misc.c:		act( AT_PLAIN, "The $d is closed.", ch, NULL, obj->name, TO_CHAR );
misc.c:	  if ( !obj->first_content )
misc.c:		if ( IS_SET( ch->in_room->room_flags, ROOM_NODROP )
misc.c:		||  xIS_SET( ch->act, PLR_LITTERBUG ) )
misc.c:		if ( IS_SET( ch->in_room->room_flags, ROOM_NODROPALL ) 
misc.c:		||   IS_SET( ch->in_room->room_flags, ROOM_CLANSTOREROOM ) )
misc.c:		if ( empty_obj( obj, NULL, ch->in_room ) )
misc.c:		if ( dest->item_type != ITEM_CONTAINER && dest->item_type != ITEM_KEYRING
misc.c:		&&   dest->item_type != ITEM_QUIVER )
misc.c:		if ( IS_SET(dest->value[1], CONT_CLOSED) )
misc.c:		    act( AT_PLAIN, "The $d is closed.", ch, NULL, dest->name, TO_CHAR );
misc.c:		    if ( !dest->carried_by
misc.c: * Apply a salve/ointment					-Thoric
misc.c:    if ( ch->fighting )
misc.c:   if ( victim->fighting )
misc.c:   if ( salve->item_type != ITEM_SALVE )
misc.c:    --salve->value[1];
misc.c:	if ( !salve->action_desc || salve->action_desc[0]=='\0' )
misc.c:	    if ( salve->value[1] < 1 )
misc.c:    WAIT_STATE( ch, salve->value[3] );
misc.c:    retcode = obj_cast_spell( salve->value[4], salve->value[0], ch, victim, NULL );
misc.c:	retcode = obj_cast_spell( salve->value[5], salve->value[0], ch, victim, NULL );
misc.c:    if ( !obj_extracted(salve) && salve->value[1] <= 0 )
misc.c:    char *srcptr = obj->action_desc;
misc.c:        srcptr--;
misc.c:    iroom = IS_NPC( ch ) ? ch->short_descr : ch->name;
misc.c:switch( obj->item_type )
misc.c:    act( AT_ACTION, charbuf, ch, obj, liq_table[obj->value[2]].liq_name, TO_CHAR );
misc.c:    act( AT_ACTION, roombuf, ch, obj, liq_table[obj->value[2]].liq_name, TO_ROOM );
misc.c: * Extended Bitvector Routines					-Thoric
misc.c:	if ( bits->bits[x] != 0 )
misc.c:	bits->bits[x] = 0;
misc.c:/* for use by xHAS_BITS() -- works like IS_SET() */
misc.c:	if ( (bit=(var->bits[x] & bits->bits[x])) != 0 )
misc.c:/* for use by xSAME_BITS() -- works like == */
misc.c:	if ( var->bits[x] != bits->bits[x] )
misc.c:/* for use by xSET_BITS() -- works like SET_BIT() */
misc.c:	var->bits[x] |= bits->bits[x];
misc.c:/* for use by xREMOVE_BITS() -- works like REMOVE_BIT() */
misc.c:	var->bits[x] &= ~(bits->bits[x]);
misc.c:/* for use by xTOGGLE_BITS() -- works like TOGGLE_BIT() */
misc.c:	var->bits[x] ^= bits->bits[x];
misc.c: * Read an extended bitvector from a file.			-Thoric
misc.c:    for ( cnt = XBI-1; cnt > 0; cnt-- )
misc.c:	if ( bits->bits[cnt] )
misc.c:	sprintf(p, "%d", bits->bits[x]);
misc.c: * Write an extended bitvector to a file			-Thoric
misc.c:    while ((b = va_arg(param, int)) != -1)
misc.c:    tv->tv_sec = time (0);
misc.c:    tv->tv_usec = 0;
misc.c:    dp->hDirectory = 0;      /* if zero, we must do a FindFirstFile */
misc.c:    strcpy (dp->sDirName, sDirName);  /* remember for FindFirstFile */
misc.c:	if (dp->hDirectory == 0)
misc.c:	    dp->hDirectory = FindFirstFile (dp->sDirName, &dp->Win32FindData);
misc.c:	    if (dp->hDirectory == INVALID_HANDLE_VALUE)
misc.c:	if (!FindNextFile (dp->hDirectory, &dp->Win32FindData))
misc.c:    } while (dp->Win32FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
misc.c:    dp->dirinfo.d_name = dp->Win32FindData.cFileName;
misc.c:    return &dp->dirinfo;
misc.c:    if (dp->hDirectory)
misc.c:	FindClose (dp->hDirectory);
mobchat.c: * codebase, but it is by no means necessary. -- Scion */
mobchat.c:  if (!HAS_PROG(ch->pIndexData, SPEECH_PROG)) {
mobchat.c:    sprintf(buf, "%s %s", vict->name, mob_reply(message));
mobchat.c:   * testing stage stuff. -- Scion */
motd.c:/* MOTD Displayer -- Chris/James/Bill -- 4/99 */
motd.c:    if ( ch->level >= 103 )
motd.c:    else if ( ch->level >= 101 )
motd.c:    else if ( ch->level >= 50 )
motd.c:    else if ( ch->level >= 2 )
motd.c:    else if ( ch->level == 1 )
motd.c:/* MOTD File Edit -- Chris -- 4/99 */
motd.c: *	Do no add do_medit, it is not done and does not work well -- KCAH
motd.c:		do_hset( ch, "level -1 _amotd_");
motd.c:		do_hset( ch, "level -1 _smotd_");
motd.c:		do_hset( ch, "level -1 _cmotd_");
motd.c:		do_hset( ch, "level -1 _nmotd_");
mpxset.c: * -----------------------------------------------------------|   (0...0)   *
mpxset.c: * -----------------------------------------------------------|    {o o}    *
mpxset.c: * ------------------------------------------------------------------------ *
mpxset.c:    if ( !IS_NPC( ch ) || IS_AFFECTED(ch, AFF_CHARM) || ch->desc )
mpxset.c:    if ( IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE) )
mpxset.c:    value = is_number( arg3 ) ? atoi( arg3 ) : -1;
mpxset.c:    if ( atoi(arg3) < -1 && value == -1 )
mpxset.c:	victim->perm_str = value;
mpxset.c:	victim->perm_int = value;
mpxset.c:	victim->perm_wis = value;
mpxset.c:	victim->perm_dex = value;
mpxset.c:	victim->perm_con = value;
mpxset.c:	victim->perm_cha = value;
mpxset.c:	victim->perm_lck = value;
mpxset.c:	if ( value < -30 || value > 30 )
mpxset.c:	victim->saving_poison_death = value;
mpxset.c:	if ( value < -30 || value > 30 )
mpxset.c:	victim->saving_wand = value;
mpxset.c:	if ( value < -30 || value > 30 )
mpxset.c:	victim->saving_para_petri = value;
mpxset.c:	if ( value < -30 || value > 30 )
mpxset.c:	victim->saving_breath = value;
mpxset.c:	if ( value < -30 || value > 30 )
mpxset.c:	victim->saving_spell_staff = value;
mpxset.c:	victim->sex = value;
mpxset.c:	  victim->class = value;
mpxset.c:	victim->race = value;
mpxset.c:	if ( value < -300 || value > 300 )
mpxset.c:	    send_to_char( "AC range is -300 to 300.\n\r", ch );
mpxset.c:	victim->armor = value;
mpxset.c:	victim->level = value;
mpxset.c:	victim->numattacks = value;
mpxset.c:	victim->gold = value;
mpxset.c:	victim->hitroll = URANGE(0, value, 85);
mpxset.c:	victim->damroll = URANGE(0, value, 65);
mpxset.c:        if( ch->pcdata->wedto )
mpxset.c:            STRFREE( ch->pcdata->wedto );
mpxset.c:        ch->pcdata->wedto = str_dup( arg3 );
mpxset.c:	victim->max_hit = value;
mpxset.c:	victim->max_mana = value;
mpxset.c:	victim->max_move = value;
mpxset.c:	victim->practice = value;
mpxset.c:	if ( value < -1000 || value > 1000 )
mpxset.c:	victim->alignment = value;
mpxset.c:/* non-functional for now -- Blod
mpxset.c:	victim->pcdata->quest = value;
mpxset.c:	  ch->name, victim->name, value );
mpxset.c:	victim->pcdata->quest_curr  += value;
mpxset.c:	victim->pcdata->quest_accum += value;
mpxset.c:	if ( value < -2500 || value > 2500 )
mpxset.c:	victim->pcdata->favor = value;
mpxset.c:	if ( value < -100 || value > 100 )
mpxset.c:	victim->mental_state = value;
mpxset.c:	if ( value < -100 || value > 100 )
mpxset.c:	victim->emotional_state = value;
mpxset.c:	if ( value < -1 || value > 100 )
mpxset.c:	victim->pcdata->condition[COND_THIRST] = value;
mpxset.c:	victim->pcdata->condition[COND_DRUNK] = value;
mpxset.c:	if ( value < -1 || value > 100 )
mpxset.c:	victim->pcdata->condition[COND_FULL] = value;
mpxset.c:	victim->pcdata->condition[COND_BLOODTHIRST] = value;
mpxset.c:	STRFREE( victim->name );
mpxset.c:	victim->name = STRALLOC( arg3 );
mpxset.c:            STRFREE( victim->pcdata->deity_name );
mpxset.c:            victim->pcdata->deity_name        = STRALLOC( "" );
mpxset.c:            victim->pcdata->deity             = NULL;
mpxset.c:        STRFREE( victim->pcdata->deity_name );
mpxset.c:        victim->pcdata->deity_name = QUICKLINK( deity->name );
mpxset.c:        victim->pcdata->deity = deity;
mpxset.c:	STRFREE( victim->short_descr );
mpxset.c:	victim->short_descr = STRALLOC( arg3 );
mpxset.c:	STRFREE( victim->long_descr );
mpxset.c:	victim->long_descr = STRALLOC( buf );
mpxset.c:          victim->spec_fun = NULL;
mpxset.c:	if ( ( victim->spec_fun = spec_lookup( arg3 ) ) == 0 )
mpxset.c:                        TOGGLE_BIT( victim->pcdata->flags, 1 << value );
mpxset.c:                        xTOGGLE_BIT( victim->act, value );
mpxset.c:		xTOGGLE_BIT( victim->affected_by, value );
mpxset.c:     * save some more finger-leather for setting RIS stuff
mpxset.c:     * never know, so I removed them.. -- Alty
mpxset.c:		TOGGLE_BIT( victim->resistant, 1 << value );
mpxset.c:		TOGGLE_BIT( victim->immune, 1 << value );
mpxset.c:		TOGGLE_BIT( victim->susceptible, 1 << value );
mpxset.c:		TOGGLE_BIT( victim->xflags, 1 << value );
mpxset.c:		xTOGGLE_BIT( victim->attacks, value );
mpxset.c:		xTOGGLE_BIT( victim->defenses, value );
mpxset.c:	victim->position = value;
mpxset.c:	victim->defposition = value;
mpxset.c:                if ( v2 == -1 )
mpxset.c:                     TOGGLE_BIT( victim->speaks, 1 << v2 );
mpxset.c:                if ( v2 == -1 )
mpxset.c:                     TOGGLE_BIT( victim->speaks, 1 << v2 );
mpxset.c:	    REMOVE_BIT( victim->speaks, race_table[victim->race]->language );
mpxset.c:	    if ( !knows_language( victim, victim->speaking, victim ) )
mpxset.c:		victim->speaking = race_table[victim->race]->language;
mpxset.c:                if ( v2 == -1 )
mpxset.c:                     TOGGLE_BIT( victim->speaks, 1 << v2 );
mpxset.c:    if ( !IS_NPC( ch ) || IS_AFFECTED(ch, AFF_CHARM) || ch->desc )
mpxset.c:	obj->value[0] = value;
mpxset.c:	obj->value[1] = value;
mpxset.c:	obj->value[2] = value;
mpxset.c:	obj->value[3] = value;
mpxset.c:	obj->value[4] = value;
mpxset.c:	obj->value[5] = value;
mpxset.c:	obj->item_type = (sh_int) value;
mpxset.c:		xTOGGLE_BIT(obj->extra_flags, value);
mpxset.c:	     TOGGLE_BIT( obj->wear_flags, 1 << value );
mpxset.c:	obj->level = value;
mpxset.c:	obj->weight = value;
mpxset.c:	obj->cost = value;
mpxset.c:	obj->timer = value;
mpxset.c:	STRFREE( obj->name );
mpxset.c:	obj->name = STRALLOC( arg3 );
mpxset.c:	STRFREE( obj->short_descr );
mpxset.c:	obj->short_descr = STRALLOC( arg3 );
mpxset.c:        if ( str_infix( "mprename", obj->name ) )
mpxset.c:          sprintf( buf, "%s %s", obj->name, "mprename" );
mpxset.c:	  STRFREE( obj->name );
mpxset.c:	  obj->name = STRALLOC( buf );
mpxset.c:        STRFREE( obj->description );
mpxset.c:        obj->description = STRALLOC( buf );
mpxset.c:	STRFREE( obj->action_desc );
mpxset.c:	obj->action_desc = STRALLOC( arg3 );
mpxset.c:	paf->type		= -1;
mpxset.c:	paf->duration		= -1;
mpxset.c:	paf->location		= loc;
mpxset.c:	paf->modifier		= value;
mpxset.c:	xCLEAR_BITS(paf->bitvector);
mpxset.c:	paf->next		= NULL;
mpxset.c:	LINK( paf, obj->first_affect, obj->last_affect, next, prev );
mpxset.c:	for ( paf = obj->first_affect; paf; paf = paf->next )
mpxset.c:	    UNLINK( paf, obj->first_affect, obj->last_affect, next, prev );
mpxset.c:	    --top_affect;
mpxset.c:     * save some finger-leather
mpxset.c:     * 						-Thoric
mpxset.c:    tmp = -1;
mpxset.c:    switch( obj->item_type )
mpxset.c:		value = -1;
mpxset.c:	obj->value[tmp] = value;
mud_comm.c: * -----------------------------------------------------------|   (0...0)   *
mud_comm.c: * -----------------------------------------------------------|    {o o}    *
mud_comm.c: *  was written by N'Atas-ha.						    *
mud_comm.c:    if ( xIS_EMPTY(victim->pIndexData->progtypes) )
mud_comm.c:	victim->name, victim->pIndexData->vnum );
mud_comm.c:	    victim->short_descr,
mud_comm.c:	    victim->long_descr[0] != '\0' ?
mud_comm.c:	    victim->long_descr : "(none).\n\r" );
mud_comm.c:	victim->hit,         victim->max_hit,
mud_comm.c:	victim->mana,        victim->max_mana,
mud_comm.c:	victim->move,        victim->max_move );
mud_comm.c:	victim->level,       victim->class,        victim->alignment,
mud_comm.c:	GET_AC( victim ),    victim->gold,         victim->exp );
mud_comm.c:    for ( mprg = victim->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_comm.c:		mprog_type_to_name( mprg->type ),
mud_comm.c:		mprg->arglist,
mud_comm.c:		mprg->comlist );
mud_comm.c:/* Opstat - Scryn 8/12*/
mud_comm.c:    if ( xIS_EMPTY(obj->pIndexData->progtypes) )
mud_comm.c:	obj->name, obj->pIndexData->vnum );
mud_comm.c:	    obj->short_descr );
mud_comm.c:    for ( mprg = obj->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_comm.c:		mprog_type_to_name( mprg->type ),
mud_comm.c:		mprg->arglist,
mud_comm.c:		mprg->comlist );
mud_comm.c:/* Rpstat - Scryn 8/12 */
mud_comm.c:    if ( xIS_EMPTY(ch->in_room->progtypes) )
mud_comm.c:	ch->in_room->name, ch->in_room->vnum );
mud_comm.c:    for ( mprg = ch->in_room->mudprogs; mprg; mprg = mprg->next )
mud_comm.c:		mprog_type_to_name( mprg->type ),
mud_comm.c:		mprg->arglist,
mud_comm.c:		mprg->comlist );
mud_comm.c:/* Woowoo - Blodkai, November 1997 */
mud_comm.c:	progbug( "MpKill - no argument", ch );
mud_comm.c:	progbug( "MpKill - Victim not in room", ch );
mud_comm.c:	progbug( "MpKill - Bad victim to attack", ch );
mud_comm.c:    if ( ch->position == POS_FIGHTING
mud_comm.c:       || ch->position ==  POS_EVASIVE
mud_comm.c:       || ch->position ==  POS_DEFENSIVE
mud_comm.c:       || ch->position ==  POS_AGGRESSIVE
mud_comm.c:       || ch->position ==  POS_BERSERK
mud_comm.c:	progbug( "MpKill - Already fighting", ch );
mud_comm.c:	progbug( "Mpjunk - No argument", ch );
mud_comm.c:    for ( obj = ch->first_carrying; obj; obj = obj_next )
mud_comm.c:	obj_next = obj->next_content;
mud_comm.c:	if ( arg[3] == '\0' || is_name( &arg[4], obj->name ) )
mud_comm.c:	    if ( obj->wear_loc != WEAR_NONE)
mud_comm.c: * color indicator (e.g. _red, _whi_, _blu).  -  Gorog
mud_comm.c:     return (cptr - color_list) / 4; 
mud_comm.c:     return (cptr - blink_list) / 4 + AT_BLINK; 
mud_comm.c:        progbug( "Mpasound - No argument", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    was_in_room = ch->in_room;
mud_comm.c:    for ( pexit = was_in_room->first_exit; pexit; pexit = pexit->next )
mud_comm.c:        if ( pexit->to_room
mud_comm.c:        &&   pexit->to_room != was_in_room )
mud_comm.c:           ch->in_room = pexit->to_room;
mud_comm.c:    ch->act = actflags;
mud_comm.c:    ch->in_room = was_in_room;
mud_comm.c:	progbug( "Mpechoaround - No argument", ch );
mud_comm.c:	progbug( "Mpechoaround - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:	progbug( "Mpechoat - No argument", ch );
mud_comm.c:	progbug( "Mpechoat - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:	progbug( "Mpecho - called w/o argument", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:/* sound support -haus */
mud_comm.c:	progbug( "Mpsoundaround - No argument", ch );
mud_comm.c:	progbug( "Mpsoundaround - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:	progbug( "Mpsoundat - No argument", ch );
mud_comm.c:	progbug( "Mpsoundat - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:	progbug( "Mpsound - called w/o argument", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:/* end sound stuff ----------------------------------------*/
mud_comm.c:/* Music stuff, same as above, at zMUD coders' request -- Blodkai */
mud_comm.c:        progbug( "Mpmusicaround - No argument", ch );
mud_comm.c:        progbug( "Mpmusicaround - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:        progbug( "Mpmusic - No argument", ch );
mud_comm.c:        progbug( "Mpmusic - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:        progbug( "Mpmusicat - No argument", ch );
mud_comm.c:        progbug( "Mpmusicat - victim does not exist", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:    ch->act = actflags;
mud_comm.c:	progbug( "Mpmload - Bad vnum as arg", ch );
mud_comm.c:	progbug( "Mpmload - Bad mob vnum", ch );
mud_comm.c:    char_to_room( victim, ch->in_room );
mud_comm.c:	progbug( "Mpoload - Bad syntax", ch );
mud_comm.c:	    progbug( "Mpoload - Bad level syntax", ch );
mud_comm.c:	    progbug( "Mpoload - Bad level", ch );
mud_comm.c:	   progbug( "Mpoload - Bad timer", ch );
mud_comm.c:	progbug( "Mpoload - Bad vnum arg", ch );
mud_comm.c:    obj->timer = timer;
mud_comm.c:	obj_to_room( obj, ch->in_room );
mud_comm.c:/* Marries two players -- 5/8/99 Scion */
mud_comm.c:        if (xIS_SET( bride->act, PLR_MARRIED))
mud_comm.c:            send_to_char("Your bride-to-be is already married!  Have them get a divorce first!\r\n", groom);
mud_comm.c:        if (xIS_SET( groom->act, PLR_MARRIED))
mud_comm.c:            send_to_char("Your groom-to-be is already married!  Have them get a divorce first!\r\n", bride);
mud_comm.c:        xSET_BIT( bride->act, PLR_MARRIED );
mud_comm.c:        xSET_BIT( groom->act, PLR_MARRIED );
mud_comm.c:            bride->pcdata->wedto = STRALLOC(groom->name);
mud_comm.c:            groom->pcdata->wedto = STRALLOC(bride->name);
mud_comm.c:/* Divorces two players -- 5/8/99 Scion */
mud_comm.c:	if (!xIS_SET( bride->act, PLR_MARRIED)) {
mud_comm.c:	if (!xIS_SET( groom->act, PLR_MARRIED)) {
mud_comm.c:	xREMOVE_BIT( bride->act, PLR_MARRIED );
mud_comm.c:	xREMOVE_BIT( groom->act, PLR_MARRIED );
mud_comm.c:/* Adds glory to a player -- 5/8/99 Scion */
mud_comm.c:	if (victim->pcdata->quest_curr + amount <= 0 )
mud_comm.c:		victim->pcdata->quest_curr = 0;
mud_comm.c:	if (victim->pcdata->quest_accum + amount <= 0 )
mud_comm.c:		victim->pcdata->quest_accum = 0;
mud_comm.c:	victim->pcdata->quest_curr += amount;
mud_comm.c:    victim->pcdata->quest_accum += amount;
mud_comm.c:		ch_printf( victim, "Your glory has been reduced by %d.\n\r", (amount*-1) );
mud_comm.c:	if (amount > 10 || amount < -10) {
mud_comm.c:		sprintf(arg1, "Mpqpadd:  %d glory added to %s from mob #%d", amount, victim->name, ch->pIndexData->vnum);
mud_comm.c:/* Just a hack of do_pardon from act_wiz.c -- Blodkai, 6/15/97 */
mud_comm.c:        if ( xIS_SET(victim->act, PLR_ATTACKER) )
mud_comm.c:            xREMOVE_BIT( victim->act, PLR_ATTACKER );
mud_comm.c:        if ( xIS_SET(victim->act, PLR_KILLER) )
mud_comm.c:            xREMOVE_BIT( victim->act, PLR_KILLER );
mud_comm.c:	if ( xIS_SET(victim->act, PLR_LITTERBUG) )
mud_comm.c:	    xREMOVE_BIT( victim->act, PLR_LITTERBUG );
mud_comm.c:        if ( xIS_SET(victim->act, PLR_THIEF) )
mud_comm.c:            xREMOVE_BIT( victim->act, PLR_THIEF );
mud_comm.c:	for ( victim = ch->in_room->first_person; victim; victim = vnext )
mud_comm.c:	    vnext = victim->next_in_room;
mud_comm.c:	while ( ch->in_room->first_content )
mud_comm.c:	   extract_obj( ch->in_room->first_content );
mud_comm.c:	    progbug( "Mppurge - Bad argument", ch );
mud_comm.c:	progbug( "Mppurge - Trying to purge a PC", ch );
mud_comm.c:    	progbug( "Mppurge - Trying to purge oneself", ch );
mud_comm.c:    if ( IS_NPC( victim ) && victim->pIndexData->vnum == 3 )
mud_comm.c:/* Allow mobiles to go wizinvis with programs -- SB */
mud_comm.c:           progbug( "Mpinvis - Non numeric argument ", ch );
mud_comm.c:            progbug( "MPinvis - Invalid level ", ch );
mud_comm.c:	ch->mobinvis = level;
mud_comm.c:    if ( ch->mobinvis < 2 )
mud_comm.c:      ch->mobinvis = ch->level;
mud_comm.c:    if ( xIS_SET(ch->act, ACT_MOBINVIS) )
mud_comm.c:        xREMOVE_BIT(ch->act, ACT_MOBINVIS);
mud_comm.c:        xSET_BIT(ch->act, ACT_MOBINVIS);
mud_comm.c:/* Mounted chars follow their mobiles now - Blod, 11/97 */
mud_comm.c:	progbug( "Mpgoto - No argument", ch );
mud_comm.c:	progbug( "Mpgoto - No such location", ch );
mud_comm.c:    in_room = ch->in_room;
mud_comm.c:    if ( ch->fighting )
mud_comm.c:    for ( fch = in_room->first_person; fch; fch = fch_next )
mud_comm.c:        fch_next = fch->next_in_room;
mud_comm.c:	if ( fch->mount && fch->mount == ch )
mud_comm.c:        sprintf( arg, "Mpat - Bad Argument - Mobile %d",
mud_comm.c:                 ch->pIndexData->vnum );
mud_comm.c:        sprintf(arg, "Mpat - No such location: \'%s\' Mobile %d", argument,
mud_comm.c:               ch->pIndexData->vnum );
mud_comm.c:	/* progbug( "Mpat - No such location", ch ); */
mud_comm.c:    original = ch->in_room;
mud_comm.c:	progbug( "Mpadvance - Bad syntax", ch );
mud_comm.c:	progbug( "Mpadvance - Victim not there", ch );
mud_comm.c:	progbug( "Mpadvance - Victim is NPC", ch );
mud_comm.c:    if ( victim->level >= LEVEL_AVATAR )
mud_comm.c:	level = victim->level + 1;
mud_comm.c:	if ( victim->level > ch->level )
mud_comm.c:	if (victim->level >= LEVEL_AVATAR)
mud_comm.c:	  while ( victim->first_carrying )
mud_comm.c:	    extract_obj( victim->first_carrying );
mud_comm.c:    for ( iLevel = victim->level ; iLevel < level; iLevel++ )
mud_comm.c:	victim->level += 1;
mud_comm.c:    victim->exp   = 1000 * UMAX( 1, victim->level );
mud_comm.c:    victim->trust = 0;
mud_comm.c:	progbug( "Mptransfer - Bad syntax", ch );
mud_comm.c:    /* Put in the variable nextinroom to make this work right. -Narn */
mud_comm.c:	for ( victim = ch->in_room->first_person; victim; victim = nextinroom )
mud_comm.c:            nextinroom = victim->next_in_room;
mud_comm.c:		sprintf( buf, "%s %s", victim->name, arg2 );
mud_comm.c:    /* This will only transfer PC's in the area not Mobs --Shaddai */
mud_comm.c:	for ( d = first_descriptor; d; d = d->next )
mud_comm.c:		if ( !d->character || (d->connected != CON_PLAYING &&
mud_comm.c:                                       d->connected != CON_EDITING)
mud_comm.c:                                       || ( d->connected <= CON_NOTE_TO
mud_comm.c:                                       &&   d->connected >= CON_NOTE_FINISH)
mud_comm.c:                     || !can_see(ch, d->character)
mud_comm.c:                     || ch->in_room->area != d->character->in_room->area ||
mud_comm.c:                     NOT_AUTHED(d->character) )
mud_comm.c:		sprintf( buf, "%s %s", d->character->name, arg2 );
mud_comm.c:	location = ch->in_room;
mud_comm.c:	    progbug( "Mptransfer - No such location", ch );
mud_comm.c:	    progbug( "Mptransfer - Private room", ch );
mud_comm.c:	progbug( "Mptransfer - No such person", ch );
mud_comm.c:    if ( !victim->in_room )
mud_comm.c:	progbug( "Mptransfer - Victim in Limbo", ch );
mud_comm.c:    if (NOT_AUTHED(victim) && location->area != victim->in_room->area)
mud_comm.c:	sprintf( buf, "Mptransfer - unauthed char (%s)", victim->name );
mud_comm.c:    if ( !in_hard_range( victim, location->area ) 
mud_comm.c:    &&   !IS_SET( location->room_flags, ROOM_PROTOTYPE ) )
mud_comm.c:    if ( victim->fighting )
mud_comm.c: *  -- TRI
mud_comm.c:    for ( immortal = victim->in_room->first_person; immortal; immortal = nextinroom )
mud_comm.c:      nextinroom = immortal->next_in_room;
mud_comm.c:	   immortal->master != victim )
mud_comm.c:      if ( immortal->fighting )
mud_comm.c:	progbug( "Mpforce - Bad syntax", ch );
mud_comm.c:	for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
mud_comm.c:	    progbug( "Mpforce - No such victim", ch );
mud_comm.c:	    progbug( "Mpforce - Forcing oneself", ch );
mud_comm.c:	&& ( !victim->desc )
mud_comm.c:	    sprintf(arg, "Mpforce - Mob #%d in room %d attempting to force link dead immortal",ch->pIndexData->vnum, ch->in_room->vnum);
mud_comm.c: * mpnuisance mpunnuisance just incase we need them later --Shaddai
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:        progbug( "Mpnuisance - called w/o enough argument(s)", ch );
mud_comm.c:    if ( victim->pcdata->nuisance )
mud_comm.c:    CREATE ( victim->pcdata->nuisance, NUISANCE_DATA, 1 );
mud_comm.c:    victim->pcdata->nuisance->time = current_time;
mud_comm.c:    victim->pcdata->nuisance->flags = 1;
mud_comm.c:    victim->pcdata->nuisance->power = 2;
mud_comm.c:    now_time->tm_mday+= 1;
mud_comm.c:    victim->pcdata->nuisance->max_time = mktime(now_time);
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:        progbug( "Mpunnuisance - called w/o enough argument(s)", ch );
mud_comm.c:   if ( !ch->pcdata->nuisance )
mud_comm.c:   for (timer = victim->first_timer; timer; timer = timer_next)
mud_comm.c:      timer_next = timer->next;
mud_comm.c:      if ( timer->type == TIMER_NUISANCE )
mud_comm.c:   DISPOSE ( victim->pcdata->nuisance );
mud_comm.c: * mpbodybag for mobs to do cr's  --Shaddai
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:        progbug( "Mpbodybag - called w/o enough argument(s)", ch );
mud_comm.c:   for (obj = first_object; obj; obj = obj->next)
mud_comm.c:     if (obj->in_room
mud_comm.c:         && !str_cmp (buf2, obj->short_descr)
mud_comm.c:         && (obj->pIndexData->vnum == 11))
mud_comm.c:         obj->timer = -1;
mud_comm.c:    * --Shaddai
mud_comm.c: * mpmorph and mpunmorph for morphing people with mobs. --Shaddai
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:        progbug( "Mpmorph - called w/o enough argument(s)", ch );
mud_comm.c:        progbug( "Mpmorph - unknown morph", ch );
mud_comm.c:   if ( victim->morph )
mud_comm.c:        progbug( "Mpmorph - victim already morphed", ch );
mud_comm.c:  if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:        progbug( "Mpmorph - called w/o an argument", ch );
mud_comm.c:  if ( !victim->morph )
mud_comm.c:        progbug( "Mpechozone - called w/o argument", ch );
mud_comm.c:    actflags = ch->act;
mud_comm.c:    xREMOVE_BIT(ch->act, ACT_SECRETIVE);
mud_comm.c:        vch_next = vch->next;
mud_comm.c:        if ( vch->in_room->area == ch->in_room->area
mud_comm.c:    ch->act = actflags;
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:	progbug( "Mppractice - Bad syntax", ch );
mud_comm.c:    skill_name = skill_table[sn]->name;
mud_comm.c:    if(victim->level < skill_table[sn]->skill_level[victim->class] )
mud_comm.c:    /* adept = class_table[ch->class]->skill_adept; */
mud_comm.c:    if ( (victim->pcdata->learned[sn] >= adept )
mud_comm.c:    ||   (victim->pcdata->learned[sn] >= max   ) )
mud_comm.c:    tmp = UMIN(victim->pcdata->learned[sn] + int_app[get_curr_int(victim)].learn, max);
mud_comm.c:    act( AT_ACTION, "$N demonstrates $t to you.  You feel more learned in this subject.", victim, skill_table[sn]->name, ch,TO_CHAR );
mud_comm.c:    victim->pcdata->learned[sn] = max; 
mud_comm.c:    if ( victim->pcdata->learned[sn] >= adept )
mud_comm.c:	victim->pcdata->learned[sn] = adept;
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:      if ( victim->gold < 1) {
mud_comm.c:      victim->gold = 0;
mud_comm.c:      for ( obj_lose=victim->first_carrying; obj_lose; obj_lose=obj_next ) {
mud_comm.c:        obj_next = obj_lose->next_content;
mud_comm.c: 	  capitalize(obj_lose->short_descr), pRoomIndex->vnum );
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:/*      if ( !IS_SET(pRoomIndex->room_flags, ROOM_PRIVATE)
mud_comm.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_SOLITARY)
mud_comm.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_NO_ASTRAL)
mud_comm.c:      &&   !IS_SET(pRoomIndex->room_flags, ROOM_PROTOTYPE) )
mud_comm.c:      -- still causing problems if every room in range matches
mud_comm.c:    if ( victim->fighting ) stop_fighting( victim, TRUE );
mud_comm.c:    victim->position = POS_RESTING;
mud_comm.c:    if ( IS_NPC( victim ) && victim->pIndexData->vnum == 3 )
mud_comm.c:    if( victim->level < LEVEL_IMMORTAL)
mud_comm.c:/* Am I asking for trouble here or what?  But I need it. -- Blodkai */
mud_comm.c:        for ( victim = ch->in_room->first_person; victim; victim = nextinroom )
mud_comm.c:            nextinroom = victim->next_in_room;
mud_comm.c:                sprintf( buf, "'%s' %s", victim->name, arg2 );
mud_comm.c:        progbug( "Mp_log:  non-existent entry", ch );
mud_comm.c:    sprintf( buf, "&p%-2.2d/%-2.2d | %-2.2d:%-2.2d  &P%s:  &p%s",
mud_comm.c:	t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min,
mud_comm.c:	ch->short_descr,
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    hp += victim->hit;
mud_comm.c:    victim->hit = (hp > 32000 || hp < 0 || hp > victim->max_hit) ?
mud_comm.c:                  victim->max_hit : hp;
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    victim->pcdata->favor = URANGE( -1000, victim->pcdata->favor + favor, 1000 );
mud_comm.c: * opens a 1-way passage from room x to room y in direction z
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpOpenPassage - Bad syntax", ch );
mud_comm.c:	if( !IS_SET( pexit->exit_info, EX_PASSAGE) )
mud_comm.c:	progbug( "MpOpenPassage - Exit exists", ch );
mud_comm.c:    pexit->keyword 		= STRALLOC( "" );
mud_comm.c:    pexit->description		= STRALLOC( "" );
mud_comm.c:    pexit->key     		= -1;
mud_comm.c:    pexit->exit_info		= EX_PASSAGE;
mud_comm.c:	progbug( "MpFillIn - Exit does not exist", ch );
mud_comm.c:  SET_BIT( pexit->exit_info, EX_CLOSED );
mud_comm.c:	progbug( "MpClosePassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpClosePassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpClosePassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpClosePassage - Bad syntax", ch );
mud_comm.c:	progbug( "MpClosePassage - Bad syntax", ch );
mud_comm.c:    if( !IS_SET( pexit->exit_info, EX_PASSAGE) )
mud_comm.c:	progbug( "MpClosePassage - Exit not a passage", ch );
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    if( vict->position <= POS_SLEEPING)
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    progbug("Mpapply - bad syntax", ch );
mud_comm.c:    progbug("Mpapply - no such player in room.", ch );
mud_comm.c:  if ( !victim->desc )
mud_comm.c:  if( victim->pcdata->auth_state >= 1 )
mud_comm.c:           victim->name, victim->desc->host, 
mud_comm.c:           race_table[victim->race]->race_name, 
mud_comm.c:           class_table[victim->class]->who_name );
mud_comm.c:  victim->pcdata->auth_state = 1;
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    progbug("Mpapplyb - bad syntax", ch );
mud_comm.c:    progbug("Mpapplyb - no such player in room.", ch );
mud_comm.c:  if ( !victim->desc )
mud_comm.c:  switch( victim->pcdata->auth_state )
mud_comm.c:                    victim->name, victim->desc->host,
mud_comm.c:                    race_table[victim->race]->race_name, 
mud_comm.c:                    class_table[victim->class]->who_name );
mud_comm.c:  victim->pcdata->auth_state = 1;
mud_comm.c:/* Stat stuff that follows from here to name_stamp is to keep stat-cheats
mud_comm.c:   from abusing the auth system -- Blodkai */
mud_comm.c:        victim->perm_str                = 13;
mud_comm.c:        victim->perm_dex                = 13;
mud_comm.c:        victim->perm_int                = 13;
mud_comm.c:        victim->perm_wis                = 13;
mud_comm.c:        victim->perm_cha                = 13;
mud_comm.c:        victim->perm_con                = 13;
mud_comm.c:        victim->perm_lck                = 13;
mud_comm.c:        switch ( class_table[victim->class]->attr_prime )
mud_comm.c:          case APPLY_STR: victim->perm_str = 16; break;
mud_comm.c:          case APPLY_INT: victim->perm_int = 16; break;
mud_comm.c:          case APPLY_WIS: victim->perm_wis = 16; break;
mud_comm.c:          case APPLY_DEX: victim->perm_dex = 16; break;
mud_comm.c:          case APPLY_CON: victim->perm_con = 16; break;
mud_comm.c:          case APPLY_CHA: victim->perm_cha = 16; break;
mud_comm.c:          case APPLY_LCK: victim->perm_lck = 16; break;
mud_comm.c:        victim->perm_str         += race_table[victim->race]->str_plus;
mud_comm.c:        victim->perm_int         += race_table[victim->race]->int_plus;
mud_comm.c:        victim->perm_wis         += race_table[victim->race]->wis_plus;
mud_comm.c:        victim->perm_dex         += race_table[victim->race]->dex_plus;
mud_comm.c:        victim->perm_con         += race_table[victim->race]->con_plus;
mud_comm.c:        victim->perm_cha         += race_table[victim->race]->cha_plus;
mud_comm.c:        victim->perm_lck         += race_table[victim->race]->lck_plus;
mud_comm.c:	name_stamp_stats( victim ); /* Take care of auth cons -- Blodkai */
mud_comm.c:        REMOVE_BIT(victim->pcdata->flags, PCFLAG_UNAUTHED);
mud_comm.c:        if ( victim->fighting )
mud_comm.c: * Deposit some gold into the current area's economy		-Thoric
mud_comm.c:	progbug("Mpdeposit - bad syntax", ch );
mud_comm.c:    if ( gold <= ch->gold && ch->in_room )
mud_comm.c:	ch->gold -= gold;
mud_comm.c:	boost_economy( ch->in_room->area, gold );
mud_comm.c: * Withdraw some gold from the current area's economy		-Thoric
mud_comm.c:	progbug("Mpwithdraw - bad syntax", ch );
mud_comm.c:    if ( ch->gold < 1000000000 && gold < 1000000000 && ch->in_room
mud_comm.c:    &&   economy_has( ch->in_room->area, gold ) )
mud_comm.c:	ch->gold += gold;
mud_comm.c:	lower_economy( ch->in_room->area, gold );
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:      for ( rch=ch->in_room->first_person; rch; rch=rch->next_in_room ) {
mud_comm.c:        if ( rch->fighting ) {
mud_comm.c:    if ( victim->fighting )
mud_comm.c:    if ( !IS_NPC( ch ) || ch->desc || IS_AFFECTED( ch, AFF_CHARM ))
mud_comm.c:    progbug("Mppkset - bad syntax", ch );
mud_comm.c:    progbug("Mppkset - no such player in room.", ch );
mud_comm.c:    if(!IS_SET(victim->pcdata->flags, PCFLAG_DEADLY))
mud_comm.c:      SET_BIT(victim->pcdata->flags, PCFLAG_DEADLY);
mud_comm.c:    if(IS_SET(victim->pcdata->flags, PCFLAG_DEADLY))
mud_comm.c:      REMOVE_BIT(victim->pcdata->flags, PCFLAG_DEADLY);
mud_comm.c:    progbug("Mppkset - bad syntax", ch);
mud_comm.c:    if ( victim->position == POS_DEAD )
mud_comm.c:	    dam -= (int) (dam / 4);
mud_comm.c:    victim->hit -= dam;
mud_comm.c:    &&   victim->level >= LEVEL_IMMORTAL
mud_comm.c:    &&   victim->hit < 1 )
mud_comm.c:    victim->hit = 1;
mud_comm.c:    &&   victim->hit < 1 )
mud_comm.c:	victim->hit = 1;
mud_comm.c:    switch( victim->position )
mud_comm.c:	if ( dam > victim->max_hit / 4 )
mud_comm.c:	if ( victim->hit < victim->max_hit / 4 )
mud_comm.c:    if ( victim->position == POS_DEAD )
mud_comm.c:			sprintf( log_buf, "%s has died!", victim->name);
mud_comm.c:		victim->name,
mud_comm.c:		(IS_NPC(ch) ? ch->short_descr : ch->name) );
mud_comm.c:		victim->name,
mud_comm.c:		victim->level,
mud_comm.c:		(IS_NPC(ch) ? ch->short_descr : ch->name),
mud_comm.c:		victim->in_room->vnum );
mud_comm.c:	    if ( victim->exp > exp_level(victim, victim->level) )
mud_comm.c:		gain_exp( victim, (exp_level(victim, victim->level) - victim->exp)/2 );
mud_comm.c:	     victim->exp = exp_level( victim, victim->level );
mud_comm.c:    if ( !npcvict && !victim->desc )
mud_comm.c:	if ( number_range( 0, victim->wait ) == 0 )
mud_comm.c:	if ( ( xIS_SET(victim->act, ACT_WIMPY) && number_bits( 1 ) == 0
mud_comm.c:	&&   victim->hit < victim->max_hit / 2 )
mud_comm.c:	||   ( IS_AFFECTED(victim, AFF_CHARM) && victim->master
mud_comm.c:	&&     victim->master->in_room != victim->in_room ) )
mud_comm.c:    &&   victim->hit > 0
mud_comm.c:    &&   victim->hit <= victim->wimpy
mud_comm.c:    &&   victim->wait == 0 )
mud_comm.c:    if ( !npcvict && xIS_SET( victim->act, PLR_FLEE ) )
mud_prog.c: * -----------------------------------------------------------|   (0...0)   *
mud_prog.c: * -----------------------------------------------------------|    {o o}    *
mud_prog.c: *  was written by N'Atas-ha.						    *
mud_prog.c:  int i,j=strlen(s1)-strlen(s2),k=strlen(s2);
mud_prog.c:  return (i>j) ? NULL : (s1-1);
mud_prog.c:   xSET_BIT(supermob->act,ACT_IS_NPC);
mud_prog.c:   supermob->name 		= STRALLOC("supermob");
mud_prog.c:   supermob->short_descr 	= STRALLOC("supermob");
mud_prog.c:   supermob->long_descr 	= STRALLOC("supermob is here");
mud_prog.c: * Redone by Altrag.. kill all that big copy-code that performs the
mud_prog.c:      if ( !mob->in_room )
mud_prog.c:      room = mob->in_room;
mud_prog.c:    return mprog_veval( ((room->area->high_economy > 0) ? 1000000000 : 0)
mud_prog.c:			+ room->area->low_economy, opr, atoi(rval), mob );
mud_prog.c:		world_count = m_index->count;
mud_prog.c:  			tmob = tmob->next)
mud_prog.c:  		if(IS_NPC(tmob) && tmob->pIndexData->vnum == vnum)
mud_prog.c:  			if(tmob->in_room->area == mob->in_room->area)
mud_prog.c:    for ( oMob = mob->in_room->first_person; oMob;
mud_prog.c:          oMob = oMob->next_in_room )
mud_prog.c:      if ( IS_NPC(oMob) && oMob->pIndexData->vnum == vnum )
mud_prog.c:		lhsvl = m_index->count;
mud_prog.c:      pMob = chkchar->pIndexData;
mud_prog.c:    return mprog_veval(pMob->killed, opr, atoi(rval), mob);
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->pIndexData->vnum == vnum )
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->pIndexData->vnum == vnum )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->pIndexData->vnum == vnum )
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->in_room->first_content; pObj;
mud_prog.c:          pObj = pObj->next_content )
mud_prog.c:      if ( pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( can_see_obj(mob, pObj) && pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc != WEAR_NONE && can_see_obj(mob, pObj) &&
mud_prog.c:           pObj->pIndexData->vnum == vnum )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc != WEAR_NONE &&
mud_prog.c:           pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc != WEAR_NONE && can_see_obj(mob, pObj) &&
mud_prog.c:           pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc != WEAR_NONE && 
mud_prog.c:           pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc == WEAR_NONE && can_see_obj(mob, pObj) &&
mud_prog.c:           pObj->pIndexData->vnum == vnum )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc == WEAR_NONE &&
mud_prog.c:           pObj->pIndexData->vnum == vnum )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc == WEAR_NONE && can_see_obj(mob, pObj) &&
mud_prog.c:           pObj->item_type == type )
mud_prog.c:    for ( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
mud_prog.c:      if ( pObj->wear_loc == WEAR_NONE &&
mud_prog.c:           pObj->item_type == type )
mud_prog.c:	lhsvl+=pObj->count;
mud_prog.c:    rhsvl = is_number(rval) ? atoi(rval) : -1;
mud_prog.c:      return (IS_NPC(chkchar) && xIS_SET(chkchar->act, ACT_PACIFIST));
mud_prog.c:      return (IS_NPC(chkchar) && xIS_SET(chkchar->act, ACT_MOBINVIS));
mud_prog.c:          mprog_veval(chkchar->mobinvis, opr, atoi(rval), mob) : FALSE);
mud_prog.c:	if (!IS_SET (pexit->exit_info, EX_CLOSED))
mud_prog.c:	if (IS_SET (pexit->exit_info, EX_LOCKED))
mud_prog.c:   now checks for deadly flag - Garinan (surprised?) */
mud_prog.c:      return ( IS_SET(chkchar->pcdata->flags, PCFLAG_DEADLY ) ? TRUE :
mud_prog.c:      return (chkchar->position == POS_MOUNTED);
mud_prog.c:        return (chkchar->morph != NULL) ? TRUE : FALSE;
mud_prog.c:      return (!IS_NPC(chkchar)? chkchar->pcdata->nuisance? TRUE: FALSE: FALSE);
mud_prog.c:      return ( !IS_NPC(chkchar) && xIS_SET(chkchar->act, PLR_THIEF) );
mud_prog.c:      return ( !IS_NPC(chkchar) && xIS_SET(chkchar->act, PLR_ATTACKER) );
mud_prog.c:      return ( !IS_NPC(chkchar) && xIS_SET(chkchar->act, PLR_KILLER) );
mud_prog.c:      return (chkchar->master != NULL &&
mud_prog.c:          chkchar->master->in_room == chkchar->in_room);
mud_prog.c:		return ( xIS_SET(chkchar->act, PLR_MARRIED) ? TRUE : FALSE);
mud_prog.c:	} /* -- Scion */
mud_prog.c:      return mprog_veval(chkchar->num_fighting-1, opr, atoi(rval), mob );
mud_prog.c:      return mprog_veval(chkchar->hit/chkchar->max_hit, opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkchar->in_room->vnum, opr, atoi(rval), mob);
mud_prog.c:      if ( !chkchar->was_in_room )
mud_prog.c:      return mprog_veval(chkchar->was_in_room->vnum, opr, atoi(rval), mob);
mud_prog.c:    return IS_SET(chkchar->in_room->room_flags, ROOM_NO_RECALL) ? TRUE : FALSE;
mud_prog.c:      return mprog_veval(chkchar->sex, opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkchar->position, opr, atoi(rval), mob);
mud_prog.c:          mprog_veval(chkchar->pcdata->quest_number, opr, atoi(rval), mob);
mud_prog.c:          mprog_veval(chkchar->pcdata->release_date, opr, atoi(rval), mob);  
mud_prog.c:        int level = chkchar->level;
mud_prog.c:        /* Due to remort, we return the persons trust, or ch->level, rather than
mud_prog.c:         * ch->level OR ch->level2 */
mud_prog.c:        if( chkchar->trust > chkchar->level )
mud_prog.c:            level = chkchar->trust;
mud_prog.c:      return mprog_veval(chkchar->gold, opr, atoi(rval), mob);
mud_prog.c:            return mprog_seval(npc_class[chkchar->class], opr, rval, mob);
mud_prog.c:        return mprog_seval((char *)class_table[chkchar->class]->who_name, opr,
mud_prog.c:      return mprog_veval(chkchar->carry_weight, opr, atoi(rval), mob );
mud_prog.c:      if ( IS_NPC(chkchar) || !chkchar->desc->host )
mud_prog.c:      return mprog_seval(chkchar->desc->host, opr, rval, mob);
mud_prog.c:      for ( ch = first_char; ch; ch = ch->next )
mud_prog.c:	&&    ch->desc
mud_prog.c:	&&    chkchar->desc
mud_prog.c:	&&    ch->desc->host == chkchar->desc->host )
mud_prog.c:        return mprog_seval(npc_race[chkchar->race], opr, rval, mob);
mud_prog.c:      return mprog_seval((char *)race_table[chkchar->race]->race_name, opr,
mud_prog.c:      if ( chkchar->morph == NULL )
mud_prog.c:      if ( chkchar->morph->morph == NULL )
mud_prog.c:      return mprog_veval(chkchar->morph->morph->vnum, opr, rhsvl, mob );
mud_prog.c:      if ( IS_NPC( chkchar ) || !chkchar->pcdata->nuisance )
mud_prog.c:      return mprog_veval(chkchar->pcdata->nuisance->flags, opr, rhsvl, mob );
mud_prog.c:      if ( IS_NPC(chkchar) || !chkchar->pcdata->clan )
mud_prog.c:      return mprog_seval(chkchar->pcdata->clan->name, opr, rval, mob);
mud_prog.c:           if ( mprog_seval(chkchar->name, opr, temp->leader, mob ) ||
mud_prog.c:                mprog_seval(chkchar->name, opr, temp->number1, mob ) ||
mud_prog.c:                mprog_seval(chkchar->name, opr, temp->number2, mob ) )
mud_prog.c:           if ( mprog_seval(chkchar->name, opr, temp->leader, mob ) )
mud_prog.c:           if ( mprog_seval(chkchar->name, opr, temp->number1, mob ) )
mud_prog.c:           if ( mprog_seval(chkchar->name, opr, temp->number2, mob ) )
mud_prog.c:      if ( IS_NPC(chkchar) || !chkchar->pcdata->council )
mud_prog.c:      return mprog_seval(chkchar->pcdata->council->name, opr, rval, mob);
mud_prog.c:      if ( IS_NPC(chkchar)  || !chkchar->pcdata->council2 )
mud_prog.c:      return mprog_seval(chkchar->pcdata->council2->name, opr, rval, mob);
mud_prog.c:      if (IS_NPC(chkchar) || !chkchar->pcdata->deity )
mud_prog.c:      return mprog_seval(chkchar->pcdata->deity->name, opr, rval, mob);
mud_prog.c:      return mprog_seval(chkchar->pcdata->clan->name, opr, rval, mob);
mud_prog.c:      if ( IS_NPC(chkchar) || !chkchar->pcdata->clan )
mud_prog.c:      return mprog_veval(chkchar->pcdata->clan->clan_type, opr, atoi(rval),
mud_prog.c:       if ( IS_NPC( chkchar ) || !chkchar->wait )
mud_prog.c:       return mprog_veval(chkchar->wait, opr, atoi(rval), mob);
mud_prog.c:      if ( IS_NPC(chkchar) || !chkchar->pcdata->favor )
mud_prog.c:      return mprog_veval(chkchar->pcdata->favor, opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkchar->hit, opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkchar->mana, opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->item_type, opr, atoi(rval), mob);
mud_prog.c:      if ( chkobj->item_type != ITEM_SWITCH || chkobj->item_type != ITEM_LEVER
mud_prog.c:	   || chkobj->item_type != ITEM_PULLCHAIN )
mud_prog.c:      if ( IS_SET( obj->value[0], TRIG_UP ) )
mud_prog.c:      return mprog_veval(chkobj->value[0], opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->value[1], opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->value[2], opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->value[3], opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->value[4], opr, atoi(rval), mob);
mud_prog.c:      return mprog_veval(chkobj->value[5], opr, atoi(rval), mob);
mud_prog.c:      lhsvl = (chkchar == mob) ? chkchar->gold : chkchar->pIndexData->vnum;
mud_prog.c:    return mprog_veval(chkobj->pIndexData->vnum, opr, atoi(rval), mob);
mud_prog.c:      return mprog_seval(chkchar->name, opr, rval, mob);
mud_prog.c:    return mprog_seval(chkobj->name, opr, rval, mob);
mud_prog.c:  if ( !str_cmp(chck, "mortinworld") )   /* -- Gorog */
mud_prog.c:     for ( d = first_descriptor; d; d = d->next ) 
mud_prog.c:         if   ( d->connected == CON_PLAYING
mud_prog.c:         &&     d->character
mud_prog.c:         &&     get_trust(d->character) < LEVEL_IMMORTAL
mud_prog.c:         &&     nifty_is_name(d->character->name, cvar) )
mud_prog.c:  if ( !str_cmp(chck, "mortinroom") )   /* -- Gorog */
mud_prog.c:     for ( ch = mob->in_room->first_person; ch; ch = ch->next_in_room )
mud_prog.c:       &&   nifty_is_name(ch->name, cvar) )
mud_prog.c:  if ( !str_cmp(chck, "mortinarea") )   /* -- Gorog */
mud_prog.c:     for ( ch = first_char; ch; ch = ch->next )
mud_prog.c:         &&   ch->in_room->area == mob->in_room->area
mud_prog.c:         &&   nifty_is_name(ch->name, cvar) )
mud_prog.c:  if ( !str_cmp(chck, "mortcount") )   /* -- Gorog */
mud_prog.c:     room = get_room_index ( rvnum ? rvnum : mob->in_room->vnum );    
mud_prog.c:     for ( tch = room?room->first_person:NULL; tch; tch = tch->next_in_room )
mud_prog.c:  if ( !str_cmp(chck, "mobcount") )   /* -- Gorog */
mud_prog.c:     int count = -1;
mud_prog.c:     room = get_room_index ( rvnum ? rvnum : mob->in_room->vnum );    
mud_prog.c:     for ( tch = room?room->first_person:NULL; tch; tch = tch->next_in_room )
mud_prog.c:  if ( !str_cmp(chck, "charcount") )   /* -- Gorog */
mud_prog.c:     int count = -1;
mud_prog.c:     room = get_room_index ( rvnum ? rvnum : mob->in_room->vnum );    
mud_prog.c:     for ( tch = room?room->first_person:NULL; tch; tch = tch->next_in_room )
mud_prog.c: *  performance for stability. -Haus
mud_prog.c: *  Added char_died and obj_extracted checks	-Thoric
mud_prog.c:if ( v_obj && v_obj->serial )
mud_prog.c:/* Trying something out -- Scion */
mud_prog.c:if ( vict && vict->name )
mud_prog.c:	   if (mob->name)
mud_prog.c:              one_argument( mob->name, t );
mud_prog.c:	   if (mob->short_descr)
mud_prog.c:              strcpy( t, mob->short_descr );
mud_prog.c:	     one_argument( actor->name, t );
mud_prog.c:		 strcpy( t, actor->short_descr );
mud_prog.c:		   strcpy( t, actor->name );
mud_prog.c:		   strcat( t, actor->pcdata->title );
mud_prog.c:	     one_argument( vict->name, t );
mud_prog.c:		 strcpy( t, vict->short_descr );
mud_prog.c:		 strcpy( t, vict->name );
mud_prog.c:		 strcat( t, vict->pcdata->title );
mud_prog.c:	     one_argument( rndm->name, t );
mud_prog.c:		 strcpy(t,rndm->short_descr);
mud_prog.c:		 strcpy( t, rndm->name );
mud_prog.c:		 strcat( t, rndm->pcdata->title );
mud_prog.c:	   can_see( mob, actor ) ? strcpy( t, he_she[ actor->sex ] )
mud_prog.c:	   can_see( mob, actor ) ? strcpy( t, him_her[ actor->sex ] )
mud_prog.c:	   can_see( mob, actor ) ? strcpy( t, his_her[ actor->sex ] )
mud_prog.c:	   can_see( mob, vict ) ? strcpy( t, he_she[ vict->sex ] )
mud_prog.c:	   can_see( mob, vict ) ? strcpy( t, him_her[ vict->sex ] )
mud_prog.c:	   can_see( mob, vict ) ? strcpy( t, his_her[ vict->sex ] )
mud_prog.c:	    strcpy( t, he_she[ mob->sex ] );
mud_prog.c:	   strcpy( t, him_her[ mob->sex ] );
mud_prog.c:	   strcpy( t, his_her[ mob->sex ] );
mud_prog.c:	   can_see( mob, rndm ) ? strcpy( t, he_she[ rndm->sex ] )
mud_prog.c:	   can_see( mob, rndm ) ? strcpy( t, him_her[ rndm->sex ] )
mud_prog.c:	   can_see( mob, rndm ) ? strcpy( t, his_her[ rndm->sex ] )
mud_prog.c:           can_see_obj( mob, obj ) ? one_argument( obj->name, t )
mud_prog.c:	   can_see_obj( mob, obj ) ? strcpy( t, obj->short_descr )
mud_prog.c:			int b=number_range(0, mob->carry_number);
mud_prog.c:		    obj = mob->first_carrying;
mud_prog.c:			  if ((obj==NULL) || (obj->next == NULL))
mud_prog.c:				 obj = mob->first_carrying;
mud_prog.c:			  obj=obj->next; 
mud_prog.c:			strcpy(t, (obj ? one_argument(obj->name, t) : "nothing"));
mud_prog.c:	   can_see_obj( mob, v_obj ) ? one_argument( v_obj->name, t )
mud_prog.c:	   can_see_obj( mob, v_obj ) ? strcpy( t, v_obj->short_descr )
mud_prog.c:	    strcpy( t, aoran(obj->name) );
mud_prog.c:          switch ( *( obj->name ) )
mud_prog.c:	      strcpy( t, aoran(v_obj->name) );
mud_prog.c:  /* Next couple of checks stop program looping. -- Altrag */
mud_prog.c:    --prog_nest;
mud_prog.c:   *    -Haus
mud_prog.c:   * This used to ignore players MAX_LEVEL - 3 and higher (standard
mud_prog.c:   * you may be chosen as the random player. -Narn
mud_prog.c:  for ( vch = mob->in_room->first_person; vch; vch = vch->next_in_room )
mud_prog.c:    if ( mob->mpscriptpos > strlen( tmpcmndlst ) )
mud_prog.c:       mob->mpscriptpos = 0;
mud_prog.c:       command_list += mob->mpscriptpos;
mud_prog.c:	mob->mpscriptpos = 0;
mud_prog.c:     use it to increase/decrease max allowed nesting.  -Narn 
mud_prog.c:      --prog_nest;
mud_prog.c:    /* Script prog support  -Thoric */
mud_prog.c:      mob->mpscriptpos = command_list - tmpcmndlst;
mud_prog.c:      --prog_nest;
mud_prog.c:      /* Ok, this one's a no-brainer. */
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        ignorelevel--;
mud_prog.c:      iflevel--;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:        --prog_nest;
mud_prog.c:      --prog_nest;
mud_prog.c:  --prog_nest;
mud_prog.c:  vnum = mob->pIndexData->vnum;
mud_prog.c:	    if ( (start == arg || *(start-1) == ' ' )
mud_prog.c:		if ( ( start == arg || *(start-1) == ' ' )
mud_prog.c:  for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:    if ( mprg->type == type )
mud_prog.c:	strcpy( temp1, mprg->arglist );
mud_prog.c:	      if ( (start == dupl || *(start-1) == ' ' )
mud_prog.c:		  mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:		if ( ( start == dupl || *(start-1) == ' ' )
mud_prog.c:		    mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c: for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:   if ( ( mprg->type == type )
mud_prog.c:       && ( number_percent( ) <= atoi( mprg->arglist ) ) )
mud_prog.c:       mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c: for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:     trigger_time = ( time_info.hour == atoi( mprg->arglist ) );     
mud_prog.c:       if ( mprg->triggered )
mud_prog.c:         mprg->triggered = FALSE;
mud_prog.c:     if ( ( mprg->type == type )
mud_prog.c:       && ( ( !mprg->triggered ) || ( mprg->type == HOUR_PROG ) ) )
mud_prog.c:       mprg->triggered = TRUE;
mud_prog.c:       mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:    for ( runner = mob_act_list; runner; runner = runner->next )
mud_prog.c:	if ( runner->vo == mob )
mud_prog.c:    runner->vo = mob;
mud_prog.c:    runner->next = mob_act_list;
mud_prog.c:    &&   HAS_PROG( mob->pIndexData, ACT_PROG ) )
mud_prog.c:	if ( IS_NPC( ch ) && ch->pIndexData == mob->pIndexData )
mud_prog.c:	for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	    if ( mprg->type == ACT_PROG
mud_prog.c:	    &&   mprog_keyword_check( buf, mprg->arglist ) )
mud_prog.c:	if ( mob->mpactnum > 0 )
mud_prog.c:	  tmp_act->next = mob->mpact;
mud_prog.c:	  tmp_act->next = NULL;
mud_prog.c:	mob->mpact      = tmp_act;
mud_prog.c:	mob->mpact->buf = str_dup( buf );  
mud_prog.c:	mob->mpact->ch  = ch;
mud_prog.c:	mob->mpact->obj = obj;
mud_prog.c:	mob->mpact->vo  = vo; 
mud_prog.c:	mob->mpactnum++;
mud_prog.c:      && HAS_PROG( mob->pIndexData, BRIBE_PROG ) )
mud_prog.c:      if ( IS_NPC( ch ) && ch->pIndexData == mob->pIndexData )
mud_prog.c:      sprintf( buf, obj->short_descr, amount );
mud_prog.c:      STRFREE( obj->short_descr );
mud_prog.c:      obj->short_descr = STRALLOC( buf );
mud_prog.c:      obj->value[0]    = amount;
mud_prog.c:      mob->gold -= amount;
mud_prog.c:      for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	if ( ( mprg->type == BRIBE_PROG )
mud_prog.c:	&& ( amount >= atoi( mprg->arglist ) ) )
mud_prog.c:	    mprog_driver( mprg->comlist, mob, ch, obj, NULL, FALSE );
mud_prog.c:    &&   HAS_PROG(mob->pIndexData, DEATH_PROG) )
mud_prog.c:	mob->position = POS_STANDING;
mud_prog.c:	mob->position = POS_DEAD;
mud_prog.c:    &&   HAS_PROG(mob->pIndexData, ENTRY_PROG) )
mud_prog.c:    &&   HAS_PROG( mob->pIndexData, FIGHT_PROG ) )
mud_prog.c:    &&   HAS_PROG( mob->pIndexData, GIVE_PROG ) )
mud_prog.c:	if ( IS_NPC( ch ) && ch->pIndexData == mob->pIndexData )
mud_prog.c:	for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	    one_argument( mprg->arglist, buf );
mud_prog.c:	    if ( mprg->type == GIVE_PROG
mud_prog.c:	    &&  (!str_cmp(obj->name, mprg->arglist)
mud_prog.c:		mprog_driver( mprg->comlist, mob, ch, obj, NULL, FALSE );
mud_prog.c: sprintf( buf, "mprog_greet_trigger -> %s", ch->name );
mud_prog.c: for ( vmob = ch->in_room->first_person; vmob; vmob = vmob_next )
mud_prog.c:   vmob_next = vmob->next_in_room;
mud_prog.c:        || vmob->fighting
mud_prog.c:  if ( IS_NPC( ch ) && ch->pIndexData == vmob->pIndexData )
mud_prog.c:   if ( HAS_PROG(vmob->pIndexData, GREET_PROG) )
mud_prog.c:   else if ( HAS_PROG(vmob->pIndexData, ALL_GREET_PROG) )
mud_prog.c:    &&   HAS_PROG(mob->pIndexData, HITPRCNT_PROG) )
mud_prog.c:	for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	    if ( mprg->type == HITPRCNT_PROG
mud_prog.c:	    &&  (100*mob->hit / mob->max_hit) < atoi(mprg->arglist) )
mud_prog.c:	    mprog_driver( mprg->comlist, mob, ch, NULL, NULL, FALSE );
mud_prog.c:    if ( HAS_PROG(mob->pIndexData, RAND_PROG) )
mud_prog.c:    if ( HAS_PROG(mob->pIndexData, TIME_PROG) )
mud_prog.c:    if ( HAS_PROG(mob->pIndexData, HOUR_PROG) )
mud_prog.c:    for ( vmob = actor->in_room->first_person; vmob; vmob = vmob->next_in_room )
mud_prog.c:	if ( IS_NPC(vmob) && HAS_PROG(vmob->pIndexData, SPEECH_PROG) && knows_language(vmob, actor->speaking, actor) )
mud_prog.c:	    if ( IS_NPC(actor) && actor->pIndexData == vmob->pIndexData )
mud_prog.c:    if ( HAS_PROG(mob->pIndexData, SCRIPT_PROG) )
mud_prog.c:	for ( mprg = mob->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	    if ( mprg->type == SCRIPT_PROG
mud_prog.c:	    &&  (mprg->arglist[0] == '\0'
mud_prog.c:	      || mob->mpscriptpos != 0
mud_prog.c:	      || atoi(mprg->arglist) == time_info.hour) )
mud_prog.c:		mprog_driver( mprg->comlist, mob, NULL, NULL, NULL, TRUE );
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, SCRIPT_PROG) )
mud_prog.c:      for ( mprg = obj->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	if ( mprg->type == SCRIPT_PROG )
mud_prog.c:	  if ( mprg->arglist[0] == '\0'
mud_prog.c:	  ||   obj->mpscriptpos != 0
mud_prog.c:	  ||   atoi( mprg->arglist ) == time_info.hour )
mud_prog.c:	     mprog_driver( mprg->comlist, supermob, NULL, NULL, NULL, TRUE );
mud_prog.c:	     obj->mpscriptpos = supermob->mpscriptpos;
mud_prog.c:      for ( mprg = room->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	if ( mprg->type == SCRIPT_PROG )
mud_prog.c:	  if ( mprg->arglist[0] == '\0'
mud_prog.c:	  ||   room->mpscriptpos != 0
mud_prog.c:	  ||   atoi( mprg->arglist ) == time_info.hour )
mud_prog.c:	     mprog_driver( mprg->comlist, supermob, NULL, NULL, NULL, TRUE );
mud_prog.c:	     room->mpscriptpos = supermob->mpscriptpos;
mud_prog.c:  for ( in_obj = obj; in_obj->in_obj; in_obj = in_obj->in_obj )
mud_prog.c:  if ( in_obj->carried_by )
mud_prog.c:      room = in_obj->carried_by->in_room;
mud_prog.c:      room = obj->in_room;
mud_prog.c:  if (supermob->short_descr)
mud_prog.c:     STRFREE(supermob->short_descr);
mud_prog.c:  supermob->short_descr = QUICKLINK(obj->short_descr);
mud_prog.c:  supermob->mpscriptpos = obj->mpscriptpos;
mud_prog.c:  sprintf( buf, "Object #%d", obj->pIndexData->vnum );
mud_prog.c:  STRFREE( supermob->description );
mud_prog.c:  supermob->description = STRALLOC( buf );
mud_prog.c:    for ( mprg = obj->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	if ( mprg->type == type
mud_prog.c:	&& ( number_percent( ) <= atoi( mprg->arglist ) ) )
mud_prog.c:	    mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, ACT_PROG) )
mud_prog.c:    for ( vobj=ch->in_room->first_content; vobj; vobj = vobj->next_content )
mud_prog.c:	if ( HAS_PROG(vobj->pIndexData, GREET_PROG) )
mud_prog.c:    for ( vobj=ch->in_room->first_content; vobj; vobj = vobj->next_content )
mud_prog.c:	if ( HAS_PROG(vobj->pIndexData, SPEECH_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, RAND_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, WEAR_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, USE_PROG) )
mud_prog.c:	if ( obj->item_type == ITEM_STAFF || obj->item_type == ITEM_WAND
mud_prog.c:	||   obj->item_type == ITEM_SCROLL )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, REMOVE_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, SAC_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, GET_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, DAMAGE_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, REPAIR_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, DROP_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, EXA_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, ZAP_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, PULL_PROG) )
mud_prog.c:    if ( HAS_PROG(obj->pIndexData, PUSH_PROG) )
mud_prog.c:    if ( HAS_PROG(mobj->pIndexData, ACT_PROG) )
mud_prog.c:	if ( mobj->mpactnum > 0 )
mud_prog.c:	    tmp_act->next = mobj->mpact;
mud_prog.c:	    tmp_act->next = NULL;
mud_prog.c:	mobj->mpact = tmp_act;
mud_prog.c:	mobj->mpact->buf = str_dup(buf);
mud_prog.c:	mobj->mpact->ch = ch;
mud_prog.c:	mobj->mpact->obj = obj;
mud_prog.c:	mobj->mpact->vo = vo;
mud_prog.c:	mobj->mpactnum++;
mud_prog.c:  for ( mprg = iobj->pIndexData->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:    if ( mprg->type == type )
mud_prog.c:	strcpy( temp1, mprg->arglist );
mud_prog.c:	      if ( (start == dupl || *(start-1) == ' ' )
mud_prog.c:		  mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:		if ( ( start == dupl || *(start-1) == ' ' )
mud_prog.c:		    mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:    STRFREE(supermob->short_descr);
mud_prog.c:    supermob->short_descr = QUICKLINK(room->name);
mud_prog.c:    STRFREE(supermob->name);
mud_prog.c:    supermob->name        = QUICKLINK(room->name);
mud_prog.c:    supermob->mpscriptpos = room->mpscriptpos;
mud_prog.c:    sprintf( buf, "Room #%d", room->vnum );
mud_prog.c:    STRFREE( supermob->description );
mud_prog.c:    supermob->description = STRALLOC( buf );
mud_prog.c:    if(!mob->in_room)
mud_prog.c:    for ( mprg = mob->in_room->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:	if ( mprg->type == type
mud_prog.c:	&&   number_percent() <= atoi(mprg->arglist) )
mud_prog.c:	    mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c: * Unhold. -- Alty
mud_prog.c:	if ( room->mpactnum > 0 )
mud_prog.c:	    tmp_act->next = room->mpact;
mud_prog.c:	    tmp_act->next = NULL;
mud_prog.c:	room->mpact = tmp_act;
mud_prog.c:	room->mpact->buf = str_dup(buf);
mud_prog.c:	room->mpact->ch = ch;
mud_prog.c:	room->mpact->obj = obj;
mud_prog.c:	room->mpact->vo = vo;
mud_prog.c:	room->mpactnum++;
mud_prog.c:    if ( HAS_PROG(ch->in_room, LEAVE_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:    if ( HAS_PROG(ch->in_room, ENTER_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:    if ( HAS_PROG(ch->in_room, SLEEP_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:   if( HAS_PROG(ch->in_room, REST_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:   if( HAS_PROG(ch->in_room, RFIGHT_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:   if( HAS_PROG(ch->in_room, RDEATH_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:   if( HAS_PROG(ch->in_room, SPEECH_PROG) )
mud_prog.c:	rprog_wordlist_check( txt, supermob, ch, NULL, NULL, SPEECH_PROG, ch->in_room );
mud_prog.c:   if ( HAS_PROG(ch->in_room, RAND_PROG) )
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:  if ( actor && !char_died(actor) && actor->in_room )
mud_prog.c:    room = actor->in_room;
mud_prog.c:  for ( mprg = room->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:    if ( mprg->type == type )
mud_prog.c:	strcpy( temp1, mprg->arglist );
mud_prog.c:	      if ( (start == dupl || *(start-1) == ' ' )
mud_prog.c:		  mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:		if ( ( start == dupl || *(start-1) == ' ' )
mud_prog.c:		    mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:  for ( mprg = room->mudprogs; mprg; mprg = mprg->next )
mud_prog.c:    trigger_time = ( time_info.hour == atoi( mprg->arglist ) );
mud_prog.c:      if ( mprg->triggered )
mud_prog.c:        mprg->triggered = FALSE;
mud_prog.c:    if ( mprg->type == type
mud_prog.c:	&& ( ( !mprg->triggered ) || ( mprg->type == HOUR_PROG ) ) )
mud_prog.c:      mprg->triggered = TRUE;
mud_prog.c:      mprog_driver( mprg->comlist, mob, actor, obj, vo, FALSE );
mud_prog.c:   if ( HAS_PROG(ch->in_room, TIME_PROG))
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:	rprog_time_check( supermob, NULL, NULL, ch->in_room, TIME_PROG );
mud_prog.c:   if ( HAS_PROG(ch->in_room, HOUR_PROG))
mud_prog.c:	rset_supermob( ch->in_room );
mud_prog.c:	rprog_time_check( supermob, NULL, NULL, ch->in_room, HOUR_PROG );
mud_prog.c:  if ( mob->pIndexData->vnum == 3 )
mud_prog.c:             mob->description == NULL ? "(unknown)" : mob->description );
mud_prog.c:    sprintf( buf, "%s, Mob #%d.", str, mob->pIndexData->vnum );
mud_prog.c:   thru 5-10000 rooms every pulse.. can we say lag? -- Alty */
mud_prog.c:    for ( runner = room_act_list; runner; runner = runner->next )
mud_prog.c:	if ( runner->vo == room )
mud_prog.c:    runner->vo = room;
mud_prog.c:    runner->next = room_act_list;
mud_prog.c:    ROOM_INDEX_DATA *room = runner->vo;
mud_prog.c:    while ( (mpact = room->mpact) != NULL )
mud_prog.c:      if ( mpact->ch->in_room == room )
mud_prog.c:        rprog_wordlist_check(mpact->buf, supermob, mpact->ch, mpact->obj,
mud_prog.c:                             mpact->vo, ACT_PROG, room);
mud_prog.c:      room->mpact = mpact->next;
mud_prog.c:      DISPOSE(mpact->buf);
mud_prog.c:    room->mpact = NULL;
mud_prog.c:    room->mpactnum = 0;
mud_prog.c:    room_act_list = runner->next;
mud_prog.c:  for ( runner = obj_act_list; runner; runner = runner->next )
mud_prog.c:    if ( runner->vo == obj )
mud_prog.c:  runner->vo = obj;
mud_prog.c:  runner->next = obj_act_list;
mud_prog.c:    OBJ_DATA *obj = runner->vo;
mud_prog.c:    while ( (mpact = obj->mpact) != NULL )
mud_prog.c:      oprog_wordlist_check(mpact->buf, supermob, mpact->ch, mpact->obj,
mud_prog.c:                           mpact->vo, ACT_PROG, obj);
mud_prog.c:      obj->mpact = mpact->next;
mud_prog.c:      DISPOSE(mpact->buf);
mud_prog.c:    obj->mpact = NULL;
mud_prog.c:    obj->mpactnum = 0;
mud_prog.c:    obj_act_list = runner->next;
oedit.c:/*------------------------------------------------------------------------*/
oedit.c:    if ( d->olc )
oedit.c:	if ( d->character )
oedit.c:	    d->character->dest_buf = NULL;
oedit.c:	    act( AT_ACTION, "$n stops using OLC.", d->character, NULL, NULL, TO_CANSEE );
oedit.c:	d->connected = CON_PLAYING;
oedit.c:	DISPOSE( d->olc );
oedit.c:    for ( d = first_descriptor; d; d = d->next )
oedit.c:	if ( d->connected == CON_OEDIT )
oedit.c:	    if ( d->olc && OLC_VNUM(d) == obj->pIndexData->vnum )
oedit.c:		ch_printf( ch, "That object is currently being edited by %s.\n\r", d->character->name );
oedit.c:    d = ch->desc;
oedit.c:    CREATE( d->olc, OLC_DATA, 1 );
oedit.c:    OLC_VNUM(d) = obj->pIndexData->vnum;
oedit.c:    d->character->dest_buf = obj;
oedit.c:    d->connected = CON_OEDIT;
oedit.c:        if ( !ch->pcdata || !(pArea=ch->pcdata->area) )
oedit.c:        if ( cvnum < pArea->low_o_vnum
oedit.c:        ||   cvnum > pArea->hi_o_vnum )
oedit.c:    copy->vnum			= cvnum;
oedit.c:    copy->name			= QUICKLINK( orig->name );
oedit.c:    copy->first_affect		= NULL;
oedit.c:    copy->last_affect		= NULL;
oedit.c:    copy->first_extradesc 	= NULL;
oedit.c:    copy->last_extradesc	= NULL;
oedit.c:    copy->short_descr		= QUICKLINK( orig->short_descr );
oedit.c:    copy->description		= QUICKLINK( orig->description );
oedit.c:    copy->action_desc		= QUICKLINK( orig->action_desc );
oedit.c:    copy->item_type		= orig->item_type;
oedit.c:    copy->extra_flags		= orig->extra_flags;
oedit.c:    copy->magic_flags		= orig->magic_flags;
oedit.c:    copy->wear_flags		= orig->wear_flags;
oedit.c:    copy->value[0]		= orig->value[0];
oedit.c:    copy->value[1]		= orig->value[1];
oedit.c:    copy->value[2]		= orig->value[2];
oedit.c:    copy->value[3]		= orig->value[3];
oedit.c:    copy->value[4]		= orig->value[4];
oedit.c:    copy->value[5]		= orig->value[5];
oedit.c:    copy->weight		= orig->weight;
oedit.c:    copy->cost			= orig->cost;
oedit.c:    copy->rent			= orig->rent;
oedit.c:    copy->layers		= orig->layers;
oedit.c:    for ( ced = orig->first_extradesc; ced; ced = ced->next )
oedit.c:	ed->keyword		= QUICKLINK( ced->keyword );
oedit.c:	ed->description		= QUICKLINK( ced->description );
oedit.c:	LINK( ed, copy->first_extradesc, copy->last_extradesc, next, prev );
oedit.c:    for ( cpaf = orig->first_affect; cpaf; cpaf = cpaf->next )
oedit.c:	paf->type               = cpaf->type;
oedit.c:	paf->duration           = cpaf->duration;
oedit.c:	paf->location           = cpaf->location;
oedit.c:	paf->modifier           = cpaf->modifier;
oedit.c:	paf->bitvector          = cpaf->bitvector;
oedit.c:	LINK( paf, copy->first_affect, copy->last_affect, next, prev );
oedit.c:    if ( orig->mudprogs )
oedit.c:        copy->mudprogs = mprog;
oedit.c:        for ( cprog = orig->mudprogs; cprog; cprog = cprog->next )
oedit.c:            mprog->type 		= cprog->type;
oedit.c:            xSET_BIT( copy->progtypes, mprog->type );
oedit.c:            mprog->arglist		= QUICKLINK( cprog->arglist );
oedit.c:            mprog->comlist		= QUICKLINK( cprog->comlist );
oedit.c:            if ( cprog->next )
oedit.c:                CREATE( mprog->next, MPROG_DATA, 1 );
oedit.c:                mprog = mprog->next;
oedit.c:                mprog->next = NULL;
oedit.c:    copy->count			= 0;
oedit.c:    copy->next			= obj_index_hash[iHash];
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    for ( count = 0, mprg = obj->pIndexData->mudprogs; mprg; mprg = mprg->next )
oedit.c:	ch_printf_color( d->character, "&g%2d&w) &c%s\n\r", ++count, mprog_type_to_name( mprg->type ) );
oedit.c:    if ( obj->pIndexData->mudprogs )
oedit.c:	send_to_char( "\n\r", d->character );
oedit.c:    ch_printf_color( d->character, "&gA&w) Add a new program\n\r" );
oedit.c:    ch_printf_color( d->character, "&gR&w) Remove an existing program\n\r" );
oedit.c:    ch_printf_color( d->character, "&gQ&w) Quit\n\r" );
oedit.c:    ch_printf_color( d->character, "\n\rEnter choice: " );
oedit.c:	ch_printf_color( d->character, "&g%2d&w) %s\n\r", count, mprog_type_to_name(count) );
oedit.c:    send_to_char( "\n\rEnter type: ", d->character );
oedit.c:    MPROG_DATA *mprg = d->character->spare_ptr;
oedit.c:    if ( mprg->comlist )
oedit.c:	while ( mprg->comlist[i++] != '\n' )
oedit.c:	    sprintf( buf, "%s%c", buf, mprg->comlist[i] );
oedit.c:    ch_printf_color( d->character, "&gA&w) Type: &c%s\n\r", mprog_type_to_name(mprg->type) );
oedit.c:    ch_printf_color( d->character, "&gB&w) Args: &c%s\n\r", mprg->arglist );
oedit.c:    ch_printf_color( d->character, "&gC&w) Prog: %s\n\r", buf );
oedit.c:    ch_printf_color( d->character, "&gQ&w) Quit\n\r" );
oedit.c:    send_to_char( "\n\rEnter choice: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    CHAR_DATA *ch = d->character;
oedit.c:    sprintf( buf, "Container flags: &c%s&w\n\r", flag_string( obj->value[1], container_flags ) );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:	send_to_char_color( buf, d->character );
oedit.c:    sprintf( buf, "Lever flags: &c%s&w\n\rEnter flag, 0 to quit: ", flag_string( obj->value[0] , trig_flags ) );
oedit.c:    send_to_char_color( buf, d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    send_to_char( "Choose which layer, or combination of layers fits best: \n\r\n\r", d->character );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g1&w) Nothing Layers\n\r", (obj->pIndexData->layers == 0) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g2&w) Silk Shirt\n\r", IS_SET( obj->pIndexData->layers,   1 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g3&w) Leather Vest\n\r", IS_SET( obj->pIndexData->layers,   2 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g4&w) Light Chainmail\n\r", IS_SET( obj->pIndexData->layers,   4 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g5&w) Leather Jacket\n\r", IS_SET( obj->pIndexData->layers,   8 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g6&w) Light Cloak\n\r", IS_SET( obj->pIndexData->layers,  16 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g7&w) Loose Cloak\n\r", IS_SET( obj->pIndexData->layers,  32 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g8&w) Cape\n\r", IS_SET( obj->pIndexData->layers,  64 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "[&c%s&w] &g9&w) Magical Effects\n\r", IS_SET( obj->pIndexData->layers, 128 ) ? "X" : " " );
oedit.c:    ch_printf_color( d->character, "\n\rLayer or 0 to exit: " );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    CHAR_DATA *ch = d->character;
oedit.c:    if ( obj->pIndexData->first_extradesc )
oedit.c:	for ( ed = obj->pIndexData->first_extradesc; ed; ed = ed->next )
oedit.c:	    ch_printf_color( ch, "&g%2d&w) Keyword: &O%s\n\r", ++count, ed->keyword );
oedit.c:    if ( obj->first_extradesc )
oedit.c:	for ( ed = obj->first_extradesc; ed; ed = ed->next )
oedit.c:	    ch_printf_color( ch, "&g%2d&w) Keyword: &O%s\n\r", ++count, ed->keyword );
oedit.c:    if ( obj->pIndexData->first_extradesc || obj->first_extradesc )
oedit.c:	send_to_char( "\n\r", d->character );
oedit.c:    ch_printf_color( d->character, "&gA&w) Add a new description\n\r" );
oedit.c:    ch_printf_color( d->character, "&gR&w) Remove a description\n\r" );
oedit.c:    ch_printf_color( d->character, "&gQ&w) Quit\n\r" );
oedit.c:    ch_printf_color( d->character, "\n\rEnter choice: " );
oedit.c:    EXTRA_DESCR_DATA *ed = d->character->spare_ptr;
oedit.c:    ch_printf_color( d->character, "&g1&w) Keyword: &O%s\n\r", ed->keyword );
oedit.c:    ch_printf_color( d->character, "&g2&w) Description: \n\r&O%s&w\n\r", ed->description );
oedit.c:    ch_printf_color( d->character, "\n\rChange which option? " );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    CHAR_DATA *ch = d->character;
oedit.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
oedit.c:	ch_printf_color( d->character, " &g%2d&w) ", counter++ );
oedit.c:	/* ch_printf_color( d->character, "&cAffects &w%s &cby &w%d.\n\r", affect_loc_name( paf->location ), paf->modifier ); */
oedit.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
oedit.c:	ch_printf_color( d->character, " &g%2d&w) ", counter++ );
oedit.c:	/* ch_printf_color( d->character, "&cAffects &w%s &cby &w%d.\n\r", affect_loc_name( paf->location ), paf->modifier ); */
oedit.c:	sprintf( buf, " &w%2d&g) &c%-20.20s ", counter, liq_table[counter].liq_name );
oedit.c:	send_to_char_color( buf, d->character );
oedit.c:    send_to_char_color( "\n\r&wEnter drink type: ", d->character );
oedit.c:    CHAR_DATA *ch = d->character;
oedit.c:	sprintf( buf, "&g%2d&w) %-20.20s ", counter, a_types[counter] );
oedit.c:    CHAR_DATA *ch = d->character;
oedit.c:	sprintf( buf, "&g%2d&w) %-20.20s ", counter, attack_table[counter] );
oedit.c:    send_to_char( "Enter the name of the spell: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch (obj->item_type)
oedit.c:	send_to_char("Spell level : ", d->character);
oedit.c:	send_to_char( "Condition : ", d->character );
oedit.c:	send_to_char( "Current AC : ", d->character);
oedit.c:	send_to_char("Capacity : ", d->character);
oedit.c: 	send_to_char("Hours to fill stomach : ", d->character);
oedit.c:	send_to_char("Amount of gold coins : ", d->character);
oedit.c:	send_to_char( "Charges: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch (obj->item_type)
oedit.c:	send_to_char( "Charges: ", d->character );
oedit.c:	send_to_char( "Number of draws: ", d->character );
oedit.c:	send_to_char("Max number of charges : ", d->character);
oedit.c:	send_to_char("Number of damage dice : ", d->character);
oedit.c:	send_to_char( "Condition: ", d->character );
oedit.c:	send_to_char( "Quantity : ", d->character );
oedit.c:	send_to_char( "Original AC: ", d->character );
oedit.c:	if ( IS_SET( obj->value[0], TRIG_CAST ) )
oedit.c:	    send_to_char( "Vnum: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch ( obj->item_type ) 
oedit.c: 	send_to_char("Number of hours (0 = burnt, -1 is infinite) : ", d->character);
oedit.c: 	send_to_char("Number of charges remaining : ", d->character);
oedit.c:	send_to_char("Size of damage dice : ", d->character);
oedit.c:	send_to_char("Vnum of key to open container (-1 for no key) : ", d->character);
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch ( obj->item_type ) 
oedit.c:	send_to_char("Poisoned (0 = not poisoned) : ", d->character);
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch ( obj->item_type )
oedit.c:	send_to_char( "Food value: ", d->character );
oedit.c:	send_to_char( "Range: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    switch ( obj->item_type )
oedit.c:	sprintf( buf, "&g%2d&w) %-20.20s ", counter, o_types[counter] );
oedit.c:	send_to_char_color( buf, d->character );
oedit.c:    send_to_char( "\n\rEnter object type: ", d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:	sprintf( buf, "&g%2d&w) %-20.20s ", counter + 1, capitalize(o_flags[counter]) );
oedit.c:	send_to_char_color( buf, d->character );
oedit.c:	ext_flag_string( &obj->extra_flags, o_flags ) );
oedit.c:    send_to_char_color( buf, d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:	sprintf( buf, "&g%2d&w) %-20.20s ", counter+1, capitalize(w_flags[counter]) );
oedit.c:	send_to_char_color( buf, d->character );
oedit.c:	flag_string( obj->wear_flags, w_flags ) );
oedit.c:    send_to_char_color( buf, d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    set_char_color( AT_PLAIN, d->character );
oedit.c:            "-- Item number : [&c%d&w]\r\n"
oedit.c:            "&g2&w) S-Desc   : &O%s\r\n"
oedit.c:            "&g3&w) L-Desc   :-\r\n&O%s\r\n"
oedit.c:            "&g4&w) A-Desc   :-\r\n&O%s\n\r"
oedit.c:            obj->pIndexData->vnum,
oedit.c:            obj->name,
oedit.c:            obj->short_descr,
oedit.c:            obj->description,
oedit.c:            obj->action_desc ?  obj->action_desc : "<not set>\r\n",
oedit.c:            ext_flag_string( &obj->extra_flags, o_flags )
oedit.c:    send_to_char_color(buf, d->character);
oedit.c:            "&gC&w) Level       : &c%d\n\r" /* -- Object level .*/
oedit.c:            flag_string( obj->wear_flags, w_flags ),
oedit.c:            obj->weight,
oedit.c:            obj->cost,
oedit.c:            obj->pIndexData->rent,
oedit.c:            obj->timer,
oedit.c:            obj->level,
oedit.c:            obj->pIndexData->layers,
oedit.c:            obj->value[0],
oedit.c:            obj->value[1],
oedit.c:            obj->value[2],
oedit.c:            obj->value[3],
oedit.c:            obj->value[4],
oedit.c:            obj->value[5]
oedit.c:    send_to_char_color( buf, d->character );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    for ( paf = obj->pIndexData->first_affect; paf; paf = paf->next )
oedit.c:	    d->character->spare_ptr = paf;
oedit.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
oedit.c:	    d->character->spare_ptr = paf;
oedit.c:    send_to_char( "Affect not found.\n\r", d->character );
oedit.c:    if ( obj->pIndexData->first_affect )
oedit.c:        for ( paf = obj->pIndexData->first_affect; 
oedit.c:	     paf = paf->next )
oedit.c:                UNLINK( paf, obj->pIndexData->first_affect, obj->pIndexData->last_affect, next, prev );
oedit.c:                --top_affect;
oedit.c:    if ( obj->first_affect )
oedit.c:        for ( paf = obj->first_affect; 
oedit.c:	     paf = paf->next )
oedit.c:                UNLINK( paf, obj->first_affect, obj->last_affect, next, prev );
oedit.c:                --top_affect;
oedit.c:    for ( ed = obj->pIndexData->first_extradesc; ed; ed = ed->next )
oedit.c:    for ( ed = obj->first_extradesc; ed; ed = ed->next )
oedit.c:    for ( count = 0, mprg = obj->pIndexData->mudprogs; mprg; mprg = mprg->next )
oedit.c:    OBJ_DATA *obj = ch->dest_buf;
oedit.c:    EXTRA_DESCR_DATA *ed = ch->spare_ptr;
oedit.c:    MPROG_DATA *mprg = ch->spare_ptr;
oedit.c:    int mode = OLC_MODE(ch->desc);
oedit.c:    switch ( ch->substate )
oedit.c:        if ( !ch->dest_buf )
oedit.c:            bug( "do_oedit_reset: sub_obj_extra: NULL ch->dest_buf", 0 );
oedit.c:            ch->substate = SUB_NONE;
oedit.c:        /* OLC_DESC(ch->desc) = ch->spare_ptr; */
oedit.c:        STRFREE( ed->description );
oedit.c:        ed->description = copy_buffer( ch );
oedit.c:        ch->dest_buf = obj;
oedit.c:	ch->spare_ptr = ed;
oedit.c:        ch->substate = SUB_NONE;
oedit.c:        ch->desc->connected = CON_OEDIT;
oedit.c:        OLC_MODE(ch->desc) = OEDIT_EXTRADESC_CHOICE;
oedit.c:        oedit_disp_extra_choice( ch->desc );
oedit.c:        if ( !ch->dest_buf )
oedit.c:            bug( "do_oedit_reset: sub_obj_long: NULL ch->dest_buf", 0 );
oedit.c:            ch->substate = SUB_NONE;
oedit.c:        STRFREE( obj->description );
oedit.c:        obj->description = copy_buffer( ch );
oedit.c:            STRFREE( obj->pIndexData->description );
oedit.c:            obj->pIndexData->description = QUICKLINK( obj->description );
oedit.c:        ch->dest_buf = obj;
oedit.c:        ch->desc->connected = CON_OEDIT;
oedit.c:        ch->substate = SUB_NONE;
oedit.c:        OLC_MODE( ch->desc ) = OEDIT_MAIN_MENU;
oedit.c:        oedit_disp_menu( ch->desc );
oedit.c:	if ( mprg->comlist )
oedit.c:	    STRFREE( mprg->comlist );
oedit.c:	mprg->comlist = copy_buffer( ch );
oedit.c:	ch->dest_buf = obj;
oedit.c:	ch->desc->connected = ch->tempnum;
oedit.c:	ch->substate = SUB_NONE;
oedit.c:	OLC_MODE( ch->desc ) = mode;
oedit.c:	oedit_disp_prog_choice( ch->desc );
oedit.c:    OBJ_DATA *obj = d->character->dest_buf;
oedit.c:    AFFECT_DATA *paf = d->character->spare_ptr;
oedit.c:    EXTRA_DESCR_DATA *ed = d->character->spare_ptr;
oedit.c:    MPROG_DATA *mprg = d->character->spare_ptr;
oedit.c:    MPROG_DATA *mprog = obj->pIndexData->mudprogs;
oedit.c:            send_to_char("Saving object to memory.\r\n", d->character);
oedit.c:            send_to_char("Invalid choice!\r\n", d->character);
oedit.c:            send_to_char("Do you wish to save this object internally?\r\n", d->character);
oedit.c:            /* send_to_char( "Do you wish to save this object internally?: ", d->character );
oedit.c:            send_to_char("Enter namelist : ", d->character);
oedit.c:            send_to_char("Enter short desc : ", d->character);
oedit.c:            send_to_char("Enter long desc :-\r\n| ", d->character);
oedit.c:            send_to_char("Enter action desc :-\r\n", d->character);
oedit.c:            send_to_char("Enter weight : ", d->character);
oedit.c:            send_to_char("Enter cost : ", d->character);
oedit.c:            send_to_char("Enter cost per day : ", d->character);
oedit.c:            send_to_char("Enter timer : ", d->character);
oedit.c:            send_to_char("Enter level : ", d->character);
oedit.c:	    if ( IS_SET( obj->wear_flags, ITEM_WEAR_BODY )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_ABOUT )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_ARMS )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_FEET )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_HANDS )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_LEGS )
oedit.c:	    ||   IS_SET( obj->wear_flags, ITEM_WEAR_WAIST ) )
oedit.c:		send_to_char( "The wear location of this object is not layerable.\n\r", d->character );
oedit.c:        STRFREE(obj->name);
oedit.c:        obj->name = STRALLOC(arg);
oedit.c:            STRFREE( obj->pIndexData->name );
oedit.c:            obj->pIndexData->name = QUICKLINK( obj->name );
oedit.c:	olc_log( d, "Changed name to %s", obj->name );
oedit.c:        STRFREE(obj->short_descr);
oedit.c:        obj->short_descr = STRALLOC(arg);
oedit.c:            STRFREE( obj->pIndexData->short_descr );
oedit.c:            obj->pIndexData->short_descr = QUICKLINK( obj->short_descr );
oedit.c:	olc_log( d, "Changed short to %s", obj->short_descr );
oedit.c:        STRFREE(obj->description);
oedit.c:        obj->description = STRALLOC(arg);
oedit.c:            STRFREE( obj->pIndexData->description );
oedit.c:            obj->pIndexData->description = QUICKLINK( obj->description );
oedit.c:	olc_log( d, "Changed longdesc to %s", obj->description );
oedit.c:        STRFREE( obj->action_desc );
oedit.c:        obj->action_desc = STRALLOC(arg);
oedit.c:            STRFREE( obj->pIndexData->action_desc );
oedit.c:            obj->pIndexData->action_desc = QUICKLINK( obj->action_desc );
oedit.c:	olc_log( d, "Changed actiondesc to %s", obj->action_desc );
oedit.c:            send_to_char("Invalid choice, try again : ", d->character);
oedit.c:            obj->item_type = (sh_int) number;
oedit.c:                obj->pIndexData->item_type = obj->item_type;
oedit.c:		number -= 1; /* Offset for 0 */
oedit.c:	    &&   get_trust( d->character ) < LEVEL_GREATER
oedit.c:	    &&   !is_name( "protoflag", d->character->pcdata->bestowments ) )
oedit.c:		send_to_char( "You cannot change the prototype flag.\n\r", d->character );
oedit.c:		xTOGGLE_BIT( obj->extra_flags, number );
oedit.c:		    xIS_SET( obj->extra_flags, number ) ? "Added" : "Removed",
oedit.c:	    obj->pIndexData->extra_flags = obj->extra_flags;
oedit.c:		send_to_char( "Invalid flag, try again: ", d->character );
oedit.c:		number -= 1; /* Offset to accomodate 0 */
oedit.c:		TOGGLE_BIT( obj->wear_flags, 1 << number );
oedit.c:		    IS_SET( obj->wear_flags, 1 << number ) ? "Added" : "Removed",
oedit.c:		if ( number != -1 )
oedit.c:		    TOGGLE_BIT( obj->wear_flags, 1 << number );
oedit.c:			IS_SET( obj->wear_flags, 1 << number ) ? "Added" : "Removed",
oedit.c:	    obj->pIndexData->wear_flags = obj->wear_flags;
oedit.c:        obj->weight = number;
oedit.c:	olc_log( d, "Changed weight to %d", obj->weight );
oedit.c:            obj->pIndexData->weight = obj->weight;
oedit.c:        obj->cost = number;
oedit.c:	olc_log( d, "Changed cost to %d", obj->cost );
oedit.c:            obj->pIndexData->cost = obj->cost;
oedit.c:        obj->pIndexData->rent = number;
oedit.c:	olc_log( d, "Changed rent to %d", obj->pIndexData->rent );
oedit.c:        obj->timer = number;
oedit.c:	olc_log( d, "Changed timer to %d", obj->timer );
oedit.c:        obj->level = URANGE( 0, number, MAX_LEVEL );
oedit.c:	olc_log( d, "Changed object level to %d", obj->level );
oedit.c:            obj->pIndexData->layers = 0;
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 1 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 2 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 4 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 8 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 16 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 32 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 64 );
oedit.c:            TOGGLE_BIT( obj->pIndexData->layers, 128 );
oedit.c:            send_to_char( "Invalid selection, try again: ", d->character );
oedit.c:	olc_log( d, "Changed layers to %d", obj->pIndexData->layers );
oedit.c:        switch ( obj->item_type )
oedit.c:                    TOGGLE_BIT( obj->value[0], 1 << (number - 1) );
oedit.c:                        TOGGLE_BIT( obj->pIndexData->value[0], 1 << (number - 1) );
oedit.c:            obj->value[0] = number;
oedit.c:                obj->pIndexData->value[0] = number;
oedit.c:        olc_log( d, "Changed v0 to %d", obj->value[0] );
oedit.c:        switch (obj->item_type)
oedit.c:            obj->value[1] = number;
oedit.c:                obj->pIndexData->value[1] = number;
oedit.c:            if ( IS_SET( obj->value[0], TRIG_CAST ) )
oedit.c:            obj->value[1] = number;
oedit.c:                obj->pIndexData->value[1] = number;
oedit.c:                { number = 1 << (number - 1);
oedit.c:                    TOGGLE_BIT( obj->value[1], number );
oedit.c:                    TOGGLE_BIT( obj->pIndexData->value[1], number );
oedit.c:            obj->value[1] = number;
oedit.c:                obj->pIndexData->value[1] = number;
oedit.c:	olc_log( d, "Changed v1 to %d", obj->value[1] );
oedit.c:        switch ( obj->item_type )
oedit.c:            min_val = -1;
oedit.c:            max_val = top_sn-1;
oedit.c:            min_val = -32000;
oedit.c:        obj->value[2] = URANGE( min_val, number, max_val );
oedit.c:        olc_log( d, "Changed v2 to %d", obj->value[2] );
oedit.c:            obj->pIndexData->value[2] = obj->value[2];
oedit.c:        switch ( obj->item_type )
oedit.c:            min_val = -1;
oedit.c:            max_val = top_sn - 1;
oedit.c:            max_val = MAX_ATTACK_TYPE -1;
oedit.c:            min_val = -32000;
oedit.c:        obj->value[3] = URANGE( min_val, number, max_val );
oedit.c:        olc_log( d, "Changed v3 to %d", obj->value[3] );
oedit.c:            obj->pIndexData->value[3] = obj->value[3];
oedit.c:        switch( obj->item_type )
oedit.c:            min_val = -1;
oedit.c:            max_val = top_sn-1;
oedit.c:            min_val = -32000;
oedit.c:        obj->value[4] = URANGE( min_val, number, max_val );
oedit.c:        olc_log( d, "Changed v4 to %d", obj->value[4] );
oedit.c:            obj->pIndexData->value[4] = obj->value[4];
oedit.c:        switch( obj->item_type )
oedit.c:            min_val = -1;
oedit.c:            max_val = top_sn-1;
oedit.c:            min_val = -32000;
oedit.c:        obj->value[5] = URANGE( min_val, number, max_val );
oedit.c:        olc_log( d, "Changed v5 to %d", obj->value[5] );
oedit.c:            obj->pIndexData->value[5] = obj->value[5];
oedit.c:                send_to_char( "Remove which affect? ", d->character );
oedit.c:	    d->character->spare_ptr = paf;
oedit.c:	    d->character->spare_ptr = NULL;
oedit.c:		d->character->spare_ptr = NULL;
oedit.c:            send_to_char( "Invalid location, try again: ", d->character );
oedit.c:        paf->location = number;
oedit.c:	    d->character->tempnum = 0;
oedit.c:	    d->character->tempnum = 0;
oedit.c:            send_to_char( "\n\rModifier: ", d->character );
oedit.c:	switch ( paf->location )
oedit.c:		    value = d->character->tempnum;
oedit.c:		TOGGLE_BIT( d->character->tempnum, 1 << (number - 1) );
oedit.c:		    if ( paf->location == APPLY_AFFECT )
oedit.c:			ch_printf( d->character, "Invalid flag: %s\n\r", arg1 );
oedit.c:			TOGGLE_BIT( d->character->tempnum, 1 << number );
oedit.c:	    if ( paf->location == APPLY_AFFECT )
oedit.c:		    send_to_char( "Invalid sn, try again: ", d->character );
oedit.c:		value = bsearch_skill_exact( arg, gsn_first_spell, gsn_first_skill - 1 );
oedit.c:		    ch_printf( d->character, "Invalid spell %s, try again: ", arg );
oedit.c:            paf->modifier = value;
oedit.c:            olc_log( d, "Modified affect to: %s by %d", a_types[paf->location], value );
oedit.c:        npaf->type = -1;
oedit.c:        npaf->duration = -1;
oedit.c:        npaf->location = URANGE( 0, paf->location, MAX_APPLY_TYPE );
oedit.c:	npaf->modifier = value;
oedit.c:	xCLEAR_BITS( npaf->bitvector );
oedit.c:        npaf->next = NULL;
oedit.c:            LINK( npaf, obj->pIndexData->first_affect, obj->pIndexData->last_affect, next, prev );
oedit.c:            LINK( npaf, obj->first_affect, obj->last_affect, next, prev );
oedit.c:        olc_log( d, "Added new affect: %s by %d", a_types[npaf->location], npaf->modifier );
oedit.c:	d->character->spare_ptr = NULL;
oedit.c:            send_to_char( "Unknown flag, try again: ", d->character );
oedit.c:	/* if ( SetOExtra( obj, arg ) || SetOExtraProto( obj->pIndexData, arg ) )
oedit.c:	    send_to_char( "A extradesc with that keyword already exists.\n\r", d->character );
oedit.c:        olc_log( d, "Changed exdesc %s to %s", ed->keyword, arg );
oedit.c:        STRFREE( ed->keyword );
oedit.c:        ed->keyword = STRALLOC( arg );
oedit.c:            send_to_char( "Enter keywords, speperated by spaces: ", d->character );
oedit.c:            d->character->substate = SUB_OBJ_EXTRA;
oedit.c:	    d->character->last_cmd = do_oedit_reset;
oedit.c:	    send_to_char( "Enter new extra description - :\n\r", d->character );
oedit.c:	    if ( !ed->description )
oedit.c:		ed->description = STRALLOC( "" );
oedit.c:	    start_editing( d->character, ed->description );
oedit.c:            send_to_char( "Extra description not found, try again: ", d->character );
oedit.c:        olc_log( d, "Deleted exdesc %s", ed->keyword );
oedit.c:            UNLINK( ed, obj->pIndexData->first_extradesc, obj->pIndexData->last_extradesc, next, prev );
oedit.c:            UNLINK( ed, obj->first_extradesc, obj->last_extradesc, next, prev );
oedit.c:        STRFREE( ed->keyword );
oedit.c:        STRFREE( ed->description );
oedit.c:        top_ed--;
oedit.c:		LINK( ed, obj->pIndexData->first_extradesc, obj->pIndexData->last_extradesc, next, prev );
oedit.c:		LINK( ed, obj->first_extradesc, obj->last_extradesc, next, prev );
oedit.c:	    ed->keyword		= STRALLOC( "" );
oedit.c:	    ed->description	= STRALLOC( "" );
oedit.c:            d->character->spare_ptr = ed;
oedit.c:	    send_to_char( "Delete which extra description? ", d->character );
oedit.c:		    send_to_char( "Not found, try again: ", d->character );
oedit.c:		d->character->spare_ptr = ed;
oedit.c:	    if ( obj->pIndexData->mudprogs != NULL )
oedit.c:		for ( ; mprog->next; mprog = mprog->next );
oedit.c:	    if ( obj->pIndexData->mudprogs )
oedit.c:		mprog->next		= mprg;
oedit.c:		obj->pIndexData->mudprogs		= mprg;
oedit.c:	    mprg->next = NULL;
oedit.c:	    d->character->spare_ptr = mprg;
oedit.c:	    send_to_char( "Delete which prog? ", d->character );
oedit.c:		    send_to_char( "Not found, try again: ", d->character );
oedit.c:		d->character->spare_ptr = mprg;
oedit.c:	    send_to_char( "What are the arguments to the program? ", d->character );
oedit.c:	    if ( mprg->type < 1 )
oedit.c:		send_to_char( "The program must have a type before you can edit it.", d->character );
oedit.c:	    d->character->substate = SUB_MPROG_EDIT;
oedit.c:	    d->character->last_cmd = do_oedit_reset;
oedit.c:	    d->character->tempnum  = CON_OEDIT;
oedit.c:	    if ( !mprg->comlist )
oedit.c:		mprg->comlist = STRALLOC( "" );
oedit.c:	    start_editing( d->character, mprg->comlist );
oedit.c:	d->character->tempnum = mprg->type;
oedit.c:		send_to_char( "Invalid program type, try again: ", d->character );
oedit.c:		send_to_char( "Invalid program type, try again: ", d->character );
oedit.c:	mprg->type = number;
oedit.c:	    d->character->tempnum > 0 ? mprog_type_to_name(d->character->tempnum) : "(none)", mprog_type_to_name(number) );
oedit.c:	    send_to_char( "Not found, try again: ", d->character );
oedit.c:	STRFREE( mprg->arglist );
oedit.c:	STRFREE( mprg->comlist );
oedit.c:	mprg = mprg->next;
planes.c:  send_to_char("Planes:\n\r-------\n\r", ch);
planes.c:  for (p = first_plane; p; p = p->next)
planes.c:    ch_printf(ch, "%s\n\r", p->name);
planes.c:  ch_printf(ch, "Name: %s\n\r", p->name);
planes.c:    p->name = STRALLOC(arg);
planes.c:    STRFREE(p->name);
planes.c:    STRFREE(p->name);
planes.c:    p->name = STRALLOC(argument);
planes.c:  for (p = first_plane; p; p = p->next)
planes.c:    if (!str_cmp(name, p->name))
planes.c:  for (p = first_plane; p; p = p->next)
planes.c:    if (!str_prefix(name, p->name))
planes.c:  for (p = first_plane; p; p = p->next)
planes.c:    fprintf(fp, "Name      %s\n", p->name);
planes.c:        if (plane_lookup(p->name))
planes.c:          STRFREE(p->name);
planes.c:      KEY("Name", p->name, fread_string(fp));
planes.c:  p->name = STRALLOC("Prime Material");
planes.c:    for (r = room_index_hash[vnum]; r; r = r->next)
planes.c:      if (!r->plane || r->plane == p)
planes.c:        r->plane = first_plane;
player.c: * -----------------------------------------------------------|   (0...0)   *
player.c: * -----------------------------------------------------------|    {o o}    *
player.c: * ------------------------------------------------------------------------ *
player.c: * ------------------------------------------------------------------------ *
player.c:/* For TinyMUD Bots! -- Scion */
player.c:		if (ch->pcdata->outputprefix)
player.c:			DISPOSE(ch->pcdata->outputprefix);
player.c:		ch->pcdata->outputprefix = str_dup(argument);
player.c:		if (ch->pcdata->outputsuffix)
player.c:			DISPOSE(ch->pcdata->outputsuffix);
player.c:		ch->pcdata->outputsuffix = str_dup(argument);
player.c:    if (ch->level > 1 /*|| !NOT_AUTHED(ch)*/)
player.c:    if( ch->level2 != -1 )
player.c:    ch->perm_str                = 13;
player.c:    ch->perm_dex                = 13;
player.c:    ch->perm_int                = 13;
player.c:    ch->perm_wis                = 13;
player.c:    ch->perm_cha                = 13;
player.c:    ch->perm_con                = 13;
player.c:    ch->perm_lck                = 13;
player.c:    switch ( class_table[ch->class]->attr_prime )
player.c:    case APPLY_STR: ch->perm_str = 16; break;
player.c:    case APPLY_INT: ch->perm_int = 16; break;
player.c:    case APPLY_WIS: ch->perm_wis = 16; break;
player.c:    case APPLY_DEX: ch->perm_dex = 16; break;
player.c:    case APPLY_CON: ch->perm_con = 16; break;
player.c:    case APPLY_CHA: ch->perm_cha = 16; break;
player.c:    case APPLY_LCK: ch->perm_lck = 16; break;
player.c:    ch->perm_str         += race_table[ch->race]->str_plus;
player.c:    ch->perm_int         += race_table[ch->race]->int_plus;
player.c:    ch->perm_wis         += race_table[ch->race]->wis_plus;
player.c:    ch->perm_dex         += race_table[ch->race]->dex_plus;
player.c:    ch->perm_con         += race_table[ch->race]->con_plus;
player.c:    ch->perm_cha         += race_table[ch->race]->cha_plus;
player.c:    ch->perm_lck         += race_table[ch->race]->lck_plus;
player.c:    sprintf(buf, "%-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.\n\r",
player.c:            ch->perm_str, ch->perm_int, ch->perm_wis, ch->perm_dex, ch->perm_con, ch->perm_cha, ch->perm_lck);
player.c:        ch_printf( ch, "You have %d gold pieces.", ch->gold );
player.c:        ch_printf( ch,  "You have %d gold pieces on hand and %d gold pieces in the bank.\n\r", ch->gold, ch->pcdata->balance );
player.c:    pager_printf(ch, "\n\rWorth for %s%s.\n\r", ch->name, ch->pcdata->title);
player.c:    send_to_pager(" ----------------------------------------------------------------------------\n\r", ch);
player.c:    if (!ch->pcdata->deity)		 sprintf( buf, "N/A" );
player.c:    else if (ch->pcdata->favor > 2250)	 sprintf( buf, "loved" );
player.c:    else if (ch->pcdata->favor > 2000)	 sprintf( buf, "cherished" );
player.c:    else if (ch->pcdata->favor > 1750) 	 sprintf( buf, "honored" );
player.c:    else if (ch->pcdata->favor > 1500)	 sprintf( buf, "praised" );
player.c:    else if (ch->pcdata->favor > 1250)	 sprintf( buf, "favored" );
player.c:    else if (ch->pcdata->favor > 1000)	 sprintf( buf, "respected" );
player.c:    else if (ch->pcdata->favor > 750)	 sprintf( buf, "liked" );
player.c:    else if (ch->pcdata->favor > 250)	 sprintf( buf, "tolerated" );
player.c:    else if (ch->pcdata->favor > -250)	 sprintf( buf, "ignored" );
player.c:    else if (ch->pcdata->favor > -750)	 sprintf( buf, "shunned" );
player.c:    else if (ch->pcdata->favor > -1000)	 sprintf( buf, "disliked" );
player.c:    else if (ch->pcdata->favor > -1250)	 sprintf( buf, "dishonored" );
player.c:    else if (ch->pcdata->favor > -1500)	 sprintf( buf, "disowned" );
player.c:    else if (ch->pcdata->favor > -1750)	 sprintf( buf, "abandoned" );
player.c:    else if (ch->pcdata->favor > -2000)	 sprintf( buf, "despised" );
player.c:    else if (ch->pcdata->favor > -2250)	 sprintf( buf, "hated" );
player.c:    if ( ch->level < 10 )
player.c:       if (ch->alignment > 900)		 sprintf(buf2, "devout");
player.c:       else if (ch->alignment > 700)	 sprintf(buf2, "noble");
player.c:       else if (ch->alignment > 350)	 sprintf(buf2, "honorable");
player.c:       else if (ch->alignment > 100)	 sprintf(buf2, "worthy");
player.c:       else if (ch->alignment > -100)	 sprintf(buf2, "neutral");
player.c:       else if (ch->alignment > -350)	 sprintf(buf2, "base");
player.c:       else if (ch->alignment > -700)	 sprintf(buf2, "evil");
player.c:       else if (ch->alignment > -900)	 sprintf(buf2, "ignoble");
player.c:	sprintf(buf2, "%d", ch->alignment );
player.c:    pager_printf(ch, "|Level: %-4d |Favor: %-10s |Alignment: %-9s |Experience: %-9d|\n\r", 
player.c:                     ch->level, buf, buf2, ch->exp );
player.c:    send_to_pager(" ----------------------------------------------------------------------------\n\r", ch);
player.c:        switch (ch->style) {
player.c:    pager_printf(ch, "|Glory: %-4d |Weight: %-9d |Style: %-13s |Gold: %-14d |\n\r",
player.c:                 ch->pcdata->quest_curr, ch->carry_weight, buf, ch->gold );
player.c:    send_to_pager(" ----------------------------------------------------------------------------\n\r", ch);
player.c:    if ( ch->level < 15 && !IS_PKILL(ch) )
player.c:        pager_printf(ch, "|            |Hitroll: -------- |Damroll: ----------- |Balance: %-10d |\n\r",
player.c:                    ch->pcdata->balance );
player.c:        pager_printf(ch, "|            |Hitroll: %-8d |Damroll: %-11d |Balance: %-10d |\n\r",
player.c:                     get_hitroll( ch, FALSE ), get_damroll( ch, FALSE ), ch->pcdata->balance );
player.c:    send_to_pager(" ----------------------------------------------------------------------------\n\r", ch);
player.c:                 ch->pcdata->extraname ? ch->pcdata->extraname : "",
player.c:                 ch->name,
player.c:                 ch->pcdata->lastname ? ch->pcdata->lastname : "",
player.c:                 ch->pcdata->title );
player.c:    if ( get_trust( ch ) != ch->level && get_trust( ch ) != ch->level2 )
player.c:    send_to_pager("----------------------------------------------------------------------------\n\r", ch);
player.c:    pager_printf(ch, "&CLEVEL: &W%-3d         &CRace : &W%-10.10s        &CPlayed: &W%d &Chours\n\r",
player.c:                 ch->level, capitalize(get_race(ch)), (get_age(ch) - (race_table[ch->race]->base_age + 17)) * 2);
player.c:    pager_printf(ch, "&CYEARS: &W%-6d      &CClass: &W%-11.11s       &CLog In: &W%s\r",
player.c:                 get_age(ch), capitalize(get_class(ch)), ctime(&(ch->logon)) );
player.c:    if (ch->level >= 15
player.c:        pager_printf(ch, "&CSTR  : &W%2.2d&C(&w%2.2d&C)    HitRoll: &R%-4d              &CSaved:  &W%s\r",
player.c:                     get_curr_str(ch), ch->perm_str, get_hitroll( ch, FALSE ), ch->save_time ? ctime(&(ch->save_time)) : "no save this session\n" );
player.c:        pager_printf(ch, "&CINT  : &W%2.2d&C(&w%2.2d&C)    DamRoll: &R%-4d              &CTime:   &W%s\r",
player.c:                     get_curr_int(ch), ch->perm_int, get_damroll( ch, FALSE ), ctime(&current_time) );
player.c:                     get_curr_str(ch), ch->perm_str, ch->save_time ? ctime(&(ch->save_time)) : "no\n" );
player.c:                     get_curr_int(ch), ch->perm_int, ctime(&current_time) );
player.c:    else if (GET_AC(ch) >= -10)
player.c:    else if (GET_AC(ch) >= -20)
player.c:    else if (GET_AC(ch) >= -40)
player.c:    else if (GET_AC(ch) >= -60)
player.c:    else if (GET_AC(ch) >= -80)
player.c:    else if (GET_AC(ch) >= -100)
player.c:    else if (GET_AC(ch) >= -200)
player.c:    if (ch->level > 24)
player.c:                     get_curr_wis(ch), ch->perm_wis, buf, GET_AC(ch));
player.c:                     get_curr_wis(ch), ch->perm_wis, buf);
player.c:    if (ch->alignment > 900)
player.c:    else if (ch->alignment > 700)
player.c:    else if (ch->alignment > 350)
player.c:    else if (ch->alignment > 100)
player.c:    else if (ch->alignment > -100)
player.c:    else if (ch->alignment > -350)
player.c:    else if (ch->alignment > -700)
player.c:    else if (ch->alignment > -900)
player.c:    if (ch->level < 10)
player.c:        pager_printf(ch, "&CDEX  : &W%2.2d&C(&w%2.2d&C)      Align: &W%-20.20s    &CItems: &W%5.5d   &C(&wmax %5.5d&C)\n\r",
player.c:                     get_curr_dex(ch), ch->perm_dex, buf, ch->carry_number, can_carry_n(ch));
player.c:        pager_printf(ch, "&CDEX  : &W%2.2d&C(&w%2.2d&C)      Align: &W%-14.14s &C(&w%+4.4d&C)  Items: &W%5.5d   &C(&wmax %5.5d&C)\n\r",
player.c:                     get_curr_dex(ch), ch->perm_dex, buf, ch->alignment,ch->carry_number, can_carry_n(ch));
player.c:    switch (ch->position)
player.c:        /*  Fighting style support -haus
player.c:        Commented this out for now, not sure if we'll use them or not -- Scion
player.c:    pager_printf(ch, "&CCON  : &W%2.2d&C(&w%2.2d&C)      Pos'n: &W%-21.21s  &CWeight: &W%5.5d &C(&wmax %7.7d&C)\n\r",
player.c:                 get_curr_con(ch), ch->perm_con, buf, ch->carry_weight, can_carry_w(ch));
player.c:     * Fighting style support -haus
player.c:    pager_printf(ch, "&CCHA  : &W%2.2d&C(&w%2.2d&C)      Wimpy: &R%-5d \r\n",
player.c:                 get_curr_cha(ch), ch->perm_cha, ch->wimpy);
player.c:    /* Commenting styles out for now -- Scion
player.c:     switch (ch->style) {
player.c:    pager_printf(ch, "Style: %-10.10s\n\r", buf); */
player.c:                 get_curr_lck(ch), ch->perm_lck);
player.c:                 ch->pcdata->quest_curr, ch->pcdata->quest_accum,
player.c:                 (IS_SET(ch->pcdata->flags, PCFLAG_PAGERON) ? '*' : ' '),
player.c:                 ch->pcdata->pagerlen);
player.c:    pager_printf(ch, "&CPRACT: &W%3.3d           &CHit: &R%-5d &Cof &r%-5d    &CAutoExit[&W%c&C]\n\r",
player.c:                 ch->practice, ch->hit, ch->max_hit,
player.c:                 xIS_SET(ch->act, PLR_AUTOEXIT) ? '*' : ' ');
player.c:        pager_printf(ch, "&CXP   : &G%-10d  &CBlood: &R%-5d &Cof &r%-5d    &CAutoLoot[&W%c&C]\n\r",
player.c:                     ch->exp, ch->pcdata->condition[COND_BLOODTHIRST], 10 + ch->level,
player.c:                     xIS_SET(ch->act, PLR_AUTOLOOT) ? '*' : ' ');
player.c:        pager_printf(ch, "&CXP   : &G%-10d   &CMana: &B%-5d &Cof &b%-5d    &CAutoLoot[&W%c&C]\n\r",
player.c:                     ch->exp, ch->mana, ch->max_mana, xIS_SET(ch->act, PLR_AUTOLOOT) ? '*' : ' ');
player.c:    pager_printf(ch, "&CGOLD : &Y%-10d   &CMove: &W%-5d &Cof &w%-5d    &CAutoSac [&W%c&C]\n\r",
player.c:                 ch->gold, ch->move, ch->max_move, xIS_SET(ch->act, PLR_AUTOSAC) ? '*' : ' ');
player.c:    pager_printf( ch, "&CBalance: &Y%-10d\n\r", ch->pcdata->balance );
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_THIRST] == 0)
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_FULL] == 0)
player.c:    if ( ch->position != POS_SLEEPING )
player.c:        switch( ch->mental_state / 10 )
player.c:        case -10:  send_to_pager( "You're barely conscious.\n\r", ch );	break;
player.c:        case  -9:  send_to_pager( "You can barely keep your eyes open.\n\r", ch );	break;
player.c:        case  -8:  send_to_pager( "You're extremely drowsy.\n\r", ch );	break;
player.c:        case  -7:  send_to_pager( "You feel very unmotivated.\n\r", ch );	break;
player.c:        case  -6:  send_to_pager( "You feel sedated.\n\r", ch );		break;
player.c:        case  -5:  send_to_pager( "You feel sleepy.\n\r", ch );		break;
player.c:        case  -4:  send_to_pager( "You feel tired.\n\r", ch );		break;
player.c:        case  -3:  send_to_pager( "You could use a rest.\n\r", ch );		break;
player.c:        case  -2:  send_to_pager( "You feel a little under the weather.\n\r", ch );	break;
player.c:        case  -1:  send_to_pager( "You feel fine.\n\r", ch );		break;
player.c:    else if ( ch->mental_state >45 )
player.c:    else if ( ch->mental_state >25 )
player.c:    else if ( ch->mental_state <-35 )
player.c:    else if ( ch->mental_state <-25 )
player.c:	||  (IS_NPC(ch) && ch->speaks == 0) )
player.c:            if ( lang_array[iLang] & ch->speaking
player.c:            ||  (IS_NPC(ch) && !ch->speaking) )
player.c:    if ( ch->pcdata->bestowments && ch->pcdata->bestowments[0] != '\0' )
player.c:                      ch->pcdata->bestowments );
player.c:    if ( ch->morph && ch->morph->morph )
player.c:        send_to_pager ("&C----------------------------------------------------------------------------\n\r", ch);
player.c:                          ch->morph->morph->vnum, ch->morph->morph->short_desc,
player.c:                          ch->morph->timer );
player.c:                          ch->morph->morph->short_desc );
player.c:    send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:    pager_printf(ch, "NonPC DATA:  Mkills (&W%5.5d&C)     Mdeaths (&W%5.5d&C)\n\r", ch->pcdata->mkills, ch->pcdata->mdeaths );
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:                     ch->pcdata->pkills, ch->pcdata->illegal_pk, ch->pcdata->pdeaths );
player.c:    if( ch->pcdata->arena_wins != 0 || ch->pcdata->arena_deaths != 0
player.c:    || ch->pcdata->arena_kills != 0 )
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:                     ch->pcdata->arena_wins, ch->pcdata->arena_kills,
player.c:                     ch->pcdata->arena_deaths);
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type != CLAN_ORDER  && ch->pcdata->clan->clan_type != CLAN_GUILD )
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:        pager_printf(ch, "CLAN STATS:  &W%-14.14s  &CClan AvPkills : &W%-5d  &CClan NonAvpkills : &W%-5d\n\r",
player.c:                     ch->pcdata->clan->name, ch->pcdata->clan->pkills[5],
player.c:                     (ch->pcdata->clan->pkills[0]+ch->pcdata->clan->pkills[1]+
player.c:                      ch->pcdata->clan->pkills[2]+ch->pcdata->clan->pkills[3]+
player.c:                      ch->pcdata->clan->pkills[4]) );
player.c:        pager_printf(ch, "                             &CClan AvPdeaths: &W%-5d  &CClan NonAvpdeaths: &W%-5d&C\n\r",
player.c:                     ch->pcdata->clan->pdeaths[5],
player.c:                     ( ch->pcdata->clan->pdeaths[0] + ch->pcdata->clan->pdeaths[1] +
player.c:                       ch->pcdata->clan->pdeaths[2] + ch->pcdata->clan->pdeaths[3] +
player.c:                       ch->pcdata->clan->pdeaths[4] ) );
player.c:    if (ch->pcdata->deity)
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:        if (ch->pcdata->favor > 2250)
player.c:        else if (ch->pcdata->favor > 2000)
player.c:        else if (ch->pcdata->favor > 1750)
player.c:        else if (ch->pcdata->favor > 1500)
player.c:        else if (ch->pcdata->favor > 1250)
player.c:        else if (ch->pcdata->favor > 1000)
player.c:        else if (ch->pcdata->favor > 750)
player.c:        else if (ch->pcdata->favor > 250)
player.c:        else if (ch->pcdata->favor > -250)
player.c:        else if (ch->pcdata->favor > -750)
player.c:        else if (ch->pcdata->favor > -1000)
player.c:        else if (ch->pcdata->favor > -1250)
player.c:        else if (ch->pcdata->favor > -1500)
player.c:        else if (ch->pcdata->favor > -1750)
player.c:        else if (ch->pcdata->favor > -2000)
player.c:        else if (ch->pcdata->favor > -2250)
player.c:        pager_printf(ch, "&CDeity:  &Y%-20s  &CFavor: &G%s&C\n\r", ch->pcdata->deity->name, buf );
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type == CLAN_ORDER )
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:        pager_printf(ch, "&COrder:  &W%-20s  &COrder Mkills:  &W%-6d   &COrder MDeaths:  &W%-6d\n\r",
player.c:		ch->pcdata->clan->name, ch->pcdata->clan->mkills, ch->pcdata->clan->mdeaths);
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type == CLAN_GUILD )
player.c:        send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:        pager_printf(ch, "&CGuild:  &W%-20s  &CGuild Mkills:  &W%-6d   &CGuild MDeaths:  &W%-6d\n\r",
player.c:                     ch->pcdata->clan->name, ch->pcdata->clan->mkills, ch->pcdata->clan->mdeaths);
player.c:	send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:                     xIS_SET(ch->act, PLR_WIZINVIS) ? "*" : " ", ch->pcdata->wizinvis );
player.c:        if( ch->pcdata->bamfin[0] == '\0' )
player.c:            pager_printf( ch, "&CBamfin : &YNot changed/Switched.\n\r", ch->name );
player.c:            pager_printf( ch, "&CBamfin : &Y%s\n\r", ch->pcdata->bamfin );
player.c:        if( ch->pcdata->bamfout[0] == '\0' )
player.c:            pager_printf( ch, "&CBamfout: &YNot changed/Switched.\n\r", ch->name );
player.c:            pager_printf( ch, "&CBamfout: &Y%s\n\r", ch->pcdata->bamfout );
player.c:                     ch->pcdata->bamfin[0] != '\0'
player.c:                     ? ch->pcdata->bamfin : "Not changed/Switched.");
player.c:                     ch->pcdata->bamfout[0] != '\0'
player.c:                     ? ch->pcdata->bamfout : "Not changed/Switched.");
player.c:	/* Area Loaded info - Scryn 8/11*/
player.c:	if (ch->pcdata->area)
player.c:            pager_printf(ch, "&CVnums:   Room (&W%-5.5d &C- &W%-5.5d&C)   Object (&W%-5.5d &C- &W%-5.5d&C)   Mob (&W%-5.5d &C- &W%-5.5d&C)\n\r",
player.c:                         ch->pcdata->area->low_r_vnum, ch->pcdata->area->hi_r_vnum,
player.c:                         ch->pcdata->area->low_o_vnum, ch->pcdata->area->hi_o_vnum,
player.c:                         ch->pcdata->area->low_m_vnum, ch->pcdata->area->hi_m_vnum);
player.c:            pager_printf(ch, "&CArea Loaded [&W%s&C]\n\r", (IS_SET (ch->pcdata->area->status, AREA_LOADED)) ? "yes" : "no");
player.c:    if (ch->first_affect)
player.c:	send_to_pager( "&C----------------------------------------------------------------------------\n\r", ch);
player.c:	for (paf = ch->first_affect; paf; paf = paf->next)
player.c:	    if ( (sktmp=get_skilltype(paf->type)) == NULL )
player.c:            if (ch->level < 20)
player.c:                pager_printf(ch, "&C[&W%-34.34s&C]    ", sktmp->name);
player.c:	     if (ch->level >= 20)
player.c:                 if (paf->modifier == 0)
player.c:                     pager_printf(ch, "&C[&W%-24.24s&C(&w%5d rds&C)]    ",
player.c:                                  sktmp->name,
player.c:                                  paf->duration);
player.c:                 else if (paf->modifier > 999)
player.c:                     pager_printf(ch, "&C[&W%-15.15s &G%7.7s &W(&w%5d rds&W)&C]    ",
player.c:                                  sktmp->name,
player.c:                                  tiny_affect_loc_name(paf->location),
player.c:                                  paf->duration);
player.c:                     pager_printf(ch, "&C[&W%-11.11s &w%+-3.3d &G%7.7s &W(&w%5d rds&W)&C]    ",
player.c:                                  sktmp->name,
player.c:                                  paf->modifier,
player.c:                                  tiny_affect_loc_name(paf->location),
player.c:                                  paf->duration);
player.c:    pager_printf_color(ch, "\n\r&C%s%s.\n\r", ch->name, ch->pcdata->title);
player.c:    if ( get_trust( ch ) != ch->level )
player.c:    send_to_pager_color("&W----------------------------------------------------------------------------\n\r", ch);
player.c:    pager_printf_color(ch, "Level: &W%-3d         &CRace : &W%-10.10s        &CPlayed: &W%d &Chours\n\r",
player.c:	ch->level, capitalize(get_race(ch)), (get_age(ch) - 17) * 2);
player.c:    pager_printf_color(ch, "&CYears: &W%-6d      &CClass: &W%-11.11s       &CLog In: %s\r",
player.c:		get_age(ch), capitalize(get_class(ch)), ctime(&(ch->logon)) );
player.c:    if (ch->level >= 15
player.c:	pager_printf_color(ch, "&CSTR  : &W%2.2d&C(&w%2.2d&C)    HitRoll: &R%-4d               &CSaved: %s\r",
player.c:		get_curr_str(ch), ch->perm_str, get_hitroll( ch, FALSE ), ch->save_time ? ctime(&(ch->save_time)) : "no save this session\n" );
player.c:	pager_printf_color(ch, "&CINT  : &W%2.2d&C(&w%2.2d&C)    DamRoll: &R%-4d                &CTime: %s\r",
player.c:		get_curr_int(ch), ch->perm_int, get_damroll( ch, FALSE ), ctime(&current_time) );
player.c:		get_curr_str(ch), ch->perm_str, ch->save_time ? ctime(&(ch->save_time)) : "no\n" );
player.c:		get_curr_int(ch), ch->perm_int, ctime(&current_time) );
player.c:    else if (GET_AC(ch) >= -10)
player.c:    else if (GET_AC(ch) >= -20)
player.c:    else if (GET_AC(ch) >= -40)
player.c:    else if (GET_AC(ch) >= -60)
player.c:    else if (GET_AC(ch) >= -80)
player.c:    else if (GET_AC(ch) >= -100)
player.c:    else if (GET_AC(ch) >= -200)
player.c:    if (ch->level > 24)
player.c:	pager_printf_color(ch, "&CWIS  : &W%2.2d&C(&w%2.2d&C)      Armor: &W%-d; %s\n\r",
player.c:		get_curr_wis(ch), ch->perm_wis, GET_AC(ch), buf);
player.c:		get_curr_wis(ch), ch->perm_wis, buf);
player.c:    if (ch->alignment > 900)
player.c:    else if (ch->alignment > 700)
player.c:    else if (ch->alignment > 350)
player.c:    else if (ch->alignment > 100)
player.c:    else if (ch->alignment > -100)
player.c:    else if (ch->alignment > -350)
player.c:    else if (ch->alignment > -700)
player.c:    else if (ch->alignment > -900)
player.c:    if (ch->level < 10)
player.c:	pager_printf_color(ch, "&CDEX  : &W%2.2d&C(&w%2.2d&C)      Align: &W%-20.20s    &CItems:  &W%d (max %d)\n\r",
player.c:		get_curr_dex(ch), ch->perm_dex, buf, ch->carry_number, can_carry_n(ch));
player.c:	pager_printf_color(ch, "&CDEX  : &W%2.2d&C(&w%2.2d&C)      Align: &W%4d; %-14.14s   &CItems:  &W%d &w(max %d)\n\r",
player.c:		get_curr_dex(ch), ch->perm_dex, ch->alignment, buf, ch->carry_number, can_carry_n(ch));
player.c:    switch (ch->position)
player.c:                sprintf(buf, "fighting (evasive)");   /* Fighting style support -haus */
player.c:    pager_printf_color(ch, "&CCON  : &W%2.2d&C(&w%2.2d&C)      Pos'n: &W%-21.21s  &CWeight: &W%d &w(max %d)\n\r",
player.c:	get_curr_con(ch), ch->perm_con, buf, ch->carry_weight, can_carry_w(ch));
player.c:     * Fighting style support -haus
player.c:    pager_printf_color(ch, "&CCHA  : &W%2.2d&C(&w%2.2d&C)      Wimpy: &Y%-5d      ",
player.c:	get_curr_cha(ch), ch->perm_cha, ch->wimpy);
player.c:        switch (ch->style) {
player.c:    pager_printf_color(ch, "\n\r&CLCK  : &W%2.2d&C(&w%2.2d&C)      Style: &W%-10.10s\n\r",
player.c:	get_curr_lck(ch), ch->perm_lck, buf );
player.c:	ch->pcdata->quest_curr, ch->pcdata->quest_accum );
player.c:    pager_printf_color(ch, "&CPRACT: &W%3d         &CHitpoints: &G%-5d &Cof &g%5d   &CPager: (&W%c&C) &W%3d    &CAutoExit(&W%c&C)\n\r",
player.c:	ch->practice, ch->hit, ch->max_hit,
player.c:	IS_SET(ch->pcdata->flags, PCFLAG_PAGERON) ? 'X' : ' ',
player.c:	ch->pcdata->pagerlen, xIS_SET(ch->act, PLR_AUTOEXIT) ? 'X' : ' ');
player.c:	pager_printf_color(ch, "&CEXP  : &W%-9d       &CBlood: &R%-5d &Cof &r%5d   &CMKills:  &W%5d    &CAutoLoot(&W%c&C)\n\r",
player.c:		ch->exp, ch->pcdata->condition[COND_BLOODTHIRST], 10 + ch->level, ch->pcdata->mkills,
player.c:		xIS_SET(ch->act, PLR_AUTOLOOT) ? 'X' : ' ');
player.c:    else if (ch->class == CLASS_WARRIOR && ch->level2 == -1)
player.c:	pager_printf_color(ch, "&CEXP  : &W%-9d                               &CMKills:  &W%5d    &CAutoLoot(&W%c&C)\n\r",
player.c:		ch->exp, ch->pcdata->mkills, xIS_SET(ch->act, PLR_AUTOLOOT) ? 'X' : ' ');
player.c:	pager_printf_color(ch, "&CEXP  : &W%-9d        &CMana: &B%-5d &Cof &b%5d   &CMKills:  &W%5d    &CAutoLoot(&W%c&C)\n\r",
player.c:		ch->exp, ch->mana, ch->max_mana, ch->pcdata->mkills, xIS_SET(ch->act, PLR_AUTOLOOT) ? 'X' : ' ');
player.c:    pager_printf_color(ch, "&CGOLD : &Y%-10d       &CMove: &W%-5d &Cof &w%5d   &CMdeaths: &W%5d    &CAutoSac (&W%c&C)\n\r",
player.c:	ch->gold, ch->move, ch->max_move, ch->pcdata->mdeaths, xIS_SET(ch->act, PLR_AUTOSAC) ? 'X' : ' ');
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_THIRST] == 0)
player.c:    if (!IS_NPC(ch) && ch->pcdata->condition[COND_FULL] == 0)
player.c:    if ( ch->position != POS_SLEEPING )
player.c:	switch( ch->mental_state / 10 )
player.c:	    case -10:  send_to_pager( "You're barely conscious.\n\r", ch );	break;
player.c:	    case  -9:  send_to_pager( "You can barely keep your eyes open.\n\r", ch );	break;
player.c:	    case  -8:  send_to_pager( "You're extremely drowsy.\n\r", ch );	break;
player.c:	    case  -7:  send_to_pager( "You feel very unmotivated.\n\r", ch );	break;
player.c:	    case  -6:  send_to_pager( "You feel sedated.\n\r", ch );		break;
player.c:	    case  -5:  send_to_pager( "You feel sleepy.\n\r", ch );		break;
player.c:	    case  -4:  send_to_pager( "You feel tired.\n\r", ch );		break;
player.c:	    case  -3:  send_to_pager( "You could use a rest.\n\r", ch );		break;
player.c:	    case  -2:  send_to_pager( "You feel a little under the weather.\n\r", ch );	break;
player.c:	    case  -1:  send_to_pager( "You feel fine.\n\r", ch );		break;
player.c:    if ( ch->mental_state >45 )
player.c:    if ( ch->mental_state >25 )
player.c:    if ( ch->mental_state <-35 )
player.c:    if ( ch->mental_state <-25 )
player.c:	||  (IS_NPC(ch) && ch->speaks == 0) )
player.c:	    if ( lang_array[iLang] & ch->speaking
player.c:	    ||  (IS_NPC(ch) && !ch->speaking) )
player.c:    if ( ch->pcdata->bestowments && ch->pcdata->bestowments[0] != '\0' )
player.c:		ch->pcdata->bestowments );
player.c:    if ( ch->morph && ch->morph->morph )
player.c:      send_to_pager_color("&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:                ch->morph->morph->vnum, ch->morph->morph->short_desc, 
player.c:		ch->morph->timer
player.c:                ch->morph->morph->short_desc );
player.c:      send_to_pager_color("&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:	send_to_pager_color("&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:		ch->pcdata->pkills, ch->pcdata->illegal_pk, ch->pcdata->pdeaths );
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type != CLAN_ORDER  && ch->pcdata->clan->clan_type != CLAN_GUILD )
player.c:	send_to_pager_color( "&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:	pager_printf_color(ch, "&CCLAN STATS:  &W%-14.14s  &CClan AvPkills : &W%-5d  &CClan NonAvpkills : &W%-5d\n\r",
player.c:		ch->pcdata->clan->name, ch->pcdata->clan->pkills[5],
player.c:		(ch->pcdata->clan->pkills[0]+ch->pcdata->clan->pkills[1]+
player.c:		 ch->pcdata->clan->pkills[2]+ch->pcdata->clan->pkills[3]+
player.c:		 ch->pcdata->clan->pkills[4]) );
player.c:        pager_printf_color(ch, "&C                             Clan AvPdeaths: &W%-5d  &CClan NonAvpdeaths: &W%-5d\n\r",
player.c:		ch->pcdata->clan->pdeaths[5],
player.c:		( ch->pcdata->clan->pdeaths[0] + ch->pcdata->clan->pdeaths[1] +
player.c:		  ch->pcdata->clan->pdeaths[2] + ch->pcdata->clan->pdeaths[3] +
player.c:		  ch->pcdata->clan->pdeaths[4] ) );
player.c:    if (ch->pcdata->deity)
player.c:	send_to_pager_color( "&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:	if (ch->pcdata->favor > 2250)
player.c:	else if (ch->pcdata->favor > 2000)
player.c:	else if (ch->pcdata->favor > 1750)
player.c:	else if (ch->pcdata->favor > 1500)
player.c:	else if (ch->pcdata->favor > 1250)
player.c:	else if (ch->pcdata->favor > 1000)
player.c:	else if (ch->pcdata->favor > 750)
player.c:	else if (ch->pcdata->favor > 250)
player.c:	else if (ch->pcdata->favor > -250)
player.c:	else if (ch->pcdata->favor > -750)
player.c:	else if (ch->pcdata->favor > -1000)
player.c:	else if (ch->pcdata->favor > -1250)
player.c:	else if (ch->pcdata->favor > -1500)
player.c:	else if (ch->pcdata->favor > -1750)
player.c:	else if (ch->pcdata->favor > -2000)
player.c:	else if (ch->pcdata->favor > -2250)
player.c:	pager_printf_color(ch, "&CDeity:  &W%-20s &CFavor:  &W%s&C\n\r", ch->pcdata->deity->name, buf );
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type == CLAN_ORDER )
player.c:        send_to_pager_color( "&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:	pager_printf_color(ch, "&COrder:  &W%-20s  &COrder Mkills:  &W%-6d   &COrder MDeaths:  &W%-6d\n\r",
player.c:		ch->pcdata->clan->name, ch->pcdata->clan->mkills, ch->pcdata->clan->mdeaths);
player.c:    if (ch->pcdata->clan && ch->pcdata->clan->clan_type == CLAN_GUILD )
player.c:        send_to_pager_color( "&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:        pager_printf_color(ch, "&CGuild:  &W%-20s  &CGuild Mkills:  &W%-6d   &CGuild MDeaths:  &W%-6d\n\r",
player.c:                ch->pcdata->clan->name, ch->pcdata->clan->mkills, ch->pcdata->clan->mdeaths);
player.c:    if (ch->first_affect && !str_cmp( arg, "affects" ) )
player.c:	send_to_pager_color( "&W----------------------------------------------------------------------------&C\n\r", ch);
player.c:	for (paf = ch->first_affect; paf; paf = paf->next)
player.c:	    if ( (sktmp=get_skilltype(paf->type)) == NULL )
player.c:	    if (ch->level < 20)
player.c:		pager_printf_color(ch, "&C[&W%-34.34s&C]    ", sktmp->name);
player.c:	     if (ch->level >= 20)
player.c:		if (paf->modifier == 0)
player.c:		    pager_printf_color(ch, "&C[&W%-24.24s;%5d &Crds]    ",
player.c:			sktmp->name,
player.c:			paf->duration);
player.c:		if (paf->modifier > 999)
player.c:		    pager_printf_color(ch, "&C[&W%-15.15s; %7.7s;%5d &Crds]    ",
player.c:			sktmp->name,
player.c:			tiny_affect_loc_name(paf->location),
player.c:			paf->duration);
player.c:		    pager_printf_color(ch, "&C[&W%-11.11s;%+-3.3d %7.7s;%5d &Crds]    ",
player.c:			sktmp->name,
player.c:			paf->modifier,
player.c:			tiny_affect_loc_name(paf->location),
player.c:			paf->duration);
player.c:// Merely eye-candy, but why not? -- Kratas
player.c:        if( (x-ex_amount) % 3 == 0 && x > 0 )
player.c:    sprintf( extrabuf, "%s ", ch->pcdata->extraname );
player.c:    sprintf( buf+strlen(buf), "%s%s%s\n\r", (ch->pcdata->extraname[0] != '\0')
player.c:             ? extrabuf : "", ch->name, ch->pcdata->title );
player.c:    sprintf( buf+strlen(buf), "&gLevel &W:&w &B%-4d         &gRace     &W:&w &B%-13s&gClass   &W:&w &B%s\n\r",
player.c:             ch->level, get_race(ch), capitalize(get_class(ch)) );
player.c:    if( ch->level2 != -1 )
player.c:        sprintf( buf+strlen(buf), "&gLevel2&W:&w &B%-4d                                 &gClass2  &W:&w &B%s\n\r",
player.c:                 ch->level2, capitalize(get_class2(ch)) );
player.c:    sprintf( buf+strlen(buf), "&gAge   &W:&w &B%-4d         &gHitroll  &W:&w &B%-3d          &gDamroll &W:&w &B%d\n\r",
player.c:    sprintf( buf+strlen(buf), "&gStr   &W:&w &B%-2d&W(&b%-2d&W)       &gInt      &W:&w &B%-2d&W(&b%-2d&W)       &gWis     &W:&w &B%-2d&W(&b%-2d&W)\n\r",
player.c:             get_curr_str(ch), ch->perm_str, get_curr_int(ch), ch->perm_int,
player.c:             get_curr_wis(ch), ch->perm_wis );
player.c:    sprintf( buf+strlen(buf), "&gDex   &W:&w &B%-2d&W(&b%-2d&W)       &gCon      &W:&w &B%-2d&W(&b%-2d&W)       &gCha     &W:&w &B%-2d&W(&b%-2d&W)\n\r",
player.c:             get_curr_dex(ch), ch->perm_dex, get_curr_con(ch), ch->perm_con,
player.c:             get_curr_cha(ch), ch->perm_cha );
player.c:    sprintf( buf+strlen(buf), "&gLuck  &W:&w &B%-2d&W(&b%-2d&W)       &gPractices&W:&w &B%-4d         &gPlayed  &W:&w &B%ld&w &ghours&w\n\r\n\r",
player.c:             get_curr_lck(ch), ch->perm_lck, ch->practice, ((ch->played + (current_time - ch->logon)) / 3600) );
player.c:    sprintf( buf+strlen(buf), "&gExperience&W:&w &B%-11s ",
player.c:             in_comma(ch->exp) );
player.c:    sprintf( buf+strlen(buf), "&W(&b%s TNL&W)&w\n\r", in_comma(exp_level(ch, ch->level+1) - ch->exp) );
player.c:    if (ch->alignment > 900)
player.c:    else if (ch->alignment > 700)
player.c:    else if (ch->alignment > 350)
player.c:    else if (ch->alignment > 100)
player.c:    else if (ch->alignment > -100)
player.c:    else if (ch->alignment > -350)
player.c:    else if (ch->alignment > -700)
player.c:    else if (ch->alignment > -900)
player.c:    sprintf( buf+strlen(buf), "&gAlign&W:&w &B%-4d &W(&G%-9s&W)    &gAC&W:&w &B%-4d         ",
player.c:             ch->alignment, extrabuf, GET_AC(ch) );
player.c:    switch (ch->position)
player.c:        strcpy(extrabuf, "Fighting (evasive)");   /* Fighting style support -haus */
player.c:    sprintf( buf+strlen(buf), "&OGold&W:&w &Y%s&w with ", in_comma(ch->gold) );
player.c:    sprintf( buf+strlen(buf), "&Y%s&w in the bank.\n\r\n\r", in_comma(ch->pcdata->balance) );
player.c:    sprintf( buf+strlen(buf), "&rHitpoints&w: %-8d &rof&w %-8d\n\r", ch->hit, ch->max_hit );
player.c:    sprintf( buf+strlen(buf), "&b     Mana&w: %-8d &bof&w %-8d\n\r", ch->mana, ch->max_mana );
player.c:    sprintf( buf+strlen(buf), "&O     Move&w: %-8d &Oof&w %-8d\n\r\n\r", ch->move, ch->max_move );
player.c:        if( ch->pcdata->area )
player.c:                     IS_SET( ch->pcdata->area->status, AREA_LOADED ) ? "is" : "is not" );
player.c:                     xIS_SET(ch->act, PLR_WIZINVIS) ? "are" : "are not" );
player.c:                     ch->pcdata->wizinvis );
player.c:            if( ch->pcdata->bamfin[0] == '\0' )
player.c:                sprintf( buf+strlen(buf), "&CBamfin &W:&w %s appears in a swirling mist.\n\r", ch->name );
player.c:                sprintf( buf+strlen(buf), "&CBamfin &W:&w %s\n\r", ch->pcdata->bamfin );
player.c:            if( ch->pcdata->bamfout[0] == '\0' )
player.c:                sprintf( buf+strlen(buf), "&CBamfout&W:&w %s appears in a swirling mist.\n\r", ch->name );
player.c:                sprintf( buf+strlen(buf), "&CBamfout&W:&w %s\n\r", ch->pcdata->bamfout );
player.c:            sprintf( buf+strlen(buf), "Rooms: (&C%-5.5d&w - &C%-5.5d&w)    Objects: (&C%-5.5d&w - &C%-5.5d&w)    Mobs: (&C%-5.5d&w - &C%-5.5d&w)\n\r",
player.c:                 ch->pcdata->area->low_r_vnum, ch->pcdata->area->hi_r_vnum,
player.c:                     ch->pcdata->area->low_o_vnum, ch->pcdata->area->hi_o_vnum,
player.c:                     ch->pcdata->area->low_m_vnum, ch->pcdata->area->hi_m_vnum);
player.c:                     xIS_SET(ch->act, PLR_WIZINVIS) ? "are" : "are not" );
player.c:                     ch->pcdata->wizinvis );
player.c:            if( ch->pcdata->bamfin[0] == '\0' )
player.c:                sprintf( buf+strlen(buf), "&CBamfin &W:&w %s appears in a swirling mist.\n\r", ch->name );
player.c:                sprintf( buf+strlen(buf), "&CBamfin &W:&w %s\n\r", ch->pcdata->bamfin );
player.c:            if( ch->pcdata->bamfout[0] == '\0' )
player.c:                sprintf( buf+strlen(buf), "&CBamfout&W:&w %s appears in a swirling mist.\n\r", ch->name );
player.c:                sprintf( buf+strlen(buf), "&CBamfout&W:&w %s\n\r", ch->pcdata->bamfout );
player.c:    if ( ch->class < MAX_NPC_CLASS && ch->class >= 0)
player.c:	return ( npc_class[ch->class] );
player.c:/* Returns second class -- Kratas */
player.c:    if ( ch->class2 < MAX_NPC_CLASS && ch->class2 >= 0)
player.c:	return ( npc_class[ch->class2] );
player.c:    if(  ch->race < MAX_RACE  && ch->race >= 0)
player.c:        return (race_table[ch->race]->race_name);
player.c:    if ( ch->race < MAX_NPC_RACE && ch->race >= 0)
player.c:	return ( npc_race[ch->race] );
player.c:	ch->name,
player.c:	IS_NPC(ch) ? "" : ch->pcdata->title,
player.c:	ch->level,
player.c:	(get_age(ch) - 17) * 2 );
player.c:    if ( get_trust( ch ) != ch->level )
player.c:    if (  IS_NPC(ch) && xIS_SET(ch->act, ACT_MOBINVIS) )
player.c:            ch->mobinvis);
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->pcdata->condition[COND_BLOODTHIRST], 10 + ch->level,
player.c:	ch->move, ch->max_move,
player.c:	ch->practice );
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->mana, ch->max_mana,
player.c:	ch->move, ch->max_move,
player.c:	ch->practice );
player.c:	ch->carry_number, can_carry_n(ch),
player.c:	ch->carry_weight, can_carry_w(ch) );
player.c:	ch->exp,  ch->gold );
player.c:	ch->pcdata->quest_accum, ch->pcdata->quest_curr );
player.c:	(!IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOEXIT)) ? "yes" : "no",
player.c:	(!IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOLOOT)) ? "yes" : "no",
player.c:	(!IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOSAC) ) ? "yes" : "no",
player.c:  	(!IS_NPC(ch) && xIS_SET(ch->act, PLR_AUTOGOLD)) ? "yes" : "no" );
player.c:    pager_printf( ch, "Wimpy set to %d hit points.\n\r", ch->wimpy );
player.c:       if ( ch->pcdata->condition[COND_DRUNK]   > 10 )
player.c:       if ( ch->pcdata->condition[COND_THIRST] ==  0 )
player.c:       if ( ch->pcdata->condition[COND_FULL]   ==  0 )
player.c:    switch( ch->mental_state / 10 )
player.c:        case -10:  send_to_pager( "You're barely conscious.\n\r", ch ); break;
player.c:        case  -9:  send_to_pager( "You can barely keep your eyes open.\n\r", ch ); break;
player.c:        case  -8:  send_to_pager( "You're extremely drowsy.\n\r", ch ); break;
player.c:        case  -7:  send_to_pager( "You feel very unmotivated.\n\r", ch ); break;
player.c:        case  -6:  send_to_pager( "You feel sedated.\n\r", ch ); break;
player.c:        case  -5:  send_to_pager( "You feel sleepy.\n\r", ch ); break;
player.c:        case  -4:  send_to_pager( "You feel tired.\n\r", ch ); break;
player.c:        case  -3:  send_to_pager( "You could use a rest.\n\r", ch ); break;
player.c:        case  -2:  send_to_pager( "You feel a little under the weather.\n\r", ch ); break;
player.c:        case  -1:  send_to_pager( "You feel fine.\n\r", ch ); break;
player.c:    switch ( ch->position )
player.c:    if ( ch->level >= 25 )
player.c:    else if ( GET_AC(ch) >= - 20 ) send_to_pager( "well armored.\n\r",     ch );
player.c:    else if ( GET_AC(ch) >= - 40 ) send_to_pager( "strongly armored.\n\r", ch );
player.c:    else if ( GET_AC(ch) >= - 60 ) send_to_pager( "heavily armored.\n\r",  ch );
player.c:    else if ( GET_AC(ch) >= - 80 ) send_to_pager( "superbly armored.\n\r", ch );
player.c:    else if ( GET_AC(ch) >= -100 ) send_to_pager( "divinely armored.\n\r", 
player.c:    if ( ch->level >= 15
player.c:    if ( ch->level >= 10 )
player.c:	pager_printf( ch, "Alignment: %d.  ", ch->alignment );
player.c:	 if ( ch->alignment >  900 ) send_to_pager( "angelic.\n\r", ch );
player.c:    else if ( ch->alignment >  700 ) send_to_pager( "saintly.\n\r", ch );
player.c:    else if ( ch->alignment >  350 ) send_to_pager( "good.\n\r",    ch );
player.c:    else if ( ch->alignment >  100 ) send_to_pager( "kind.\n\r",    ch );
player.c:    else if ( ch->alignment > -100 ) send_to_pager( "neutral.\n\r", ch );
player.c:    else if ( ch->alignment > -350 ) send_to_pager( "mean.\n\r",    ch );
player.c:    else if ( ch->alignment > -700 ) send_to_pager( "evil.\n\r",    ch );
player.c:    else if ( ch->alignment > -900 ) send_to_pager( "demonic.\n\r", ch );
player.c:    if ( ch->first_affect )
player.c:	for ( paf = ch->first_affect; paf; paf = paf->next )
player.c:	    if ( (skill=get_skilltype(paf->type)) != NULL )
player.c:	    pager_printf( ch, "Spell: '%s'", skill->name );
player.c:	    if ( ch->level >= 20 )
player.c:		    affect_loc_name( paf->location ),
player.c:		    paf->modifier,
player.c:		    paf->duration );
player.c:			ch->pcdata->wizinvis,
player.c:			xIS_SET(ch->act, PLR_WIZINVIS) ? "ON" : "OFF" );
player.c:	if ( ch->pcdata->r_range_lo && ch->pcdata->r_range_hi )
player.c:	  pager_printf( ch, "Room Range: %d - %d\n\r", ch->pcdata->r_range_lo,
player.c:					 	   ch->pcdata->r_range_hi	);
player.c:	if ( ch->pcdata->o_range_lo && ch->pcdata->o_range_hi )
player.c:	  pager_printf( ch, "Obj Range : %d - %d\n\r", ch->pcdata->o_range_lo,
player.c:	  					   ch->pcdata->o_range_hi	);
player.c:	if ( ch->pcdata->m_range_lo && ch->pcdata->m_range_hi )
player.c:	  pager_printf( ch, "Mob Range : %d - %d\n\r", ch->pcdata->m_range_lo,
player.c:	  					   ch->pcdata->m_range_hi	);
player.c:/*								-Thoric
player.c:    if ( ch->level == 1 )
player.c:      lowlvl = UMAX( 2, ch->level - 5 );
player.c:    hilvl = URANGE( ch->level, ch->level + 5, MAX_LEVEL );
player.c:    sprintf( buf, " exp  (You have: %14s)", in_comma(ch->exp) );
player.c:    sprintf( buf2," exp  (To level: %14s)", in_comma(exp_level(ch, ch->level+1) - ch->exp) );
player.c:		(x == ch->level) ? buf : (x == ch->level+1) ? buf2 : " exp" );
player.c:    if ( !ch->pcdata->deity ) {
player.c:    if ( ch->pcdata->favor < ch->level*2 ) {
player.c:    pager_printf( ch, "%s appears in a vision, revealing that your remains... ", ch->pcdata->deity->name );
player.c:    sprintf( buf, "the corpse of %s", ch->name );
player.c:    for ( obj = first_object; obj; obj = obj->next ) {
player.c:      if ( obj->in_room && !str_cmp( buf, obj->short_descr )
player.c:      && ( obj->pIndexData->vnum == 11 ) ) {
player.c:        pager_printf( ch, "\n\r  - at %s will endure for %d ticks",
player.c:          obj->in_room->name,
player.c:          obj->timer );
player.c:      ch->pcdata->favor -= ch->level*2;
player.c:/* Affects-at-a-glance, Blodkai */
player.c:	  !xIS_EMPTY(ch->affected_by) ? affect_bit_name( &ch->affected_by ) : "nothing" );
player.c:        if ( ch->level >= 20 )
player.c:            if ( ch->resistant > 0 )
player.c:                ch_printf_color( ch, "&C%s\n\r", flag_string(ch->resistant, ris_flags) );
player.c:            if ( ch->immune > 0 )
player.c:                ch_printf_color( ch, "&C%s\n\r",  flag_string(ch->immune, ris_flags) );
player.c:            if ( ch->susceptible > 0 )
player.c:                ch_printf_color( ch, "&C%s\n\r", flag_string(ch->susceptible, ris_flags) );
player.c:    if ( !ch->first_affect )
player.c:        for (paf = ch->first_affect; paf; paf = paf->next)
player.c:	    if ( (skill=get_skilltype(paf->type)) != NULL )
player.c:            if ( ch->level >= 20
player.c:                if (paf->duration < 25 ) set_char_color( AT_WHITE, ch );
player.c:                if (paf->duration < 6  ) set_char_color( AT_WHITE + AT_BLINK, ch );
player.c:                ch_printf( ch, "(%5d)   ", paf->duration );
player.c:            ch_printf( ch, "%-18s\n\r", skill->name );
player.c:    show_list_to_char( ch->first_carrying, ch, TRUE, TRUE );
player.c:	for ( obj = ch->first_carrying; obj; obj = obj->next_content )
player.c:	   if ( obj->wear_loc == iWear )
player.c:                if( (!IS_NPC(ch)) && (ch->race>0) && (ch->race<MAX_RACE))
player.c:                    send_to_char(race_table[ch->race]->where_name[iWear], ch);
player.c:                    switch(obj->item_type)
player.c:                       cond = (int) ((10 * obj->value[0] / obj->value[1]) );
player.c:                       cond = (int) ((10* obj->value[0] / 12) );
player.c:                       cond = -1;
player.c:    STRFREE( ch->pcdata->title );
player.c:    ch->pcdata->title = STRALLOC( buf );
player.c:    STRFREE( ch->pcdata->extraname );
player.c:    ch->pcdata->extraname = STRALLOC( buf );
player.c:    STRFREE( ch->pcdata->lastname );
player.c:    ch->pcdata->lastname = STRALLOC( buf );
player.c:    if ( ch->level < 5 )
player.c:    if ( IS_SET( ch->pcdata->flags, PCFLAG_NOTITLE ))
player.c: /* This should be allowed to be blank, but if you don't like it uncomment here -- Scion
player.c:    if ( ch->level < 5 )
player.c:    if ( IS_SET( ch->pcdata->flags, PCFLAG_NOTITLE ))
player.c:/*  These should be allowed to be blank, but if you don't like it uncomment this -- Scion 
player.c:    if ( ch->level < 5 )
player.c:    if ( IS_SET( ch->pcdata->flags, PCFLAG_NOTITLE ))
player.c:/* Should be able to make these blank, but if you don't like it, uncomment this. -- Scion
player.c:    if ( ch->level < 5 )
player.c:	if ( !ch->pcdata->homepage )
player.c:	  ch->pcdata->homepage = str_dup( "" );
player.c:		show_tilde( ch->pcdata->homepage ) );
player.c:	if ( ch->pcdata->homepage )
player.c:	  DISPOSE(ch->pcdata->homepage);
player.c:	ch->pcdata->homepage = str_dup("");
player.c:    if ( ch->pcdata->homepage )
player.c:      DISPOSE(ch->pcdata->homepage);
player.c:    ch->pcdata->homepage = str_dup(buf);
player.c:    if ( ch->level < 5 )
player.c:	if ( !ch->pcdata->email )
player.c:	  ch->pcdata->email = str_dup( "" );
player.c:		show_tilde( ch->pcdata->email ) );
player.c:	if ( ch->pcdata->email )
player.c:	  DISPOSE(ch->pcdata->email);
player.c:	ch->pcdata->email = str_dup("");
player.c:    if ( ch->pcdata->email )
player.c:      DISPOSE(ch->pcdata->email);
player.c:    ch->pcdata->email = str_dup(buf);
player.c: * Set your personal description				-Thoric
player.c:    if ( !ch->desc )
player.c:    switch( ch->substate )
player.c:	   ch->substate = SUB_PERSONAL_DESC;
player.c:	   ch->dest_buf = ch;
player.c:	   start_editing( ch, ch->description );
player.c:	   STRFREE( ch->description );
player.c:	   ch->description = copy_buffer( ch );
player.c:/* Ripped off do_description for whois bio's -- Scryn*/
player.c:    if ( ch->level < 5 )
player.c:    if ( !ch->desc )
player.c:    switch( ch->substate )
player.c:	   ch->substate = SUB_PERSONAL_BIO;
player.c:	   ch->dest_buf = ch;
player.c:	   start_editing( ch, ch->pcdata->bio );
player.c:	   STRFREE( ch->pcdata->bio );
player.c:	   ch->pcdata->bio = copy_buffer( ch );
player.c: 		ch->hit,  ch->max_hit, ch->pcdata->condition[COND_BLOODTHIRST],
player.c:		 10 + ch->level, ch->move, ch->max_move, ch->exp   );
player.c: 		ch->hit,  ch->max_hit, ch->pcdata->condition[COND_BLOODTHIRST],
player.c:		 10 + ch->level, ch->move, ch->max_move, ch->exp   );
player.c: 		ch->hit,  ch->max_hit, ch->mana, ch->max_mana,
player.c: 		ch->move, ch->max_move, ch->exp   );
player.c: 		ch->hit,  ch->max_hit, ch->mana, ch->max_mana,
player.c: 		ch->move, ch->max_move, ch->exp   );
player.c:    ch_printf( ch, "Your base stats:    %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.\n\r",
player.c:      		ch->perm_str, ch->perm_wis, ch->perm_int, ch->perm_dex, 
player.c:		ch->perm_con, ch->perm_cha, ch->perm_lck );
player.c:    sprintf( buf, "$n's base stats:    %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.",
player.c:      		ch->perm_str, ch->perm_wis, ch->perm_int, ch->perm_dex, 
player.c:		ch->perm_con, ch->perm_cha, ch->perm_lck );
player.c:    ch_printf( ch, "Your current stats: %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.\n\r",
player.c:    sprintf( buf, "$n's current stats: %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.",
player.c: 		ch->hit,  ch->max_hit, ch->pcdata->condition[COND_BLOODTHIRST],
player.c:		 10 + ch->level, ch->move, ch->max_move, ch->exp   );
player.c: 		ch->hit,  ch->max_hit, ch->mana, ch->max_mana,
player.c: 		ch->move, ch->max_move, ch->exp   );
player.c:      ch_printf( ch, "Your base stats:    %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.\n\r",
player.c:      		ch->perm_str, ch->perm_wis, ch->perm_int, ch->perm_dex, 
player.c:		ch->perm_con, ch->perm_cha, ch->perm_lck );
player.c:      ch_printf( ch, "Your current stats: %-2d str %-2d wis %-2d int %-2d dex %-2d con %-2d cha %-2d lck.\n\r",
player.c:    if ( IS_NPC( ch ) && ch->fighting )
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->pcdata->condition[COND_BLOODTHIRST], 10 + ch->level,
player.c:	ch->move, ch->max_move,
player.c:	ch->exp   );
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->mana, ch->max_mana,
player.c:	ch->move, ch->max_move,
player.c:	ch->exp   );
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->pcdata->condition[COND_BLOODTHIRST], 10 + ch->level,
player.c:	ch->move, ch->max_move,
player.c:	ch->exp   );
player.c:	ch->hit,  ch->max_hit,
player.c:	ch->mana, ch->max_mana,
player.c:	ch->move, ch->max_move,
player.c:	ch->exp   );
player.c:    ch_printf( ch, "%s\n\r", !str_cmp( ch->pcdata->fprompt, "" ) ? "(default prompt)"
player.c:				 				: ch->pcdata->fprompt );
player.c:  ch_printf( ch, "%s\n\r", !str_cmp( ch->pcdata->fprompt, "" ) ? "(default prompt)"
player.c:							      : ch->pcdata->fprompt );
player.c:  if (ch->pcdata->fprompt)
player.c:    STRFREE(ch->pcdata->fprompt);
player.c:  /* Can add a list of pre-set prompts here if wanted.. perhaps
player.c:     'prompt 1' brings up a different, pre-set prompt */
player.c:    ch->pcdata->fprompt = STRALLOC("");
player.c:    ch->pcdata->fprompt = STRALLOC(argument);
player.c:    ch_printf( ch, "%s\n\r", !str_cmp( ch->pcdata->prompt, "" ) ? "(default prompt)"
player.c:				 				: ch->pcdata->prompt );
player.c:  ch_printf( ch, "%s\n\r", !str_cmp( ch->pcdata->prompt, "" ) ? "(default prompt)"
player.c:							      : ch->pcdata->prompt );
player.c:  if (ch->pcdata->prompt)
player.c:    STRFREE(ch->pcdata->prompt);
player.c:  /* Can add a list of pre-set prompts here if wanted.. perhaps
player.c:     'prompt 1' brings up a different, pre-set prompt */
player.c:    ch->pcdata->prompt = STRALLOC("");
player.c:    ch->pcdata->prompt = STRALLOC(argument);
player.c:    for( tmp = ch->in_room->first_person ; tmp ; tmp = tmp->next_in_room )
player.c:        if( IS_NPC( tmp ) && xIS_SET( tmp->act, ACT_TRAIN ) )
player.c: * -- Kratas
player.c:        sprintf( buf, "%-15s%-15s%-15s%-15s%-15s\n\r"
player.c:                      "%-15s%-15s%-15s%-15s%-15s\n\r",
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_STR) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_str + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_str++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_INT) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_int + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_int++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_WIS) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_wis + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_wis++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_DEX) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_dex + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_dex++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_CON) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_con + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_con++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_CHA) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_cha + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_cha++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        int max = (class_table[ch->class]->attr_prime == APPLY_LCK) ?
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        if( ch->perm_lck + 1 > max )
player.c:                     ch->name );
player.c:        ch->perm_lck++;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        ch->max_hit += 5;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        ch->max_mana += 5;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c:        if( ch->practice - 10 < 0 )
player.c:                     ch->name );
player.c:        ch->max_move += 5;
player.c:        ch->practice -= 10;
player.c:        sprintf( buf, "%s Enjoy!", ch->name );
player.c: *  --TRI
player.c:  int gold = ch->gold;
player.c:  //  int mgold = (ch->level * 2000000);
player.c:  //  int mgold = (ch->level * 100000);
player.c:  int tax = (ch->gold * .05);
player.c:                 ch->level, mgold );
player.c:                 tax, ch->gold );
player.c:                 (ch->gold - tax));
player.c:      ch->gold -= tax;
player.c:      int banktax = ch->pcdata->balance * .05;
player.c:      int balanceamount = ch->pcdata->balance;
player.c:                     banktax, balanceamount-banktax );
player.c:          balanceamount -= banktax;
player.c:          ch->pcdata->balance = balanceamount;
polymorph.c: * -----------------------------------------------------------|   (0...0)   *
polymorph.c: * -----------------------------------------------------------|    {o o}    *
polymorph.c: *------------------------------------------------------------------------  *
polymorph.c: *  be taken when using these.  --Shaddai
polymorph.c:  if (!ch->desc)
polymorph.c:  switch( ch->substate )
polymorph.c:          if ( !ch->dest_buf )
polymorph.c:                bug( "do_morphset: sub_morph_desc: NULL ch->dest_buf", 0 );
polymorph.c:                ch->substate = SUB_NONE;
polymorph.c:          morph = ch->dest_buf;
polymorph.c:          STRFREE( morph->description );
polymorph.c:          morph->description = copy_buffer( ch );
polymorph.c:          ch->substate = ch->tempnum;
polymorph.c:          if ( ch->substate == SUB_REPEATCMD )
polymorph.c:	      ch->dest_buf = morph;
polymorph.c:          if ( !ch->dest_buf )
polymorph.c:                bug( "do_morphset: sub_morph_help: NULL ch->dest_buf", 0 );
polymorph.c:                ch->substate = SUB_NONE;
polymorph.c:          morph = ch->dest_buf;
polymorph.c:          STRFREE( morph->help );
polymorph.c:          morph->help = copy_buffer( ch );
polymorph.c:          ch->substate = ch->tempnum;
polymorph.c:          if ( ch->substate == SUB_REPEATCMD )
polymorph.c:	      ch->dest_buf = morph;
polymorph.c:  if ( ch->substate == SUB_REPEATCMD )
polymorph.c:        morph = ch->dest_buf;
polymorph.c:		do_morphstat( ch, morph->name );
polymorph.c:		strcpy ( buf, morph->name );
polymorph.c:          ch->substate = SUB_NONE;
polymorph.c:          ch->dest_buf = NULL;
polymorph.c:          if (ch->pcdata && ch->pcdata->subprompt) {
polymorph.c:            STRFREE (ch->pcdata->subprompt);
polymorph.c:            ch->pcdata->subprompt = NULL;
polymorph.c:      strcpy (arg1, morph->name);
polymorph.c:  value = is_number( arg3 ) ? atoi( arg3 ) : -1;
polymorph.c:  if ( atoi(arg3) < -1 && value == -1 )
polymorph.c:  if ( ch->substate != SUB_REPEATCMD && arg1[0] != '\0' &&
polymorph.c:  if (arg1[0] == '\0' || (arg2[0] == '\0' && ch->substate != SUB_REPEATCMD)
polymorph.c:      if (ch->substate == SUB_REPEATCMD)
polymorph.c:      send_to_char_color ("&c-------------------------------------------------\n\r",ch);
polymorph.c:      send_to_char_color ("&c-------------------------------------------------\n\r",ch);
polymorph.c:                   morph->name);
polymorph.c:        ch->substate = SUB_REPEATCMD;
polymorph.c:        ch->dest_buf = morph;
polymorph.c:        if (ch->pcdata)
polymorph.c:            if (ch->pcdata->subprompt) {
polymorph.c:              STRFREE (ch->pcdata->subprompt);
polymorph.c:              ch->pcdata->subprompt = NULL;
polymorph.c:            sprintf (buf, "<&CMorphset &W%s&w> %%i", morph->name);
polymorph.c:            ch->pcdata->subprompt = STRALLOC (buf);
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Strength must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->str = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Intelligence must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->inte = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Wisdom must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->wis = value;
polymorph.c:      morph->defpos = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Dexterity must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->dex = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Constitution must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->con = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Charisma must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->cha = value;
polymorph.c:	if ( value < -10 || value > 10 )
polymorph.c:		send_to_char("Luck must be a value from -10 to 10.\n\r",ch);
polymorph.c:	morph->lck = value;
polymorph.c:	morph->sex = value;
polymorph.c:		morph->pkill = ONLY_PKILL;
polymorph.c:		morph->pkill = ONLY_PEACEFULL;
polymorph.c:		morph->pkill = 0;
polymorph.c:	morph->bloodused = value;
polymorph.c:	morph->manaused = value;
polymorph.c:	morph->moveused = value;
polymorph.c:	morph->hpused = value;
polymorph.c:	morph->favourused = value;
polymorph.c:	morph->gloryused = value;
polymorph.c:	morph->timeto = value;
polymorph.c:	morph->timefrom = value;
polymorph.c:	morph->dayto = value;
polymorph.c:	morph->dayfrom = value;
polymorph.c:        if (value < -30 || value > 30)
polymorph.c:          send_to_char ("Saving throw range is -30 to 30.\n\r", ch);
polymorph.c:	morph->saving_poison_death = value;
polymorph.c:        if (value < -30 || value > 30)
polymorph.c:          send_to_char ("Saving throw range is -30 to 30.\n\r", ch);
polymorph.c:	morph->saving_wand = value;
polymorph.c:        if (value < -30 || value > 30)
polymorph.c:          send_to_char ("Saving throw range is -30 to 30.\n\r", ch);
polymorph.c:	morph->saving_para_petri = value;
polymorph.c:        if (value < -30 || value > 30)
polymorph.c:          send_to_char ("Saving throw range is -30 to 30.\n\r", ch);
polymorph.c:	morph->saving_breath = value;
polymorph.c:        if (value < -30 || value > 30)
polymorph.c:          send_to_char ("Saving throw range is -30 to 30.\n\r", ch);
polymorph.c:	morph->saving_spell_staff = value;
polymorph.c:	if ( value < -1 || value == 0 )
polymorph.c:	  send_to_char ("Timer must be -1 (None) or greater than 0.\n\r", ch);
polymorph.c:	morph->timer = value;
polymorph.c:	morph->hit = str_dup( arg3 );
polymorph.c:	morph->mana = str_dup( arg3 );
polymorph.c:	morph->move = str_dup( arg3 );
polymorph.c:	morph->blood = str_dup( arg3 );
polymorph.c:	if ( value > 500 || value < -500 )
polymorph.c:	  send_to_char("Ac range is -500 to 500.\n\r", ch);
polymorph.c:	morph->ac = value;
polymorph.c:	morph->hitroll = str_dup( arg3 );
polymorph.c:	morph->damroll = str_dup( arg3 );
polymorph.c:	if ( value > 100 || value < -100 )
polymorph.c:	  send_to_char ("Dodge range is -100 to 100.\n\r", ch );
polymorph.c:	morph->dodge = value;
polymorph.c: 	morph->obj[index-1] = value; 
polymorph.c:	if ( value > 100 || value < -100 )
polymorph.c:	  send_to_char ("Dodge range is -100 to 100.\n\r", ch );
polymorph.c:	morph->parry = value;
polymorph.c:	if ( value > 100 || value < -100 )
polymorph.c:	  send_to_char ("Dodge range is -100 to 100.\n\r", ch );
polymorph.c:	morph->tumble = value;
polymorph.c:	morph->level = value;
polymorph.c:		morph->objuse[index-1] = TRUE;
polymorph.c:		morph->objuse[index-1] = FALSE;
polymorph.c:		morph->no_cast = TRUE;
polymorph.c:		morph->no_cast = FALSE;
polymorph.c:                TOGGLE_BIT( morph->resistant, 1 << value );
polymorph.c:                TOGGLE_BIT( morph->suscept, 1 << value );
polymorph.c:                TOGGLE_BIT( morph->immune, 1 << value );
polymorph.c:                TOGGLE_BIT( morph->no_resistant, 1 << value );
polymorph.c:                TOGGLE_BIT( morph->no_suscept, 1 << value );
polymorph.c:                TOGGLE_BIT( morph->no_immune, 1 << value );
polymorph.c:             xTOGGLE_BIT( morph->affected_by, value );
polymorph.c:             xTOGGLE_BIT( morph->no_affected_by, value );
polymorph.c:        STRFREE( morph->short_desc );
polymorph.c:        morph->short_desc = STRALLOC( arg3 );
polymorph.c:	STRFREE( morph->morph_other );
polymorph.c:	morph->morph_other = STRALLOC( arg3 );
polymorph.c:	STRFREE( morph->morph_self );
polymorph.c:	morph->morph_self = STRALLOC( arg3 );
polymorph.c:	STRFREE( morph->unmorph_other );
polymorph.c:	morph->unmorph_other = STRALLOC( arg3 );
polymorph.c:	STRFREE( morph->unmorph_self );
polymorph.c:	morph->unmorph_self = STRALLOC( arg3 );
polymorph.c:	STRFREE( morph->key_words );
polymorph.c:	morph->key_words = STRALLOC( arg3 );
polymorph.c:        STRFREE( morph->long_desc );
polymorph.c:        morph->long_desc = STRALLOC( buf );
polymorph.c:           STRFREE( morph->description );
polymorph.c:           morph->description = STRALLOC( arg3 );
polymorph.c:        if ( ch->substate == SUB_REPEATCMD )
polymorph.c:          ch->tempnum = SUB_REPEATCMD;
polymorph.c:          ch->tempnum = SUB_NONE;
polymorph.c:        ch->substate = SUB_MORPH_DESC;
polymorph.c:        ch->dest_buf = morph;
polymorph.c:        start_editing( ch, morph->description );
polymorph.c:        STRFREE( morph->name );
polymorph.c:        morph->name = STRALLOC( arg3 );
polymorph.c:           STRFREE( morph->help );
polymorph.c:           morph->help = STRALLOC( arg3 );
polymorph.c:        if ( ch->substate == SUB_REPEATCMD )
polymorph.c:          ch->tempnum = SUB_REPEATCMD;
polymorph.c:          ch->tempnum = SUB_NONE;
polymorph.c:        ch->substate = SUB_MORPH_HELP;
polymorph.c:        ch->dest_buf = morph;
polymorph.c:        start_editing( ch, morph->help );
polymorph.c:	if ( !morph->skills )
polymorph.c:		morph->skills = str_dup ("");
polymorph.c:		DISPOSE ( morph->skills );
polymorph.c:		morph->skills = str_dup ("");
polymorph.c:	sprintf ( buf, "%s %s", morph->skills, arg3 );
polymorph.c:	DISPOSE ( morph->skills );
polymorph.c:	morph->skills = str_dup ( buf );
polymorph.c:	if ( !morph->no_skills )
polymorph.c:		morph->no_skills = str_dup ("");
polymorph.c:		DISPOSE ( morph->no_skills );
polymorph.c:		morph->no_skills = str_dup ("");
polymorph.c:	sprintf ( buf, "%s %s", morph->no_skills, arg3 );
polymorph.c:	DISPOSE ( morph->no_skills );
polymorph.c:	morph->no_skills = str_dup ( buf );
polymorph.c:	    if ( !str_cmp ( class_table[i]->who_name, arg3 ) )
polymorph.c:        TOGGLE_BIT ( morph->class, ( 1 << value) );
polymorph.c:          ch_printf (ch, "Race range is 0 to %d.\n", MAX_RACE - 1);
polymorph.c:        TOGGLE_BIT ( morph->race, ( 1 << value) );
polymorph.c:   else if ( ch->substate == SUB_REPEATCMD )
polymorph.c:        ch->substate = SUB_RESTRICTED;
polymorph.c:        ch->substate = SUB_REPEATCMD;
polymorph.c:        ch->last_cmd = do_morphset;
polymorph.c:	for ( morph = morph_start; morph; morph = morph->next )
polymorph.c:	  pager_printf_color ( ch, "&c[&C%2d&c]   Name:  &C%-13s    &cVnum:  &C%4d  &cUsed:  &C%3d\n\r",
polymorph.c:		count, morph->name, morph->vnum, morph->used );
polymorph.c:	pager_printf_color (ch, "  &cMorph Name: &C%-20s  Vnum: %4d\n\r", morph->name, morph->vnum );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:		class_string (morph->class) );
polymorph.c:		race_string (morph->race) );
polymorph.c:        	morph->sex == SEX_MALE    ? "male"   :
polymorph.c:        	morph->sex == SEX_FEMALE  ? "female" : "neutral",
polymorph.c:		morph->pkill == ONLY_PKILL ? "YES"   :
polymorph.c:		morph->pkill == ONLY_PEACEFULL ? "NO" : "n/a",
polymorph.c:		morph->timefrom, morph->timeto );
polymorph.c:		morph->dayfrom, morph->dayto );
polymorph.c:                morph->level, (morph->no_cast)?"NO":"yes" );
polymorph.c:		morph->manaused, morph->moveused, morph->hpused,
polymorph.c:		morph->favourused, morph->gloryused );
polymorph.c:		morph->bloodused );
polymorph.c:		morph->obj[0], (morph->objuse[0]?"YES":"no"),
polymorph.c:		morph->obj[1], (morph->objuse[1]?"YES":"no"),
polymorph.c:		morph->obj[2], (morph->objuse[2]?"YES":"no"));
polymorph.c:	pager_printf_color (ch, "  &cTimer: &w%d\n\r", morph->timer );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:		morph->str, morph->inte, morph->wis, morph->dex, morph->con, 
polymorph.c:		morph->cha, morph->lck );
polymorph.c:		morph->saving_poison_death, morph->saving_wand,
polymorph.c:		morph->saving_para_petri, morph->saving_breath,
polymorph.c:		morph->saving_spell_staff, morph->dodge, morph->parry,
polymorph.c:		morph->tumble );
polymorph.c:		morph->hit, morph->blood, morph->mana, morph->move );
polymorph.c:		morph->damroll, morph->hitroll, morph->ac );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:			affect_bit_name ( &morph->affected_by) );
polymorph.c:			flag_string ( morph->immune, ris_flags ) );
polymorph.c:			flag_string ( morph->suscept, ris_flags ) );
polymorph.c:			flag_string ( morph->resistant, ris_flags ) );
polymorph.c:	pager_printf_color (ch, "  &cSkills     : &w%s\n\r", morph->skills );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:			affect_bit_name ( &morph->no_affected_by) );
polymorph.c:			flag_string ( morph->no_immune, ris_flags ) );
polymorph.c:			flag_string ( morph->no_suscept, ris_flags ) );
polymorph.c:			flag_string ( morph->no_resistant, ris_flags ) );
polymorph.c:			morph->no_skills);
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	pager_printf_color(ch,"  &cMorph Name  : &C%-20s\n\r", morph->name );
polymorph.c:	pager_printf_color(ch,"  &cDefault Pos : &w%d\n\r",  morph->defpos );
polymorph.c:	pager_printf_color(ch,"  &cKeywords    : &w%s\n\r",morph->key_words );
polymorph.c:	        (morph->short_desc[0] == '\0')?"(none set)":morph->short_desc );
polymorph.c:		(morph->long_desc[0] == '\0')?"(none set)\n\r":
polymorph.c:	        morph->long_desc );
polymorph.c:	pager_printf_color(ch,"  &cMorphself   : &w%s\n\r",morph->morph_self );
polymorph.c:	pager_printf_color(ch,"  &cMorphother  : &w%s\n\r",morph->morph_other );
polymorph.c:	pager_printf_color(ch,"  &cUnMorphself : &w%s\n\r",morph->unmorph_self);
polymorph.c:	pager_printf_color(ch,"  &cUnMorphother: &w%s\n\r",morph->unmorph_other);
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	pager_printf_color (ch, "                                  &cHelp:\n\r&w%s\n\r", morph->help );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:	pager_printf_color (ch, "                               &cDescription:\n\r&w%s\n\r", morph->description );
polymorph.c:	send_to_pager_color( "&B[----------------------------------------------------------------------------]\n\r", ch );
polymorph.c:        strcat (buf, class_table[x]->who_name);
polymorph.c:    buf[--x] = '\0';
polymorph.c:        strcat (buf, race_table[x]->race_name);
polymorph.c:    buf[--x] = '\0';
polymorph.c: * --Shaddai
polymorph.c:  for ( morph = morph_start; morph; morph = morph->next )
polymorph.c:	if ( !str_cmp ( morph->name, arg ) )
polymorph.c: * Find a morph you can use -- Shaddai
polymorph.c:   for ( morph = morph_start; morph; morph = morph->next )
polymorph.c:   	if ( str_cmp( morph->name, target) )
polymorph.c: * --Shaddai
polymorph.c:  for ( morph = morph_start; morph; morph = morph->next )
polymorph.c:	if ( morph->vnum == vnum )
polymorph.c: * obj morphing, etc... --Shaddai
polymorph.c:  if ( ch->morph )
polymorph.c:  if ( morph->obj[0] )
polymorph.c:     if ((obj =get_obj_vnum(ch, morph->obj[0])) == NULL) 
polymorph.c:     else if ( morph->objuse[0] )
polymorph.c:                  		obj->carried_by, obj, NULL, TO_CHAR ); 
polymorph.c:    		if ( obj == get_eq_char( obj->carried_by, WEAR_WIELD )
polymorph.c:    		&& (tmpobj=get_eq_char(obj->carried_by,WEAR_DUAL_WIELD))!=NULL)
polymorph.c:       			tmpobj->wear_loc = WEAR_WIELD;
polymorph.c:  if ( morph->obj[1] )
polymorph.c:     if ((obj =get_obj_vnum(ch, morph->obj[1])) == NULL) 
polymorph.c:     else if ( morph->objuse[1] )
polymorph.c:                  		obj->carried_by, obj, NULL, TO_CHAR ); 
polymorph.c:    		if ( obj == get_eq_char( obj->carried_by, WEAR_WIELD )
polymorph.c:    		&& (tmpobj=get_eq_char(obj->carried_by,WEAR_DUAL_WIELD))!=NULL)
polymorph.c:       			tmpobj->wear_loc = WEAR_WIELD;
polymorph.c:  if ( morph->obj[2] )
polymorph.c:     if ((obj =get_obj_vnum(ch, morph->obj[2])) == NULL) 
polymorph.c:     else if ( morph->objuse[2] )
polymorph.c:                  		obj->carried_by, obj, NULL, TO_CHAR ); 
polymorph.c:    		if ( obj == get_eq_char( obj->carried_by, WEAR_WIELD )
polymorph.c:    		&& (tmpobj=get_eq_char(obj->carried_by,WEAR_DUAL_WIELD))!=NULL)
polymorph.c:       			tmpobj->wear_loc = WEAR_WIELD;
polymorph.c:  if ( morph->hpused )
polymorph.c:  	if ( ch->hit < morph->hpused )
polymorph.c:  		ch->hit -= morph->hpused;
polymorph.c:  if ( morph->moveused )
polymorph.c:  	if ( ch->move < morph->moveused )
polymorph.c:  		ch->move -= morph->moveused;
polymorph.c:  if ( morph->manaused && !IS_VAMPIRE(ch) )
polymorph.c:  	if ( ch->mana < morph->manaused )
polymorph.c:  		ch->mana -= morph->manaused;
polymorph.c:  if ( morph->bloodused && IS_VAMPIRE(ch) ) 
polymorph.c:       if ( ch->pcdata->condition[COND_BLOODTHIRST] < morph->bloodused )
polymorph.c:      	ch->pcdata->condition[COND_BLOODTHIRST]-= morph->bloodused;
polymorph.c:  if ( morph->favourused )
polymorph.c:  	if ( IS_NPC(ch) || !ch->pcdata->deity || 
polymorph.c:		ch->pcdata->favor < morph->favourused )
polymorph.c:		ch->pcdata->favor -= morph->favourused;
polymorph.c:		if ( ch->pcdata->favor < ch->pcdata->deity->susceptnum )
polymorph.c:	    	  SET_BIT( ch->susceptible, ch->pcdata->deity->suscept );
polymorph.c:  if ( morph->gloryused )
polymorph.c:  	if ( !IS_NPC(ch) && ch->pcdata->quest_curr < morph->gloryused )
polymorph.c:  		ch->pcdata->quest_curr -= morph->gloryused;
polymorph.c:  if ( !ch->morph )
polymorph.c:  temp = ch->morph->morph;
polymorph.c: * -- Shaddai
polymorph.c:	act ( AT_MORPH, morph->morph_other, ch, NULL, NULL, TO_ROOM );
polymorph.c:	act ( AT_MORPH, morph->morph_self, ch, NULL, NULL, TO_CHAR );
polymorph.c:	act ( AT_MORPH, morph->unmorph_other, ch, NULL, NULL, TO_ROOM );
polymorph.c:	act ( AT_MORPH, morph->unmorph_self, ch, NULL, NULL, TO_CHAR );
polymorph.c: * cast it or not.  --Shaddai
polymorph.c:   if ( morph->no_cast && is_cast )
polymorph.c:   if ( ch->level < morph->level )
polymorph.c:   if ( morph->pkill == ONLY_PKILL && !IS_PKILL(ch) )
polymorph.c:   if ( morph->pkill == ONLY_PEACEFULL && IS_PKILL(ch) )
polymorph.c:   if ( morph->sex != -1 && morph->sex != ch->sex )
polymorph.c:   if ( morph->class != 0 && !IS_SET( morph->class, (1 << ch->class) ) )
polymorph.c:   if ( morph->race != 0 && IS_SET( morph->race, (1 << ch->race ) ) )
polymorph.c:   if ( morph->deity && ( !ch->pcdata->deity || !get_deity ( morph->deity ) ) )
polymorph.c:   if ( morph->timeto != -1 && morph->timefrom != -1 && 
polymorph.c:      ( morph->timeto < time_info.hour || morph->timefrom > time_info.hour ) )
polymorph.c:   if ( morph->dayfrom != -1 && morph->dayto != -1 &&
polymorph.c:      ( morph->dayto < (time_info.day+1) || morph->dayfrom > (time_info.day+1)))
polymorph.c: * --Shaddai
polymorph.c:  if ( ch->morph )
polymorph.c:  ch->armor               += morph->ac;
polymorph.c:  ch->mod_str             += morph->str;
polymorph.c:  ch->mod_int             += morph->inte;
polymorph.c:  ch->mod_wis             += morph->wis;
polymorph.c:  ch->mod_dex             += morph->dex;
polymorph.c:  ch->mod_cha             += morph->cha;
polymorph.c:  ch->mod_lck             += morph->lck;
polymorph.c:  ch->saving_breath       += morph->saving_breath;
polymorph.c:  ch->saving_para_petri   += morph->saving_para_petri;
polymorph.c:  ch->saving_poison_death += morph->saving_poison_death;
polymorph.c:  ch->saving_spell_staff  += morph->saving_spell_staff;
polymorph.c:  ch->saving_wand         += morph->saving_wand;
polymorph.c:  ch_morph->hitroll	   = dice_parse( ch, morph->level, morph->hitroll );
polymorph.c:  ch->hitroll		  += ch_morph->hitroll;
polymorph.c:  ch_morph->damroll	   = dice_parse( ch, morph->level, morph->damroll );
polymorph.c:  ch->damroll		  += ch_morph->damroll;
polymorph.c:  ch_morph->hit		   = dice_parse( ch, morph->level, morph->hit );
polymorph.c:  if ( (ch->hit + ch_morph->hit ) > 32700 )
polymorph.c:	ch_morph->hit = (32700 - ch->hit);
polymorph.c:  ch->hit		  += ch_morph->hit;
polymorph.c:  ch_morph->move	   = dice_parse( ch, morph->level, morph->move );
polymorph.c:  if ( (ch->move + ch_morph->move ) > 32700 )
polymorph.c:	ch_morph->move = (32700 - ch->move);
polymorph.c:  ch->move		  += ch_morph->move;
polymorph.c:  	ch_morph->blood = dice_parse(ch,morph->level,morph->blood);
polymorph.c:	ch->pcdata->condition[COND_BLOODTHIRST] += ch_morph->blood;
polymorph.c:  	ch_morph->mana	   = dice_parse( ch, morph->level, morph->mana );
polymorph.c:  	if ( (ch->mana + ch_morph->mana ) > 32700 )
polymorph.c:		ch_morph->mana = (32700 - ch->mana);
polymorph.c: 	ch->mana	  += ch_morph->mana;
polymorph.c:  xSET_BITS ( ch->affected_by, morph->affected_by );
polymorph.c:  SET_BIT ( ch->immune, morph->immune );
polymorph.c:  SET_BIT ( ch->resistant, morph->resistant );
polymorph.c:  SET_BIT ( ch->susceptible, morph->suscept );
polymorph.c:  xREMOVE_BITS ( ch->affected_by, morph->no_affected_by );
polymorph.c:  REMOVE_BIT ( ch->immune, morph->no_immune );
polymorph.c:  REMOVE_BIT ( ch->resistant, morph->no_resistant );
polymorph.c:  REMOVE_BIT ( ch->susceptible, morph->no_suscept );
polymorph.c:  ch->morph = ch_morph;
polymorph.c:  morph->used++;
polymorph.c: * --Shaddai
polymorph.c:  if ( (morph = ch->morph) == NULL )
polymorph.c:  ch->armor               -= morph->ac;
polymorph.c:  ch->mod_str             -= morph->str;
polymorph.c:  ch->mod_int             -= morph->inte;
polymorph.c:  ch->mod_wis             -= morph->wis;
polymorph.c:  ch->mod_dex             -= morph->dex;
polymorph.c:  ch->mod_cha             -= morph->cha;
polymorph.c:  ch->mod_lck             -= morph->lck;
polymorph.c:  ch->saving_breath       -= morph->saving_breath;
polymorph.c:  ch->saving_para_petri   -= morph->saving_para_petri;
polymorph.c:  ch->saving_poison_death -= morph->saving_poison_death;
polymorph.c:  ch->saving_spell_staff  -= morph->saving_spell_staff;
polymorph.c:  ch->saving_wand         -= morph->saving_wand;
polymorph.c:  ch->hitroll             -= morph->hitroll;
polymorph.c:  ch->damroll             -= morph->damroll;
polymorph.c:  ch->hit                 -= morph->hit;
polymorph.c:  ch->move                -= morph->move;
polymorph.c:  	ch->pcdata->condition[COND_BLOODTHIRST]-=morph->blood;
polymorph.c:  	ch->mana          -= morph->mana;
polymorph.c:  xREMOVE_BITS( ch->affected_by, morph->affected_by );
polymorph.c:  REMOVE_BIT ( ch->immune, morph->immune );
polymorph.c:  REMOVE_BIT ( ch->resistant, morph->resistant );
polymorph.c:  REMOVE_BIT ( ch->susceptible, morph->suscept );
polymorph.c:  free_char_morph ( ch->morph );
polymorph.c:  ch->morph = NULL;
polymorph.c: * to make use of the sort algorithim. --Shaddai
polymorph.c:  for ( morph = morph_start; morph; morph = morph->next )
polymorph.c: * if it hasn't been set why waste disk-space :)  --Shaddai
polymorph.c:  fprintf (fp, "Morph           	%s\n",  morph->name );
polymorph.c:  if ( morph->obj[0] != 0 || morph->obj[1] != 0 || morph->obj[2] != 0 )
polymorph.c:		morph->obj[0], morph->obj[1], morph->obj[2] );
polymorph.c:  if ( morph->objuse[0] != 0 || morph->objuse[1] != 0 || morph->objuse[2] != 0 )
polymorph.c:		morph->objuse[0], morph->objuse[1], morph->objuse[2] );
polymorph.c:  if ( morph->vnum != 0  )
polymorph.c:	fprintf (fp, "Vnum              %d\n",  morph->vnum );
polymorph.c:  if ( morph->blood[0] != '\0' )
polymorph.c:  	fprintf (fp, "Blood    	        %s~\n", morph->blood );
polymorph.c:  if ( morph->damroll[0] != '\0' )
polymorph.c:  	fprintf (fp, "Damroll         	%s~\n", morph->damroll );
polymorph.c:  if ( morph->defpos != POS_STANDING )
polymorph.c:	fprintf (fp, "Defpos            %d\n",  morph->defpos );
polymorph.c:  if ( morph->description[0] != '\0' )
polymorph.c:  	fprintf (fp, "Description     	%s~\n", morph->description ); 
polymorph.c:  if ( morph->help[0] != '\0' )
polymorph.c:  	fprintf (fp, "Help            	%s~\n", morph->help );
polymorph.c:  if ( morph->hit[0] != '\0' )
polymorph.c:  	fprintf (fp, "Hit             	%s~\n", morph->hit );
polymorph.c:  if ( morph->hitroll[0] != '\0' )
polymorph.c:  	fprintf (fp, "Hitroll         	%s~\n", morph->hitroll );
polymorph.c:  if ( morph->key_words[0] != '\0' )
polymorph.c:  	fprintf (fp, "Keywords        	%s~\n", morph->key_words );
polymorph.c:  if ( morph->long_desc[0] != '\0' )
polymorph.c:  	fprintf (fp, "Longdesc        	%s~\n", morph->long_desc );
polymorph.c:  if ( morph->mana[0] != '\0' )
polymorph.c:  	fprintf (fp, "Mana            	%s~\n", morph->mana );
polymorph.c:  if ( morph->morph_other[0] != '\0' )
polymorph.c:  	fprintf (fp, "MorphOther      	%s~\n", morph->morph_other );
polymorph.c:  if ( morph->morph_self[0] != '\0' )
polymorph.c:  	fprintf (fp, "MorphSelf       	%s~\n", morph->morph_self );
polymorph.c:  if ( morph->move[0] != '\0' )
polymorph.c:  	fprintf (fp, "Move            	%s~\n", morph->move );
polymorph.c:  if ( morph->no_skills[0] != '\0' )
polymorph.c:	fprintf ( fp, "NoSkills         %s~\n", morph->no_skills );
polymorph.c:  if ( morph->short_desc[0] != '\0' )
polymorph.c:  	fprintf (fp, "ShortDesc       	%s~\n", morph->short_desc );
polymorph.c:  if ( morph->skills[0] != '\0' )
polymorph.c:  	fprintf (fp, "Skills          	%s~\n", morph->skills );
polymorph.c:  if ( morph->unmorph_other[0] != '\0' )
polymorph.c:  	fprintf (fp, "UnmorphOther    	%s~\n", morph->unmorph_other );
polymorph.c:  if ( morph->unmorph_self[0] != '\0' )
polymorph.c:  	fprintf (fp, "UnmorphSelf     	%s~\n", morph->unmorph_self );
polymorph.c:  if ( !xIS_EMPTY(morph->affected_by) ) 
polymorph.c:  	fprintf (fp, "Affected        	%s\n",  print_bitvector(&morph->affected_by) );
polymorph.c:  if ( morph->class != 0 ) 
polymorph.c:  	fprintf (fp, "Class           	%s~\n",  class_string(morph->class) );
polymorph.c:  if ( morph->immune != 0 ) 
polymorph.c:  	fprintf (fp, "Immune          	%d\n",  morph->immune );
polymorph.c:  if ( !xIS_EMPTY(morph->no_affected_by) ) 
polymorph.c:  	fprintf (fp, "NoAffected      	%s\n",  print_bitvector(&morph->no_affected_by) );
polymorph.c:  if ( morph->no_immune != 0 ) 
polymorph.c:  	fprintf (fp, "NoImmune        	%d\n",  morph->no_immune );
polymorph.c:  if ( morph->no_resistant != 0 ) 
polymorph.c:  	fprintf (fp, "NoResistant     	%d\n",  morph->no_resistant );
polymorph.c:  if ( morph->no_suscept != 0 ) 
polymorph.c:  	fprintf (fp, "NoSuscept       	%d\n",  morph->no_suscept );
polymorph.c:  if ( morph->race != 0 ) 
polymorph.c:  	fprintf (fp, "Race        	%s~\n",  race_string(morph->race) );
polymorph.c:  if ( morph->resistant != 0 ) 
polymorph.c:  	fprintf (fp, "Resistant       	%d\n",  morph->resistant );
polymorph.c:  if ( morph->suscept != 0 ) 
polymorph.c:  	fprintf (fp, "Suscept        	%d\n",  morph->suscept );
polymorph.c:  if ( morph->used != 0 ) 
polymorph.c:  	fprintf (fp, "Used       	%d\n",  morph->used );
polymorph.c:  if ( morph->sex != -1 )
polymorph.c:	fprintf ( fp, "Sex		%d\n",  morph->sex );
polymorph.c:  if ( morph->pkill != 0 )
polymorph.c:	fprintf ( fp, "Pkill		%d\n",  morph->pkill );
polymorph.c:  if ( morph->timefrom != -1 )
polymorph.c:	fprintf ( fp, "TimeFrom		%d\n",  morph->timefrom );
polymorph.c:  if ( morph->timeto != -1 )
polymorph.c:	fprintf ( fp, "TimeTo		%d\n",  morph->timeto );
polymorph.c:  if ( morph->dayfrom != -1 )
polymorph.c:	fprintf ( fp, "DayFrom		%d\n",  morph->dayfrom );
polymorph.c:  if ( morph->dayto != -1 )
polymorph.c:	fprintf ( fp, "DayTo		%d\n",  morph->dayto );
polymorph.c:  if ( morph->bloodused != 0 )
polymorph.c:  	fprintf ( fp, "BloodUsed	%d\n",  morph->bloodused );
polymorph.c:  if ( morph->manaused != 0 )
polymorph.c:	fprintf ( fp, "ManaUsed		%d\n",  morph->manaused );
polymorph.c:  if ( morph->moveused != 0 )
polymorph.c:	fprintf ( fp, "MoveUsed		%d\n",  morph->moveused );
polymorph.c:  if ( morph->hpused != 0 )
polymorph.c:	fprintf ( fp, "HpUsed		%d\n",  morph->hpused );
polymorph.c:  if ( morph->favourused != 0 )
polymorph.c:	fprintf ( fp, "FavourUsed	%d\n",  morph->favourused );
polymorph.c:  if ( morph->gloryused != 0 )
polymorph.c:	fprintf ( fp, "GloryUsed	%d\n",  morph->gloryused );
polymorph.c:  if ( morph->ac != 0 ) 
polymorph.c:  	fprintf (fp, "Armor        	%d\n",  morph->ac );
polymorph.c:  if ( morph->cha != 0 ) 
polymorph.c:  	fprintf (fp, "Charisma        	%d\n",  morph->cha );
polymorph.c:  if ( morph->con != 0 ) 
polymorph.c:  	fprintf (fp, "Constitution    	%d\n",  morph->con );
polymorph.c:  if ( morph->dex != 0 ) 
polymorph.c:  	fprintf (fp, "Dexterity       	%d\n",  morph->dex );
polymorph.c:  if ( morph->dodge != 0 ) 
polymorph.c:  	fprintf (fp, "Dodge        	%d\n",  morph->dodge );
polymorph.c:  if ( morph->inte != 0 ) 
polymorph.c:  	fprintf (fp, "Intelligence    	%d\n",  morph->inte );
polymorph.c:  if ( morph->lck != 0 ) 
polymorph.c:  	fprintf (fp, "Luck        	%d\n",  morph->lck );
polymorph.c:  if ( morph->level != 0 ) 
polymorph.c:  	fprintf (fp, "Level        	%d\n",  morph->level );
polymorph.c:  if ( morph->parry != 0 ) 
polymorph.c:  	fprintf (fp, "Parry        	%d\n",  morph->parry );
polymorph.c:  if ( morph->saving_breath != 0 ) 
polymorph.c:  	fprintf (fp, "SaveBreath      	%d\n",  morph->saving_breath );
polymorph.c:  if ( morph->saving_para_petri != 0 ) 
polymorph.c:  	fprintf (fp, "SavePara        	%d\n",  morph->saving_para_petri );
polymorph.c:  if ( morph->saving_poison_death != 0 ) 
polymorph.c:  	fprintf (fp, "SavePoison      	%d\n",  morph->saving_poison_death );
polymorph.c:  if ( morph->saving_spell_staff != 0 ) 
polymorph.c:  	fprintf (fp, "SaveSpell       	%d\n",  morph->saving_spell_staff );
polymorph.c:  if ( morph->saving_wand != 0 ) 
polymorph.c:  	fprintf (fp, "SaveWand        	%d\n",  morph->saving_wand );
polymorph.c:  if ( morph->str != 0 ) 
polymorph.c:  	fprintf (fp, "Strength        	%d\n",  morph->str );
polymorph.c:  if ( morph->tumble != 0 ) 
polymorph.c:  	fprintf (fp, "Tumble          	%d\n",  morph->tumble );
polymorph.c:  if ( morph->wis != 0 ) 
polymorph.c:  	fprintf (fp, "Wisdom          	%d\n",  morph->wis );
polymorph.c:  if ( morph->no_cast ) 
polymorph.c:  	fprintf (fp, "NoCast          	%d\n",  morph->no_cast );
polymorph.c: *  --Shaddai
polymorph.c:  morph->name = str_dup ( word );
polymorph.c:		KEY ( "Armor", morph->ac, fread_number ( fp ) );
polymorph.c:		KEY ( "Affected", morph->affected_by, fread_bitvector( fp ) );
polymorph.c:		KEY ( "Blood", morph->blood, fread_string_nohash ( fp ) );
polymorph.c:		KEY ( "BloodUsed", morph->bloodused, fread_number ( fp ) );
polymorph.c:		KEY( "Charisma", morph->cha, fread_number ( fp ) );
polymorph.c:			  if ( !str_cmp( temp, class_table[i]->who_name ) )
polymorph.c:				SET_BIT( morph->class, (1 << i) );
polymorph.c:		KEY( "Constitution", morph->con, fread_number ( fp ) );
polymorph.c:		KEY( "Damroll", morph->damroll, fread_string_nohash(fp));
polymorph.c:		KEY( "DayFrom", morph->dayfrom, fread_number( fp ) );
polymorph.c:		KEY( "DayTo",   morph->dayto,   fread_number( fp ) );
polymorph.c:		KEY( "Defpos",  morph->defpos,  fread_number( fp ) );
polymorph.c:		KEY( "Description",morph->description,fread_string_nohash(fp));
polymorph.c:		KEY( "Dexterity", morph->dex, fread_number ( fp ) );
polymorph.c:		KEY( "Dodge", morph->dodge, fread_number( fp ) );
polymorph.c:		KEY( "FavourUsed", morph->favourused, fread_number( fp ) );
polymorph.c:		KEY( "GloryUsed", morph->gloryused, fread_number( fp ) );
polymorph.c:		KEY( "Help", morph->help, fread_string_nohash(fp));
polymorph.c:		KEY( "Hit", morph->hit, fread_string_nohash(fp));
polymorph.c:		KEY( "Hitroll", morph->hitroll, fread_string_nohash(fp));
polymorph.c:		KEY( "HpUsed", morph->hpused, fread_number( fp ) );
polymorph.c:		KEY( "Intelligence", morph->inte, fread_number( fp ) );
polymorph.c:		KEY( "Immune", morph->immune, fread_number( fp ) );
polymorph.c:	  	KEY( "Keywords", morph->key_words, fread_string_nohash(fp));
polymorph.c:		KEY( "Level", morph->level, fread_number ( fp ) );
polymorph.c:		KEY( "Longdesc", morph->long_desc, fread_string_nohash(fp));
polymorph.c:		KEY( "Luck", morph->lck, fread_number( fp ) );
polymorph.c:		KEY( "Mana", morph->mana, fread_string_nohash(fp));
polymorph.c:		KEY( "ManaUsed", morph->manaused, fread_number( fp ) );
polymorph.c:		KEY( "MorphOther", morph->morph_other,fread_string_nohash(fp));
polymorph.c:		KEY( "MorphSelf", morph->morph_self, fread_string_nohash(fp));
polymorph.c:		KEY( "Move", morph->morph_self, fread_string_nohash(fp));
polymorph.c:		KEY( "MoveUsed", morph->moveused, fread_number( fp ) );
polymorph.c:		KEY( "NoAffected", morph->no_affected_by, fread_bitvector(fp));
polymorph.c:		KEY( "NoImmune", morph->no_immune, fread_number( fp ) );
polymorph.c:		KEY( "NoResistant", morph->no_resistant, fread_number(fp));
polymorph.c:                KEY( "NoSkills", morph->no_skills, fread_string_nohash(fp));
polymorph.c:		KEY( "NoSuscept", morph->no_suscept, fread_number(fp));
polymorph.c:		  morph->no_cast = fread_number( fp );
polymorph.c:		   morph->obj[0] = fread_number( fp );
polymorph.c:		   morph->obj[1] = fread_number( fp );
polymorph.c:		   morph->obj[2] = fread_number( fp );
polymorph.c:		   morph->objuse[0] = fread_number( fp );
polymorph.c:		   morph->objuse[1] = fread_number( fp );
polymorph.c:		   morph->objuse[2] = fread_number( fp );
polymorph.c:		KEY( "Parry", morph->parry, fread_number( fp ) );
polymorph.c:		KEY( "Pkill", morph->pkill, fread_number( fp ) );
polymorph.c:                          if ( !str_cmp( temp, race_table[i]->race_name ) )
polymorph.c:                                SET_BIT( morph->race, (1 << i) );
polymorph.c:		KEY( "Resistant", morph->resistant, fread_number( fp ) );
polymorph.c:		KEY("SaveBreath", morph->saving_breath, fread_number( fp ) );
polymorph.c:		KEY("SavePara", morph->saving_para_petri, fread_number( fp ) );
polymorph.c:		KEY("SavePoison", morph->saving_poison_death,fread_number(fp));
polymorph.c:		KEY("SaveSpell", morph->saving_spell_staff, fread_number(fp));
polymorph.c:		KEY("SaveWand", morph->saving_wand, fread_number(fp));
polymorph.c:		KEY("Sex", morph->sex, fread_number( fp ) );
polymorph.c:		KEY("ShortDesc",morph->short_desc, fread_string_nohash(fp));
polymorph.c:		KEY("Skills", morph->skills, fread_string_nohash(fp));
polymorph.c:		KEY("Strength", morph->str, fread_number( fp ) );
polymorph.c:		KEY("Suscept", morph->suscept, fread_number( fp ) );
polymorph.c:		KEY("TimeFrom", morph->timefrom, fread_number( fp ) );
polymorph.c:		KEY("TimeTo", morph->timeto, fread_number( fp ) );
polymorph.c:		KEY("Tumble", morph->tumble, fread_number( fp ) );
polymorph.c:		KEY("UnmorphOther",morph->unmorph_other,fread_string_nohash(fp));
polymorph.c:		KEY("UnmorphSelf",morph->unmorph_self,fread_string_nohash(fp));
polymorph.c:		KEY("Used", morph->used, fread_number( fp ) );
polymorph.c:		KEY("Vnum", morph->vnum, fread_number( fp ) );
polymorph.c:		KEY("Wisdom", morph->wis, fread_number( fp ) );
polymorph.c:           * up! --Shaddai
polymorph.c: * --Shaddai 
polymorph.c:   if ( morph->blood )
polymorph.c:	DISPOSE ( morph->blood );
polymorph.c:   if ( morph->damroll )
polymorph.c:	DISPOSE ( morph->damroll );
polymorph.c:   if ( morph->description )
polymorph.c:	DISPOSE ( morph->description );
polymorph.c:   if ( morph->help )
polymorph.c:	DISPOSE ( morph->help );
polymorph.c:   if ( morph->hit )
polymorph.c:	DISPOSE ( morph->hit );
polymorph.c:   if ( morph->hitroll )
polymorph.c:	DISPOSE ( morph->hitroll );
polymorph.c:   if ( morph->key_words )
polymorph.c:	DISPOSE ( morph->key_words );
polymorph.c:   if ( morph->long_desc )
polymorph.c:	DISPOSE ( morph->long_desc );
polymorph.c:   if ( morph->mana )
polymorph.c:	DISPOSE ( morph->mana );
polymorph.c:   if ( morph->morph_other )
polymorph.c:	DISPOSE ( morph->morph_other );
polymorph.c:   if ( morph->morph_self )
polymorph.c:	DISPOSE ( morph->morph_self );
polymorph.c:   if ( morph->move )
polymorph.c:	DISPOSE ( morph->move );
polymorph.c:   if ( morph->name )
polymorph.c:	DISPOSE ( morph->name );
polymorph.c:   if ( morph->short_desc )
polymorph.c:	DISPOSE ( morph->short_desc );
polymorph.c:   if ( morph->skills )
polymorph.c:	DISPOSE ( morph->skills );
polymorph.c:   if ( morph->no_skills )
polymorph.c:	DISPOSE ( morph->no_skills );
polymorph.c:   if ( morph->unmorph_other )
polymorph.c:	DISPOSE ( morph->unmorph_other );
polymorph.c:   if ( morph->unmorph_self )
polymorph.c:	DISPOSE ( morph->unmorph_self );
polymorph.c:	morph->blood 			= str_dup ( "" );
polymorph.c:	morph->damroll 			= str_dup ( "" );
polymorph.c:	morph->description 		= str_dup ( "" );
polymorph.c:	morph->help 			= str_dup ( "" );
polymorph.c:	morph->hit 			= str_dup ( "" );
polymorph.c:	morph->hitroll 			= str_dup ( "" );
polymorph.c:	morph->key_words 		= str_dup ( "" );
polymorph.c:	morph->long_desc 		= str_dup ( "" );
polymorph.c:	morph->mana 			= str_dup ( "" );
polymorph.c:	morph->morph_other 		= str_dup ( "" );
polymorph.c:	morph->morph_self 		= str_dup ( "" );
polymorph.c:	morph->move 			= str_dup ( "" );
polymorph.c:	morph->name 			= str_dup ( "" );
polymorph.c:	morph->short_desc    		= str_dup ( "" );
polymorph.c:	morph->skills       		= str_dup ( "" );
polymorph.c:        morph->no_skills                = str_dup ( "" );
polymorph.c:	morph->unmorph_other 		= str_dup ( "" );
polymorph.c:	morph->unmorph_self  		= str_dup ( "" );
polymorph.c:	xCLEAR_BITS(morph->affected_by);
polymorph.c:	morph->class    		= 0;
polymorph.c:	morph->sex			= -1;
polymorph.c:	morph->timefrom			= -1;
polymorph.c:	morph->timeto			= -1;
polymorph.c:	morph->dayfrom			= -1;
polymorph.c:	morph->dayto			= -1;
polymorph.c:	morph->pkill			= 0;
polymorph.c:	morph->bloodused		= 0;
polymorph.c:	morph->manaused			= 0;
polymorph.c:	morph->moveused			= 0;
polymorph.c:	morph->hpused			= 0;
polymorph.c:	morph->favourused		= 0;
polymorph.c:	morph->gloryused		= 0;
polymorph.c:	morph->immune    		= 0;
polymorph.c:	xCLEAR_BITS(morph->no_affected_by);
polymorph.c:	morph->no_immune    		= 0;
polymorph.c:	morph->no_resistant    		= 0;
polymorph.c:	morph->no_suscept    		= 0;
polymorph.c:	morph->obj[0]    		= 0;
polymorph.c:	morph->obj[1]    		= 0;
polymorph.c:	morph->obj[2]    		= 0;
polymorph.c:	morph->objuse[0]		= FALSE;
polymorph.c:	morph->objuse[1]		= FALSE;
polymorph.c:	morph->objuse[2]		= FALSE;
polymorph.c:	morph->race    			= 0;
polymorph.c:	morph->resistant	    	= 0;
polymorph.c:	morph->suscept 		   	= 0;
polymorph.c:	morph->used    		        = 0;
polymorph.c:	morph->ac    			= 0;
polymorph.c:        morph->defpos                   = POS_STANDING;
polymorph.c:	morph->dex    			= 0;
polymorph.c:	morph->dodge   		 	= 0;
polymorph.c:	morph->cha    			= 0;
polymorph.c:	morph->con    			= 0;
polymorph.c:	morph->inte    			= 0;
polymorph.c:	morph->lck   		 	= 0;
polymorph.c:	morph->level    		= 0;
polymorph.c:	morph->parry    		= 0;
polymorph.c:	morph->saving_breath    	= 0;
polymorph.c:	morph->saving_para_petri    	= 0;
polymorph.c:	morph->saving_poison_death  	= 0;
polymorph.c:	morph->saving_spell_staff    	= 0;
polymorph.c:	morph->saving_wand    		= 0;
polymorph.c:	morph->str    			= 0;
polymorph.c:	morph->tumble    		= 0;
polymorph.c:	morph->wis    			= 0;
polymorph.c:	morph->no_cast    		= FALSE;
polymorph.c:	morph->timer			= -1;
polymorph.c:        morph->vnum                     = 0;
polymorph.c:	morph->blood 			= str_dup ( temp->blood );
polymorph.c:	morph->damroll 			= str_dup ( temp->damroll );
polymorph.c:	morph->description 		= str_dup ( temp->description );
polymorph.c:	morph->help 			= str_dup ( temp->help );
polymorph.c:	morph->hit 			= str_dup ( temp->hit );
polymorph.c:	morph->hitroll 			= str_dup ( temp->hitroll );
polymorph.c:	morph->key_words 		= str_dup ( temp->key_words );
polymorph.c:	morph->long_desc 		= str_dup ( temp->long_desc );
polymorph.c:	morph->mana 			= str_dup ( temp->mana );
polymorph.c:	morph->morph_other 		= str_dup ( temp->morph_other );
polymorph.c:	morph->morph_self 		= str_dup ( temp->morph_self );
polymorph.c:	morph->move 			= str_dup ( temp->move );
polymorph.c:	morph->name 			= str_dup ( temp->name );
polymorph.c:	morph->short_desc    		= str_dup ( temp->short_desc );
polymorph.c:	morph->skills       		= str_dup ( temp->skills );
polymorph.c:        morph->no_skills                = str_dup ( temp->no_skills );
polymorph.c:	morph->unmorph_other 		= str_dup ( temp->unmorph_other );
polymorph.c:	morph->unmorph_self  		= str_dup ( temp->unmorph_self );
polymorph.c:	morph->affected_by    		= temp->affected_by;
polymorph.c:	morph->class    		= temp->class;
polymorph.c:	morph->sex			= temp->sex;
polymorph.c:	morph->timefrom			= temp->timefrom;
polymorph.c:	morph->timeto			= temp->timeto;
polymorph.c:	morph->timefrom			= temp->timefrom;
polymorph.c:	morph->dayfrom			= temp->dayfrom;
polymorph.c:	morph->dayto			= temp->dayto;
polymorph.c:	morph->pkill			= temp->pkill;
polymorph.c:	morph->manaused			= temp->manaused;
polymorph.c:	morph->bloodused		= temp->bloodused;
polymorph.c:	morph->moveused			= temp->moveused;
polymorph.c:	morph->hpused			= temp->hpused;
polymorph.c:	morph->favourused		= temp->favourused;
polymorph.c:	morph->gloryused		= temp->gloryused;
polymorph.c:	morph->immune    		= temp->immune;
polymorph.c:	morph->no_affected_by  		= temp->no_affected_by;
polymorph.c:	morph->no_immune    		= temp->no_immune;
polymorph.c:	morph->no_resistant    		= temp->no_resistant;
polymorph.c:	morph->no_suscept    		= temp->no_suscept;
polymorph.c:	morph->obj[0]    		= temp->obj[0];
polymorph.c:	morph->obj[1]    		= temp->obj[1];
polymorph.c:	morph->obj[2]    		= temp->obj[2];
polymorph.c:	morph->objuse[0]		= temp->objuse[0];
polymorph.c:	morph->objuse[1]		= temp->objuse[1];
polymorph.c:	morph->objuse[2]		= temp->objuse[2];
polymorph.c:	morph->race    			= temp->race;
polymorph.c:	morph->resistant	    	= temp->resistant;
polymorph.c:	morph->suscept 		   	= temp->suscept;
polymorph.c:	morph->ac    			= temp->ac;
polymorph.c:        morph->defpos                   = temp->defpos;
polymorph.c:	morph->dex    			= temp->dex;
polymorph.c:	morph->dodge   		 	= temp->dodge;
polymorph.c:	morph->cha    			= temp->cha;
polymorph.c:	morph->con    			= temp->con;
polymorph.c:	morph->inte    			= temp->inte;
polymorph.c:	morph->lck   		 	= temp->lck;
polymorph.c:	morph->level    		= temp->level;
polymorph.c:	morph->parry    		= temp->parry;
polymorph.c:	morph->saving_breath    	= temp->saving_breath;
polymorph.c:	morph->saving_para_petri    	= temp->saving_para_petri;
polymorph.c:	morph->saving_poison_death  	= temp->saving_poison_death;
polymorph.c:	morph->saving_spell_staff    	= temp->saving_spell_staff;
polymorph.c:	morph->saving_wand    		= temp->saving_wand;
polymorph.c:	morph->str    			= temp->str;
polymorph.c:	morph->tumble    		= temp->tumble;
polymorph.c:	morph->wis    			= temp->wis;
polymorph.c:	morph->no_cast    		= temp->no_cast;
polymorph.c:	morph->timer			= temp->timer;
polymorph.c: * that .000000001 second ;) --Shaddai
polymorph.c:   * Important things to-do :)  Also it is only done at boot-up so who cares
polymorph.c:   * if it is slow or not. --Shaddai
polymorph.c:	for ( morph = morph_start, temp = morph->next;morph && temp; 
polymorph.c:			morph = morph->next, temp = temp->next)
polymorph.c:	  if ( morph->used < temp->used )
polymorph.c:		if ( morph->prev )
polymorph.c:			morph->prev->next = temp;
polymorph.c:		if ( temp->next )
polymorph.c:			temp->next->prev = morph;
polymorph.c:		temp->prev = morph->prev;
polymorph.c:		morph->next = temp->next;
polymorph.c:		temp->next = morph;
polymorph.c:		morph->prev = temp;
polymorph.c:  ch_morph->morph		=       morph;
polymorph.c:  ch_morph->ac 			=	morph->ac;
polymorph.c:  ch_morph->str			=	morph->str;
polymorph.c:  ch_morph->inte		=	morph->inte;
polymorph.c:  ch_morph->wis			=	morph->wis;
polymorph.c:  ch_morph->dex			=	morph->dex;
polymorph.c:  ch_morph->cha			=	morph->cha;
polymorph.c:  ch_morph->lck			=	morph->lck;
polymorph.c:  ch_morph->saving_breath	=	morph->saving_breath;
polymorph.c:  ch_morph->saving_para_petri	=	morph->saving_para_petri;
polymorph.c:  ch_morph->saving_poison_death	=	morph->saving_poison_death;
polymorph.c:  ch_morph->saving_spell_staff	=	morph->saving_spell_staff;
polymorph.c:  ch_morph->saving_wand		=	morph->saving_wand;
polymorph.c:  ch_morph->timer               =       morph->timer;
polymorph.c:  ch_morph->hitroll		=	0;
polymorph.c:  ch_morph->damroll		=	0;
polymorph.c:  ch_morph->hit			=	0;
polymorph.c:  ch_morph->mana		=	0;
polymorph.c:  ch_morph->move		=	0;
polymorph.c:  ch_morph->blood		=	0;
polymorph.c:  ch_morph->affected_by		=	morph->affected_by;
polymorph.c:  ch_morph->immune   		=	morph->immune;
polymorph.c:  ch_morph->resistant		=	morph->resistant;
polymorph.c:  ch_morph->suscept		=	morph->suscept;
polymorph.c:  ch_morph->no_affected_by	=	morph->no_affected_by;
polymorph.c:  ch_morph->no_immune   	=	morph->no_immune;
polymorph.c:  ch_morph->no_resistant	=	morph->no_resistant;
polymorph.c:  ch_morph->no_suscept		=	morph->no_suscept;
polymorph.c:  if ( morph->name )
polymorph.c:	DISPOSE( morph->name );
polymorph.c:  	morph->name = str_dup( arg1 );
polymorph.c:  morph->vnum = morph_vnum;
polymorph.c:  ch_printf (ch, "Morph %s created with vnum %d.\n\r",morph->name,morph->vnum);
polymorph.c: * Player function to delete a morph. --Shaddai
polymorph.c:   * possible complications.  --Shaddai
polymorph.c:  if ( ch->morph == NULL )
polymorph.c:  morph = ch->morph;
polymorph.c:  if ( morph->morph != NULL )
polymorph.c:	fprintf ( fp, "Vnum %d\n", morph->morph->vnum );
polymorph.c:	fprintf ( fp, "Name %s~\n", morph->morph->name );
polymorph.c:  if ( !xIS_EMPTY(morph->affected_by) )
polymorph.c:        fprintf ( fp, "Affect          %s\n", print_bitvector(&morph->affected_by) );
polymorph.c:  if ( morph->immune != 0 )
polymorph.c:        fprintf ( fp, "Immune          %d\n", morph->immune );
polymorph.c:  if ( morph->resistant != 0 )
polymorph.c:        fprintf ( fp, "Resistant       %d\n", morph->resistant );
polymorph.c:  if ( morph->suscept != 0 )
polymorph.c:        fprintf ( fp, "Suscept         %d\n", morph->suscept );
polymorph.c:  if ( !xIS_EMPTY(morph->no_affected_by) )
polymorph.c:        fprintf ( fp, "NoAffect        %s\n", print_bitvector(&morph->no_affected_by) );
polymorph.c:  if ( morph->no_immune != 0 )
polymorph.c:        fprintf ( fp, "NoImmune        %d\n", morph->no_immune );
polymorph.c:  if ( morph->no_resistant != 0 )
polymorph.c:        fprintf ( fp, "NoResistant     %d\n", morph->no_resistant );
polymorph.c:  if ( morph->no_suscept != 0 )
polymorph.c:        fprintf ( fp, "NoSuscept       %d\n", morph->no_suscept );
polymorph.c:  if ( morph->ac != 0 )
polymorph.c:        fprintf ( fp, "Armor           %d\n", morph->ac );
polymorph.c:  if ( morph->blood != 0 )
polymorph.c:        fprintf ( fp, "Blood           %d\n", morph->blood );
polymorph.c:  if ( morph->cha != 0 )
polymorph.c:        fprintf ( fp, "Charisma        %d\n", morph->cha );
polymorph.c:  if ( morph->con != 0 )
polymorph.c:        fprintf ( fp, "Constitution    %d\n", morph->con );
polymorph.c:  if ( morph->damroll != 0 )
polymorph.c:        fprintf ( fp, "Damroll	 %d\n", morph->damroll );
polymorph.c:  if ( morph->dex != 0 )
polymorph.c:        fprintf ( fp, "Dexterity       %d\n", morph->dex );
polymorph.c:  if ( morph->dodge != 0 )
polymorph.c:        fprintf ( fp, "Dodge           %d\n", morph->dodge );
polymorph.c:  if ( morph->hit != 0 )
polymorph.c:        fprintf ( fp, "Hit             %d\n", morph->hit );
polymorph.c:  if ( morph->hitroll != 0 )
polymorph.c:        fprintf ( fp, "Hitroll         %d\n", morph->hitroll );
polymorph.c:  if ( morph->inte != 0 )
polymorph.c:        fprintf ( fp, "Intelligence    %d\n", morph->inte );
polymorph.c:  if ( morph->lck != 0 )
polymorph.c:        fprintf ( fp, "Luck            %d\n", morph->lck );
polymorph.c:  if ( morph->mana != 0 )
polymorph.c:        fprintf ( fp, "Mana            %d\n", morph->mana );
polymorph.c:  if ( morph->move != 0 )
polymorph.c:	fprintf ( fp, "Move            %d\n", morph->move );
polymorph.c:  if ( morph->parry != 0 )
polymorph.c:        fprintf ( fp, "Parry           %d\n", morph->parry );
polymorph.c:  if ( morph->saving_breath != 0 )
polymorph.c:        fprintf ( fp, "Save1           %d\n", morph->saving_breath );
polymorph.c:  if ( morph->saving_para_petri != 0 )
polymorph.c:        fprintf ( fp, "Save2           %d\n", morph->saving_para_petri );
polymorph.c:  if ( morph->saving_poison_death != 0 )
polymorph.c:        fprintf ( fp, "Save3           %d\n", morph->saving_poison_death );
polymorph.c:  if ( morph->saving_spell_staff != 0 )
polymorph.c:        fprintf ( fp, "Save4           %d\n", morph->saving_spell_staff );
polymorph.c:  if ( morph->saving_wand != 0 )
polymorph.c:        fprintf ( fp, "Save5           %d\n", morph->saving_wand );
polymorph.c:  if ( morph->str != 0 )
polymorph.c:        fprintf ( fp, "Strength        %d\n", morph->str );
polymorph.c:  if ( morph->timer != -1 )
polymorph.c:	fprintf ( fp, "Timer	       %d\n", morph->timer );
polymorph.c:  if ( morph->tumble != 0 )
polymorph.c:        fprintf ( fp, "Tumble          %d\n", morph->tumble );
polymorph.c:  if ( morph->wis != 0 )
polymorph.c:        fprintf ( fp, "Wisdom          %d\n", morph->wis );
polymorph.c:  ch->morph = morph;
polymorph.c:		KEY ( "Affect", morph->affected_by, fread_bitvector( fp ) );
polymorph.c:		KEY ( "Armor", morph->ac, fread_number( fp ) );
polymorph.c:		KEY ( "Blood", morph->blood, fread_number( fp ) );
polymorph.c:		KEY ( "Charisma", morph->cha, fread_number( fp ) );
polymorph.c:		KEY ( "Constitution", morph->con, fread_number( fp ) );
polymorph.c:		KEY ( "Damroll", morph->damroll, fread_number( fp ) );
polymorph.c:		KEY ( "Dexterity", morph->dex, fread_number( fp ) );
polymorph.c:		KEY ( "Dodge", morph->dodge, fread_number( fp ) );
polymorph.c:		KEY ( "Hit", morph->hit, fread_number( fp ) );
polymorph.c:		KEY ( "Hitroll", morph->hitroll, fread_number( fp ) );
polymorph.c:		KEY ( "Immune", morph->immune, fread_number( fp ) );
polymorph.c:		KEY ( "Intelligence", morph->inte, fread_number( fp ) );
polymorph.c:		KEY ( "Luck", morph->lck, fread_number( fp ) );
polymorph.c:		KEY ( "Mana", morph->mana, fread_number( fp ) );
polymorph.c:		KEY ( "Move", morph->move, fread_number( fp ) );
polymorph.c:		   if ( morph->morph )
polymorph.c:			if ( str_cmp ( morph->morph->name, fread_string( fp )))
polymorph.c:					morph->morph->vnum );
polymorph.c:		KEY ( "NoAffect", morph->no_affected_by, fread_bitvector( fp ) );
polymorph.c:		KEY ( "NoImmune", morph->no_immune, fread_number( fp ) );
polymorph.c:		KEY ( "NoResistant", morph->no_resistant, fread_number( fp ) );
polymorph.c:		KEY ( "NoSuscept", morph->no_suscept, fread_number( fp ) );
polymorph.c:		KEY ( "Parry", morph->parry, fread_number( fp ) );
polymorph.c:		KEY ( "Resistant", morph->resistant, fread_number( fp ) );
polymorph.c:		KEY ( "Save1", morph->saving_breath, fread_number( fp ) );
polymorph.c:		KEY ( "Save2", morph->saving_para_petri, fread_number( fp ) );
polymorph.c:		KEY ( "Save3", morph->saving_poison_death, fread_number( fp ) );
polymorph.c:		KEY ( "Save4", morph->saving_spell_staff, fread_number( fp ) );
polymorph.c:		KEY ( "Save5", morph->saving_wand, fread_number( fp ) );
polymorph.c:		KEY ( "Strength", morph->str, fread_number( fp ) );
polymorph.c:		KEY ( "Suscept", morph->suscept, fread_number( fp ) );
polymorph.c:		KEY ( "Timer", morph->timer, fread_number( fp ) );
polymorph.c:		KEY ( "Tumble", morph->tumble, fread_number( fp ) );
polymorph.c:		   morph->morph = get_morph_vnum ( fread_number( fp ) ); 
polymorph.c:		KEY ( "Wisdom", morph->wis, fread_number( fp ) );
polymorph.c:  morph->timer			=	-1;
polymorph.c:  xCLEAR_BITS(morph->affected_by);
polymorph.c:  xCLEAR_BITS(morph->no_affected_by);
polymorph.c:  morph->immune			= 	0;
polymorph.c:  morph->no_immune		= 	0;
polymorph.c:  morph->no_resistant		= 	0;
polymorph.c:  morph->no_suscept		= 	0;
polymorph.c:  morph->resistant		= 	0;
polymorph.c:  morph->suscept		= 	0;
polymorph.c:  morph->ac			= 	0;
polymorph.c:  morph->blood			= 	0;
polymorph.c:  morph->cha			= 	0;
polymorph.c:  morph->con			= 	0;
polymorph.c:  morph->damroll		= 	0;
polymorph.c:  morph->dex			= 	0;
polymorph.c:  morph->dodge			= 	0;
polymorph.c:  morph->hit			= 	0;
polymorph.c:  morph->hitroll		= 	0;
polymorph.c:  morph->inte			= 	0;
polymorph.c:  morph->lck			= 	0;
polymorph.c:  morph->mana			= 	0;
polymorph.c:  morph->parry			= 	0;
polymorph.c:  morph->saving_breath		= 	0;
polymorph.c:  morph->saving_para_petri	= 	0;
polymorph.c:  morph->saving_poison_death	= 	0;
polymorph.c:  morph->saving_spell_staff	= 	0;
polymorph.c:  morph->saving_wand		= 	0;
polymorph.c:  morph->str			= 	0;
polymorph.c:  morph->tumble			= 	0;
polymorph.c:  morph->wis			= 	0;
polymorph.c:  morph->morph			=	NULL;
polymorph.c:  for ( morph = morph_start; morph; morph = morph->next ) 
polymorph.c:	if ( morph->vnum > vnum )
polymorph.c:		vnum = morph->vnum;
polymorph.c:  for ( morph = morph_start; morph; morph = morph->next ) 
polymorph.c:	if ( morph->vnum == 0 )
polymorph.c:		morph->vnum = vnum;
polymorph.c:  for (vch = first_char; vch; vch = vch->next )
polymorph.c:	if ( vch->morph == NULL || vch->morph->morph == NULL || 
polymorph.c:	     vch->morph->morph != morph )
polymorph.c: * This is just a wrapper.  --Shaddai
quest.c:*       ROM 2.4 is copyright 1993-1995 Russ Taylor                         *
quest.c:*  the latest version of quest.c, please send a request to the above add-  *
quest.c:*  code, Ryan!! For more SMAUG code, e-mail "leckey@rogers.wave.ca"        *
quest.c:   items are worthless and have the rot-death flag, as they are placed
quest.c:        if (xIS_SET(ch->act, PLR_QUESTOR))
quest.c:	    if (ch->questmob == -1 && ch->questgiver->short_descr != NULL)
quest.c:		sprintf(buf, "Your quest is ALMOST complete!\n\rGet back to %s before your time runs out!\n\r",ch->questgiver->short_descr);
quest.c:	    else if (ch->questobj > 0)
quest.c:                questinfoobj = get_obj_index(ch->questobj);
quest.c:		    sprintf(buf, "You are on a quest to recover the fabled %s!\n\r",questinfoobj->name);
quest.c:	    else if (ch->questmob > 0)
quest.c:                questinfo = get_mob_index(ch->questmob);
quest.c:	            sprintf(buf, "You are on a quest to slay the dreaded %s!\n\r",questinfo->short_descr);
quest.c:	sprintf(buf, "You have %d quest points.\n\r",ch->pcdata->quest_curr);
quest.c:        if (!xIS_SET(ch->act, PLR_QUESTOR))
quest.c:            if (ch->nextquest > 350) {
quest.c:                ch->nextquest = 0; }
quest.c:	    if (ch->nextquest > 1)
quest.c:		sprintf(buf, "There are %d minutes remaining until you can go on another quest.\n\r",ch->nextquest);
quest.c:	    else if (ch->nextquest == 1)
quest.c:        else if (ch->countdown > 0)
quest.c:	    sprintf(buf, "Time left for current quest: %d\n\r",ch->countdown);
quest.c:    for ( questman = ch->in_room->first_person; questman != NULL; questman = questman->next_in_room )
quest.c:        if (questman->spec_fun == spec_lookup( "spec_questmaster" )) break;
quest.c:    if (questman == NULL || questman->spec_fun != spec_lookup( "spec_questmaster" ))
quest.c:    if ( questman->position == POS_FIGHTING)
quest.c:    ch->questgiver = questman;
quest.c:     bug("Error loading quest objects. Char: ", ch->name);
quest.c:&c[&W1&c] &Y%-5d%-12s&w%s\n\r\
quest.c:&c[&W2&c] &Y%-5d%-12s&w%s\n\r\
quest.c:&c[&W3&c] &Y%-5d%-12s&w%s\n\r\
quest.c:&c[&W4&c] &Y%-5d%-12s&w%s\n\r\
quest.c:&c[&W5&c] &Y%-5d%-12s&w%s\n\r\
quest.c:&c[&W6&c] &Y%-5s%-12s&w10,000,000 gold pieces\n\r\
quest.c:&c[&W7&c] &Y%-5s%-12s&w30 Practices\n\r",
quest.c:QUEST_VALUE1, "qp", obj1->short_descr, QUEST_VALUE2, "qp", obj2->short_descr, 
quest.c:QUEST_VALUE3, "qp", obj3->short_descr, QUEST_VALUE4, "qp", obj4->short_descr, 
quest.c:QUEST_VALUE5, "qp", obj5->short_descr, "500", "qp", "500", "qp" );
quest.c:            if (ch->pcdata->quest_curr >= QUEST_VALUE1)
quest.c:                ch->pcdata->quest_curr -= QUEST_VALUE1;
quest.c:	        obj = create_object(get_obj_index(QUEST_ITEM1),ch->level);
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:            if (ch->pcdata->quest_curr >= QUEST_VALUE2)
quest.c:                ch->pcdata->quest_curr -= QUEST_VALUE2;
quest.c:	        obj = create_object(get_obj_index(QUEST_ITEM2),ch->level);
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:            if (ch->pcdata->quest_curr >= QUEST_VALUE3)
quest.c:                ch->pcdata->quest_curr -= QUEST_VALUE3;
quest.c:	        obj = create_object(get_obj_index(QUEST_ITEM3),ch->level);
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:            if (ch->pcdata->quest_curr >= QUEST_VALUE4)
quest.c:                ch->pcdata->quest_curr -= QUEST_VALUE4;
quest.c:	        obj = create_object(get_obj_index(QUEST_ITEM4),ch->level);
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:            if (ch->pcdata->quest_curr >= QUEST_VALUE5)
quest.c:                ch->pcdata->quest_curr -= QUEST_VALUE5;
quest.c:	        obj = create_object(get_obj_index(QUEST_ITEM5),ch->level);
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:	    if (ch->pcdata->quest_curr >= 500)
quest.c:		ch->pcdata->quest_curr -= 500;
quest.c:	        ch->practice += 30;
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:	    if (ch->pcdata->quest_curr >= 500)
quest.c:		ch->pcdata->quest_curr -= 500;
quest.c:                ch->gold += 10000000;
quest.c:		sprintf(buf, "Sorry, %s, but you don't have enough quest points for that.",ch->name);
quest.c:	    sprintf(buf, "I don't have that item, %s.",ch->name);
quest.c:            if (ch->nextquest > 0 && !(ch->level >= LEVEL_IMMORTAL))
quest.c:                sprintf( buf, "You're not on a quest %s.", ch->name );
quest.c:            if (xIS_SET(ch->act, PLR_QUESTOR))
quest.c:                xREMOVE_BIT(ch->act, PLR_QUESTOR);
quest.c:            ch->questgiver = NULL;
quest.c:            ch->countdown = 0;
quest.c:            ch->questmob = 0;
quest.c:            ch->questobj = 0;
quest.c:            if (ch->level >= LEVEL_IMMORTAL)
quest.c:               ch->nextquest = 0;
quest.c:            ch->nextquest = 30;
quest.c:            sprintf( buf, "Very well %s, we can't all be heroes.", ch->name );
quest.c:        if (xIS_SET(ch->act, PLR_QUESTOR))
quest.c:        if (ch->nextquest > 350) {
quest.c:            ch->nextquest = 0; }
quest.c:	if (ch->nextquest > 0)
quest.c:	    sprintf(buf, "You're very brave, %s, but let someone else have a chance.",ch->name);
quest.c:	    sprintf(buf, "Please come back in about %d minutes.", ch->nextquest);
quest.c:	sprintf(buf, "Thank you, brave %s!",ch->name);
quest.c:        if (ch->questmob > 0 || ch->questobj > 0)
quest.c:            ch->countdown = number_range(10,30);
quest.c:            xSET_BIT(ch->act, PLR_QUESTOR);
quest.c:	    sprintf(buf, "You have %d minutes to complete this quest.",ch->countdown);
quest.c:	if (ch->questgiver != questman)
quest.c:        if (xIS_SET(ch->act, PLR_QUESTOR))
quest.c:	    if (ch->questmob == -1 && ch->countdown > 0)
quest.c:		    ch->practice += pracreward;
quest.c:                xREMOVE_BIT(ch->act, PLR_QUESTOR);
quest.c:	        ch->questgiver = NULL;
quest.c:	        ch->countdown = 0;
quest.c:	        ch->questmob = 0;
quest.c:		ch->questobj = 0;
quest.c:	        ch->nextquest = 30;
quest.c:		ch->gold += reward;
quest.c:		ch->pcdata->quest_curr  += pointreward;
quest.c:                ch->pcdata->quest_accum += pointreward;
quest.c:	    else if (ch->questobj > 0 && ch->countdown > 0)
quest.c:                for (obj = ch->first_carrying; obj != NULL; obj = obj_next)
quest.c:                    obj_next = obj->next_content;
quest.c:		    if (obj != NULL && obj->pIndexData->vnum == ch->questobj)
quest.c:		        ch->practice += pracreward;
quest.c:                    xREMOVE_BIT(ch->act, PLR_QUESTOR);
quest.c:	            ch->questgiver = NULL;
quest.c:	            ch->countdown = 0;
quest.c:	            ch->questmob = 0;
quest.c:		    ch->questobj = 0;
quest.c:	            ch->nextquest = 30;
quest.c:		    ch->gold += reward;
quest.c:		    ch->pcdata->quest_curr  += pointreward;
quest.c:                    ch->pcdata->quest_accum += pointreward;
quest.c:	    else if ((ch->questmob > 0 || ch->questobj > 0) && ch->countdown > 0)
quest.c:	if (ch->nextquest > 0)
quest.c:	else sprintf(buf, "You have to REQUEST a quest first, %s.",ch->name);
quest.c: * 5 Attempts to find a mob for quest. - Garinan
quest.c:    while (ch->nextquest > 350 && ch->nextquest < 356)
quest.c:        if (ch->nextquest == 355)
quest.c:            ch->nextquest = 400;
quest.c:        ch->nextquest++;
quest.c:	    level_diff = vsearch->level - ch->level;
quest.c:		   less than statements for yourself. - Vassago */
quest.c:            if (((level_diff < 15 && level_diff > -15)
quest.c:                || (ch->level > 30 && ch->level < 40 && vsearch->level > 30 && vsearch->level < 50)
quest.c:                || (ch->level > 40 && ch->level < 50 && vsearch->level > 40 && vsearch->level < 60)
quest.c:                || (ch->level > 50 && ch->level < 60 && vsearch->level > 50 && vsearch->level < 70)
quest.c:                || (ch->level > 60 && ch->level < 70 && vsearch->level > 60 && vsearch->level < 80)
quest.c:                || (ch->level > 70 && ch->level < 80 && vsearch->level > 70 && vsearch->level < 90)
quest.c:                || (ch->level > 80 && ch->level < 90 && vsearch->level > 80 && vsearch->level < 100)
quest.c:                || (ch->level > 90 && vsearch->level > 90))
quest.c:	        && vsearch->pShop == NULL
quest.c:		&& vsearch->rShop == NULL
quest.c:    		&& !xIS_SET(vsearch->act,ACT_TRAIN)
quest.c:    		&& !xIS_SET(vsearch->act,ACT_PRACTICE)
quest.c:    		&& !xIS_SET(vsearch->act,ACT_IMMORTAL)
quest.c:                && !xIS_SET(vsearch->act,ACT_NOQUEST)) break;
quest.c:    if ( vsearch == NULL || ( victim = get_char_world( ch, vsearch->player_name ) ) == NULL || !IS_NPC(victim))
quest.c:        if ((ch->nextquest > 350 && ch->nextquest < 356) || ch->nextquest == 0);
quest.c:          if (ch->nextquest == 0)
quest.c:            ch->nextquest = 351;
quest.c:        if (ch->nextquest == 400)
quest.c:	ch->nextquest = 5; 
quest.c:    if ( ( room = find_location( ch, victim->name ) ) == NULL )
quest.c:	ch->nextquest = 5; 
quest.c:        questitem = create_object( get_obj_index(objvnum), ch->level );
quest.c:	ch->questobj = questitem->pIndexData->vnum;
quest.c:        ch->nextquest = 0;
quest.c:        sprintf(buf, "Vile pilferers have stolen %s from the treasury!",questitem->short_descr);
quest.c:	   lines. - Vassago */
quest.c:	sprintf(buf, "Look in the general area of %s for %s!",room->area->name, room->name);
quest.c:        sprintf(buf, "An enemy of mine, %s, is making vile threats against the city.",victim->short_descr);
quest.c:        sprintf(buf, "Airu's most heinous criminal, %s, has escaped from the dungeon!",victim->short_descr);
quest.c:	sprintf(buf, "Since the escape, %s has murdered %d civillians!",victim->short_descr, number_range(2,20));
quest.c:    if (room->name != NULL)
quest.c:        sprintf(buf, "Seek %s out somewhere in the vicinity of %s!",victim->short_descr,room->name);
quest.c:	   lines. - Vassago */
quest.c:        ch->nextquest = 0;
quest.c:	sprintf(buf, "That location is in the general area of %s.",room->area->name);
quest.c:    ch->questmob = victim->pIndexData->vnum;
quest.c:        ch_next = ch->next;
quest.c:	if (ch->nextquest > 0) 
quest.c:	    ch->nextquest--;
quest.c:	    if (ch->nextquest == 0)
quest.c:        else if (xIS_SET(ch->act,PLR_QUESTOR))
quest.c:	    if (--ch->countdown <= 0)
quest.c:	        ch->nextquest = 30;
quest.c:	        sprintf(buf, "You have run out of time for your quest!\n\rYou may quest again in %d minutes.\n\r",ch->nextquest);
quest.c:                xREMOVE_BIT(ch->act, PLR_QUESTOR);
quest.c:                ch->questgiver = NULL;
quest.c:                ch->countdown = 0;
quest.c:                ch->questmob = 0;
quest.c:	    if (ch->countdown > 0 && ch->countdown < 6)
redit.c:/*------------------------------------------------------------------------*/
redit.c:/*-----------------------------------------------------------------------*/
redit.c:/*-----------------------------------------------------------------------*/
redit.c:    if ( IS_NPC(ch) || !ch->desc )
redit.c:        room = ch->in_room;
redit.c:    for ( d = first_descriptor; d; d = d->next )
redit.c:	if ( d->connected == CON_REDIT )
redit.c:	    if ( d->olc && OLC_VNUM(d) == room->vnum )
redit.c:		ch_printf( ch, "That room is currently being edited by %s.\n\r", d->character->name );
redit.c:    d = ch->desc;
redit.c:    CREATE( d->olc, OLC_DATA, 1 );
redit.c:    OLC_VNUM(d) = room->vnum;
redit.c:    d->character->dest_buf = room;
redit.c:    d->connected = CON_REDIT;
redit.c:        if ( !ch->pcdata || !( pArea = ch->pcdata->area ) )
redit.c:        if ( cvnum < pArea->low_r_vnum
redit.c:        ||   cvnum > pArea->hi_r_vnum )
redit.c:    copy->first_person	        = NULL;
redit.c:    copy->last_person	        = NULL;
redit.c:    copy->first_content	        = NULL;
redit.c:    copy->last_content	        = NULL;
redit.c:    copy->first_extradesc	= NULL;
redit.c:    copy->last_extradesc	= NULL;
redit.c:    copy->area		        = (ch->pcdata->area) ? ch->pcdata->area : orig->area;
redit.c:    copy->vnum		        = cvnum;
redit.c:    /*copy->name		        = STRALLOC( orig->name );
redit.c:    copy->description	        = STRALLOC( orig->description );*/
redit.c:    copy->name		        = QUICKLINK( orig->name );
redit.c:    copy->description	        = QUICKLINK( orig->description );
redit.c:    copy->room_flags	        = orig->room_flags;
redit.c:    copy->sector_type	        = orig->sector_type;
redit.c:    copy->light	                = 0;
redit.c:    copy->first_exit            = NULL;
redit.c:    copy->last_exit             = NULL;
redit.c:    copy->tele_vnum		= orig->tele_vnum;
redit.c:    copy->tele_delay		= orig->tele_delay;
redit.c:    copy->tunnel		= orig->tunnel;
redit.c:    for ( ced = orig->first_extradesc; ced; ced = ced->next )
redit.c:	ed->keyword		= QUICKLINK( ced->keyword );
redit.c:	ed->description		= QUICKLINK( ced->description );
redit.c:	LINK( ed, copy->first_extradesc, copy->last_extradesc, next, prev );
redit.c:    for ( cxit = orig->first_exit; cxit; cxit = cxit->next )
redit.c:        xit = make_exit( copy, get_room_index( cxit->rvnum ), cxit->vdir );
redit.c:	xit->keyword		= QUICKLINK( cxit->keyword );
redit.c:        xit->description	= QUICKLINK( cxit->description );
redit.c:        xit->key                = cxit->key;
redit.c:        xit->exit_info          = cxit->exit_info;
redit.c:    if ( orig->mudprogs )
redit.c:        copy->mudprogs = mprog;
redit.c:        for ( cprog = orig->mudprogs; cprog; cprog = cprog->next )
redit.c:            mprog->type 		= cprog->type;
redit.c:            xSET_BIT( copy->progtypes, mprog->type );
redit.c:            mprog->arglist		= QUICKLINK( cprog->arglist );
redit.c:            mprog->comlist		= QUICKLINK( cprog->comlist );
redit.c:            if ( cprog->next )
redit.c:                CREATE( mprog->next, MPROG_DATA, 1 );
redit.c:                mprog = mprog->next;
redit.c:                mprog->next = NULL;
redit.c:    copy->next	                = room_index_hash[iHash];
redit.c:    if ( !d || !d->character )
redit.c:    if ( IS_NPC( d->character ) )
redit.c:    if ( d->connected == CON_OEDIT )
redit.c:    if ( d->connected == CON_MEDIT )
redit.c:    if ( d->connected == CON_REDIT )
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    OBJ_DATA *obj = d->character->dest_buf;
redit.c:    CHAR_DATA *victim = d->character->dest_buf;
redit.c:    sprintf( log_buf, "Log %s:", d->character->name );
redit.c:    if ( d->connected == CON_REDIT )
redit.c:        sprintf( log_buf, "%s ROOM(%d): ", log_buf, room->vnum );
redit.c:    else if ( d->connected == CON_OEDIT )
redit.c:        sprintf( log_buf, "%s OBJ(%d): ", log_buf, obj->pIndexData->vnum );
redit.c:    else if ( d->connected == CON_MEDIT )
redit.c:            sprintf( log_buf, "%s MOB(%d): ", log_buf, victim->pIndexData->vnum );
redit.c:            sprintf( log_buf, "%s PLR(%s): ", log_buf, victim->name );
redit.c:    log_string_plus( log_buf, LOG_BUILD, get_trust(d->character) );
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    for ( ed = room->first_extradesc; ed; ed = ed->next )
redit.c:	sprintf( buf, "&g%2d&w) %-40.40s\n\r", counter++, ed->keyword );
redit.c:	send_to_char_color( buf, d->character );
redit.c:    send_to_char( "\n\rWhich extra description do you want to edit? ", d->character );
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    if ( room->first_extradesc )
redit.c:	for ( ed = room->first_extradesc; ed; ed = ed->next )
redit.c:	    ch_printf_color( d->character, "&g%2d&w) Keyword: &O%s\n\r", ++count, ed->keyword );
redit.c:	send_to_char( "\n\r", d->character );
redit.c:    ch_printf_color( d->character, "&gA&w) Add a new description\n\r" );
redit.c:    ch_printf_color( d->character, "&gR&w) Remove a description\n\r" );
redit.c:    ch_printf_color( d->character, "&gQ&w) Quit\n\r" );
redit.c:    ch_printf_color( d->character, "\n\rEnter choice: " );
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    for ( cnt = 0, pexit = room->first_exit; pexit; pexit = pexit->next )
redit.c:	ch_printf_color( d->character,
redit.c:	        "&g%2d&w) %-10.10s to %-5d.  Key: %d  Flags: %d  Keywords: %s.\n\r",
redit.c:		dir_name[pexit->vdir],
redit.c:		pexit->to_room ? pexit->to_room->vnum : 0,
redit.c:		pexit->key,
redit.c:		pexit->exit_info,
redit.c:		pexit->keyword[0] != '\0' ? pexit->keyword : "(none)" );
redit.c:    if ( room->first_exit )
redit.c:	send_to_char( "\n\r", d->character );
redit.c:    send_to_char_color( "&gA&w) Add a new exit\n\r", d->character );
redit.c:    send_to_char_color( "&gR&w) Remove an exit\n\r", d->character );
redit.c:    send_to_char_color( "&gQ&w) Quit\n\r", d->character );
redit.c:    send_to_char( "\n\rEnter choice: ", d->character );
redit.c:    /* ROOM_INDEX_DATA *room = d->character->dest_buf; */
redit.c:    EXIT_DATA *pexit = d->character->spare_ptr;
redit.c:        if ( IS_SET( pexit->exit_info, 1 << i ) )
redit.c:    ch_printf_color( d->character, "&g1&w) Direction  : &c%s\n\r", dir_name[pexit->vdir] );
redit.c:    ch_printf_color( d->character, "&g2&w) To Vnum    : &c%d\n\r", pexit->to_room ? pexit->to_room->vnum : -1 );
redit.c:    ch_printf_color( d->character, "&g3&w) Key        : &c%d\n\r", pexit->key );
redit.c:    ch_printf_color( d->character, "&g4&w) Keyword    : &c%s\n\r", (pexit->keyword && pexit->keyword[0] != '\0') ? pexit->keyword : "(none)" );
redit.c:    ch_printf_color( d->character, "&g5&w) Flags      : &c%s\n\r", flags[0] != '\0' ? flags : "(none)" );
redit.c:    ch_printf_color( d->character, "&g6&w) Description: &c%s\n\r", (pexit->description && pexit->description[0] != '\0') ? pexit->description : "(none)" );
redit.c:    ch_printf_color( d->character, "&gQ&w) Quit\n\r" );
redit.c:    ch_printf_color( d->character, "\n\rEnter choice: " );
redit.c:	ch_printf_color( d->character, "&g%2d&w) %s\n\r", i, dir_name[i] );
redit.c:    send_to_char( "\n\rChoose a direction: ", d->character );
redit.c:    EXIT_DATA *pexit = d->character->spare_ptr;
redit.c:	ch_printf_color( d->character, "&g%2d&w) %-20.20s\n\r", i+1, ex_flags[i] );
redit.c:        if ( IS_SET( pexit->exit_info, 1 << i ) )
redit.c:    send_to_char_color( buf, d->character );
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:	sprintf( buf, "&g%2d&w) %-20.20s ",
redit.c:	send_to_char_color( buf, d->character );
redit.c:    ch_printf_color( d->character, "\n\rRoom flags: &c%s&w\n\rEnter room flags, 0 to quit : ",
redit.c:	flag_string( room->room_flags, r_flags ) );
redit.c:	sprintf(buf, "&g%2d&w) %-20.20s ",
redit.c:	send_to_char_color( buf, d->character );
redit.c:    send_to_char("\r\nEnter sector type : ", d->character);
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    switch( room->sector_type )
redit.c:	"&w-- Room number : [&c%d&w]      Room area: [&c%-30.30s&w]\n\r"
redit.c:	room->area ? room->area->name : "None????",
redit.c:	room->name,
redit.c:	room->description,
redit.c:	flag_string( room->room_flags, r_flags),
redit.c:	room->tunnel,
redit.c:	room->tele_delay,
redit.c:	room->tele_vnum
redit.c:  set_char_color( AT_PLAIN, d->character );
redit.c:  send_to_char_color(buf, d->character);
redit.c:    for ( ed = room->first_extradesc; ed; ed = ed->next )
redit.c:    ROOM_INDEX_DATA *room = ch->dest_buf;
redit.c:    EXTRA_DESCR_DATA *ed = ch->spare_ptr;
redit.c:    switch( ch->substate )
redit.c:	if ( !ch->dest_buf )
redit.c:	    bug( "do_redit_reset: sub_obj_extra: NULL ch->dest_buf", 0 );
redit.c:	    ch->substate = SUB_NONE;
redit.c:	    ch->desc->connected = CON_PLAYING;
redit.c:	STRFREE( room->description );
redit.c:	room->description = copy_buffer( ch );
redit.c:	ch->dest_buf = room;
redit.c:	ch->desc->connected = CON_REDIT;
redit.c:	ch->substate = SUB_NONE;
redit.c:	olc_log( ch->desc, "Edited room description" );
redit.c:	redit_disp_menu( ch->desc );
redit.c:	STRFREE( ed->description );
redit.c:	ed->description = copy_buffer( ch );
redit.c:	ch->dest_buf = room;
redit.c:	ch->spare_ptr = ed;
redit.c:	ch->substate = SUB_NONE;
redit.c:	ch->desc->connected = CON_REDIT;
redit.c:	oedit_disp_extra_choice( ch->desc );
redit.c:	OLC_MODE(ch->desc) = REDIT_EXTRADESC_CHOICE;
redit.c:	olc_log( ch->desc, "Edit description for exdesc %s", ed->keyword );
redit.c:    ROOM_INDEX_DATA *room = d->character->dest_buf;
redit.c:    EXIT_DATA *pexit = d->character->spare_ptr;
redit.c:    EXTRA_DESCR_DATA *ed = d->character->spare_ptr;
redit.c:	    sprintf( log_buf, "OLC: %s edits room %d", d->character->name, OLC_NUM(d));
redit.c:	    log_string_plus( log_buf, LOG_BUILD, d->character->level );
redit.c:	    send_to_char("Room saved to memory.\r\n", d->character);
redit.c:	    send_to_char("Invalid choice!\r\n", d->character);
redit.c:	    send_to_char("Do you wish to save this room internally? : ", d->character);
redit.c:		send_to_char( "Do you wish to save this room internally? : ", d->character );
redit.c:	    send_to_char("Enter room name:-\r\n| ", d->character);
redit.c:	    d->character->substate = SUB_ROOM_DESC;
redit.c:	    d->character->last_cmd = do_redit_reset;
redit.c:	    send_to_char( "Enter room description:-\r\n", d->character );
redit.c:	    if ( !room->description )
redit.c:		room->description = STRALLOC( "" );
redit.c:	    start_editing( d->character, room->description );
redit.c:	    send_to_char( "How many people can fit in the room? ", d->character );
redit.c:	    send_to_char( "How long before people are teleported out? ", d->character );
redit.c:	    send_to_char( "Where are they teleported to? ", d->character );
redit.c:	    send_to_char( "Invalid choice!", d->character );
redit.c:	STRFREE( room->name );
redit.c:	room->name = STRALLOC( arg );
redit.c:	olc_log( d, "Changed name to %s", room->name );
redit.c:                send_to_char( "Invalid flag, try again: ", d->character );
redit.c:		number -= 1; /* Offset for 0 */
redit.c:                TOGGLE_BIT( room->room_flags, 1 << number );
redit.c:		    IS_SET( room->room_flags, 1 << number ) ? "Added" : "Removed",
redit.c:                    TOGGLE_BIT( room->room_flags, 1 << number );
redit.c:			IS_SET( room->room_flags, 1 << number ) ? "Added" : "Removed",
redit.c:	    send_to_char("Invalid choice!", d->character);
redit.c:	    room->sector_type = number;
redit.c:	room->tunnel = URANGE( 0, number, 1000 );
redit.c:	olc_log( d, "Changed tunnel amount to %d", room->tunnel );
redit.c:	room->tele_delay = number;
redit.c:	olc_log( d, "Changed teleportation delay to %d", room->tele_delay );
redit.c:	room->tele_vnum = URANGE( 1, number, MAX_VNUM );
redit.c:	olc_log( d, "Changed teleportation vnum to %d", room->tele_vnum );
redit.c:		    d->character->spare_ptr = pexit;
redit.c:	    send_to_char( "Delete which exit? ", d->character );
redit.c:	    d->character->spare_ptr = NULL;    
redit.c:	    d->character->spare_ptr = NULL;
redit.c:	    send_to_char( "This option can only be changed by remaking the exit.\n\r", d->character );
redit.c:	    send_to_char( "Which room does this exit go to? ", d->character );
redit.c:	    send_to_char( "What is the vnum of the key to this exit? ", d->character );
redit.c:	    send_to_char( "What is the keyword to this exit? ", d->character );
redit.c:	    send_to_char( "Description:\n\r] ", d->character );
redit.c:	    pexit->description = STRALLOC( "" );
redit.c:	    pexit->description = STRALLOC( buf );
redit.c:	olc_log( d, "Changed %s description to %s", dir_name[pexit->vdir], arg ? arg : "none" );
redit.c:		send_to_char( "Invalid direction, try again: ", d->character );
redit.c:	    d->character->tempnum = number;
redit.c:		send_to_char( "An exit in that direction already exists.\n\r", d->character );
redit.c:	    d->character->tempnum = number;
redit.c:	send_to_char( "Which room does this exit go to? ", d->character );
redit.c:	    send_to_char( "Non-existant room.\n\r", d->character );
redit.c:	pexit = make_exit( room, tmp, d->character->tempnum );
redit.c:	pexit->keyword		= STRALLOC( "" );
redit.c:	pexit->description	= STRALLOC( "" );
redit.c:	pexit->key		= -1;
redit.c:	pexit->exit_info	= 0;
redit.c:	act( AT_IMMORT, "$n reveals a hidden passage!", d->character, NULL, NULL, TO_ROOM );
redit.c:	d->character->spare_ptr = pexit;
redit.c:	olc_log( d, "Added %s exit to %d", dir_name[pexit->vdir], pexit->vnum );
redit.c:	    send_to_char( "Exit must be specified in a number.\n\r", d->character );
redit.c:	    send_to_char( "That exit does not exist.\n\r", d->character );
redit.c:	olc_log( d, "Removed %s exit", dir_name[pexit->vdir] );
redit.c:	    send_to_char( "Invalid room number, try again : ", d->character);
redit.c:	    send_to_char( "That room does not exist, try again: ", d->character );
redit.c:	/*pexit->vnum = number;*/
redit.c:	pexit->to_room = get_room_index( number );
redit.c:	/*olc_log( d, "%s exit vnum changed to %d", dir_name[pexit->vdir], pexit->vnum );*/
redit.c:	    dir_name[pexit->vdir], pexit->to_room->vnum );
redit.c:	STRFREE( pexit->keyword );
redit.c:	pexit->keyword = STRALLOC( arg );
redit.c:	olc_log( d, "Changed %s keyword to %s", dir_name[pexit->vdir], pexit->keyword );
redit.c:	    send_to_char( "Invalid vnum, try again: ", d->character );
redit.c:	    pexit->key = number;
redit.c:	olc_log( d, "%s key vnum is now %d", dir_name[pexit->vdir], pexit->key );
redit.c:	|| ( 1 << (number-1) == EX_RES1)
redit.c:	|| ( 1 << (number-1) == EX_RES2)
redit.c:	|| ( 1 << (number-1) == EX_PORTAL) )
redit.c:	    send_to_char("That's not a valid choice!\r\n", d->character);
redit.c:	number -= 1;
redit.c:	TOGGLE_BIT( pexit->exit_info, 1 << number );
redit.c:	    IS_SET( pexit->exit_info, 1 << number ) ? "Added" : "Removed",
redit.c:	    dir_name[pexit->vdir] ); 
redit.c:	    send_to_char( "Not found, try again: ", d->character );
redit.c:	olc_log( d, "Deleted exdesc %s", ed->keyword );
redit.c:	UNLINK( ed, room->first_extradesc, room->last_extradesc, next, prev );
redit.c:	STRFREE( ed->keyword );
redit.c:	STRFREE( ed->description );
redit.c:	top_ed--;
redit.c:	    if ( !ed->keyword || !ed->description )
redit.c:		send_to_char( "No keyword and/or description, junking...", d->character );
redit.c:		UNLINK( ed, room->first_extradesc, room->last_extradesc, next, prev );
redit.c:		STRFREE( ed->keyword );
redit.c:		STRFREE( ed->keyword );
redit.c:		top_ed--;
redit.c:	    d->character->spare_ptr = NULL;
redit.c:	    send_to_char( "Keywords, seperated by spaces: ", d->character );
redit.c:	    d->character->substate = SUB_ROOM_EXTRA;
redit.c:	    d->character->last_cmd = do_redit_reset;
redit.c:	    send_to_char( "Enter new extradesc description: \n\r", d->character );
redit.c:	    start_editing( d->character, ed->description );
redit.c:	    send_to_char( "A extradesc with that keyword already exists.\n\r", d->character );
redit.c:	olc_log( d, "Changed exkey %s to %s", ed->keyword, arg );
redit.c:	STRFREE( ed->keyword );
redit.c:	ed->keyword = STRALLOC( arg );
redit.c:	    LINK( ed, room->first_extradesc, room->last_extradesc, next, prev );
redit.c:	    ed->keyword = STRALLOC( "" );
redit.c:	    ed->description = STRALLOC( "" );
redit.c:	    d->character->spare_ptr = ed;
redit.c:	    send_to_char( "Delete which extra description? ", d->character );
redit.c:		    send_to_char( "Not found, try again: ", d->character );
redit.c:		d->character->spare_ptr = ed;
remort.c:            if( IS_SET( race_table[ch->race]->class_restriction, 1 << x ) )
remort.c:            if( x != ch->class && str_cmp( class_table[x]->who_name, "Dragon" ))
remort.c:                if( strlen(buf)+strlen(class_table[x]->who_name) > 77 )
remort.c:                strcat( buf, class_table[x]->who_name );
remort.c:    if( ch->level < LEVEL_PCAVATAR )
remort.c:    if( ch->level2 != -1 )
remort.c:        if( IS_SET( race_table[ch->race]->class_restriction, 1 << x ) )
remort.c:        if( !str_cmp( class_table[x]->who_name, arg ) )
remort.c:    if( ch->class == x )
remort.c:    ch->level2   = ch->level;
remort.c:    ch->level    = 1;
remort.c:    ch->class2   = ch->class;
remort.c:    ch->class    = x;
remort.c:    ch->max_hit  = 20;
remort.c:    ch->hit      = ch->max_hit + race_table[ch->race]->hit;
remort.c:    ch->max_mana = 100;
remort.c:    ch->mana     = ch->max_mana + race_table[ch->race]->mana;
remort.c:    ch->max_move = 100;
remort.c:    ch->move     = ch->max_move;
remort.c:    ch->exp      = 0;
remort.c:    DISPOSE( ch->pcdata->rank );
remort.c:    ch->pcdata->rank = str_dup( "" );
remort.c:               race_table[ch->race]->race_name, class_table[x]->who_name );
remort.c:    sprintf( buf, "%s has just remorted!", ch->name );
requests.c: * -----------------------------------------------------------|   (0...0)   *
requests.c: * -----------------------------------------------------------|    {o o}    *
requests.c: * ------------------------------------------------------------------------ *
requests.c: * ------------------------------------------------------------------------ *
requests.c: * - Only handles who requests currently, but will hopefully support much   *
requests.c:  if ( (REQ = open( REQUEST_PIPE, O_RDONLY | O_NONBLOCK )) == -1 )
reset.c: * -----------------------------------------------------------|   (0...0)   *
reset.c: * -----------------------------------------------------------|    {o o}    *
reset.c: * ------------------------------------------------------------------------ *
reset.c: * ------------------------------------------------------------------------ *
reset.c: * and that pArea->reset_first is the first reset in pArea.  Likewise,
reset.c: * pArea->reset_last *MUST* be the last reset in pArea.  Weird and
reset.c: * of them good.  The most important are your pRoom->contents,
reset.c: * pRoom->people, rch->carrying, obj->contains, and pArea->reset_first ..
reset.c: * pArea->reset_last.  -- Altrag
reset.c:  for ( pReset = pArea->first_reset; pReset; pReset = pReset->next )
reset.c:/* This is one loopy function.  Ugh. -- Altrag */
reset.c:  switch( pReset->command )
reset.c:    pRoom = get_room_index( pReset->arg3 );
reset.c:    if ( pReset->command == 'H' )
reset.c:      pr = pReset->arg1;
reset.c:      pr = pReset->arg3;
reset.c:    for ( reset = pReset->prev; reset; reset = reset->prev )
reset.c:      if ( (reset->command == 'O' || reset->command == 'P' ||
reset.c:            reset->command == 'G' || reset->command == 'E') &&
reset.c:           (!pr || pr == reset->arg1) && get_obj_index(reset->arg1) )
reset.c:    switch(pReset->arg2 & BIT_RESET_TYPE_MASK)
reset.c:      return (aRoom->vnum == pReset->arg1);
reset.c:      for ( reset = pReset->prev; reset; reset = reset->prev )
reset.c:        if ( reset->command == 'M' && get_mob_index(reset->arg1) )
reset.c:      for ( reset = pReset->prev; reset; reset = reset->prev )
reset.c:        if ( (reset->command == 'O' || reset->command == 'P' ||
reset.c:              reset->command == 'G' || reset->command == 'E') &&
reset.c:             (!pReset->arg1 || pReset->arg1 == reset->arg1) &&
reset.c:              get_obj_index(reset->arg1) )
reset.c:    for ( reset = pReset->prev; reset; reset = reset->prev )
reset.c:      if ( reset->command == 'M' && get_mob_index(reset->arg1) )
reset.c:    pRoom = get_room_index( pReset->arg1 );
reset.c:    if ( !pRoom || pRoom->area != pArea || (aRoom && pRoom != aRoom) )
reset.c:    pRoom = ch->in_room;
reset.c:  rprev = reset->prev; \
reset.c:  if ( pReset->command == 'M' )
reset.c:    for ( reset = pReset->next; reset; reset = reset->next )
reset.c:      if ( reset->command == 'M' )
reset.c:      if ( reset->command == 'G' || reset->command == 'E' )
reset.c:      if ( reset->command == 'B' &&
reset.c:          (reset->arg2 & BIT_RESET_TYPE_MASK) == BIT_RESET_MOBILE &&
reset.c:          (!reset->arg1 || reset->arg1 == pReset->arg1) )
reset.c:  else if ( pReset->command == 'O' || pReset->command == 'P' ||
reset.c:            pReset->command == 'G' || pReset->command == 'E' )
reset.c:    for ( reset = pReset->next; reset; reset = reset->next )
reset.c:      if ( reset->command == 'T' &&
reset.c:          (!reset->arg3 || reset->arg3 == pReset->arg1) )
reset.c:      if ( reset->command == 'H' &&
reset.c:          (!reset->arg1 || reset->arg1 == pReset->arg1) )
reset.c:      if ( reset->command == 'P' && (reset->arg3 > 0 ||
reset.c:           pReset->command != 'P' || reset->extra-1 == pReset->extra) &&
reset.c:          (!reset->arg3 || reset->arg3 == pReset->arg1) )
reset.c:      if ( reset->command == 'B' &&
reset.c:          (reset->arg2 & BIT_RESET_TYPE_MASK) == BIT_RESET_OBJECT &&
reset.c:          (!reset->arg1 || reset->arg1 == pReset->arg1) )
reset.c:      if ( (reset->command == 'O' || reset->command == 'P' ||
reset.c:            reset->command == 'G' || reset->command == 'E') &&
reset.c:           reset->arg1 == pReset->arg1 )
reset.c:  if ( pReset == pArea->last_mob_reset )
reset.c:    pArea->last_mob_reset = NULL;
reset.c:  if ( pReset == pArea->last_obj_reset )
reset.c:    pArea->last_obj_reset = NULL;
reset.c:  UNLINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:    for ( reset = pArea->last_reset; reset; reset = reset->prev )
reset.c:      switch(reset->command)
reset.c:    for ( reset = pArea->first_reset; reset; reset = reset->next )
reset.c:      switch(reset->command)
reset.c:      if ( (pObjTo = get_obj_index(reset->arg1)) &&
reset.c:            is_name(arg, pObjTo->name) && ++cnt == num )
reset.c:    for ( reset = pArea->last_reset; reset; reset = reset->prev )
reset.c:      switch(reset->command)
reset.c:    for ( reset = pArea->first_reset; reset; reset = reset->next )
reset.c:      switch(reset->command)
reset.c:      if ( (pMob = get_mob_index(reset->arg1)) &&
reset.c:            is_name(arg, pMob->player_name) && ++cnt == num )
reset.c:    char *nm = (ch->substate == SUB_REPEATCMD ? "" : (aRoom ? "rreset "
reset.c:    ch->substate = SUB_REPEATCMD;
reset.c:    ch->dest_buf = (aRoom ? (void *)aRoom : (void *)pArea);
reset.c:    if ( !pArea->first_reset )
reset.c:    num = pArea->nplayer;
reset.c:    pArea->nplayer = 0;
reset.c:    pArea->nplayer = num;
reset.c:    start = is_number(arg) ? atoi(arg) : -1;
reset.c:    end   = is_number(arg) ? atoi(arg) : -1;
reset.c:    reset->prev = pReset->prev;
reset.c:    reset->next = pReset->next;
reset.c:    if ( !pReset->prev )
reset.c:      pArea->first_reset = reset;
reset.c:      pReset->prev->next = reset;
reset.c:    if ( !pReset->next )
reset.c:      pArea->last_reset  = reset;
reset.c:      pReset->next->prev = reset;
reset.c:    add_reset(pArea, pReset->command, pReset->extra, pReset->arg1,
reset.c:        pReset->arg2, pReset->arg3);
reset.c:    place_reset(pArea, pReset->command, pReset->extra, pReset->arg1,
reset.c:        pReset->arg2, pReset->arg3);
reset.c:    INSERT(pReset, reset, pArea->first_reset, next, prev);
reset.c:    start = is_number(arg) ? atoi(arg) : -1;
reset.c:    end   = is_number(arg) ? atoi(arg) : -1;
reset.c:    for ( pReset = pArea->first_reset; pReset; pReset = reset )
reset.c:      reset = pReset->next;
reset.c:      if ( (end != -1 && num > end) || (end == -1 && found) )
reset.c:      UNLINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:      if ( pReset == pArea->last_mob_reset )
reset.c:        pArea->last_mob_reset = NULL;
reset.c:      top_reset--;
reset.c:    for ( pReset = pArea->first_reset; pReset; pReset = pReset->next )
reset.c:    pReset = make_reset('M', 0, pMob->vnum, num, pRoom->vnum);
reset.c:    LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:      while ( reset->next && (reset->next->command == 'H' ||
reset.c:              reset->next->command == 'T' ||
reset.c:             (reset->next->command == 'B' &&
reset.c:              (reset->next->arg2 & BIT_RESET_TYPE_MASK) == BIT_RESET_OBJECT &&
reset.c:              (!reset->next->arg1 || reset->next->arg1 == pReset->arg1))) )
reset.c:        reset = reset->next;
reset.c:/*      pReset = make_reset('P', 1, pObj->vnum, num, reset->arg1);*/
reset.c:      pReset = make_reset('P', reset->extra+1, pObj->vnum, vnum, 0);
reset.c:      INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:      while ( reset->next && reset->next->command == 'B' &&
reset.c:      	     (reset->next->arg2 & BIT_RESET_TYPE_MASK) == BIT_RESET_OBJECT &&
reset.c:      	     (!reset->next->arg1 || reset->next->arg1 == pReset->arg1) )
reset.c:        reset = reset->next;
reset.c:      pReset = make_reset('G', 1, pObj->vnum, vnum, 0);
reset.c:      INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:      while ( reset->next && reset->next->command == 'B' &&
reset.c:      	     (reset->next->arg2 & BIT_RESET_TYPE_MASK) == BIT_RESET_OBJECT &&
reset.c:      	     (!reset->next->arg1 || reset->next->arg1 == pReset->arg1) )
reset.c:        reset = reset->next;
reset.c:      for ( pReset = reset->next; pReset; pReset = pReset->next )
reset.c:        if ( pReset->command == 'M' )
reset.c:        if ( pReset->command == 'E' && pReset->arg3 == num )
reset.c:      pReset = make_reset('E', 1, pObj->vnum, vnum, num);
reset.c:      INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:      if ( pRoom->area != pArea )
reset.c:      pReset = make_reset('O', 0, pObj->vnum, vnum, pRoom->vnum);
reset.c:      LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:    if ( pRoom->area != pArea )
reset.c:    pReset = make_reset('R', 0, pRoom->vnum, vnum, 0);
reset.c:    LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:    num = is_number(arg) ? atoi(arg) : -1;
reset.c:    chrg = is_number(arg) ? atoi(arg) : -1;
reset.c:      vnum = (aRoom ? aRoom->vnum : ch->in_room->vnum);
reset.c:/*        vnum = reset->arg1;*/
reset.c:      INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:      LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:        pRoom = ch->in_room;
reset.c:      vnum = pRoom->vnum;
reset.c:        pRoom = ch->in_room;
reset.c:      vnum = pRoom->vnum;
reset.c:          INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:          LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:        INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:        LINK(pReset, pArea->first_reset, pArea->last_reset, next, prev);
reset.c:/*    pReset = make_reset('H', 1, reset->arg1, 0, 0);*/
reset.c:    INSERT(pReset, reset, pArea->last_reset, prev, next);
reset.c:  if ( ch->substate == SUB_REPEATCMD )
reset.c:    ch->substate = SUB_NONE;
reset.c:    ch->substate = SUB_REPEATCMD;
reset.c:    ch->last_cmd = (aRoom ? do_rreset : do_reset);
reset.c:  if ( ch->substate == SUB_REPEATCMD )
reset.c:    pArea = ch->dest_buf;
reset.c:    if ( pArea && pArea != ch->pcdata->area && pArea != ch->in_room->area )
reset.c:      for ( tmp = first_build; tmp; tmp = tmp->next )
reset.c:        for ( tmp = first_area; tmp; tmp = tmp->next )
reset.c:		ch->name);	/* why was this cast to an int? */
reset.c:        ch->substate = SUB_NONE;
reset.c:        ch->dest_buf = NULL;
reset.c:      ch_printf(ch, "Editing resets for area: %s\n\r", pArea->name);
reset.c:      ch->substate = SUB_NONE;
reset.c:      ch->dest_buf = NULL;
reset.c:    for ( pArea = first_build; pArea; pArea = pArea->next )
reset.c:      if ( !str_cmp(fname, pArea->filename) )
reset.c:      pArea = ch->pcdata->area;
reset.c:      pArea = ch->in_room->area;
reset.c:    pArea = ch->pcdata->area;
reset.c:  if ( ch->substate == SUB_REPEATCMD )
reset.c:    pRoom = ch->dest_buf;
reset.c:      bug("do_rreset: %s's dest_buf points to invalid room", (int)ch->name);
reset.c:    ch->substate = SUB_NONE;
reset.c:    ch->dest_buf = NULL;
reset.c:    pRoom = ch->in_room;
reset.c:  edit_reset(ch, argument, pRoom->area, pRoom);
reset.c:  if ( (cm == 'O' || cm == 'P') && obj->pIndexData->vnum == OBJ_VNUM_TRAP )
reset.c:      add_reset(pArea, 'T', obj->value[3], obj->value[1], obj->value[0], v3);
reset.c:  add_reset( pArea, cm, (cm == 'P' ? iNest : 1), obj->pIndexData->vnum,
reset.c:  /* Only add hide for in-room objects that are hidden and cant be moved, as
reset.c:     hide is an update reset, not a load-only reset. */
reset.c:      !IS_SET(obj->wear_flags, ITEM_TAKE) )
reset.c:  for ( inobj = obj->first_content; inobj; inobj = inobj->next_content )
reset.c:    if ( inobj->pIndexData->vnum == OBJ_VNUM_TRAP )
reset.c:  for ( inobj = obj->first_content; inobj; inobj = inobj->next_content )
reset.c:    iNest--;
reset.c:  for ( rch = pRoom->first_person; rch; rch = rch->next_in_room )
reset.c:    add_reset( pArea, 'M', 1, rch->pIndexData->vnum, rch->pIndexData->count,
reset.c:               pRoom->vnum );
reset.c:    for ( obj = rch->first_carrying; obj; obj = obj->next_content )
reset.c:      if ( obj->wear_loc == WEAR_NONE )
reset.c:        add_obj_reset( pArea, 'E', obj, 1, obj->wear_loc );
reset.c:  for ( obj = pRoom->first_content; obj; obj = obj->next_content )
reset.c:    add_obj_reset( pArea, 'O', obj, 1, pRoom->vnum );
reset.c:    for ( pexit = pRoom->first_exit; pexit; pexit = pexit->next )
reset.c:      if ( !IS_SET( pexit->exit_info, EX_ISDOOR ) )
reset.c:      if ( IS_SET( pexit->exit_info, EX_CLOSED ) )
reset.c:        if ( IS_SET( pexit->exit_info, EX_LOCKED ) )
reset.c:      add_reset( pArea, 'D', 0, pRoom->vnum, pexit->vdir, state );
reset.c:  for ( pReset = pArea->first_reset; pReset; )
reset.c:    if ( pReset->command != 'R' && is_room_reset( pReset, pRoom, pArea ) )
reset.c:         providing it exists, or first_reset if it doesnt.  -- Altrag */
reset.c:      RESET_DATA *prev = pReset->prev;
reset.c:      pReset = (prev ? prev->next : pArea->first_reset);
reset.c:      pReset = pReset->next;
reset.c:  if ( IS_NPC(ch) || get_trust(ch) < LEVEL_SAVIOR || !ch->pcdata ||
reset.c:      !ch->pcdata->area )
reset.c:  pArea = ch->pcdata->area;
reset.c:  if ( pRoom->area != pArea && get_trust(ch) < LEVEL_GREATER )
reset.c:  if ( pArea->first_reset )
reset.c:  if ( IS_NPC(ch) || get_trust(ch) < LEVEL_SAVIOR || !ch->pcdata ||
reset.c:      !ch->pcdata->area )
reset.c:  pArea = ch->pcdata->area;
reset.c:  if ( pArea->first_reset )
reset.c:  for ( vnum = pArea->low_r_vnum; vnum <= pArea->hi_r_vnum; vnum++ )
reset.c:    if ( !(pRoom = get_room_index(vnum)) || pRoom->area != pArea )
reset.c:    int min = UMAX(pArea->low_soft_range, 1);
reset.c:    int max = UMIN(pArea->hi_soft_range, min + 15);
reset.c:    if ( pObjIndex->level > 0 )
reset.c:	olevel = UMIN(pObjIndex->level, MAX_LEVEL);
reset.c:	switch ( pObjIndex->item_type )
reset.c:	    case ITEM_SCROLL:	olevel = pObjIndex->value[0];		break;
reset.c:  if ( !pArea->first_reset )
reset.c:/*    bug( "%s: reset_area: no resets", (int)pArea->filename );
reset.c:* Why bug builders about stupid stuff like this anyway? -- Scion */
reset.c:  for ( pReset = pArea->first_reset; pReset; pReset = pReset->next )
reset.c:    switch( pReset->command )
reset.c:      sprintf( buf, "%s Reset_area: bad command %c.", pArea->filename,
reset.c:	pReset->command );
reset.c:		if ( !(pMobIndex = get_mob_index(pReset->arg1)) )
reset.c:	sprintf( buf, "%s Reset_area: 'M': bad mob vnum %d.", pArea->filename,
reset.c:	  pReset->arg1 );
reset.c:      if ( !(pRoomIndex = get_room_index(pReset->arg3)) )
reset.c:	sprintf( buf, "%s Reset_area: 'M': bad room vnum %d.", pArea->filename,
reset.c:	  pReset->arg3 );
reset.c:      if ( pMobIndex->count >= pReset->arg2 )
reset.c:	ROOM_INDEX_DATA *pRoomPrev = get_room_index(pReset->arg3 - 1);
reset.c:	if ( pRoomPrev && IS_SET(pRoomPrev->room_flags, ROOM_PET_SHOP) )
reset.c:	  xSET_BIT(mob->act, ACT_PET);
reset.c:	  xSET_BIT(mob->affected_by, AFF_INFRARED);
reset.c:      level = URANGE(0, mob->level - 2, LEVEL_AVATAR);
reset.c:      if ( !(pObjIndex = get_obj_index(pReset->arg1)) )
reset.c:	   pArea->filename, pReset->arg1 );
reset.c:      if ( mob->pIndexData->pShop )
reset.c:	xSET_BIT(obj->extra_flags, ITEM_INVENTORY);
reset.c:      obj->level = URANGE(0, obj->level, LEVEL_AVATAR);
reset.c:      if ( pReset->command == 'E' )
reset.c:        equip_char(mob, obj, pReset->arg3);
reset.c:      if ( !(pObjIndex = get_obj_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:      if ( !(pRoomIndex = get_room_index(pReset->arg3)) )
reset.c:	sprintf ( buf, "%s Reset_area: 'O': bad room vnum %d.", pArea->filename,
reset.c:	   pReset->arg3 );
reset.c:      if ( pArea->nplayer > 0 ||
reset.c:           count_obj_list(pObjIndex, pRoomIndex->first_content) > 0 )
reset.c:      obj->level = UMIN(obj->level, LEVEL_AVATAR);
reset.c:      obj->cost = 0;
reset.c:      if ( !(pObjIndex = get_obj_index(pReset->arg1)) )
reset.c:	sprintf ( buf, "%s Reset_area: 'P': bad obj vnum %d.", pArea->filename,
reset.c:	   pReset->arg1 );
reset.c:      if ( pReset->arg3 > 0 )
reset.c:        if ( !(pObjToIndex = get_obj_index(pReset->arg3)) )
reset.c:	  sprintf(buf,"%s Reset_area: 'P': bad objto vnum %d.",pArea->filename,
reset.c:		pReset->arg3 );
reset.c:        if ( pArea->nplayer > 0 ||
reset.c:            !to_obj->in_room ||
reset.c:             count_obj_list(pObjIndex, to_obj->first_content) > 0 )
reset.c:        for ( iNest = 0; iNest < pReset->extra; iNest++ )
reset.c:          if ( !(to_obj = to_obj->last_content) )
reset.c:		,pArea->filename, pReset->arg1 );
reset.c:            iNest = -1;
reset.c:      obj = create_object(pObjIndex, number_fuzzy(UMAX(generate_itemlevel(pArea, pObjIndex),to_obj->level)));
reset.c:      obj->level = UMIN(obj->level, LEVEL_AVATAR);
reset.c:      if ( IS_SET(pReset->extra, TRAP_OBJ) )
reset.c:        if ( pReset->arg3 > 0 )
reset.c:          if ( !(pObjToIndex = get_obj_index(pReset->arg3)) )
reset.c:		,pArea->filename, pReset->arg3 );
reset.c:          if ( pArea->nplayer > 0 ||
reset.c:              (to_obj->carried_by && !IS_NPC(to_obj->carried_by)) ||
reset.c:        pobj = make_trap( pReset->arg2, pReset->arg1,
reset.c:        		  number_fuzzy(to_obj->level), pReset->extra );
reset.c:        if ( !(pRoomIndex = get_room_index(pReset->arg3)) )
reset.c:	  sprintf(buf,"%s Reset_area: 'T': bad room %d.", pArea->filename,
reset.c:		pReset->arg3 );
reset.c:        if ( pArea->nplayer > 0 ||
reset.c:               pRoomIndex->first_content) > 0 )
reset.c:        to_obj = make_trap(pReset->arg1, pReset->arg1, 10, pReset->extra);
reset.c:      if ( pReset->arg1 > 0 )
reset.c:        if ( !(pObjToIndex = get_obj_index(pReset->arg1)) )
reset.c:	  sprintf(buf,"%s Reset_area: 'H': bad objto vnum %d.",pArea->filename,
reset.c:		pReset->arg1 );
reset.c:        if ( pArea->nplayer > 0 ||
reset.c:            !to_obj->in_room ||
reset.c:             to_obj->in_room->area != pArea ||
reset.c:      xSET_BIT(to_obj->extra_flags, ITEM_HIDDEN);
reset.c:      switch(pReset->arg2 & BIT_RESET_TYPE_MASK)
reset.c:        if ( !(pRoomIndex = get_room_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:        doornum = (pReset->arg2 & BIT_RESET_DOOR_MASK)
reset.c:        plc = &pexit->exit_info;
reset.c:        if ( !(pRoomIndex = get_room_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:        plc = &pRoomIndex->room_flags;
reset.c:        if ( pReset->arg1 > 0 )
reset.c:          if ( !(pObjToIndex = get_obj_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:                !to_obj->in_room ||
reset.c:                 to_obj->in_room->area != pArea )
reset.c:        plc = &to_obj->extra_flags;
reset.c:        plc = &mob->affected_by;
reset.c:		pArea->filename, pReset->arg2 );
reset.c:      if ( IS_SET(pReset->arg2, BIT_RESET_SET) )
reset.c:	    xSET_BIT(*(EXT_BV *)plc, pReset->arg3);
reset.c:	    SET_BIT(*(int *)plc, pReset->arg3);
reset.c:      else if ( IS_SET(pReset->arg2, BIT_RESET_TOGGLE) )
reset.c:	    xTOGGLE_BIT(*(EXT_BV *)plc, pReset->arg3);
reset.c:	    TOGGLE_BIT(*(int *)plc, pReset->arg3);
reset.c:	    xREMOVE_BIT(*(EXT_BV *)plc, pReset->arg3);
reset.c:	    REMOVE_BIT(*(int *)plc, pReset->arg3);
reset.c:      if ( !(pRoomIndex = get_room_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:      if ( !(pexit = get_exit(pRoomIndex, pReset->arg2)) )
reset.c:      switch( pReset->arg3 )
reset.c:        REMOVE_BIT(pexit->exit_info, EX_CLOSED);
reset.c:        REMOVE_BIT(pexit->exit_info, EX_LOCKED);
reset.c:        SET_BIT(   pexit->exit_info, EX_CLOSED);
reset.c:        REMOVE_BIT(pexit->exit_info, EX_LOCKED);
reset.c:        if ( IS_SET(pexit->exit_info, EX_xSEARCHABLE) )
reset.c:          SET_BIT( pexit->exit_info, EX_SECRET);
reset.c:        SET_BIT(   pexit->exit_info, EX_CLOSED);
reset.c:        SET_BIT(   pexit->exit_info, EX_LOCKED);
reset.c:        if ( IS_SET(pexit->exit_info, EX_xSEARCHABLE) )
reset.c:          SET_BIT( pexit->exit_info, EX_SECRET);
reset.c:      if ( !(pRoomIndex = get_room_index(pReset->arg1)) )
reset.c:		pArea->filename, pReset->arg1 );
reset.c:      randomize_exits(pRoomIndex, pReset->arg2-1);
reset.c:  for ( pReset = pArea->first_reset; pReset; pReset = pReset->next )
reset.c:    switch( pReset->command )
reset.c:          pReset->command, pReset->extra, pReset->arg1, pReset->arg2,
reset.c:          pReset->arg3);
reset.c:      if ( !(mob = get_mob_index(pReset->arg1)) )
reset.c:        mname = mob->player_name;
reset.c:      if ( !(room = get_room_index(pReset->arg3)) )
reset.c:        rname = room->name;
reset.c:      sprintf( pbuf, "%s (%d) -> %s (%d) [%d]", mname, pReset->arg1, rname,
reset.c:          pReset->arg3, pReset->arg2 );
reset.c:      if ( (room = get_room_index(pReset->arg3-1)) &&
reset.c:            IS_SET(room->room_flags, ROOM_PET_SHOP) )
reset.c:      if ( !(obj = get_obj_index(pReset->arg1)) )
reset.c:        oname = obj->name;
reset.c:      sprintf( pbuf, "%s (%d) -> %s (%s) [%d]", oname, pReset->arg1, mname,
reset.c:          (pReset->command == 'G' ? "carry" : wear_locs[pReset->arg3]),
reset.c:          pReset->arg2 );
reset.c:      if ( mob && mob->pShop )
reset.c:      if ( !(obj = get_obj_index(pReset->arg1)) )
reset.c:        oname = obj->name;
reset.c:      if ( !(room = get_room_index(pReset->arg3)) )
reset.c:        rname = room->name;
reset.c:      sprintf( pbuf, "(object) %s (%d) -> %s (%d) [%d]\n\r", oname,
reset.c:          pReset->arg1, rname, pReset->arg3, pReset->arg2 );
reset.c:      if ( !(obj = get_obj_index(pReset->arg1)) )
reset.c:        oname = obj->name;
reset.c:      if ( pReset->arg3 > 0 )
reset.c:        obj2 = get_obj_index(pReset->arg3);
reset.c:        rname = (obj2 ? obj2->name : "Object2: *BAD VNUM*");
reset.c:      else if ( pReset->extra == 0 )
reset.c:        rname = lastobj->name;
reset.c:        reset = lo_reset->next;
reset.c:        for ( iNest = 0; iNest < pReset->extra; iNest++ )
reset.c:          for ( ; reset; reset = reset->next )
reset.c:            if ( reset->command == 'O' || reset->command == 'G' ||
reset.c:                 reset->command == 'E' || (reset->command == 'P' &&
reset.c:                !reset->arg3 && reset->extra == iNest) )
reset.c:          if ( !reset || reset->command != 'P' )
reset.c:        else if ( !(obj2 = get_obj_index(reset->arg1)) )
reset.c:          rname = obj2->name;
reset.c:      sprintf( pbuf, "(Put) %s (%d) -> %s (%d) [%d] {nest %d}\n\r", oname,
reset.c:          pReset->arg1, rname, (obj2 ? obj2->vnum : pReset->arg3),
reset.c:          pReset->arg2, pReset->extra );
reset.c:      sprintf(pbuf, "TRAP: %d %d %d %d (%s)\n\r", pReset->extra, pReset->arg1,
reset.c:          pReset->arg2, pReset->arg3, flag_string(pReset->extra, trap_flags));
reset.c:      if ( pReset->arg1 > 0 )
reset.c:        if ( !(obj2 = get_obj_index(pReset->arg1)) )
reset.c:          rname = obj2->name;
reset.c:          (pReset->arg1 > 0 ? pReset->arg1 : obj ? obj->vnum : 0));
reset.c:      if ( IS_SET(pReset->arg2, BIT_RESET_SET) )
reset.c:      else if ( IS_SET(pReset->arg2, BIT_RESET_TOGGLE) )
reset.c:      switch(pReset->arg2 & BIT_RESET_TYPE_MASK)
reset.c:        if ( !(room = get_room_index(pReset->arg1)) )
reset.c:          rname = room->name;
reset.c:        door = (pReset->arg2 & BIT_RESET_DOOR_MASK)
reset.c:            rname, pReset->arg1);
reset.c:        if ( !(room = get_room_index(pReset->arg1)) )
reset.c:          rname = room->name;
reset.c:        sprintf(pbuf, "Room %s (%d)", rname, pReset->arg1);
reset.c:        if ( pReset->arg1 > 0 )
reset.c:          if ( !(obj2 = get_obj_index(pReset->arg1)) )
reset.c:            rname = obj2->name;
reset.c:            (pReset->arg1 > 0 ? pReset->arg1 : obj ? obj->vnum : 0));
reset.c:        if ( pReset->arg1 > 0 )
reset.c:          if ( !(mob2 = get_mob_index(pReset->arg1)) )
reset.c:            rname = mob2->player_name;
reset.c:            (pReset->arg1 > 0 ? pReset->arg1 : mob ? mob->vnum : 0));
reset.c:        sprintf(pbuf, "bad type %d", pReset->arg2 & BIT_RESET_TYPE_MASK);
reset.c:          tmp = meb(pReset->arg3);
reset.c:          	ext_flag_string(&tmp, flagarray), pReset->arg3);
reset.c:          	flag_string(pReset->arg3, flagarray), pReset->arg3);
reset.c:        sprintf(pbuf, "; flags %d\n\r", pReset->arg3);
reset.c:      pReset->arg2 = URANGE(0, pReset->arg2, MAX_DIR+1);
reset.c:      if ( !(room = get_room_index(pReset->arg1)) )
reset.c:        rname = room->name;
reset.c:      switch(pReset->arg3)
reset.c:          pReset->arg3, dir_name[pReset->arg2],
reset.c:          (room && get_exit(room, pReset->arg2) ? "" : " (NO EXIT!)"),
reset.c:          pReset->arg2, rname, pReset->arg1);
reset.c:      if ( !(room = get_room_index(pReset->arg1)) )
reset.c:        rname = room->name;
reset.c:      sprintf(pbuf, "Randomize exits 0 to %d -> %s (%d)\n\r", pReset->arg2,
reset.c:          rname, pReset->arg1);
reset.c:    if ( start == -1 || num >= start )
reset.c:    if ( end != -1 && num >= end )
reset.c:  for ( pReset = pArea->first_reset; pReset; pReset = pReset->next )
reset.c:    switch(pReset->command)
reset.c:      if ( pReset->arg3 == 0 )
reset.c:          pReset->extra = 1000000;
reset.c:        else if ( lastobj->command != 'P' || lastobj->arg3 > 0 )
reset.c:          pReset->extra = 0;
reset.c:          pReset->extra = lastobj->extra+1;
reset.c: * Create a new reset (for online building)			-Thoric
reset.c:	pReset->command	= letter;
reset.c:	pReset->extra	= extra;
reset.c:	pReset->arg1	= arg1;
reset.c:	pReset->arg2	= arg2;
reset.c:	pReset->arg3	= arg3;
reset.c: * Add a reset to an area				-Thoric
reset.c:	case 'M':  tarea->last_mob_reset = pReset;	break;
reset.c:	case 'O':  tarea->last_obj_reset = pReset;	break;
reset.c:		tarea->last_obj_reset = pReset;
reset.c:    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c: * Place a reset into an area, insert sorting it		-Thoric
reset.c:	tarea->last_mob_reset = pReset;
reset.c:    if ( tarea->first_reset )
reset.c:		for ( tmp = tarea->last_reset; tmp; tmp = tmp->prev )
reset.c:		    if ( tmp->command == letter )
reset.c:		    for ( ; tmp && tmp->command == letter && tmp->arg1 > arg1; tmp = tmp->prev );
reset.c:		    for ( ; tmp && tmp->command == letter && tmp->arg1 == tmp->arg1 && tmp->arg2 > arg2; tmp = tmp->prev );
reset.c:		    INSERT( pReset, tmp, tarea->first_reset, next, prev );
reset.c:		    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:		for ( tmp = tarea->last_reset; tmp; tmp = tmp->prev )
reset.c:		    if ( tmp->command == letter )
reset.c:		tmp2 = tmp ? tmp->next : NULL;
reset.c:		for ( ; tmp; tmp = tmp->prev )
reset.c:		    if ( tmp->command == letter && tmp->arg3 <= arg3 )
reset.c:			tmp2 = tmp->next;
reset.c:			if ( tmp->arg3 == arg3 )
reset.c:			  for ( ; tmp; tmp = tmp->prev )
reset.c:			    if ( tmp->command == letter
reset.c:			    &&   tmp->arg3 == tmp->arg3
reset.c:			    &&   tmp->arg1 <= arg1 )
reset.c:				tmp2 = tmp->next;
reset.c:		    for ( ; tmp2; tmp2 = tmp2->next )
reset.c:			if ( tmp2->command != 'E' && tmp2->command != 'G' )
reset.c:		    for ( ; tmp2; tmp2 = tmp2->next )
reset.c:			if ( tmp2->command != 'P' && tmp2->command != 'T'
reset.c:			&&   tmp2->command != 'H' )
reset.c:		    INSERT( pReset, tmp2, tarea->first_reset, next, prev );
reset.c:		    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:		if ( (tmp=tarea->last_mob_reset) != NULL )
reset.c:		    if ( tmp->next )
reset.c:			tmp = tmp->next;
reset.c:			if ( tmp && tmp->command == 'E' )
reset.c:				for ( ; tmp && tmp->command == 'E' && tmp->arg1 < arg1; tmp = tmp->next );
reset.c:				for ( ; tmp && tmp->command == 'E'; tmp = tmp->next );
reset.c:			if ( tmp && tmp->command == 'G' && letter == 'G' )
reset.c:			    for ( ; tmp && tmp->command == 'G' && tmp->arg1 < arg1; tmp = tmp->next );
reset.c:			    INSERT( pReset, tmp, tarea->first_reset, next, prev );
reset.c:			    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:			LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:		&&    (tmp=tarea->last_obj_reset) != NULL )
reset.c:		    if ( (tmp=tmp->next) != NULL )
reset.c:		      INSERT( pReset, tmp, tarea->first_reset, next, prev );
reset.c:		      LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:		for ( tmp = tarea->last_reset; tmp; tmp = tmp->prev )
reset.c:		   if ( (tmp->command == 'O' || tmp->command == 'G'
reset.c:		   ||    tmp->command == 'E' || tmp->command == 'P')
reset.c:		   &&    tmp->arg1 == arg3 )
reset.c:			if ( tmp->next )
reset.c:			    tmp = tmp->next;
reset.c:			    if ( tmp && tmp->command == 'P' )
reset.c:				if ( letter == 'P' && tmp->arg3 == arg3 )
reset.c:				    for ( ; tmp && tmp->command == 'P' && tmp->arg3 == arg3 && tmp->arg1 < arg1; tmp = tmp->next );
reset.c:				    for ( ; tmp && tmp->command == 'P' && tmp->arg3 == arg3; tmp = tmp->next );
reset.c:			    if ( tmp && tmp->command == 'H' )
reset.c:				if ( letter == 'H' && tmp->arg3 == arg3 )
reset.c:				    for ( ; tmp && tmp->command == 'H' && tmp->arg3 == arg3 && tmp->arg1 < arg1; tmp = tmp->next );
reset.c:				    for ( ; tmp && tmp->command == 'H' && tmp->arg3 == arg3; tmp = tmp->next );
reset.c:			    if ( tmp && tmp->command == 'T' && letter == 'T' )
reset.c:				for ( ; tmp && tmp->command == 'T' && tmp->arg3 == arg3 && tmp->arg1 < arg1; tmp = tmp->next );
reset.c:				INSERT( pReset, tmp, tarea->first_reset, next, prev );
reset.c:				LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:			    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
reset.c:    LINK( pReset, tarea->first_reset, tarea->last_reset, next, prev );
save.c: * -----------------------------------------------------------|   (0...0)   *
save.c: * -----------------------------------------------------------|    {o o}    *
save.c: * ------------------------------------------------------------------------ *
save.c: * ------------------------------------------------------------------------ *
save.c: * Array to keep track of equipment temporarily.		-Thoric
save.c: * Array of containers read for proper re-nesting of objects.
save.c:	DWORD dwUser,		/* application-defined instance data */
save.c: * Un-equip character before saving to ensure proper	-Thoric
save.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
save.c:	if ( obj->wear_loc > -1 && obj->wear_loc < MAX_WEAR )
save.c:	    if ( (get_trust( ch ) >= obj->level) || (obj->level < LEVEL_IMMORTAL) )
save.c:		   if ( !save_equipment[obj->wear_loc][x] )
save.c:			save_equipment[obj->wear_loc][x] = obj;
save.c:			ch->name, MAX_LAYERS, obj->wear_loc, obj->name );
save.c:	       sprintf( buf, "%s had on %s:  ch->level = %d  obj->level = %d",
save.c:		ch->name, obj->name,
save.c:	       	ch->level, obj->level );
save.c:	       bug( buf, 0 );  -- Removed level restrictions -- Scion 
save.c: * Re-equip character					-Thoric
save.c:    if ( IS_NPC(ch) || (ch->level < 2 && ch->level2 == -1) )
save.c:    if ( ch->desc && ch->desc->original )
save.c:	ch = ch->desc->original;
save.c:    ch->save_time = current_time;
save.c:    sprintf( strsave, "%s%c/%s",PLAYER_DIR,tolower(ch->pcdata->filename[0]),
save.c:				 capitalize( ch->pcdata->filename ) );
save.c:     * Auto-backup pfile (can cause lag with high disk access situtations).
save.c:       of that and keeps an adequate backup -- Blodkai, 10/97 */
save.c:        sprintf( strback,"%s%c/%s",BACKUP_DIR,tolower(ch->pcdata->filename[0]),
save.c:                                 capitalize( ch->pcdata->filename ) );
save.c:     * Save immortal stats, level & vnums for wizlist		-Thoric
save.c:    if ( ch->level >= LEVEL_IMMORTAL )
save.c:        sprintf( strback, "%s%s", GOD_DIR, capitalize( ch->pcdata->filename ) );
save.c:            fprintf( fp, "Level        %d\n", ch->level );
save.c:            fprintf( fp, "Pcflags      %d\n", ch->pcdata->flags );
save.c:            if ( ch->pcdata->r_range_lo && ch->pcdata->r_range_hi )
save.c:                fprintf( fp, "RoomRange    %d %d\n", ch->pcdata->r_range_lo,
save.c:                         ch->pcdata->r_range_hi	);
save.c:            if ( ch->pcdata->o_range_lo && ch->pcdata->o_range_hi )
save.c:                fprintf( fp, "ObjRange     %d %d\n", ch->pcdata->o_range_lo,
save.c:                         ch->pcdata->o_range_hi	);
save.c:            if ( ch->pcdata->m_range_lo && ch->pcdata->m_range_hi )
save.c:                fprintf( fp, "MobRange     %d %d\n", ch->pcdata->m_range_lo,
save.c:                         ch->pcdata->m_range_hi	);
save.c:    if( ch->level > 103 && ch->level != 110 )
save.c:        sprintf( strback, "%s%s.immlist", GOD_DIR, capitalize( ch->pcdata->filename ) );
save.c:            fprintf( fp, "Name         %s~\n", ch->name );
save.c:            fprintf( fp, "Level        %d\n", ch->level );
save.c:            if( ch->pcdata->lastname && ch->pcdata->lastname[0] != '\0' )
save.c:                fprintf( fp, "Lastname     %s~\n", ch->pcdata->lastname );
save.c:            if( ch->pcdata->email && ch->pcdata->email[0] != '\0' )
save.c:                fprintf( fp, "Email        %s~\n", ch->pcdata->email );
save.c:        if ( ch->morph )
save.c:	if ( ch->first_carrying )
save.c:	  fwrite_obj( ch, ch->last_carrying, fp, 0, OS_CARRY );
save.c:        if ( !IS_NPC( ch ) && ch->pcdata->first_alias )
save.c:          fwrite_alias( ch, ch->pcdata->first_alias, fp );
save.c:	if ( sysdata.save_pets && ch->pcdata->pet )
save.c:		fwrite_mobile( fp, ch->pcdata->pet );
save.c:	if ( ch->comments )                 /* comments */
save.c:    fprintf( fp, "Name         %s~\n",	ch->name		);
save.c:    if ( ch->description )
save.c:      fprintf( fp, "Description  %s~\n",	ch->description	);
save.c:    fprintf( fp, "Sex          %d\n",	ch->sex			);
save.c:    fprintf( fp, "HairColor    %s~\n",  ch->pcdata->hair_color	     	);
save.c:    fprintf( fp, "HairLength   %s~\n",  ch->pcdata->hair_length          );
save.c:    fprintf( fp, "EyeColor     %s~\n",  ch->pcdata->eye_color          );
save.c:    fprintf( fp, "SkinTone     %s~\n",  ch->pcdata->skin_tone          );
save.c:    fprintf( fp, "CHBuild      %s~\n",  ch->pcdata->ch_build          );
save.c:    fprintf( fp, "CHHeight     %s~\n",  ch->pcdata->ch_height          );
save.c:    fprintf( fp, "Class        %d\n",	ch->class		);
save.c:    fprintf( fp, "Class2       %d\n",   ch->class2              );
save.c:    fprintf( fp, "Race         %d\n",	ch->race		);
save.c:    fprintf( fp, "Languages    %d %d\n", ch->speaks, ch->speaking );
save.c:    fprintf( fp, "Level        %d\n",	ch->level		);
save.c:    fprintf( fp, "Level2       %d\n",   ch->level2              );
save.c:	ch->played + (int) (current_time - ch->logon)		);
save.c:	(  ch->in_room == get_room_index( ROOM_VNUM_LIMBO )
save.c:	&& ch->was_in_room )
save.c:	    ? ch->was_in_room->vnum
save.c:	    : ch->in_room->vnum );
save.c:    if (ch->nextquest != 0)
save.c:        fprintf( fp, "QuestNext %d\n",  ch->nextquest   );
save.c:    else if (ch->countdown != 0)
save.c:		ch->pcdata->memorize[0],
save.c:		ch->pcdata->memorize[1],
save.c:		ch->pcdata->memorize[2],
save.c:		ch->pcdata->memorize[3],
save.c:		ch->pcdata->memorize[4],
save.c:		ch->pcdata->memorize[5],
save.c:		ch->pcdata->memorize[6],
save.c:		ch->pcdata->memorize[7] );
save.c:	ch->hit, ch->max_hit, ch->mana, ch->max_mana, ch->move, ch->max_move );
save.c:    fprintf( fp, "Gold         %d\n",	ch->gold		);
save.c:    fprintf( fp, "Exp          %d\n",	ch->exp			);
save.c:    fprintf( fp, "Exp2         %d\n",   ch->exp2                );
save.c:    fprintf( fp, "Smites       %d\n",   ch->pcdata->smites      );
save.c:    fprintf( fp, "Smited       %d\n",   ch->pcdata->smited      );
save.c:    fprintf( fp, "Height          %d\n",	ch->height	);
save.c:    fprintf( fp, "Weight          %d\n",	ch->weight	);
save.c:    if ( !xIS_EMPTY(ch->act) )
save.c:      fprintf( fp, "Act          %s\n", print_bitvector(&ch->act) );
save.c:    if ( !xIS_EMPTY(ch->affected_by) )
save.c:      fprintf( fp, "AffectedBy   %s\n",	print_bitvector(&ch->affected_by) );
save.c:    if ( !xIS_EMPTY(ch->no_affected_by) )
save.c:      fprintf( fp, "NoAffectedBy %s\n",	print_bitvector(&ch->no_affected_by) );
save.c:    pos = ch->position;
save.c:    fprintf( fp, "Style     %d\n", ch->style);
save.c:    fprintf( fp, "Practice     %d\n",	ch->practice		);
save.c:    		  ch->saving_poison_death,
save.c:		  ch->saving_wand,
save.c:    		  ch->saving_para_petri,
save.c:    		  ch->saving_breath,
save.c:    		  ch->saving_spell_staff			);
save.c:    fprintf( fp, "Alignment    %d\n",	ch->alignment		);
save.c:    fprintf( fp, "Favor	       %d\n",	ch->pcdata->favor	);
save.c:    fprintf( fp, "Balance      %d\n",   ch->pcdata->balance	);
save.c:    fprintf( fp, "Glory        %d\n",   ch->pcdata->quest_curr  );
save.c:    fprintf( fp, "MGlory       %d\n",   ch->pcdata->quest_accum );
save.c:    fprintf( fp, "Hitroll      %d\n",	ch->hitroll		);
save.c:    fprintf( fp, "Damroll      %d\n",	ch->damroll		);
save.c:    fprintf( fp, "Armor        %d\n",	ch->armor		);
save.c:    fprintf( fp, "Bounty       %d\n",   ch->bounty              );
save.c:    fprintf( fp, "Bowed        %d\n",   ch->bowed               );
save.c:    fprintf( fp, "Belig        %d\n",   ch->belig               );
save.c:    fprintf( fp, "Bkills       %d\n",   ch->bkills              );
save.c:    if( ch->pcdata->wedto )
save.c:        fprintf( fp, "WedTo        %s~\n",  ch->pcdata->wedto    );
save.c:    if ( ch->wimpy )
save.c:        fprintf( fp, "Wimpy        %d\n",  ch->wimpy		);
save.c:    if ( ch->deaf )
save.c:        fprintf( fp, "Deaf         %d\n",  ch->deaf		);
save.c:    if ( ch->pcdata->imc_deaf )
save.c:        fprintf( fp, "IMC          %ld\n", ch->pcdata->imc_deaf );
save.c:    if ( ch->pcdata->imc_allow )
save.c:        fprintf( fp, "IMCAllow     %ld\n", ch->pcdata->imc_allow );
save.c:    if ( ch->pcdata->imc_deny )
save.c:        fprintf( fp, "IMCDeny      %ld\n", ch->pcdata->imc_deny );
save.c:    fprintf(fp, "ICEListen %s~\n", ch->pcdata->ice_listen);
save.c:    if ( ch->resistant )
save.c:        fprintf( fp, "Resistant    %d\n",  ch->resistant       	);
save.c:    if ( ch->no_resistant )
save.c:        fprintf( fp, "NoResistant  %d\n",  ch->no_resistant	);
save.c:    if ( ch->immune )
save.c:        fprintf( fp, "Immune       %d\n",  ch->immune		);
save.c:    if ( ch->no_immune )
save.c:        fprintf( fp, "NoImmune     %d\n",  ch->no_immune       	);
save.c:    if ( ch->susceptible )
save.c:        fprintf( fp, "Susceptible  %d\n",  ch->susceptible     	);
save.c:    if ( ch->no_susceptible )
save.c:        fprintf( fp, "NoSusceptible  %d\n",ch->no_susceptible	);
save.c:    if ( ch->pcdata && ch->pcdata->outcast_time )
save.c:        fprintf( fp, "Outcast_time %ld\n",ch->pcdata->outcast_time );
save.c:    if ( ch->pcdata && ch->pcdata->nuisance )
save.c:        fprintf( fp, "NuisanceNew %ld %ld %d %d\n", ch->pcdata->nuisance->time,
save.c:                 ch->pcdata->nuisance->max_time,ch->pcdata->nuisance->flags,
save.c:                 ch->pcdata->nuisance->power );
save.c:    if ( ch->mental_state != -10 )
save.c:        fprintf( fp, "Mentalstate  %d\n",  ch->mental_state	);
save.c:    fprintf( fp, "Password     %s~\n",	ch->pcdata->pwd		);
save.c:    if ( ch->pcdata->rank && ch->pcdata->rank[0] != '\0' )
save.c:        fprintf( fp, "Rank         %s~\n",	ch->pcdata->rank	);
save.c:    if ( ch->pcdata->bestowments && ch->pcdata->bestowments[0] != '\0' )
save.c:        fprintf( fp, "Bestowments  %s~\n", 	ch->pcdata->bestowments );
save.c:    fprintf( fp, "Title        %s~\n",	ch->pcdata->title	);
save.c:    if (ch->pcdata->extraname && ch->pcdata->extraname[0] != '\0' )
save.c:        fprintf( fp, "Extraname %s~\n",     ch->pcdata->extraname );
save.c:    if (ch->pcdata->lastname && ch->pcdata->lastname[0] != '\0' )
save.c:        fprintf( fp, "Lastname %s~\n", ch->pcdata->lastname );
save.c:    if ( ch->pcdata->homepage && ch->pcdata->homepage[0] != '\0' )
save.c:        fprintf( fp, "Homepage     %s~\n",	ch->pcdata->homepage	);
save.c:    if ( ch->pcdata->email && ch->pcdata->email[0] != '\0' )
save.c:        fprintf( fp, "Email     %s~\n",	ch->pcdata->email	);
save.c:    if ( ch->pcdata->bio && ch->pcdata->bio[0] != '\0' )
save.c:        fprintf( fp, "Bio          %s~\n",	ch->pcdata->bio 	);
save.c:    if ( ch->pcdata->authed_by && ch->pcdata->authed_by[0] != '\0' )
save.c:        fprintf( fp, "AuthedBy     %s~\n",	ch->pcdata->authed_by	);
save.c:    if ( ch->pcdata->min_snoop )
save.c:        fprintf( fp, "Minsnoop     %d\n",	ch->pcdata->min_snoop	);
save.c:    if ( ch->pcdata->prompt && *ch->pcdata->prompt )
save.c:        fprintf( fp, "Prompt       %s~\n",	ch->pcdata->prompt	);
save.c:    if ( ch->pcdata->fprompt && *ch->pcdata->fprompt )
save.c:        fprintf( fp, "FPrompt	     %s~\n",    ch->pcdata->fprompt	);
save.c:    if ( ch->pcdata->pagerlen != 24 )
save.c:        fprintf( fp, "Pagerlen     %d\n",	ch->pcdata->pagerlen	);
save.c:        fprintf (fp, "%s %ld ", boards[i].short_name, ch->pcdata->last_note[i]);
save.c:    for ( pos = 0; pos < MAX_ALIAS ; pos++ ) /* alias - shogar */
save.c:        if ( !ch->pcdata->alias[pos]
save.c:             ||   !ch->pcdata->alias_sub[pos] )
save.c:        fprintf( fp, "Alias %s %s~\n", ch->pcdata->alias[pos],
save.c:                 ch->pcdata->alias_sub[pos] );
save.c:        for(temp = ch->pcdata->first_ignored; temp; temp = temp->next)
save.c:            fprintf(fp,"Ignored      %s~\n", temp->name);
save.c:        if ( ch->pcdata->bamfin && ch->pcdata->bamfin[0] != '\0' )
save.c:            fprintf( fp, "Bamfin       %s~\n",	ch->pcdata->bamfin	);
save.c:        if ( ch->pcdata->bamfout && ch->pcdata->bamfout[0] != '\0' )
save.c:            fprintf( fp, "Bamfout      %s~\n",	ch->pcdata->bamfout	);
save.c:        if ( ch->trust )
save.c:            fprintf( fp, "Trust        %d\n",	ch->trust		);
save.c:        if ( ch->pcdata && ch->pcdata->restore_time )
save.c:            fprintf( fp, "Restore_time %ld\n",ch->pcdata->restore_time );
save.c:        fprintf( fp, "WizInvis     %d\n", ch->pcdata->wizinvis );
save.c:        fprintf( fp, "GhostLevel   %d\n", ch->ghost_level );
save.c:        if ( ch->pcdata->r_range_lo && ch->pcdata->r_range_hi )
save.c:            fprintf( fp, "RoomRange    %d %d\n", ch->pcdata->r_range_lo,
save.c:                     ch->pcdata->r_range_hi	);
save.c:        if ( ch->pcdata->o_range_lo && ch->pcdata->o_range_hi )
save.c:            fprintf( fp, "ObjRange     %d %d\n", ch->pcdata->o_range_lo,
save.c:                     ch->pcdata->o_range_hi	);
save.c:        if ( ch->pcdata->m_range_lo && ch->pcdata->m_range_hi )
save.c:            fprintf( fp, "MobRange     %d %d\n", ch->pcdata->m_range_lo,
save.c:                     ch->pcdata->m_range_hi	);
save.c:    if ( ch->pcdata->council)
save.c:        fprintf( fp, "Council      %s~\n", 	ch->pcdata->council_name );
save.c:    if ( ch->pcdata->council2 )
save.c:        fprintf( fp, "Council2     %s~\n", ch->pcdata->council2_name);
save.c:    if ( ch->pcdata->deity_name && ch->pcdata->deity_name[0] != '\0' )
save.c:        fprintf( fp, "Deity	     %s~\n",	ch->pcdata->deity_name	 );
save.c:    if ( ch->pcdata->clan_name && ch->pcdata->clan_name[0] != '\0' )
save.c:        fprintf( fp, "Clan         %s~\n",	ch->pcdata->clan_name	);
save.c:    fprintf( fp, "Flags        %d\n",	ch->pcdata->flags	);
save.c:    if ( ch->pcdata->release_date > current_time )
save.c:                 (int)ch->pcdata->release_date, ch->pcdata->helled_by );
save.c:    fprintf( fp, "PKills       %d\n",	ch->pcdata->pkills	);
save.c:    fprintf( fp, "PDeaths      %d\n",	ch->pcdata->pdeaths	);
save.c:    fprintf( fp, "MKills       %d\n",	ch->pcdata->mkills	);
save.c:    fprintf( fp, "MDeaths      %d\n",	ch->pcdata->mdeaths	);
save.c:    fprintf( fp, "ArenaWins    %d\n",	ch->pcdata->arena_wins 	);
save.c:    fprintf( fp, "ArenaKills   %d\n",   ch->pcdata->arena_kills	);
save.c:    fprintf( fp, "ArenaDeaths  %d\n",	ch->pcdata->arena_deaths);
save.c:    fprintf( fp, "IllegalPK    %d\n",	ch->pcdata->illegal_pk	);
save.c:             ch->perm_str,
save.c:             ch->perm_int,
save.c:             ch->perm_wis,
save.c:             ch->perm_dex,
save.c:             ch->perm_con,
save.c:             ch->perm_cha,
save.c:             ch->perm_lck );
save.c:             ch->mod_str,
save.c:             ch->mod_int,
save.c:             ch->mod_wis,
save.c:             ch->mod_dex,
save.c:             ch->mod_con,
save.c:             ch->mod_cha,
save.c:             ch->mod_lck );
save.c:	    ch->pcdata->condition[0],
save.c:	    ch->pcdata->condition[1],
save.c:	    ch->pcdata->condition[2],
save.c:	    ch->pcdata->condition[3] );
save.c:	if ( ch->desc && ch->desc->host )
save.c:            fprintf( fp, "Site         %s\n", ch->desc->host );
save.c:            fprintf( fp, "Site         (Link-Dead)\n" );
save.c:	    if ( skill_table[sn]->name && ch->pcdata->learned[sn] > 0 )
save.c:		switch( skill_table[sn]->type )
save.c:			  ch->pcdata->learned[sn], skill_table[sn]->name );
save.c:			  ch->pcdata->learned[sn], skill_table[sn]->name );
save.c:			  ch->pcdata->learned[sn], skill_table[sn]->name );
save.c:			  ch->pcdata->learned[sn], skill_table[sn]->name );
save.c:    for ( paf = ch->first_affect; paf; paf = paf->next )
save.c:	if ( paf->type >= 0 && (skill=get_skilltype(paf->type)) == NULL )
save.c:	if ( paf->type >= 0 && paf->type < TYPE_PERSONAL )
save.c:	    skill->name,
save.c:	    paf->duration,
save.c:	    paf->modifier,
save.c:	    paf->location,
save.c:	    print_bitvector(&paf->bitvector)
save.c:	    paf->type,
save.c:	    paf->duration,
save.c:	    paf->modifier,
save.c:	    paf->location,
save.c:	    print_bitvector(&paf->bitvector)
save.c:    track = URANGE( 2, ((ch->level+3) * MAX_KILLTRACK)/LEVEL_AVATAR, MAX_KILLTRACK );
save.c:	if ( ch->pcdata->killed[sn].vnum == 0 )
save.c:		ch->pcdata->killed[sn].vnum,
save.c:		ch->pcdata->killed[sn].count );
save.c:    if (ch->pcdata->first_qbit)
save.c:	for (bit = ch->pcdata->first_qbit; bit; bit = bit->next)
save.c:            fprintf(fp, "Qbit	%d %s~\n", bit->number, bit->desc);
save.c:    if ( obj->prev_content && os_type != OS_CORPSE )
save.c:			fwrite_obj( ch, obj->prev_content, fp, iNest, OS_CARRY );
save.c:			fwrite_obj( ch, obj->prev_content, fp, iNest, OS_GROUND );
save.c:     * Catch deleted objects                                    -Thoric
save.c:     * Do NOT save prototype items!				-Thoric
save.c:    if ( (ch && (get_trust(ch) < obj->level) && (obj->level >= LEVEL_IMMORTAL))
save.c:    || ( obj->item_type == ITEM_KEY && !IS_OBJ_STAT(obj, ITEM_CLANOBJECT ))
save.c:    /* Corpse saving. -- Altrag */
save.c:    if ( obj->count > 1 )
save.c:	fprintf( fp, "Count        %d\n",	obj->count	     );
save.c:    if ( QUICKMATCH( obj->name, obj->pIndexData->name ) == 0 )
save.c:	fprintf( fp, "Name         %s~\n",	obj->name	     );
save.c:    if ( QUICKMATCH( obj->short_descr, obj->pIndexData->short_descr ) == 0 )
save.c:	fprintf( fp, "ShortDescr   %s~\n",	obj->short_descr     );
save.c:    if ( QUICKMATCH( obj->description, obj->pIndexData->description ) == 0 )
save.c:	fprintf( fp, "Description  %s~\n",	obj->description     );
save.c:    if ( QUICKMATCH( obj->action_desc, obj->pIndexData->action_desc ) == 0 )
save.c:	fprintf( fp, "ActionDesc   %s~\n",	obj->action_desc     );
save.c:    fprintf( fp, "Vnum         %d\n",	obj->pIndexData->vnum	     );
save.c:	if (((os_type == OS_GROUND) || (os_type == OS_CORPSE)) && obj->in_room )
save.c:      fprintf( fp, "Room         %d\n",   obj->in_room->vnum         );
save.c:    else if (IS_OBJ_STAT(obj, ITEM_ARTIFACT) && !obj->in_room)
save.c:	if ( !xSAME_BITS(obj->extra_flags, obj->pIndexData->extra_flags) )
save.c:	fprintf( fp, "ExtraFlags   %s\n",	print_bitvector(&obj->extra_flags) );
save.c:	if ( obj->wear_flags != obj->pIndexData->wear_flags )
save.c:	fprintf( fp, "WearFlags    %d\n",	obj->wear_flags	     );
save.c:    wear_loc = -1;
save.c:    if ( wear_loc != -1 )
save.c:    if ( obj->item_type != obj->pIndexData->item_type )
save.c:	fprintf( fp, "ItemType     %d\n",	obj->item_type	     );
save.c:    if ( obj->weight != obj->pIndexData->weight )
save.c:      fprintf( fp, "Weight       %d\n",	obj->weight		     );
save.c:    if ( obj->level )
save.c:      fprintf( fp, "Level        %d\n",	obj->level		     );
save.c:    if ( obj->timer )
save.c:      fprintf( fp, "Timer        %d\n",	obj->timer		     );
save.c:    if ( obj->cost != obj->pIndexData->cost )
save.c:      fprintf( fp, "Cost         %d\n",	obj->cost		     );
save.c:    if ( obj->value[0] || obj->value[1] || obj->value[2]
save.c:    ||   obj->value[3] || obj->value[4] || obj->value[5] )
save.c:	obj->value[0], obj->value[1], obj->value[2],
save.c:	obj->value[3], obj->value[4], obj->value[5]     );
save.c:    switch ( obj->item_type )
save.c:    case ITEM_PILL: /* was down there with staff and wand, wrongly - Scryn */
save.c:	if ( IS_VALID_SN(obj->value[1]) )
save.c:		skill_table[obj->value[1]]->name );
save.c:	if ( IS_VALID_SN(obj->value[2]) )
save.c:		skill_table[obj->value[2]]->name );
save.c:	if ( IS_VALID_SN(obj->value[3]) )
save.c:		skill_table[obj->value[3]]->name );
save.c:	if ( IS_VALID_SN(obj->value[3]) )
save.c:		skill_table[obj->value[3]]->name );
save.c:	if ( IS_VALID_SN(obj->value[4]) )
save.c:		skill_table[obj->value[4]]->name );
save.c:	if ( IS_VALID_SN(obj->value[5]) )
save.c:		skill_table[obj->value[5]]->name );
save.c:    for ( paf = obj->first_affect; paf; paf = paf->next )
save.c:	 * Save extra object affects				-Thoric
save.c:	if ( paf->type < 0 || paf->type >= top_sn )
save.c:	    paf->type,
save.c:	    paf->duration,
save.c:	     ((paf->location == APPLY_WEAPONSPELL
save.c:	    || paf->location == APPLY_WEARSPELL
save.c:	    || paf->location == APPLY_REMOVESPELL
save.c:	    || paf->location == APPLY_STRIPSN
save.c:	    || paf->location == APPLY_RECURRINGSPELL)
save.c:	    && IS_VALID_SN(paf->modifier))
save.c:	    ? skill_table[paf->modifier]->slot : paf->modifier,
save.c:	    paf->location,
save.c:	    print_bitvector(&paf->bitvector)
save.c:	    skill_table[paf->type]->name,
save.c:	    paf->duration,
save.c:	     ((paf->location == APPLY_WEAPONSPELL
save.c:	    || paf->location == APPLY_WEARSPELL
save.c:	    || paf->location == APPLY_REMOVESPELL
save.c:	    || paf->location == APPLY_STRIPSN
save.c:	    || paf->location == APPLY_RECURRINGSPELL)
save.c:	    && IS_VALID_SN(paf->modifier))
save.c:	    ? skill_table[paf->modifier]->slot : paf->modifier,
save.c:	    paf->location,
save.c:	    print_bitvector(&paf->bitvector)
save.c:    for ( ed = obj->first_extradesc; ed; ed = ed->next )
save.c:	    ed->keyword, ed->description );
save.c:    if ( obj->first_content )
save.c:	fwrite_obj( ch, obj->last_content, fp, iNest + 1, OS_CARRY );
save.c:    for ( alias = first_alias; alias; alias = alias->next )
save.c:        fprintf( fp, "Name     %s~\n", alias->name  );
save.c:        fprintf( fp, "Commands %s~\n", alias->alias );
save.c:    CREATE( ch->pcdata, PC_DATA, 1 );
save.c:    d->character		= ch;
save.c:    ch->desc			= d;
save.c:    ch->pcdata->filename	= STRALLOC( name );
save.c:    ch->name			= NULL;
save.c:    ch->act			= multimeb(PLR_BLANK, PLR_COMBINE, PLR_PROMPT, -1);
save.c:    ch->perm_str		= 13;
save.c:    ch->perm_int		= 13;
save.c:    ch->perm_wis		= 13;
save.c:    ch->perm_dex		= 13;
save.c:    ch->perm_con		= 13;
save.c:    ch->perm_cha		= 13;
save.c:    ch->perm_lck		= 13;
save.c:    ch->no_resistant 		= 0;
save.c:    ch->no_susceptible 		= 0;
save.c:    ch->no_immune 		= 0;
save.c:    ch->was_in_room		= NULL;
save.c:    xCLEAR_BITS(ch->no_affected_by);
save.c:    ch->pcdata->condition[COND_THIRST]	= 48;
save.c:    ch->pcdata->condition[COND_FULL]	= 48;
save.c:    ch->pcdata->condition[COND_BLOODTHIRST] = 10;
save.c:    ch->pcdata->nuisance		= NULL;
save.c:    ch->pcdata->wizinvis		= 0;
save.c:    ch->pcdata->balance    		= 0;
save.c:    ch->mental_state			= -10;
save.c:    ch->mobinvis			= 0;
save.c:        ch->pcdata->learned[i]		= 0;
save.c:    ch->pcdata->release_date		= 0;
save.c:    ch->pcdata->helled_by		= NULL;
save.c:    ch->saving_poison_death 		= 0;
save.c:    ch->saving_wand			= 0;
save.c:    ch->saving_para_petri		= 0;
save.c:    ch->saving_breath			= 0;
save.c:    ch->saving_spell_staff		= 0;
save.c:    ch->style 				= STYLE_FIGHTING;
save.c:    ch->comments                        = NULL;    /* comments */
save.c:    ch->pcdata->pagerlen		= 24;
save.c:    ch->pcdata->first_ignored		= NULL;    /* Ignore list */
save.c:    ch->pcdata->last_ignored		= NULL;
save.c:    ch->pcdata->tell_history		= NULL;	/* imm only lasttell cmnd */
save.c:    ch->pcdata->lt_index		= 0;	/* last tell index */
save.c:    ch->morph                           = NULL;
save.c:    ch->pcdata->smites                  = 0;
save.c:    ch->pcdata->smited                  = 0;
save.c:    ch->pcdata->imc_deaf		= 0;
save.c:    ch->pcdata->imc_deny		= 0;
save.c:    ch->pcdata->imc_allow		= 0;
save.c:    ch->pcdata->ice_listen		= NULL;
save.c:    ch->pcdata->wedto                   = NULL;
save.c:    ch->pcdata->afkmsg                  = NULL;
save.c:    ch->pcdata->arena                   = NULL;
save.c:        ch->pcdata->say_history[0] = NULL;
save.c:        ch->pcdata->tell_histories[0] = NULL;
save.c:    if ( stat( strsave, &fst ) != -1 )
save.c:	  preload ? "Preloading" : "Loading", ch->pcdata->filename,
save.c:        /* Cheat so that bug will show line #'s -- Altrag */
save.c:                    ch->pcdata->pet = mob;
save.c:                    mob->master = ch;
save.c:                    xSET_BIT(mob->affected_by, AFF_CHARM);
save.c:    if ( ch->pcdata->ice_listen == NULL )
save.c:        ch->pcdata->ice_listen = str_dup("");
save.c:        ch->name	   		= STRALLOC( name );
save.c:	ch->short_descr			= STRALLOC( "" );
save.c:	ch->long_descr			= STRALLOC( "" );
save.c:	ch->description			= STRALLOC( "" );
save.c:	ch->editor			= NULL;
save.c:	ch->pcdata->clan_name		= STRALLOC( "" );
save.c:	ch->pcdata->clan		= NULL;
save.c:	ch->pcdata->council_name 	= STRALLOC( "" );
save.c:	ch->pcdata->council 		= NULL;
save.c:	ch->pcdata->council2_name	= STRALLOC( "" );
save.c:	ch->pcdata->council2		= NULL;
save.c:  	ch->pcdata->deity_name		= STRALLOC( "" );
save.c:	ch->pcdata->deity		= NULL;
save.c:	ch->pcdata->pet			= NULL;
save.c:        ch->pcdata->pwd			= str_dup( "" );
save.c:        ch->pcdata->board		= &boards[DEFAULT_BOARD];
save.c:        ch->pcdata->bamfin		= str_dup( "" );
save.c:	ch->pcdata->bamfout		= str_dup( "" );
save.c:        ch->pcdata->rank		= str_dup( "" );
save.c:	ch->pcdata->bestowments		= str_dup( "" );
save.c:        ch->pcdata->title		= STRALLOC( "" );
save.c:         char to fread. -- Alty
save.c:        ch->pcdata->extraname           = STRALLOC( "" );
save.c:        ch->pcdata->lastname            = STRALLOC( "" );
save.c:	ch->pcdata->homepage		= str_dup( "" );
save.c:	ch->pcdata->email		= str_dup( "" );
save.c:	ch->pcdata->bio 		= STRALLOC( "" );
save.c:	ch->pcdata->authed_by		= STRALLOC( "" );
save.c:	ch->pcdata->prompt		= STRALLOC( "" );
save.c:	ch->pcdata->fprompt		= STRALLOC( "" );
save.c:	ch->pcdata->r_range_lo		= 0;
save.c:	ch->pcdata->r_range_hi		= 0;
save.c:	ch->pcdata->m_range_lo		= 0;
save.c:	ch->pcdata->m_range_hi		= 0;
save.c:	ch->pcdata->o_range_lo		= 0;
save.c:	ch->pcdata->o_range_hi		= 0;
save.c:	ch->pcdata->wizinvis		= 0;
save.c:        ch->pcdata->hair_color          = STRALLOC( "" );
save.c:        ch->pcdata->eye_color           = STRALLOC( "" );
save.c:	ch->pcdata->skin_tone           = STRALLOC( "" );
save.c:	ch->pcdata->ch_build            = STRALLOC( "" );
save.c:	ch->pcdata->hair_length         = STRALLOC( "" );
save.c:	ch->pcdata->ch_height           = STRALLOC( "" );
save.c:        if ( !ch->name )
save.c:            ch->name	= STRALLOC( name );
save.c:        if ( !ch->pcdata->clan_name )
save.c:            ch->pcdata->clan_name	= STRALLOC( "" );
save.c:            ch->pcdata->clan	= NULL;
save.c:        if ( !ch->pcdata->council_name )
save.c:            ch->pcdata->council_name = STRALLOC( "" );
save.c:            ch->pcdata->council 	= NULL;
save.c:        if ( !ch->pcdata->council2_name )
save.c:            ch->pcdata->council2_name = STRALLOC( "" );
save.c:            ch->pcdata->council2  = NULL;
save.c:        if ( !ch->pcdata->deity_name )
save.c:            ch->pcdata->deity_name = STRALLOC( "" );
save.c:            ch->pcdata->deity	 = NULL;
save.c:        if ( !ch->pcdata->bio )
save.c:            ch->pcdata->bio	 = STRALLOC( "" );
save.c:        if ( !ch->pcdata->authed_by )
save.c:            ch->pcdata->authed_by	 = STRALLOC( "" );
save.c:        if ( xIS_SET(ch->act, PLR_FLEE) )
save.c:            xREMOVE_BIT(ch->act, PLR_FLEE);
save.c:            if ( ch->pcdata->wizinvis < 2 )
save.c:                ch->pcdata->wizinvis = ch->level;
save.c:		REMOVE_BIT(ch->speaks, LANG_COMMON | race_table[ch->race]->language);
save.c:                if ( countlangs(ch->speaks) < (ch->level / 10) && !IS_IMMORTAL(ch) )
save.c:			int need = (ch->level / 10) - countlangs(ch->speaks);
save.c:			int prac = 2 - (get_curr_cha(ch) / 17) * (70 / prct) * need;
save.c:			if ( ch->practice >= prac )
save.c:			if ( (iLang = bsearch_skill_exact( lang_names[lang], gsn_first_tongue, gsn_top_sn-1  )) < 0 )
save.c:			if ( ch->pcdata->learned[iLang] > 0 )
save.c:			SET_BIT(ch->speaks, lang_array[lang]);
save.c:			ch->pcdata->learned[iLang] = 70;
save.c:			ch->speaks &= VALID_LANGS;
save.c:			REMOVE_BIT(ch->speaks,
save.c:					   LANG_COMMON | race_table[ch->race]->language);
save.c:    /* Rebuild affected_by and RIS to catch errors - FB */
save.c:	    KEY( "Act",		ch->act,		fread_bitvector( fp ) );
save.c:	    KEY( "AffectedBy",	ch->affected_by,	fread_bitvector( fp ) );
save.c:	    KEY( "Alignment",	ch->alignment,		fread_number( fp ) );
save.c:	    KEY( "Armor",	ch->armor,		fread_number( fp ) );
save.c:	    KEY( "ArenaWins",	ch->pcdata->arena_wins,	fread_number( fp ) );
save.c:	    KEY( "ArenaKills",  ch->pcdata->arena_kills,fread_number( fp ) );
save.c:	    KEY( "ArenaDeaths", ch->pcdata->arena_deaths,fread_number( fp ) );
save.c:		    paf->type	= fread_number( fp );
save.c:		    paf->type = sn;
save.c:		paf->duration	= fread_number( fp );
save.c:		paf->modifier	= fread_number( fp );
save.c:		paf->location	= fread_number( fp );
save.c:		if ( paf->location == APPLY_WEAPONSPELL
save.c:		||   paf->location == APPLY_WEARSPELL
save.c:		||   paf->location == APPLY_REMOVESPELL
save.c:		||   paf->location == APPLY_STRIPSN
save.c:		||   paf->location == APPLY_RECURRINGSPELL )
save.c:		  paf->modifier	= slot_lookup( paf->modifier );
save.c:		paf->bitvector	= fread_bitvector( fp );
save.c:		LINK(paf, ch->first_affect, ch->last_affect, next, prev );
save.c:		ch->mod_str = x1;
save.c:		ch->mod_int = x2;
save.c:		ch->mod_wis = x3;
save.c:		ch->mod_dex = x4;
save.c:		ch->mod_con = x5;
save.c:		ch->mod_cha = x6;
save.c:		ch->mod_lck = x7;
save.c:		ch->mod_lck = 0;
save.c:                ch->pcdata->alias[count]      =	 str_dup( fread_word( fp ) );
save.c:                ch->pcdata->alias_sub[count]  =	 fread_string_nohash( fp );
save.c:		ch->perm_str = x1;
save.c:		ch->perm_int = x2;
save.c:		ch->perm_wis = x3;
save.c:		ch->perm_dex = x4;
save.c:		ch->perm_con = x5;
save.c:		ch->perm_cha = x6;
save.c:		ch->perm_lck = x7;
save.c:		  ch->perm_lck = 13;
save.c:	    KEY( "AuthedBy",	ch->pcdata->authed_by,	fread_string( fp ) );
save.c:                KEY( "BL",      ch->pcdata->ch_height,  fread_string( fp ) );
save.c:                KEY( "BU",      ch->pcdata->ch_build,   fread_string( fp ) );
save.c:            KEY( "Balance",	ch->pcdata->balance,    fread_number( fp ) );
save.c:	    KEY( "Bamfin",	ch->pcdata->bamfin,     fread_string_nohash( fp ) );
save.c:	    KEY( "Bamfout",	ch->pcdata->bamfout,    fread_string_nohash( fp ) );
save.c:            KEY( "Belig",       ch->belig,              fread_number( fp ) );
save.c:            KEY( "Bkills",      ch->bkills,             fread_number( fp ) );
save.c:            KEY( "Bounty",      ch->bounty,             fread_number( fp ) );
save.c:            KEY( "Bowed",       ch->bowed,              fread_number( fp ) );
save.c:                for (; num ; num-- ) /* for each of the board saved */
save.c:                        sprintf (buf, "fread_char: %s had unknown board name: %s. Skipped.", ch->name, boardname);
save.c:                        ch->pcdata->last_note[i] = fread_number (fp);
save.c:            KEY( "Bestowments", ch->pcdata->bestowments,fread_string_nohash( fp ) );
save.c:            KEY( "Bio",		ch->pcdata->bio,        fread_string( fp ) );
save.c:                KEY( "CHBuild",     ch->pcdata->ch_build,   fread_string( fp ) );
save.c:                KEY( "CHHeight",    ch->pcdata->ch_height,  fread_string( fp ) );
save.c:		ch->pcdata->clan_name = fread_string( fp );
save.c:		&&   ch->pcdata->clan_name[0] != '\0'
save.c:		&& ( ch->pcdata->clan = get_clan( ch->pcdata->clan_name )) == NULL )
save.c:		           ch->pcdata->clan_name );
save.c:                  STRFREE( ch->pcdata->clan_name );
save.c:		  ch->pcdata->clan_name = STRALLOC( "" );
save.c:	    KEY( "Class",	ch->class,		fread_number( fp ) );
save.c:                ch->class2 = fread_number( fp );
save.c:                if( ch->class2 < 0 )
save.c:                    ch->class2 = 0;
save.c:/*            KEY( "Class3",      ch->class3,             fread_number( fp ) ); */
save.c:		ch->pcdata->condition[0] = x1;
save.c:		ch->pcdata->condition[1] = x2;
save.c:		ch->pcdata->condition[2] = x3;
save.c:		ch->pcdata->condition[3] = x4;
save.c:		ch->pcdata->council_name = fread_string( fp );
save.c:		&&   ch->pcdata->council_name[0] != '\0'
save.c:		&& ( ch->pcdata->council = get_council( ch->pcdata->council_name )) == NULL )
save.c:		           ch->pcdata->council_name );
save.c:		  STRFREE( ch->pcdata->council_name );
save.c:		  ch->pcdata->council_name = STRALLOC( "" );
save.c:                ch->pcdata->council2_name = fread_string( fp );
save.c:                &&   ch->pcdata->council2_name[0] != '\0'
save.c:                && ( ch->pcdata->council2 = get_council( ch->pcdata->council2_name )) == NULL )  
save.c:                           ch->pcdata->council2_name );
save.c:                  STRFREE( ch->pcdata->council2_name );
save.c:                  ch->pcdata->council2_name = STRALLOC( "" );
save.c:	    KEY( "Damroll",	ch->damroll,		fread_number( fp ) );
save.c:	    KEY( "Deaf",	ch->deaf,		fread_number( fp ) );
save.c:                ch->pcdata->deity_name = fread_string( fp );
save.c:                &&   ch->pcdata->deity_name[0] != '\0'
save.c:                && ( ch->pcdata->deity = get_deity( ch->pcdata->deity_name )) == NULL )
save.c:                           ch->pcdata->deity_name );
save.c:                  STRFREE( ch->pcdata->deity_name );
save.c:                  ch->pcdata->deity_name = STRALLOC( "" );
save.c:		  ch->pcdata->favor = 0;
save.c:	    KEY( "Description",	ch->description,	fread_string( fp ) );
save.c:	    KEY( "Favor",	ch->pcdata->favor,	fread_number( fp ) );
save.c:	    KEY( "Flags",	ch->pcdata->flags,	fread_number( fp ) );
save.c:	    KEY( "FPrompt",	ch->pcdata->fprompt,	fread_string( fp ) );
save.c:            KEY( "GhostLevel",  ch->ghost_level,        fread_number( fp ) );
save.c:	    KEY( "Glory",       ch->pcdata->quest_curr, fread_number( fp ) );
save.c:            KEY( "Gold",	ch->gold,		fread_number( fp ) );
save.c:		ch->pcdata->clan_name = fread_string( fp );
save.c:		&&   ch->pcdata->clan_name[0] != '\0'
save.c:		&& ( ch->pcdata->clan = get_clan( ch->pcdata->clan_name )) == NULL )
save.c:		           ch->pcdata->clan_name );
save.c:		  STRFREE( ch->pcdata->clan_name );
save.c:		  ch->pcdata->clan_name = STRALLOC( "" );
save.c:            KEY( "Height",        ch->height,             fread_number( fp ) );
save.c:                KEY( "HairColor",     ch->pcdata->hair_color, fread_string( fp ) );
save.c:                KEY( "HairLength",    ch->pcdata->hair_length,fread_string( fp ) );
save.c:                KEY( "HC",            ch->pcdata->hair_color, fread_string( fp ) );
save.c:                KEY( "HL",            ch->pcdata->hair_length, fread_string( fp ) );
save.c:	      ch->pcdata->release_date = fread_number(fp);
save.c:	      ch->pcdata->helled_by = fread_string(fp);
save.c:	      if ( ch->pcdata->release_date < current_time )
save.c:	        STRFREE(ch->pcdata->helled_by);
save.c:	        ch->pcdata->helled_by = NULL;
save.c:	        ch->pcdata->release_date = 0;
save.c:	    KEY( "Hitroll",	ch->hitroll,		fread_number( fp ) );
save.c:	    KEY( "Homepage",	ch->pcdata->homepage,	fread_string_nohash( fp ) );
save.c:		ch->hit		= fread_number( fp );
save.c:		ch->max_hit	= fread_number( fp );
save.c:		ch->mana	= fread_number( fp );
save.c:		ch->max_mana	= fread_number( fp );
save.c:		ch->move	= fread_number( fp );
save.c:		ch->max_move	= fread_number( fp );
save.c:	    	if(stat(fname, &fst) == -1)
save.c:	    	for(ign = 0, inode = ch->pcdata->first_ignored; inode;
save.c:	    				inode = inode->next)
save.c:	    		inode->name = STRALLOC(temp);
save.c:	    		inode->next = NULL;
save.c:	    		inode->prev = NULL;
save.c:	    		LINK(inode, ch->pcdata->first_ignored,
save.c:	    			ch->pcdata->last_ignored, next,
save.c:	    KEY( "IllegalPK",	ch->pcdata->illegal_pk,	fread_number( fp ) );
save.c:	    KEY ( "IMC",	ch->pcdata->imc_deaf,	fread_number( fp ) );
save.c:	    KEY ( "IMCAllow",	ch->pcdata->imc_allow,	fread_number( fp ) );
save.c:	    KEY ( "IMCDeny",	ch->pcdata->imc_deny,	fread_number( fp ) );
save.c:	    KEY ( "ICEListen",	ch->pcdata->ice_listen, fread_string_nohash( fp ) );
save.c:	    KEY( "Immune",	ch->immune,		fread_number( fp ) );
save.c:		    ch->pcdata->killed[killcnt].vnum    = fread_number( fp );
save.c:                    ch->pcdata->killed[killcnt++].count = fread_number( fp );
save.c:		ch->pcdata->lastname = fread_string( fp );
save.c:                if ( isalpha(ch->pcdata->lastname[0])
save.c:		||   isdigit(ch->pcdata->lastname[0]) )
save.c:		    sprintf( buf, " %s", ch->pcdata->lastname );
save.c:		    if ( ch->pcdata->lastname )
save.c:		      STRFREE( ch->pcdata->lastname );
save.c:		    ch->pcdata->lastname = STRALLOC( buf );
save.c:	    KEY( "Level",	ch->level,		fread_number( fp ) );
save.c:                    ch->level2 = -1;
save.c:                    ch->level2 = x1;
save.c:            /* KEY( "Level3",      ch->level3,             fread_number( fp ) ); */
save.c:	    KEY( "LongDescr",	ch->long_descr,		fread_string( fp ) );
save.c:	    	ch->speaks = fread_number( fp );
save.c:	    	ch->speaking = fread_number( fp );
save.c:	    KEY( "MDeaths",	ch->pcdata->mdeaths,	fread_number( fp ) );
save.c:			ch->pcdata->memorize[0] = fread_number( fp );
save.c:			ch->pcdata->memorize[1] = fread_number( fp );
save.c:			ch->pcdata->memorize[2] = fread_number( fp );
save.c:			ch->pcdata->memorize[3] = fread_number( fp );
save.c:			ch->pcdata->memorize[4] = fread_number( fp );
save.c:			ch->pcdata->memorize[5] = fread_number( fp );
save.c:			ch->pcdata->memorize[6] = fread_number( fp );
save.c:			ch->pcdata->memorize[7] = fread_number( fp );
save.c:		KEY( "Mentalstate", ch->mental_state,	fread_number( fp ) );
save.c:	    KEY( "MGlory",      ch->pcdata->quest_accum,fread_number( fp ) );
save.c:	    KEY( "Minsnoop",	ch->pcdata->min_snoop,	fread_number( fp ) );
save.c:	    KEY( "MKills",	ch->pcdata->mkills,	fread_number( fp ) );
save.c:	    KEY( "Mobinvis",	ch->mobinvis,		fread_number( fp ) );
save.c:		ch->pcdata->m_range_lo = fread_number( fp );
save.c:		ch->pcdata->m_range_hi = fread_number( fp );
save.c:	    KEY ("Name", ch->name, fread_string( fp ) );
save.c:            KEY ("NoAffectedBy", ch->no_affected_by, fread_bitvector( fp ) );
save.c:            KEY ("NoImmune", ch->no_immune, fread_number( fp ) );
save.c:            KEY ("NoResistant", ch->no_resistant, fread_number( fp ) );
save.c:            KEY ("NoSusceptible", ch->no_susceptible, fread_number( fp ) );
save.c:                CREATE( ch->pcdata->nuisance, NUISANCE_DATA, 1 );
save.c:                ch->pcdata->nuisance->time = fread_number( fp );
save.c:                ch->pcdata->nuisance->max_time = fread_number( fp );
save.c:                ch->pcdata->nuisance->flags = fread_number( fp );
save.c:		ch->pcdata->nuisance->power = 1;
save.c:		CREATE( ch->pcdata->nuisance, NUISANCE_DATA, 1 );
save.c:		ch->pcdata->nuisance->time = fread_number( fp );
save.c:		ch->pcdata->nuisance->max_time = fread_number( fp );
save.c:		ch->pcdata->nuisance->flags = fread_number( fp );
save.c:		ch->pcdata->nuisance->power = fread_number( fp );
save.c:	    KEY( "Outcast_time", ch->pcdata->outcast_time, fread_number( fp ) );
save.c:		ch->pcdata->o_range_lo = fread_number( fp );
save.c:		ch->pcdata->o_range_hi = fread_number( fp );
save.c:	    KEY( "Pagerlen",	ch->pcdata->pagerlen,	fread_number( fp ) );
save.c:	    KEY( "Password",	ch->pcdata->pwd,	fread_string_nohash( fp ) );
save.c:	    KEY( "PDeaths",	ch->pcdata->pdeaths,	fread_number( fp ) );
save.c:	    KEY( "PKills",	ch->pcdata->pkills,	fread_number( fp ) );
save.c:	    KEY( "Played",	ch->played,		fread_number( fp ) );
save.c:	    /* KEY( "Position",	ch->position,		fread_number( fp ) );*/
save.c:               ch->position          = fread_number( fp );
save.c:               if(ch->position<100){
save.c:                  switch(ch->position){
save.c:                      case 5: ch->position=6; break;
save.c:                      case 6: ch->position=8; break;
save.c:                      case 7: ch->position=9; break;
save.c:                      case 8: ch->position=12; break;
save.c:                      case 9: ch->position=13; break;
save.c:                      case 10: ch->position=14; break;
save.c:                      case 11: ch->position=15; break;
save.c:                  ch->position-=100;
save.c:	    KEY( "Practice",	ch->practice,		fread_number( fp ) );
save.c:	    KEY( "Prompt",	ch->pcdata->prompt,	fread_string( fp ) );
save.c:            KEY( "QuestNext",   ch->nextquest,          fread_number( fp ) );
save.c:                bit->number = fread_number(fp);
save.c:                if ((desc = find_qbit(bit->number))==NULL)
save.c:                    strcpy(bit->desc, fread_string(fp));
save.c:                    strcpy(bit->desc, desc->desc);
save.c:                LINK(bit, ch->pcdata->first_qbit, ch->pcdata->last_qbit, next, prev);
save.c:	    KEY( "Race",        ch->race,		fread_number( fp ) );
save.c:	    KEY( "Rank",        ch->pcdata->rank,	fread_string_nohash( fp ) );
save.c:	    KEY( "Resistant",	ch->resistant,		fread_number( fp ) );
save.c:	    KEY( "Restore_time",ch->pcdata->restore_time, fread_number( fp ) );
save.c:                ch->in_room = get_room_index( fread_number( fp ) );
save.c:                if ( !ch->in_room )
save.c:                    ch->in_room = get_room_index( ROOM_VNUM_LIMBO );
save.c:		ch->pcdata->r_range_lo = fread_number( fp );
save.c:		ch->pcdata->r_range_hi = fread_number( fp );
save.c:                KEY( "SkinTone", ch->pcdata->skin_tone, fread_string( fp ) );
save.c:                KEY( "ST",      ch->pcdata->skin_tone,  fread_string( fp ) );
save.c:	    KEY( "Sex",		ch->sex,		fread_number( fp ) );
save.c:	    KEY( "ShortDescr",	ch->short_descr,	fread_string( fp ) );
save.c:            KEY( "Smites",      ch->pcdata->smites,     fread_number( fp ) );
save.c:            KEY( "Smited",      ch->pcdata->smited,     fread_number( fp ) );
save.c:            KEY( "Style",	ch->style,		fread_number( fp ) );
save.c:	    KEY( "Susceptible",	ch->susceptible,	fread_number( fp ) );
save.c:		ch->saving_wand 	= fread_number( fp );
save.c:		ch->saving_poison_death = ch->saving_wand;
save.c:		ch->saving_para_petri 	= ch->saving_wand;
save.c:		ch->saving_breath 	= ch->saving_wand;
save.c:		ch->saving_spell_staff 	= ch->saving_wand;
save.c:		ch->saving_poison_death = fread_number( fp );
save.c:		ch->saving_wand 	= fread_number( fp );
save.c:		ch->saving_para_petri 	= fread_number( fp );
save.c:		ch->saving_breath 	= fread_number( fp );
save.c:		ch->saving_spell_staff 	= fread_number( fp );
save.c:		    sn = bsearch_skill_exact( fread_word( fp ), gsn_first_skill, gsn_first_weapon-1 );
save.c:                      ch->pcdata->learned[sn] = value;
save.c:                       * Assumes class and level were loaded before. -- Altrag *
save.c:                       * Assumes practices are loaded first too now. -- Altrag */
save.c:                      if ( ch->level < LEVEL_IMMORTAL )
save.c:                          if( ch->level2 != -1 )
save.c:                              if ( (skill_table[sn]->skill_level[ch->class]
save.c:                                    && skill_table[sn]->skill_level[ch->class2]) >= LEVEL_IMMORTAL )
save.c:                                  ch->pcdata->learned[sn] = 0;
save.c:                                  ch->practice++;
save.c:                              if ( skill_table[sn]->skill_level[ch->class] >= LEVEL_IMMORTAL )
save.c:                                  ch->pcdata->learned[sn] = 0;
save.c:                                  ch->practice++;
save.c:		  sn = bsearch_skill_exact( fread_word( fp ), gsn_first_spell, gsn_first_skill-1 );
save.c:		    ch->pcdata->learned[sn] = value;
save.c:                    if ( ch->level < LEVEL_IMMORTAL )
save.c:                        if( ch->level2 != -1 )
save.c:                            if ( (skill_table[sn]->skill_level[ch->class]
save.c:                                  && skill_table[sn]->skill_level[ch->class2]) >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:                            if ( skill_table[sn]->skill_level[ch->class] >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:	        KEY( "Email", ch->pcdata->email, fread_string_nohash( fp ) );
save.c:                KEY( "EyeColor", ch->pcdata->eye_color, fread_string( fp ) );
save.c:                KEY( "EC",       ch->pcdata->eye_color, fread_string( fp ) );
save.c:                ch->pcdata->extraname = fread_string( fp );
save.c:                if ( isalpha(ch->pcdata->extraname[0])
save.c:                ||   isdigit(ch->pcdata->extraname[0]) )
save.c:                    sprintf( buf, " %s", ch->pcdata->extraname );
save.c:                    if ( ch->pcdata->extraname )
save.c:                        STRFREE( ch->pcdata->extraname );
save.c:                    ch->pcdata->extraname = STRALLOC( buf );
save.c:                if (!ch->short_descr)
save.c:                    ch->short_descr	= STRALLOC( "" );
save.c:                if (!ch->long_descr)
save.c:                    ch->long_descr	= STRALLOC( "" );
save.c:                if (!ch->description)
save.c:                    ch->description	= STRALLOC( "" );
save.c:                if (!ch->pcdata->pwd)
save.c:                    ch->pcdata->pwd	= str_dup( "" );
save.c:                if (!ch->pcdata->bamfin)
save.c:                    ch->pcdata->bamfin	= str_dup( "" );
save.c:                if (!ch->pcdata->bamfout)
save.c:                    ch->pcdata->bamfout	= str_dup( "" );
save.c:                if (!ch->pcdata->bio)
save.c:                    ch->pcdata->bio	= STRALLOC( "" );
save.c:                if (!ch->pcdata->rank)
save.c:                    ch->pcdata->rank	= str_dup( "" );
save.c:                if (!ch->pcdata->bestowments)
save.c:                    ch->pcdata->bestowments = str_dup( "" );
save.c:                if (!ch->pcdata->title)
save.c:                    ch->pcdata->title	= STRALLOC( "" );
save.c:                if (!ch->pcdata->extraname)
save.c:                    ch->pcdata->extraname = STRALLOC( "" );
save.c:                if (!ch->pcdata->lastname)
save.c:                    ch->pcdata->lastname = STRALLOC( "" );
save.c:                if (!ch->pcdata->homepage)
save.c:                    ch->pcdata->homepage  = str_dup( "" );
save.c:                if (!ch->pcdata->email)
save.c:                    ch->pcdata->email  = str_dup( "" );
save.c:                if (!ch->pcdata->authed_by)
save.c:                    ch->pcdata->authed_by = STRALLOC( "" );
save.c:                if (!ch->pcdata->prompt )
save.c:                    ch->pcdata->prompt	= STRALLOC( "" );
save.c:	        if (!ch->pcdata->fprompt )
save.c:                    ch->pcdata->fprompt   = STRALLOC( "" );
save.c:                if( !ch->pcdata->hair_color )
save.c:                    ch->pcdata->hair_color = STRALLOC( "" );
save.c:                if( !ch->pcdata->eye_color )
save.c:                    ch->pcdata->eye_color = STRALLOC( "" );
save.c:                if( !ch->pcdata->skin_tone )
save.c:                    ch->pcdata->skin_tone = STRALLOC( "" );
save.c:                if( !ch->pcdata->ch_build )
save.c:                    ch->pcdata->ch_build = STRALLOC( "" );
save.c:                if( !ch->pcdata->hair_length )
save.c:                    ch->pcdata->hair_length = STRALLOC( "" );
save.c:                if( !ch->pcdata->ch_height )
save.c:                    ch->pcdata->ch_height = STRALLOC( "" );
save.c:                ch->editor		= NULL;
save.c:		killcnt = URANGE( 2, ((ch->level+3) * MAX_KILLTRACK)/LEVEL_AVATAR, MAX_KILLTRACK );
save.c:		  ch->pcdata->killed[killcnt].vnum = 0;
save.c:		if ( !IS_IMMORTAL( ch ) && !ch->speaking )
save.c:			ch->speaking = LANG_COMMON;
save.c:		/*	ch->speaking = race_table[ch->race]->language; */
save.c:			ch->speaks = ~0;
save.c:			if ( ch->speaking == 0 )
save.c:				ch->speaking = ~0;
save.c:			CREATE(ch->pcdata->tell_history, char *, 26);
save.c:				ch->pcdata->tell_history[i] = NULL;
save.c:		if ( !ch->pcdata->prompt )
save.c:		  ch->pcdata->prompt = STRALLOC("");
save.c:                if ( ch->height== 72)
save.c:                   ch->height = number_range(race_table[ch->race]->height *.9, race_table[ch->race]->height *1.1);
save.c:		if ( ch->weight==180)
save.c:		   ch->weight = number_range(race_table[ch->race]->weight *.9, race_table[ch->race]->weight *1.1);
save.c:	    KEY( "Exp",		ch->exp,		fread_number( fp ) );
save.c:            KEY( "Exp2",        ch->exp2,               fread_number( fp ) );
save.c:		  sn = bsearch_skill_exact( fread_word( fp ), gsn_first_tongue, gsn_top_sn-1 );
save.c:		    ch->pcdata->learned[sn] = value;
save.c:                    if ( ch->level < LEVEL_IMMORTAL )
save.c:                        if( ch->level2 != -1 )
save.c:                            if ( (skill_table[sn]->skill_level[ch->class]
save.c:                                  && skill_table[sn]->skill_level[ch->class2]) >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:                            if ( skill_table[sn]->skill_level[ch->class] >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:	    KEY( "Trust", ch->trust, fread_number( fp ) );
save.c:            /* Let no character be trusted higher than one below maxlevel -- Narn */
save.c:	    ch->trust = UMIN( ch->trust, MAX_LEVEL - 1 );
save.c:		ch->pcdata->title = fread_string( fp );
save.c:		if ( isalpha(ch->pcdata->title[0])
save.c:		||   isdigit(ch->pcdata->title[0]) )
save.c:		    sprintf( buf, " %s", ch->pcdata->title );
save.c:		    if ( ch->pcdata->title )
save.c:		      STRFREE( ch->pcdata->title );
save.c:		    ch->pcdata->title = STRALLOC( buf );
save.c:		ch->pIndexData = get_mob_index( fread_number( fp ) );
save.c:            KEY( "WedTo",         ch->pcdata->wedto, fread_string( fp ) );
save.c:            KEY( "Weight",        ch->weight,   fread_number( fp ) );
save.c:		  sn = bsearch_skill_exact( fread_word( fp ), gsn_first_weapon, gsn_first_tongue-1 );
save.c:		    ch->pcdata->learned[sn] = value;
save.c:		    if ( ch->level < LEVEL_IMMORTAL )
save.c:                        if( ch->level2 != -1 )
save.c:                            if ( (skill_table[sn]->skill_level[ch->class]
save.c:                                  && skill_table[sn]->skill_level[ch->class2]) >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:                            if ( skill_table[sn]->skill_level[ch->class] >= LEVEL_IMMORTAL )
save.c:                                ch->pcdata->learned[sn] = 0;
save.c:                                ch->practice++;
save.c:	    KEY( "Wimpy",	ch->wimpy,		fread_number( fp ) );
save.c:	    KEY( "WizInvis",	ch->pcdata->wizinvis,	fread_number( fp ) );
save.c:	room = ch->in_room;
save.c:    obj->count		= 1;
save.c:    obj->wear_loc	= -1;
save.c:    obj->weight		= 1;
save.c:	    KEY( "ActionDesc", obj->action_desc, 	fread_string( fp ) );
save.c:		    paf->type	= fread_number( fp );
save.c:			paf->type = sn;
save.c:		paf->duration	= fread_number( fp );
save.c:		paf->location	= fread_number( fp );
save.c:		paf->bitvector	= fread_bitvector( fp );
save.c:		if ( paf->location == APPLY_WEAPONSPELL
save.c:		||   paf->location == APPLY_WEARSPELL
save.c:		||   paf->location == APPLY_STRIPSN
save.c:		||   paf->location == APPLY_REMOVESPELL
save.c:		||   paf->location == APPLY_RECURRINGSPELL )
save.c:		  paf->modifier		= slot_lookup( pafmod );
save.c:		  paf->modifier		= pafmod;
save.c:		LINK(paf, obj->first_affect, obj->last_affect, next, prev );
save.c:	    KEY( "Cost",	obj->cost,		fread_number( fp ) );
save.c:	    KEY( "Count",	obj->count,		fread_number( fp ) );
save.c:	    KEY( "Description",	obj->description,	fread_string( fp ) );
save.c:	    KEY( "ExtraFlags",	obj->extra_flags,	fread_bitvector( fp ) );
save.c:		ed->keyword		= fread_string( fp );
save.c:		ed->description		= fread_string( fp );
save.c:		LINK(ed, obj->first_extradesc, obj->last_extradesc, next, prev );
save.c:		if ( !fNest || !fVnum || !obj->pIndexData)
save.c:		    if ( obj->name )
save.c:				obj->name );
save.c:		    if ( obj->name )
save.c:		      STRFREE( obj->name        );
save.c:		    if ( obj->description )
save.c:		      STRFREE( obj->description );
save.c:		    if ( obj->short_descr )
save.c:		      STRFREE( obj->short_descr );
save.c:		    sh_int wear_loc = obj->wear_loc;
save.c:		    if ( !obj->name )
save.c:			obj->name = QUICKLINK( obj->pIndexData->name );
save.c:		    if ( !obj->description )
save.c:			obj->description = QUICKLINK( obj->pIndexData->description );
save.c:		    if ( !obj->short_descr )
save.c:			obj->short_descr = QUICKLINK( obj->pIndexData->short_descr );
save.c:		    if ( !obj->action_desc )
save.c:			obj->action_desc = QUICKLINK( obj->pIndexData->action_desc );
save.c:		    obj->pIndexData->count += obj->count;
save.c:		    if ( !obj->serial )
save.c:			cur_obj_serial = UMAX((cur_obj_serial + 1 ) & (BV30-1), 1);
save.c:			obj->serial = obj->pIndexData->serial = cur_obj_serial;
save.c:		    numobjsloaded += obj->count;
save.c:		    if ( file_ver > 1 || obj->wear_loc < -1
save.c:		    ||   obj->wear_loc >= MAX_WEAR )
save.c:		      obj->wear_loc = -1;
save.c:		    /* Corpse saving. -- Altrag */
save.c:			if ( obj->timer < 1 )
save.c:			   obj->timer = 40;
save.c:			if ( room->vnum == ROOM_VNUM_HALLOFFALLEN 
save.c:				&& obj->first_content )
save.c:			   obj->timer = -1;
save.c:					bug ("Fread_obj: OS_GROUND vnum %d without room, skipped!",obj->pIndexData->vnum);
save.c:			int slot = -1;
save.c:			&&   wear_loc > -1
save.c:			if ( reslot && slot != -1 )
save.c:			if ( rgObjNest[iNest-1] )
save.c:			   separate_obj( rgObjNest[iNest-1] );
save.c:			   obj = obj_to_obj( obj, rgObjNest[iNest-1] );
save.c:			   bug( "Fread_obj: nest layer missing %d", iNest-1 );
save.c:	    KEY( "ItemType",	obj->item_type,		fread_number( fp ) );
save.c:		KEY( "Level",	obj->level,		fread_number( fp ) );
save.c:	    KEY( "Name",	obj->name,		fread_string( fp ) );
save.c:	    KEY( "ShortDescr",	obj->short_descr,	fread_string( fp ) );
save.c:		    obj->value[iValue] = sn;
save.c:	    KEY( "Timer",	obj->timer,		fread_number( fp ) );
save.c:		obj->value[0]	= x1;
save.c:		obj->value[1]	= x2;
save.c:		obj->value[2]	= x3;
save.c:		obj->value[3]	= x4;
save.c:		obj->value[4]	= x5;
save.c:		obj->value[5]	= x6;
save.c:		if ( ( obj->pIndexData = get_obj_index( vnum ) ) == NULL )
save.c:		    obj->cost = obj->pIndexData->cost;
save.c:		    obj->weight = obj->pIndexData->weight;
save.c:		    obj->item_type = obj->pIndexData->item_type;
save.c:		    obj->wear_flags = obj->pIndexData->wear_flags;
save.c:		    obj->extra_flags = obj->pIndexData->extra_flags;
save.c:	    KEY( "WearFlags",	obj->wear_flags,	fread_number( fp ) );
save.c:	    KEY( "WearLoc",	obj->wear_loc,		fread_number( fp ) );
save.c:	    KEY( "Weight",	obj->weight,		fread_number( fp ) );
save.c:	    if ( obj->name )
save.c:		STRFREE( obj->name        );
save.c:	    if ( obj->description )
save.c:		STRFREE( obj->description );
save.c:	    if ( obj->short_descr )
save.c:		STRFREE( obj->short_descr );
save.c:	    while ( (ed=obj->first_extradesc) != NULL )
save.c:		STRFREE( ed->keyword );
save.c:		STRFREE( ed->description );
save.c:		UNLINK( ed, obj->first_extradesc, obj->last_extradesc, next, prev );
save.c:	    while ( (paf=obj->first_affect) != NULL )
save.c:		UNLINK( paf, obj->first_affect, obj->last_affect, next, prev );
save.c:	    KEY( "Commands",    alias->alias,           fread_string( fp ) );
save.c:                if ( !alias->name || !alias->alias )
save.c:                    bug( "fread_alias: %s%s%s", alias->name ? "" : "NULL alias->name",
save.c:                        ( !alias->name && !alias->alias ) ? " and " : "NULL alias->alias" );
save.c:                   /* bug( "Debug: fread_alias: %s    %s", alias->name, alias->alias ); */
save.c:		    LINK( alias, ch->pcdata->first_alias, ch->pcdata->last_alias, next, prev );
save.c:	    KEY( "Name",        alias->name,            fread_string( fp ) );
save.c: * Based on last time modified, show when a player was last on	-Thoric
save.c:    if ( stat( buf, &fst ) != -1 )
save.c: * so we could take it out of the save_char_obj function. --Shaddai
save.c:    name = ch->name;
save.c:  /* Go by vnum, less chance of screwups. -- Altrag */
save.c:  for ( corpse = first_object; corpse; corpse = corpse->next )
save.c:    if ( corpse->pIndexData->vnum == OBJ_VNUM_CORPSE_PC &&
save.c:         corpse->in_room != NULL &&
save.c:        !str_cmp(corpse->short_descr+14, name) &&
save.c:    if ( de->d_name[0] != '.' )
save.c:      sprintf(strArea, "%s%s", CORPSE_DIR, de->d_name );
save.c:      fprintf(lfp, "Corpse -> %s\n", strArea);
save.c: * This will write one mobile structure pointed to be fp --Shaddai
save.c:  fprintf( fp, "Vnum	%d\n", mob->pIndexData->vnum );
save.c:  if ( mob->in_room )
save.c:       		(  mob->in_room == get_room_index( ROOM_VNUM_LIMBO )
save.c:        		&& mob->was_in_room )
save.c:            		? mob->was_in_room->vnum
save.c:            		: mob->in_room->vnum ); 
save.c:  if ( QUICKMATCH( mob->name, mob->pIndexData->player_name) == 0 )
save.c:        fprintf( fp, "Name     %s~\n", mob->name );
save.c:  if ( QUICKMATCH( mob->short_descr, mob->pIndexData->short_descr) == 0 )
save.c:  	fprintf( fp, "Short	%s~\n", mob->short_descr );
save.c:  if ( QUICKMATCH( mob->long_descr, mob->pIndexData->long_descr) == 0 )
save.c:  	fprintf( fp, "Long	%s~\n", mob->long_descr );
save.c:  if ( QUICKMATCH( mob->description, mob->pIndexData->description) == 0 )
save.c:  	fprintf( fp, "Description %s~\n", mob->description );
save.c:  fprintf( fp, "Position %d\n", mob->position );
save.c:  fprintf( fp, "Flags %s\n",   print_bitvector(&mob->act) );
save.c:/* Might need these later --Shaddai
save.c:  if ( mob->first_carrying )
save.c:	fwrite_obj( mob, mob->last_carrying, fp, 0, OS_CARRY );
save.c: * This will read one mobile structure pointer to by fp --Shaddai
save.c:	   * --Shaddai 
save.c:	   * --Shaddai 
save.c:		KEY( "Description", mob->description, fread_string(fp));
save.c:											  sometimes they creep in there somehow -- Scion */
save.c:		KEY( "Flags", mob->act, fread_bitvector(fp));
save.c:		KEY( "Long", mob->long_descr, fread_string(fp ) );
save.c:		KEY( "Name", mob->name, fread_string( fp ) );
save.c:		KEY( "Position", mob->position, fread_number( fp ) );
save.c:		KEY( "Short", mob->short_descr, fread_string(fp));
save.c: * This will write in the saved mobile for a char --Shaddai
save.c:  if ( IS_NPC( ch ) || !ch->pcdata->pet )
save.c:  mob = ch->pcdata->pet;
save.c:  xSET_BIT( mob->affected_by, AFF_CHARM );
save.c: * This will read in the saved mobile for a char --Shaddai
save.c:/* Return the vnum the obj is in, regardless of being carried or inside containers. -- Scion */
save.c:    if (obj->in_obj)
save.c:        return get_obj_room_vnum_recursive(obj->in_obj);
save.c:    else if (obj->carried_by)
save.c:        CHAR_DATA *ch = obj->carried_by;
save.c:        if (ch->in_room)
save.c:            return ch->in_room->vnum;
save.c:            bug("get_obj_room_vnum_recursive: Char \"%s\" not in room?!",ch->name);
save.c:    else if (obj->in_room)
save.c:        return obj->in_room->vnum;
save.c: * Save the world's objects and mobs in their current positions -- Scion
save.c:		for ( obj = first_object; obj; obj = obj->next ) {
save.c:				|| (obj->in_room && 
save.c:					(IS_SET(obj->in_room->room_flags, ROOM_DONATION) || IS_SET(obj->in_room->room_flags, ROOM_CLANSTOREROOM))))
save.c:					obj->count=1;
save.c:		for (rch = first_char; rch; rch = rch->next ) {
save.c:			if (!IS_NPC(rch) || rch==supermob || xIS_SET(rch->act, ACT_PROTOTYPE) || xIS_SET(rch->act, ACT_PET))
saveall.c:    for ( vch = first_char; vch; vch = vch->next )
saveall.c:           pager_printf( ch, "Saving %-s...\n\r", vch->name);
saveall.c:    for ( tarea = first_build; tarea; tarea = tarea->next )
saveall.c:       if ( !IS_SET(tarea->status, AREA_LOADED ) )
saveall.c:       sprintf( filename, "%s%s", BUILD_DIR, tarea->filename );
services.c: * -----------------------------------------------------------|   (0...0)   *
services.c: * -----------------------------------------------------------|    {o o}    *
services.c: * ------------------------------------------------------------------------ *
services.c: * ------------------------------------------------------------------------ *
services.c:    ((*argv[1] == '-') || (*argv[1] == '/') || (*argv[1] == '\\'))
services.c:          "Unable to start service, assuming running console-mode application.\n");
services.c://  service_main() --
services.c://  service_ctrl() --
services.c:// ReportStatusToSCMgr() --
services.c:// called at shutdown, ctrl-c etc.
services.c:// handle shutdowns and ctrl-c
services.c:fprintf (lfp, "Usage is :-\n");
services.c:fprintf (lfp, " %s           - runs as a service, or stand-alone\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /run      - runs stand-alone\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /start    - starts this service\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /stop     - stops this service\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /install  - installs this service\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /remove   - removes (un-installs) this service\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /status   - displays the status of this service\n", THIS_SERVICE);
services.c:fprintf (lfp, " %s /help     - displays this information\n", THIS_SERVICE);
sharpen.c:	if ( obj->item_type != ITEM_WEAPON )
sharpen.c:	/* small mods to make it more generic.. --Cronel */
sharpen.c:	if( obj->value[3] != DAM_HIT 
sharpen.c:	&& obj->value[3] != DAM_SLICE 
sharpen.c:	&& obj->value[3] != DAM_STAB
sharpen.c:	&& obj->value[3] != DAM_SLASH
sharpen.c:	&& obj->value[3] != DAM_CLAW
sharpen.c:	&& obj->value[3] != DAM_BITE
sharpen.c:	&& obj->value[3] != DAM_PIERCE )
sharpen.c:	if ( obj->value[5] == 1 ) /* see reason below when setting */
sharpen.c:	for ( pobj = ch->first_carrying; pobj; pobj = pobj->next_content )
sharpen.c:		if ( pobj->pIndexData->vnum == OBJ_VNUM_SHARPEN )
sharpen.c:	WAIT_STATE( ch, skill_table[gsn_sharpen]->beats );
sharpen.c:		if ( obj->value[0] <= 1 )
sharpen.c:			obj->value[0]--;
sharpen.c:	percent = (number_percent( ) - get_curr_lck(ch) - 15); /* too low a chance to damage? */
sharpen.c:	if ( !IS_NPC( ch ) && percent > ch->pcdata->learned[gsn_sharpen] )
sharpen.c:		if ( pobj->value[0] <= 1 )
sharpen.c:		pobj->value[0]--;
sharpen.c:	level = ch->level;
sharpen.c:	paf->type		= -1;
sharpen.c:	paf->duration		= -1;
sharpen.c:	paf->location		= APPLY_DAMROLL;
sharpen.c:	paf->modifier		= level / 10;
sharpen.c:	xCLEAR_BITS( paf->bitvector ); /* changed to ext BVs in upgrade --Cronel */
sharpen.c:	LINK( paf, obj->first_affect, obj->last_affect, next, prev );
sharpen.c:	obj->value[5] = 1;
shops.c: * -----------------------------------------------------------|   (0...0)   *
shops.c: * -----------------------------------------------------------|    {o o}    *
shops.c: * ------------------------------------------------------------------------ *
shops.c: * ------------------------------------------------------------------------ *
shops.c:    for ( keeper = ch->in_room->first_person;
shops.c:	  keeper = keeper->next_in_room )
shops.c:	if ( IS_NPC(keeper) && (pShop = keeper->pIndexData->pShop) != NULL )
shops.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_KILLER) )
shops.c:	sprintf( buf, "%s the KILLER is over here!\n\r", ch->name );
shops.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_THIEF) )
shops.c:	sprintf( buf, "%s the THIEF is over here!\n\r", ch->name );
shops.c:    if ( pShop->open_hour > pShop->close_hour )
shops.c:	if ( time_info.hour < pShop->open_hour
shops.c:	&&   time_info.hour > pShop->close_hour )
shops.c:	if ( time_info.hour < pShop->open_hour )
shops.c:	if ( time_info.hour > pShop->close_hour )
shops.c:    if ( keeper->position == POS_SLEEPING )
shops.c:    if ( keeper->position < POS_SLEEPING )
shops.c:    speakswell = UMIN(knows_language(keeper, ch->speaking, ch),
shops.c:		      knows_language(ch, ch->speaking, keeper));
shops.c:	    sprintf( buf, "%s Could you repeat that?  I didn't quite catch it.", ch->name );
shops.c:	    sprintf( buf, "%s Could you say that a little more clearly please?", ch->name );
shops.c:	    sprintf( buf, "%s Sorry... What was that you wanted?", ch->name );
shops.c:	    sprintf( buf, "%s I can't understand you.", ch->name );
shops.c:    for ( keeper = ch->in_room->first_person;
shops.c:	  keeper = keeper->next_in_room )
shops.c:	if ( IS_NPC(keeper) && (rShop = keeper->pIndexData->rShop) != NULL )
shops.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_KILLER) )
shops.c:	sprintf( buf, "%s the KILLER is over here!\n\r", ch->name );
shops.c:    if ( !IS_NPC(ch) && xIS_SET(ch->act, PLR_THIEF) )
shops.c:	sprintf( buf, "%s the THIEF is over here!\n\r", ch->name );
shops.c:    * so mobiles can repair in combat.  -- Blod, 1/98
shops.c:    if ( rShop->open_hour > rShop->close_hour )
shops.c:	if ( time_info.hour < rShop->open_hour
shops.c:	&&   time_info.hour > rShop->close_hour )
shops.c:	if ( time_info.hour < rShop->open_hour )
shops.c:	if ( time_info.hour > rShop->close_hour )
shops.c:    if ( keeper->position == POS_SLEEPING )
shops.c:    if ( keeper->position < POS_SLEEPING )
shops.c:    speakswell = UMIN(knows_language(keeper, ch->speaking, ch),
shops.c:		      knows_language(ch, ch->speaking, keeper));
shops.c:	    sprintf( buf, "%s Could you repeat that?  I didn't quite catch it.", ch->name );
shops.c:	    sprintf( buf, "%s Could you say that a little more clearly please?", ch->name );
shops.c:	    sprintf( buf, "%s Sorry... What was that you wanted?", ch->name );
shops.c:	    sprintf( buf, "%s I can't understand you.", ch->name );
shops.c:    if ( !obj || ( pShop = keeper->pIndexData->pShop ) == NULL )
shops.c:    if ( ch->gold > (ch->level * ch->level * 100000) )
shops.c:	profitmod = 13 - get_curr_cha(ch) + (richcustomer ? 15 : 0)
shops.c:		  + ((URANGE(5,ch->level,LEVEL_AVATAR)-20)/2);
shops.c:	cost = (int) (obj->cost
shops.c:	     * UMAX( (pShop->profit_sell+1), pShop->profit_buy+profitmod ) )
shops.c:	cost = (int) (cost * (80 + UMIN(ch->level, LEVEL_AVATAR))) / 100;
shops.c:        switch(ch->race) /* racism... should compare against shopkeeper's race */
shops.c:          case(6):  cost /=0.92; break;/* half-ogre */
shops.c:          case(7):  cost /=0.94; break;/* half-orc */
shops.c:          case(8):  cost /=0.90; break;/* half-troll */
shops.c:          case(9):  cost /=1.04; break;/* half-elf */
shops.c:	profitmod = get_curr_cha(ch) - 13 - (richcustomer ? 15 : 0);
shops.c:	    if ( obj->item_type == pShop->buy_type[itype] )
shops.c:		cost = (int) (obj->cost
shops.c:		     * UMIN( (pShop->profit_buy-1),
shops.c:			      pShop->profit_sell+profitmod) ) / 100;
shops.c:	for ( obj2 = keeper->first_carrying; obj2; obj2 = obj2->next_content )
shops.c:	    if ( obj->pIndexData == obj2->pIndexData )
shops.c:    if ( obj->item_type == ITEM_STAFF || obj->item_type == ITEM_WAND )
shops.c:	cost = (int) (cost * obj->value[2] / obj->value[1]);
shops.c:    if ( !obj || ( rShop = keeper->pIndexData->rShop ) == NULL )
shops.c:	if ( obj->item_type == rShop->fix_type[itype] )
shops.c:	    cost = (int) (obj->cost * rShop->profit_fix / 1000);
shops.c:      cost = -1;
shops.c:      switch (obj->item_type)
shops.c:	  if (obj->value[0] >= obj->value[1])
shops.c:	    cost = -2;
shops.c:	    cost *= (obj->value[1] - obj->value[0]);
shops.c:	  if (INIT_WEAPON_CONDITION == obj->value[0])
shops.c:	    cost = -2;
shops.c:	    cost *= (INIT_WEAPON_CONDITION - obj->value[0]);
shops.c:	  if (obj->value[2] >= obj->value[1])
shops.c:	    cost = -2;
shops.c:	    cost *= (obj->value[1] - obj->value[2]);
shops.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_PET_SHOP) )
shops.c:	pRoomIndexNext = get_room_index( ch->in_room->vnum + 1 );
shops.c:	    bug( "Do_buy: bad pet shop at vnum %d.", ch->in_room->vnum );
shops.c:	in_room     = ch->in_room;
shops.c:	ch->in_room = pRoomIndexNext;
shops.c:	ch->in_room = in_room;
shops.c:	if ( pet == NULL || !IS_NPC( pet ) || !xIS_SET(pet->act, ACT_PET) )
shops.c:	if ( xIS_SET(ch->act, PLR_BOUGHT_PET) )
shops.c:	if ( ch->gold < 10 * pet->level * pet->level )
shops.c:	if ( ch->level < pet->level )
shops.c:	maxgold = 10 * pet->level * pet->level;
shops.c:	ch->gold	-= maxgold;
shops.c:	boost_economy( ch->in_room->area, maxgold );
shops.c:	pet		= create_mobile( pet->pIndexData );
shops.c:	xSET_BIT(ch->act, PLR_BOUGHT_PET);
shops.c:	xSET_BIT(pet->act, ACT_PET);
shops.c:	xSET_BIT(pet->affected_by, AFF_CHARM);
shops.c:/*	This isn't needed anymore since you can order your pets --Shaddai
shops.c:	xSET_BIT(pet->affected_by, AFF_CHARM);
shops.c:	    sprintf( buf, "%s %s", pet->name, arg );
shops.c:	    STRFREE( pet->name );
shops.c:	    pet->name = STRALLOC( buf );
shops.c:	    pet->description, ch->name );
shops.c:	STRFREE( pet->description );
shops.c:	pet->description = STRALLOC( buf );
shops.c:	char_to_room( pet, ch->in_room );
shops.c:	maxgold = keeper->level * keeper->level * 50000;
shops.c:		ch->reply = keeper;
shops.c:	    act( AT_TELL, "$n tells you 'I don't sell that -- try 'list'.'",
shops.c:	    ch->reply = keeper;
shops.c:	    ch->reply = keeper;
shops.c:	if ( ch->gold < cost )
shops.c:	    ch->reply = keeper;
shops.c:/*	if ( obj->level > ch->level )
shops.c:	    ch->reply = keeper;
shops.c:      	    ch->reply = keeper;
shops.c:	if ( ch->carry_number + get_obj_number( obj ) > can_carry_n( ch ) )
shops.c:	if ( ch->carry_weight + ( get_obj_weight( obj ) * noi )
shops.c:		( obj->short_descr[strlen(obj->short_descr)-1] == 's'
shops.c:		( obj->short_descr[strlen(obj->short_descr)-1] == 's'
shops.c:	ch->gold     -= cost;
shops.c:	keeper->gold += cost;
shops.c:	if ( keeper->gold > maxgold )
shops.c:	    boost_economy( keeper->in_room->area, keeper->gold - maxgold/2 );
shops.c:	    keeper->gold = maxgold/2;
shops.c:	    buy_obj = create_object( obj->pIndexData, obj->level );
shops.c:	     * The shopkeeper gives you a bag with multiple-buy,
shops.c:	     * set to the number bought.		-Thoric
shops.c:		xSET_BIT(bag->extra_flags, ITEM_GROUNDROT);
shops.c:		bag->timer = 10; /* Blodkai, 4/97 */
shops.c:		bag->value[0] = bag->weight + (buy_obj->weight * noi);
shops.c:		buy_obj->count = noi;
shops.c:		obj->pIndexData->count += (noi - 1);
shops.c:		numobjsloaded += (noi - 1);
shops.c: *      list            -       list the items for sale, should be sorted by
shops.c: *      list #          -       list items and throw a flag at #
shops.c: *      list #1 #2      -       list items and throw flags at #1 and #2
shops.c: * Last Modified: May 25, 1997 -- Fireblade
shops.c:        char *divleft = "-----------------------------------[ ";
shops.c:        char *divright = " ]-----------------------------------";
shops.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_PET_SHOP) )
shops.c:        pRoomIndexNext = get_room_index( ch->in_room->vnum + 1 );
shops.c:            bug( "Do_list: bad pet shop at vnum %d.", ch->in_room->vnum );
shops.c:        for ( pet = pRoomIndexNext->first_person; pet;
shops.c:                pet = pet->next_in_room )
shops.c:            if ( xIS_SET(pet->act, ACT_PET) && IS_NPC(pet) )
shops.c:                pager_printf( ch, "[%2d] %8d - %s\n\r",
shops.c:                        pet->level,
shops.c:                        10 * pet->level * pet->level,
shops.c:                        pet->short_descr );
shops.c:        lower = -2;
shops.c:        upper = -1;
shops.c:        for ( obj = keeper->first_carrying; obj;
shops.c:                obj = obj->next_content )
shops.c:            if ( obj->wear_loc == WEAR_NONE
shops.c:            && ( arg[0] == '\0' || nifty_is_name( arg, obj->name ) ) )
shops.c:                if(obj->level <= upper)
shops.c:                        upper = -1;
shops.c:                if(obj->level < lower)
shops.c:                        lower = -1;
shops.c:                    obj->level, cost, capitalize( obj->short_descr ) );
shops.c:	ch->reply = keeper;
shops.c:    if ( obj->timer > 0 )
shops.c:    if ( cost >= keeper->gold )
shops.c:    ch->gold     += cost;
shops.c:    keeper->gold -= cost;
shops.c:    if ( keeper->gold < 0 )
shops.c:	keeper->gold = 0;
shops.c:    if ( obj->item_type == ITEM_TRASH )
shops.c:	ch->reply = keeper;
shops.c:    ch->reply = keeper;
shops.c: * Repair a single object. Used when handling "repair all" - Gorog
shops.c:       ch_printf( ch, "You can't let go of %s.\n\r", obj->name );
shops.c:       if (cost != -2)
shops.c:               /* "repair all" gets a 10% surcharge - Gorog */
shops.c:   else if ( (cost = strcmp("all",arg) ? cost : 11*cost/10) > ch->gold )
shops.c:        cost == 1 ? "" : "s", fixstr, obj->name );
shops.c:      ch->gold     -= cost;
shops.c:      keeper->gold += cost;
shops.c:      if ( keeper->gold < 0 )
shops.c:          keeper->gold = 0;
shops.c:      if ( keeper->gold > maxgold )
shops.c:          boost_economy( keeper->in_room->area, keeper->gold - maxgold/2 );
shops.c:          keeper->gold = maxgold/2;
shops.c:      switch ( obj->item_type )
shops.c:            obj->value[0] = obj->value[1];
shops.c:            obj->value[0] = INIT_WEAPON_CONDITION;
shops.c:            obj->value[2] = obj->value[1];
shops.c:    maxgold = keeper->level * keeper->level * 100000;
shops.c:    switch( keeper->pIndexData->rShop->shop_type )
shops.c:	for ( obj = ch->first_carrying; obj ; obj = obj->next_content )
shops.c:           if ( obj->wear_loc  == WEAR_NONE
shops.c:	   && ( obj->item_type == ITEM_ARMOR
shops.c:	   ||   obj->item_type == ITEM_WEAPON
shops.c:	   ||   obj->item_type == ITEM_WAND
shops.c:	   ||   obj->item_type == ITEM_STAFF ) )
shops.c:	ch->reply = keeper;
shops.c:    for ( obj = ch->first_carrying; obj != NULL ; obj = obj->next_content )
shops.c:        if ( obj->wear_loc  == WEAR_NONE
shops.c:        && ( obj->item_type == ITEM_ARMOR
shops.c:        ||   obj->item_type == ITEM_WEAPON
shops.c:        ||   obj->item_type == ITEM_WAND
shops.c:        ||   obj->item_type == ITEM_STAFF ) )
shops.c:              ch_printf( ch, "You can't let go of %s.\n\r", obj->name );
shops.c:               if (cost != -2)
shops.c:            cost, cost == 1 ? "" : "s", fixstr, obj->name );
shops.c:    switch( keeper->pIndexData->rShop->shop_type )
shops.c:	ch->reply = keeper;
shops.c:      if (cost != -2)
shops.c:    if ( cost > ch->gold )
shops.c:/* ------------------ Shop Building and Editing Section ----------------- */
shops.c:    if ( mob->pShop )
shops.c:    shop->keeper	= vnum;
shops.c:    shop->profit_buy	= 120;
shops.c:    shop->profit_sell	= 90;
shops.c:    shop->open_hour	= 0;
shops.c:    shop->close_hour	= 23;
shops.c:    mob->pShop		= shop;
shops.c:    if ( !mob->pShop )
shops.c:    shop = mob->pShop;
shops.c:	shop->buy_type[0] = value;
shops.c:	shop->buy_type[1] = value;
shops.c:	shop->buy_type[2] = value;
shops.c:	shop->buy_type[3] = value;
shops.c:	shop->buy_type[4] = value;
shops.c:	if ( value <= (shop->profit_sell+5) || value > 1000 )
shops.c:	shop->profit_buy = value;
shops.c:	if ( value < 0 || value >= (shop->profit_buy-5) )
shops.c:	shop->profit_sell = value;
shops.c:	shop->open_hour = value;
shops.c:	shop->close_hour = value;
shops.c:	if ( mob2->pShop )
shops.c:	mob->pShop  = NULL;
shops.c:	mob2->pShop = shop;
shops.c:	shop->keeper = value;
shops.c:    if ( !mob->pShop )
shops.c:    shop = mob->pShop;
shops.c:    ch_printf( ch, "Keeper: %d  %s\n\r", shop->keeper, mob->short_descr );
shops.c:		o_types[shop->buy_type[0]],
shops.c:		o_types[shop->buy_type[1]],
shops.c:		o_types[shop->buy_type[2]],
shops.c:		o_types[shop->buy_type[3]],
shops.c:		o_types[shop->buy_type[4]] );
shops.c:			shop->profit_buy,
shops.c:			shop->profit_sell );
shops.c:			shop->open_hour,
shops.c:			shop->close_hour );
shops.c:    for ( shop = first_shop; shop; shop = shop->next )
shops.c:		shop->keeper,	   shop->profit_buy, shop->profit_sell,
shops.c:		shop->open_hour,   shop->close_hour,
shops.c:		shop->buy_type[0], shop->buy_type[1],
shops.c:		shop->buy_type[2], shop->buy_type[3], shop->buy_type[4] );
shops.c:/* -------------- Repair Shop Building and Editing Section -------------- */
shops.c:    if ( mob->rShop )
shops.c:    repair->keeper	= vnum;
shops.c:    repair->profit_fix	= 100;
shops.c:    repair->shop_type	= SHOP_FIX;
shops.c:    repair->open_hour	= 0;
shops.c:    repair->close_hour	= 23;
shops.c:    mob->rShop		= repair;
shops.c:    if ( !mob->rShop )
shops.c:    repair = mob->rShop;
shops.c:	repair->fix_type[0] = value;
shops.c:	repair->fix_type[1] = value;
shops.c:	repair->fix_type[2] = value;
shops.c:	repair->profit_fix = value;
shops.c:	repair->shop_type = value;
shops.c:	repair->open_hour = value;
shops.c:	repair->close_hour = value;
shops.c:	if ( mob2->rShop )
shops.c:	mob->rShop  = NULL;
shops.c:	mob2->rShop = repair;
shops.c:	repair->keeper = value;
shops.c:    if ( !mob->rShop )
shops.c:    repair = mob->rShop;
shops.c:    ch_printf( ch, "Keeper: %d  %s\n\r", repair->keeper, mob->short_descr );
shops.c:			o_types[repair->fix_type[0]],
shops.c:			o_types[repair->fix_type[1]],
shops.c:			o_types[repair->fix_type[2]] );
shops.c:			repair->profit_fix,
shops.c:			repair->shop_type );
shops.c:			repair->open_hour,
shops.c:			repair->close_hour );
shops.c:    for ( repair = first_repair; repair; repair = repair->next )
shops.c:		repair->keeper,	     repair->profit_fix, repair->shop_type,
shops.c:		repair->open_hour,   repair->close_hour,
shops.c:		repair->fix_type[0], repair->fix_type[1], repair->fix_type[2] );
skills.c: * -----------------------------------------------------------|   (0...0)   *
skills.c: * -----------------------------------------------------------|    {o o}    *
skills.c: * ------------------------------------------------------------------------ *
skills.c: * ------------------------------------------------------------------------ *
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:    return -1;
skills.c:  if ( ch->pcdata->clan && ch->pcdata->clan == vch->pcdata->clan )
skills.c: * Only match skills player knows				-Thoric
skills.c:    int top   = gsn_first_weapon-1;
skills.c:	if ( LOWER(command[0]) == LOWER(skill_table[sn]->name[0])
skills.c:	&&  !str_prefix(command, skill_table[sn]->name)
skills.c:	&&  (skill_table[sn]->skill_fun || skill_table[sn]->spell_fun != spell_null)
skills.c:	||  (ch->pcdata->learned[sn] > 0
skills.c:	&&   ch->level >= skill_table[sn]->skill_level[ch->class])) )
skills.c:    	if (strcmp( command, skill_table[sn]->name) < 1)
skills.c:	    top = sn - 1;
skills.c:    if ( !check_pos( ch, skill_table[sn]->minimum_position ) )
skills.c:    if ( skill_table[sn]->min_mana )
skills.c:	mana = IS_NPC(ch) ? 0 : UMAX(skill_table[sn]->min_mana,
skills.c:	   100 / ( 2 + ch->level - skill_table[sn]->skill_level[ch->class] ) );
skills.c:	blood = UMAX(1, (mana+4) / 8);      /* NPCs don't have PCDatas. -- Altrag */
skills.c:	    if (ch->pcdata->condition[COND_BLOODTHIRST] < blood)
skills.c:	if ( !IS_NPC(ch) && ch->mana < mana )
skills.c:     * Is this a real do-fun, or a really a spell?
skills.c:    if ( !skill_table[sn]->skill_fun )
skills.c:	switch ( skill_table[sn]->target )
skills.c:		    target_name = victim->name;
skills.c:		ch_printf( ch, "Confusion overcomes you as your '%s' has no target.\n\r", skill_table[sn]->name );
skills.c:		    if ( xIS_SET(victim->act, PLR_PK))
skills.c:		        send_to_char( "You really shouldn't do this to another player...\n\r", ch ); -- Scion */
skills.c:		if ( IS_AFFECTED(ch, AFF_CHARM) && ch->master == victim )
skills.c:	WAIT_STATE( ch, skill_table[sn]->beats );
skills.c:	if ( (number_percent( ) + skill_table[sn]->difficulty * 5)
skills.c:		  gain_condition( ch, COND_BLOODTHIRST, - blood/2 );
skills.c:		  ch->mana -= mana/2;
skills.c:		gain_condition( ch, COND_BLOODTHIRST, - blood );
skills.c:		ch->mana -= mana;
skills.c:	retcode = (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, vo );
skills.c:	update_userec(&time_used, &skill_table[sn]->userec);
skills.c:	if ( skill_table[sn]->target == TAR_CHAR_OFFENSIVE
skills.c:	    for ( vch = ch->in_room->first_person; vch; vch = vch_next )
skills.c:		vch_next = vch->next_in_room;
skills.c:		if ( victim == vch && !victim->fighting && victim->master != ch )
skills.c:	  gain_condition( ch, COND_BLOODTHIRST, - blood );
skills.c:	  ch->mana -= mana;
skills.c:    ch->prev_cmd = ch->last_cmd;    /* haus, for automapping */
skills.c:    ch->last_cmd = skill_table[sn]->skill_fun;
skills.c:    (*skill_table[sn]->skill_fun) ( ch, argument );
skills.c:    update_userec(&time_used, &skill_table[sn]->userec);
skills.c:    if ( corpse->item_type != ITEM_CORPSE_PC )
skills.c:    if ( obj->value[3] != 1 && 
skills.c:	     obj->value[3] != 2 && 
skills.c:		 obj->value[3] != 3 &&
skills.c:		 obj->value[3] != 11 )
skills.c:	if ( corpse->value[5] == 1 ) {
skills.c:    name                = IS_NPC(ch) ? korps->short_descr : corpse->short_descr;
skills.c:    sprintf( buf, skin->short_descr, name );
skills.c:    STRFREE( skin->short_descr );
skills.c:    skin->short_descr = STRALLOC( buf );
skills.c:    sprintf( buf, skin->description, name );
skills.c:    STRFREE( skin->description );
skills.c:    skin->description = STRALLOC( buf );
skills.c:	corpse->value[5]=1;
skills.c:	for ( sn = 0; sn < top_sn && skill_table[sn] && skill_table[sn]->name; sn++ )
skills.c:	    pager_printf( ch, "Sn: %4d Slot: %4d Skill/spell: '%-20s' Damtype: %s\n\r",
skills.c:		sn, skill_table[sn]->slot, skill_table[sn]->name,
skills.c:	for ( sn = 0; sn < top_herb && herb_table[sn] && herb_table[sn]->name; sn++ )
skills.c:	   pager_printf( ch, "%d) %s\n\r", sn, herb_table[sn]->name );
skills.c:	ch_printf( ch, "Sn: %4d Slot: %4d %s: '%-20s'\n\r",
skills.c:	    sn, skill->slot, skill_tname[skill->type], skill->name );
skills.c:	if ( skill->info )
skills.c:	if ( skill->flags )
skills.c:	    spell_saves[(int) skill->saves],
skills.c:	if ( skill->difficulty != '\0' )
skills.c:	    ch_printf( ch, "Difficulty: %d\n\r", (int) skill->difficulty );
skills.c:		skill_tname[skill->type],
skills.c:		target_type[URANGE(TAR_IGNORE, skill->target, TAR_OBJ_INV)],
skills.c:		skill->minimum_position,
skills.c:		skill->min_mana, skill->beats, skill->range );
skills.c:		skill->flags,
skills.c:		skill->guild,
skills.c:		skill->value,
skills.c:		skill->info,
skills.c:		skill->skill_fun ? skill_name(skill->skill_fun)
skills.c:					   : spell_name(skill->spell_fun));
skills.c:		skill->noun_damage,
skills.c:		skill->msg_off ? skill->msg_off : "(none set)" );
skills.c:	if ( skill->dice && skill->dice[0] != '\0' )
skills.c:	    ch_printf( ch, "Dice: %s\n\r", skill->dice );
skills.c:	if ( skill->teachers && skill->teachers[0] != '\0' )
skills.c:	    ch_printf( ch, "Teachers: %s\n\r", skill->teachers );
skills.c:	if ( skill->components && skill->components[0] != '\0' )
skills.c:	    ch_printf( ch, "Components: %s\n\r", skill->components );
skills.c:	if ( skill->participants )
skills.c:	    ch_printf( ch, "Participants: %d\n\r", (int) skill->participants );
skills.c:	if ( skill->userec.num_uses )
skills.c:	    send_timer(&skill->userec, ch);
skills.c:	for ( aff = skill->affects; aff; aff = aff->next )
skills.c:	    if ( aff == skill->affects )
skills.c:	    if ( aff->location )
skills.c:		strcat( buf, a_types[aff->location % REVERSE_APPLY] );
skills.c:		strcat( buf, aff->modifier );
skills.c:		if ( aff->bitvector != -1 )
skills.c:	    if ( aff->bitvector != -1 )
skills.c:		strcat( buf, a_flags[aff->bitvector] );
skills.c:	    if ( aff->duration[0] != '\0' && aff->duration[0] != '0' )
skills.c:		strcat( buf, aff->duration );
skills.c:	    if ( aff->location >= REVERSE_APPLY )
skills.c:	    if ( !aff->next )
skills.c:	if ( skill->hit_char && skill->hit_char[0] != '\0' )
skills.c:	    ch_printf( ch, "Hitchar   : %s\n\r", skill->hit_char );
skills.c:	if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
skills.c:	    ch_printf( ch, "Hitvict   : %s\n\r", skill->hit_vict );
skills.c:	if ( skill->hit_room && skill->hit_room[0] != '\0' )
skills.c:	    ch_printf( ch, "Hitroom   : %s\n\r", skill->hit_room );
skills.c:	if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
skills.c:	    ch_printf( ch, "Hitdest   : %s\n\r", skill->hit_dest );
skills.c:	if ( skill->miss_char && skill->miss_char[0] != '\0' )
skills.c:	    ch_printf( ch, "Misschar  : %s\n\r", skill->miss_char );
skills.c:	if ( skill->miss_vict && skill->miss_vict[0] != '\0' )
skills.c:	    ch_printf( ch, "Missvict  : %s\n\r", skill->miss_vict );
skills.c:	if ( skill->miss_room && skill->miss_room[0] != '\0' )
skills.c:	    ch_printf( ch, "Missroom  : %s\n\r", skill->miss_room );
skills.c:	if ( skill->die_char && skill->die_char[0] != '\0' )
skills.c:	    ch_printf( ch, "Diechar   : %s\n\r", skill->die_char );
skills.c:	if ( skill->die_vict && skill->die_vict[0] != '\0' )
skills.c:	    ch_printf( ch, "Dievict   : %s\n\r", skill->die_vict );
skills.c:	if ( skill->die_room && skill->die_room[0] != '\0' )
skills.c:	    ch_printf( ch, "Dieroom   : %s\n\r", skill->die_room );
skills.c:	if ( skill->imm_char && skill->imm_char[0] != '\0' )
skills.c:	    ch_printf( ch, "Immchar   : %s\n\r", skill->imm_char );
skills.c:	if ( skill->imm_vict && skill->imm_vict[0] != '\0' )
skills.c:	    ch_printf( ch, "Immvict   : %s\n\r", skill->imm_vict );
skills.c:	if ( skill->imm_room && skill->imm_room[0] != '\0' )
skills.c:	    ch_printf( ch, "Immroom   : %s\n\r", skill->imm_room );
skills.c:	if ( skill->type != SKILL_HERB )
skills.c:            if(skill->type!=SKILL_RACIAL) 
skills.c:               send_to_char( "--------------------------[CLASS USE]--------------------------\n\r",ch);
skills.c:		   strcpy( buf, class_table[iClass]->who_name );
skills.c:				   skill->skill_level[iClass],
skills.c:				   skill->skill_adept[iClass] );
skills.c:                 send_to_char( "\n\r--------------------------[RACE USE]--------------------------\n\r",ch);
skills.c:                            race_table[iRace]->race_name,
skills.c:		            skill->race_level[iRace],
skills.c:		            skill->race_adept[iRace] );
skills.c:                         if( !strcmp(race_table[iRace]->race_name,"unused") )
skills.c:                    skill_table[index]->skill_level[class2] = (skill_table[index]->skill_level[class1]<=MAX_LEVEL ? skill_table[index]->skill_level[class1] : 101);
skills.c:                    skill_table[index]->skill_adept[class2] = (skill_table[index]->skill_adept[class1]<=MAX_LEVEL ? skill_table[index]->skill_adept[class1] : 101);
skills.c:	skill->slot = 0;
skills.c:	    for ( max = x = 0; x < top_herb-1; x++ )
skills.c:		if ( herb_table[x] && herb_table[x]->slot > max )
skills.c:		    max = herb_table[x]->slot;
skills.c:	    skill->slot = max+1;
skills.c:	skill->min_mana = 0;
skills.c:	skill->name = str_dup( argument );
skills.c:	skill->noun_damage = str_dup( "" );
skills.c:	skill->msg_off = str_dup( "" );
skills.c:	skill->spell_fun = spell_smaug;
skills.c:	skill->type = type;
skills.c:          skill->type  = SKILL_RACIAL;
skills.c:             skill->skill_level[i]= LEVEL_IMMORTAL;
skills.c:             skill->skill_adept[i]= 95;
skills.c:             skill->race_level[i]= LEVEL_IMMORTAL;
skills.c:             skill->race_adept[i]= 95;
skills.c:	    skill->difficulty = atoi( argument );
skills.c:	    skill->participants = atoi( argument );
skills.c:	    if ( x == -1 )
skills.c:	    if ( x == -1 )
skills.c:	    if ( x == -1 )
skills.c:	    if ( x == -1 )
skills.c:	    if ( x == -1 )
skills.c:	    if ( x == -1 )
skills.c:		TOGGLE_BIT( skill->flags, 1 << x );
skills.c:	    if ( x == -1 )
skills.c:		skill->saves = x;
skills.c:		skill->spell_fun = spellfun;
skills.c:		skill->skill_fun = NULL;
skills.c:		skill->skill_fun = dofun;
skills.c:		skill->spell_fun = NULL;
skills.c:	    if ( x == -1 )
skills.c:		skill->target = x;
skills.c:	    skill->minimum_position = URANGE( POS_DEAD, atoi( argument ), POS_DRAG );
skills.c:	    skill->min_level = URANGE( 1, atoi( argument ), MAX_LEVEL );
skills.c:	    skill->slot = URANGE( 0, atoi( argument ), 30000 );
skills.c:	    skill->min_mana = URANGE( 0, atoi( argument ), 2000 );
skills.c:	    skill->beats = URANGE( 0, atoi( argument ), 120 );
skills.c:	    skill->range = URANGE( 0, atoi( argument ), 20 );
skills.c:	    skill->guild = atoi( argument );
skills.c:	    skill->value = atoi( argument );
skills.c:	    skill->type = get_skill( argument );
skills.c:	    SMAUG_AFF *aff = skill->affects;
skills.c:		skill->affects = aff->next;
skills.c:		DISPOSE( aff->duration );
skills.c:		DISPOSE( aff->modifier );
skills.c:	    for ( ; aff; aff = aff->next )
skills.c:		if ( ++cnt == num && (aff_next=aff->next) != NULL )
skills.c:		    aff->next = aff_next->next;
skills.c:		    DISPOSE( aff_next->duration );
skills.c:		    DISPOSE( aff_next->modifier );
skills.c:	    bit = -1;
skills.c:		if ( (tmpbit=get_aflag(argument)) == -1 )
skills.c:	    aff->duration = str_dup( duration );
skills.c:	    aff->location = loc;
skills.c:	    aff->modifier = str_dup( modifier );
skills.c:	    aff->bitvector = bit;
skills.c:	    aff->next = skill->affects;
skills.c:	    skill->affects = aff;
skills.c:		skill->skill_level[class] =
skills.c:		skill->race_level[race] =
skills.c:		skill->skill_adept[class] =
skills.c:		skill->race_adept[race] =
skills.c:	    DISPOSE(skill->name);
skills.c:	    skill->name = str_dup( argument );
skills.c:	    DISPOSE(skill->noun_damage);
skills.c:	      skill->noun_damage = str_dup( "" );
skills.c:	      skill->noun_damage = str_dup( argument );
skills.c:	    DISPOSE(skill->msg_off);
skills.c:	      skill->msg_off = str_dup( argument );
skills.c:	    if ( skill->hit_char )
skills.c:	      DISPOSE(skill->hit_char);
skills.c:	      skill->hit_char = str_dup( argument );
skills.c:	    if ( skill->hit_vict )
skills.c:	      DISPOSE(skill->hit_vict);
skills.c:	      skill->hit_vict = str_dup( argument );
skills.c:	    if ( skill->hit_room )
skills.c:	      DISPOSE(skill->hit_room);
skills.c:	      skill->hit_room = str_dup( argument );
skills.c:	    if ( skill->hit_dest )
skills.c:	      DISPOSE(skill->hit_dest);
skills.c:	      skill->hit_dest = str_dup( argument );
skills.c:	    if ( skill->miss_char )
skills.c:	      DISPOSE(skill->miss_char);
skills.c:	      skill->miss_char = str_dup( argument );
skills.c:	    if ( skill->miss_vict )
skills.c:	      DISPOSE(skill->miss_vict);
skills.c:	      skill->miss_vict = str_dup( argument );
skills.c:	    if ( skill->miss_room )
skills.c:	      DISPOSE(skill->miss_room);
skills.c:	      skill->miss_room = str_dup( argument );
skills.c:	    if ( skill->die_char )
skills.c:	      DISPOSE(skill->die_char);
skills.c:	      skill->die_char = str_dup( argument );
skills.c:	    if ( skill->die_vict )
skills.c:	      DISPOSE(skill->die_vict);
skills.c:	      skill->die_vict = str_dup( argument );
skills.c:	    if ( skill->die_room )
skills.c:	      DISPOSE(skill->die_room);
skills.c:	      skill->die_room = str_dup( argument );
skills.c:	    if ( skill->imm_char )
skills.c:	      DISPOSE(skill->imm_char);
skills.c:	      skill->imm_char = str_dup( argument );
skills.c:	    if ( skill->imm_vict )
skills.c:	      DISPOSE(skill->imm_vict);
skills.c:	      skill->imm_vict = str_dup( argument );
skills.c:	    if ( skill->imm_room )
skills.c:	      DISPOSE(skill->imm_room);
skills.c:	      skill->imm_room = str_dup( argument );
skills.c:	    if ( skill->dice )
skills.c:	      DISPOSE(skill->dice);
skills.c:	      skill->dice = str_dup( argument );
skills.c:	    if ( skill->components )
skills.c:	      DISPOSE(skill->components);
skills.c:	      skill->components = str_dup( argument );
skills.c:	    if ( skill->teachers )
skills.c:	      DISPOSE(skill->teachers);
skills.c:	      skill->teachers = str_dup( argument );
skills.c:	    if ( skill_table[sn]->name 
skills.c:                 /*            && ( victim->level >= skill_table[sn]->skill_level[victim->class] */
skills.c:            && ( victim->level >= SKILL_CLASS( victim, sn )
skills.c:		  victim->pcdata->learned[sn] = GET_ADEPT( victim, sn );
skills.c:		  victim->pcdata->learned[sn] = value;
skills.c:	victim->pcdata->learned[sn] = value;
skills.c:    if ( IS_NPC(ch) || ch->pcdata->learned[sn] <= 0 )
skills.c:    sklvl = skill_table[sn]->skill_level[ch->class];
skills.c:	sklvl = ch->level;
skills.c:    if ( ch->pcdata->learned[sn] < adept )
skills.c:	chance = ch->pcdata->learned[sn] + (5 * skill_table[sn]->difficulty);
skills.c:	if ( chance - percent > 25 )
skills.c:	ch->pcdata->learned[sn] = UMIN( adept, ch->pcdata->learned[sn] + learn );
skills.c:	if ( ch->pcdata->learned[sn] == adept )	 /* fully learned! */
skills.c:		skill_table[sn]->name, gain );
skills.c:	    if ( !ch->fighting && sn != gsn_hide && sn != gsn_sneak )
skills.c:	gain /= 2; /* Twice the levels, half the gain -- Scion */
skills.c:    if ( IS_NPC(ch) || ch->pcdata->learned[sn] <= 0 )
skills.c:    chance = ch->pcdata->learned[sn] + (5 * skill_table[sn]->difficulty);
skills.c:    if ( chance - number_percent() > 25 )
skills.c:    if ( ch->pcdata->learned[sn] < (adept-1) )
skills.c:	ch->pcdata->learned[sn] = UMIN( adept, ch->pcdata->learned[sn] + 1 );
skills.c:    if ( ch->mount )
skills.c:    chance = (( get_curr_dex(victim) - get_curr_dex(ch)) * 10) + 10;
skills.c:    if ( victim->fighting && victim->fighting->who != ch )
skills.c:	dam = number_range( 5, ch->level );
skills.c:		  af.modifier  = -6;
skills.c:		    af.duration = ( ch->level+10 ) / get_curr_con( victim );
skills.c:		    af.duration  = 3 + (ch->level/15);
skills.c:			victim->name );
skills.c:		/* Taken out by request - put back in by Thoric
skills.c:	WAIT_STATE( ch, skill_table[gsn_gouge]->beats );
skills.c:    switch( ch->substate )
skills.c:	    if ( ch->mount )
skills.c:	    if ( !ch->in_room->first_content )
skills.c:	    for ( obj = ch->in_room->first_content; obj; obj = obj->next_content )
skills.c:	       if ( can_see_obj( ch, obj ) && nifty_is_name( arg, obj->name ) )
skills.c:	    ch->alloc_ptr = str_dup( obj->name );
skills.c:/*	    WAIT_STATE( ch, skill_table[gsn_detrap]->beats ); */
skills.c:	    if ( !ch->alloc_ptr )
skills.c:		bug( "do_detrap: ch->alloc_ptr NULL!", 0 );
skills.c:	    strcpy( arg, ch->alloc_ptr );
skills.c:	    DISPOSE( ch->alloc_ptr );
skills.c:	    ch->alloc_ptr = NULL;
skills.c:	    ch->substate = SUB_NONE;
skills.c:	    DISPOSE(ch->alloc_ptr);
skills.c:	    ch->substate = SUB_NONE;
skills.c:    if ( !ch->in_room->first_content )
skills.c:    for ( obj = ch->in_room->first_content; obj; obj = obj->next_content )
skills.c:       if ( can_see_obj( ch, obj ) && nifty_is_name( arg, obj->name ) )
skills.c:    percent  = number_percent( ) - ( ch->level / 15 ) 
skills.c:               - (get_curr_lck(ch) - 16);
skills.c:    switch( ch->substate )
skills.c:          if ( ch->mount )
skills.c:	      &&     get_dir(arg) == -1 )
skills.c:		  if ( !IS_SET(pexit->exit_info, EX_DIG)
skills.c:		  &&   !IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	      switch( ch->in_room->sector_type )
skills.c:	  add_timer( ch, TIMER_DO_FUN, UMIN(skill_table[gsn_dig]->beats / 10, 3), do_dig, 1);
skills.c:	  ch->alloc_ptr = str_dup( arg );
skills.c:	  if ( !ch->alloc_ptr )
skills.c:	  strcpy( arg, ch->alloc_ptr );  
skills.c:	  DISPOSE( ch->alloc_ptr );	
skills.c:	  DISPOSE( ch->alloc_ptr );
skills.c:	  ch->substate = SUB_NONE;
skills.c:    ch->substate = SUB_NONE;
skills.c:    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
skills.c:      if ( obj->item_type == ITEM_SHOVEL )
skills.c:	&&     IS_SET( pexit->exit_info, EX_DIG )
skills.c:	&&     IS_SET( pexit->exit_info, EX_CLOSED ) )
skills.c:		REMOVE_BIT( pexit->exit_info, EX_CLOSED );
skills.c:    startobj = ch->in_room->first_content;
skills.c:    for ( obj = startobj; obj; obj = obj->next_content )
skills.c:	    (IS_NPC(ch) ? 80 : ch->pcdata->learned[gsn_dig]) )
skills.c:    xREMOVE_BIT( obj->extra_flags, ITEM_BURIED );
skills.c:    if ( obj->item_type == ITEM_CORPSE_PC
skills.c:    ||   obj->item_type == ITEM_CORPSE_NPC )
skills.c:    door = -1;
skills.c:    switch( ch->substate )
skills.c:	    if ( ch->mount )
skills.c:	    if ( arg[0] != '\0' && (door = get_door( arg )) == -1 )
skills.c:		if ( container->item_type != ITEM_CONTAINER )
skills.c:		if ( IS_SET(container->value[1], CONT_CLOSED) )
skills.c:	    add_timer( ch, TIMER_DO_FUN, UMIN(skill_table[gsn_search]->beats / 10, 3),
skills.c:	    ch->alloc_ptr = str_dup( arg );
skills.c:	    if ( !ch->alloc_ptr )
skills.c:	    strcpy( arg, ch->alloc_ptr );
skills.c:	    DISPOSE( ch->alloc_ptr );
skills.c:	    DISPOSE( ch->alloc_ptr );
skills.c:	    ch->substate = SUB_NONE;
skills.c:    ch->substate = SUB_NONE;
skills.c:	startobj = ch->in_room->first_content;
skills.c:	if ( (door = get_door( arg )) != -1 )
skills.c:	    startobj = container->first_content;
skills.c:    if ( (!startobj && door == -1) || IS_NPC(ch) )
skills.c:    percent  = number_percent( ) + number_percent( ) - ( ch->level / 10 );
skills.c:    if ( door != -1 )
skills.c:	if ( (pexit = get_exit( ch->in_room, door )) != NULL
skills.c:	&&   IS_SET( pexit->exit_info, EX_SECRET )
skills.c:	&&   IS_SET( pexit->exit_info, EX_xSEARCHABLE )
skills.c:	    act( AT_SKILL, "Your search reveals the $d!", ch, NULL, pexit->keyword, TO_CHAR );
skills.c:	    act( AT_SKILL, "$n finds the $d!", ch, NULL, pexit->keyword, TO_ROOM );
skills.c:	    REMOVE_BIT( pexit->exit_info, EX_SECRET );
skills.c:    for ( obj = startobj; obj; obj = obj->next_content )
skills.c:	    xREMOVE_BIT( obj->extra_flags, ITEM_HIDDEN );
skills.c:    if ( ch->mount )
skills.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
skills.c:   running around stealing eq from equipped pkillers. -- Narn
skills.c:	if ((ch->level > victim->level + 10) && !IS_NPC(victim)) {
skills.c:	if ((ch->level < victim->level - 10) && !IS_NPC(victim)) {
skills.c: Pstealing is cool! -- Scion */
skills.c:    if ( xIS_SET(victim->act, ACT_PACIFIST)  ) /* Gorog */
skills.c:        send_to_char( "They are a pacifist - Shame on you!\n\r", ch);
skills.c:    WAIT_STATE( ch, skill_table[gsn_steal]->beats );
skills.c:    percent  = number_percent( ) + ( IS_AWAKE(victim) ? 10 : -50 )
skills.c:	       - (get_curr_lck(ch) - 15) + (get_curr_lck(victim) - 13);
skills.c:    if( ch->level + 10 < victim->level )
skills.c:    if ( victim->position == POS_FIGHTING
skills.c:	sprintf( buf, "%s is a bloody thief!", ch->name );
skills.c:		  if ( (mst = ch->master) == NULL )
skills.c:		if ( !xIS_SET(mst->act, PLR_THIEF) )
skills.c:		    xSET_BIT(mst->act, PLR_THIEF);
skills.c:	amount = (int) (victim->gold * number_range(1, 10) / 100);
skills.c:	ch->gold     += amount;
skills.c:	victim->gold -= amount;
skills.c:    ||   obj->level > ch->level )
skills.c:    if ( ch->carry_number + (get_obj_number(obj)/obj->count) > can_carry_n( ch ) )
skills.c:    if ( ch->carry_weight + (get_obj_weight(obj)/obj->count) > can_carry_w( ch ) )
skills.c:    if ( ch->mount )
skills.c:    /* Added stabbing weapon. -Narn */
skills.c:    ||   ( obj->value[3] != 11 && obj->value[3] != 2 ) )
skills.c:    if ( victim->fighting )
skills.c:    /* Can backstab a char even if it's hurt as long as it's sleeping. -Narn */
skills.c:    if ( victim->hit < victim->max_hit && IS_AWAKE( victim ) )
skills.c:    percent = number_percent( ) - (get_curr_lck(ch) - 14) 
skills.c:	      + (get_curr_lck(victim) - 13);
skills.c:    WAIT_STATE( ch, skill_table[gsn_backstab]->beats );
skills.c:    if ( ch->mount )
skills.c:    if ( !ch->fighting )
skills.c:    percent = number_percent( ) - (get_curr_lck(ch) - 14) 
skills.c:	      - (get_curr_lck(victim) - 16);
skills.c:    WAIT_STATE( ch, skill_table[gsn_rescue]->beats );
skills.c:    if ( ch->fighting )
skills.c:         /*    &&   ch->level < skill_table[gsn_kick]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_kick ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_kick]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_kick );
skills.c:         /*&&   ch->level < skill_table[gsn_punch]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_punch ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_punch]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_punch );
skills.c:         /*    &&   ch->level < skill_table[gsn_bite]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_bite ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_bite]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_bite );
skills.c:         /*    &&   ch->level < skill_table[gsn_claw]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_claw ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_claw]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_claw );
skills.c:         /*    &&   ch->level < skill_table[gsn_sting]->skill_level[ch->class] )*/
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_sting ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_sting]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_sting );
skills.c:         /*    &&   ch->level < skill_table[gsn_tail]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_tail ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_tail]->beats );
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_tail );
skills.c:         /*    &&   ch->level < skill_table[gsn_bash]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_bash ) )
skills.c:	   -  (get_curr_dex(ch)     + get_curr_str(ch))) * 10) + 10;
skills.c:    if ( victim->fighting && victim->fighting->who != ch )
skills.c:    WAIT_STATE( ch, skill_table[gsn_bash]->beats );
skills.c:	/* do not change anything here!  -Thoric */
skills.c:	victim->position = POS_SITTING;
skills.c:	global_retcode = damage( ch, victim, number_range( 1, ch->level ), gsn_bash );
skills.c:         /*    &&   ch->level < skill_table[gsn_stun]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_stun ) )
skills.c:    if ( !IS_NPC(ch) && ch->move < ch->max_move/10 )
skills.c:    WAIT_STATE( ch, skill_table[gsn_stun]->beats );
skills.c:    chance = ris_save( victim, ch->level, RIS_PARALYSIS );
skills.c:	   -   (get_curr_dex(ch)     + get_curr_str(ch))) * 10) + 10;
skills.c:	/*    DO *NOT* CHANGE!    -Thoric    */
skills.c:  	  ch->move -= ch->max_move/10;
skills.c:	  ch->move -= ch->max_move/15;
skills.c:    if ( ch->fighting )
skills.c:    if ( ch->pcdata->condition[COND_BLOODTHIRST] < 10 )
skills.c:	gain_condition( ch, COND_BLOODTHIRST, -7 );
skills.c:	obj->timer    = 1;
skills.c:	obj->value[1] = 6;
skills.c:	obj_to_room( obj, ch->in_room );
skills.c:	if ( ch->mount )
skills.c:	WAIT_STATE( ch, skill_table[gsn_feed]->beats );
skills.c:	  dam = number_range( 1, ch->level );
skills.c:	  &&  ch->fighting
skills.c:	  &&  ch->pcdata->condition[COND_BLOODTHIRST] < (10 + ch->level) )
skills.c:	     UMIN( number_range(1, (ch->level+victim->level / 20) + 3 ),
skills.c:	     (10 + ch->level) - ch->pcdata->condition[COND_BLOODTHIRST] ) );
skills.c:            if ( ch->pcdata->condition[COND_FULL] <= 37 )
skills.c:	  &&  ch->fighting
skills.c:	  &&  ch->pcdata->condition[COND_BLOODTHIRST] < (10 + ch->level) )
skills.c: * Check for loyalty flag (weapon disarms to inventory) for pkillers -Blodkai
skills.c:       tmpobj->wear_loc = WEAR_WIELD;
skills.c:		SET_BIT( obj->magic_flags, ITEM_PKDISARMED );
skills.c:		obj->value[5] = victim->level;
skills.c:		obj_to_room( obj, victim->in_room );
skills.c:         /*    &&   ch->level < skill_table[gsn_disarm]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_disarm ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_disarm]->beats );
skills.c:    percent = number_percent( ) + victim->level - ch->level
skills.c:	      - (get_curr_lck(ch) - 15) + (get_curr_lck(victim) - 15);
skills.c:    if ( victim->mount )
skills.c:	if ( IS_AFFECTED( victim->mount, AFF_FLYING )
skills.c:	||   IS_AFFECTED( victim->mount, AFF_FLOATING ) )
skills.c:	xREMOVE_BIT( victim->mount->act, ACT_MOUNTED );
skills.c:	victim->mount = NULL;
skills.c:	victim->position = POS_RESTING;
skills.c:    if ( victim->wait == 0 )
skills.c:	victim->position = POS_RESTING;
skills.c:/* Converted to function well as a skill for vampires -- Blodkai */
skills.c:    if ( ch->mount ) {
skills.c:    WAIT_STATE( ch, skill_table[gsn_mistwalk]->beats );
skills.c:    if ( IS_PKILL(ch) && ch->pcdata->condition[COND_BLOODTHIRST] > 22 )
skills.c:    ||   !victim->in_room
skills.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PRIVATE)
skills.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_SOLITARY)
skills.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_NO_ASTRAL)
skills.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_DEATH)
skills.c:    ||   IS_SET(victim->in_room->room_flags, ROOM_PROTOTYPE)
skills.c:    ||   IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL)
skills.c:    ||   victim->level >= ch->level + 15
skills.c:    ||  (IS_NPC(victim) && xIS_SET(victim->act, ACT_PROTOTYPE))
skills.c:    ||  (IS_NPC(victim) && saves_spell_staff( ch->level, victim ))
skills.c:    ||  !in_hard_range( ch, victim->in_room->area )
skills.c:    ||  (IS_SET(victim->in_room->area->flags, AFLAG_NOPKILL) && IS_PKILL(ch)))
skills.c:      gain_condition( ch, COND_BLOODTHIRST, - 22 );
skills.c:    char_to_room( ch, victim->in_room );
skills.c:    if ( ch->mount ) {
skills.c:    WAIT_STATE( ch, skill_table[gsn_broach]->beats );
skills.c:        if ( !IS_SET(pexit->exit_info, EX_CLOSED)
skills.c:        ||   !IS_SET(pexit->exit_info, EX_LOCKED)
skills.c:        ||    IS_SET(pexit->exit_info, EX_PICKPROOF)
skills.c:            check_room_for_traps( ch, TRAP_PICK | trap_door[pexit->vdir] );
skills.c:        REMOVE_BIT(pexit->exit_info, EX_LOCKED);
skills.c:        if ( ( pexit_rev = pexit->rexit ) != NULL && pexit_rev->to_room == ch->in_room )
skills.c:            REMOVE_BIT( pexit_rev->exit_info, EX_LOCKED );
skills.c:        check_room_for_traps( ch, TRAP_PICK | trap_door[pexit->vdir] );
skills.c:    if ( ch->mount )
skills.c:    WAIT_STATE( ch, skill_table[gsn_pick_lock]->beats );
skills.c:    for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
skills.c:	if ( IS_NPC(gch) && IS_AWAKE(gch) && ch->level + 5 < gch->level )
skills.c:/*        for ( gch = ch->in_room->first_person; gch; gch = gch->next_in_room )
skills.c:          if ( IS_NPC(gch) && IS_AWAKE(gch) && xIS_SET(gch->act, ACT_GUARDIAN ) )
skills.c:	if ( !IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	if ( pexit->key < 0 )
skills.c:	if ( !IS_SET(pexit->exit_info, EX_LOCKED) )
skills.c:	if ( IS_SET(pexit->exit_info, EX_PICKPROOF) )
skills.c:	   check_room_for_traps( ch, TRAP_PICK | trap_door[pexit->vdir] );
skills.c:	REMOVE_BIT(pexit->exit_info, EX_LOCKED);
skills.c:	act( AT_ACTION, "$n picks the $d.", ch, NULL, pexit->keyword, TO_ROOM );
skills.c:	if ( ( pexit_rev = pexit->rexit ) != NULL
skills.c:	&&   pexit_rev->to_room == ch->in_room )
skills.c:	    REMOVE_BIT( pexit_rev->exit_info, EX_LOCKED );
skills.c:	check_room_for_traps( ch, TRAP_PICK | trap_door[pexit->vdir] );
skills.c:	if ( obj->item_type != ITEM_CONTAINER )
skills.c:	if ( !IS_SET(obj->value[1], CONT_CLOSED) )
skills.c:	if ( obj->value[2] < 0 )
skills.c:	if ( !IS_SET(obj->value[1], CONT_LOCKED) )
skills.c:	if ( IS_SET(obj->value[1], CONT_PICKPROOF) )
skills.c:	REMOVE_BIT(obj->value[1], CONT_LOCKED);
skills.c:    if ( ch->mount )
skills.c:	af.duration  = ch->level * DUR_CONV;
skills.c:    if ( ch->mount )
skills.c:	xREMOVE_BIT(ch->affected_by, AFF_HIDE);
skills.c:	xSET_BIT(ch->affected_by, AFF_HIDE);
skills.c:    xREMOVE_BIT  ( ch->affected_by, AFF_HIDE		);
skills.c:    xREMOVE_BIT  ( ch->affected_by, AFF_INVISIBLE	);
skills.c:    xREMOVE_BIT  ( ch->affected_by, AFF_SNEAK		);
skills.c:        if (IS_AFFECTED(ch, AFF_CHARM) && ch->master && !IS_NPC(ch->master))
skills.c:        location = get_room_index( ch->pcdata->memorize[0] );
skills.c:    if ( !location && !IS_NPC(ch) && ch->pcdata->clan )
skills.c:      location = get_room_index( ch->pcdata->clan->recall );
skills.c:    if ( !IS_NPC( ch ) && !location && ch->level >= 5
skills.c:   /* &&   IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) */ )
skills.c:    /* 1998-01-02, h */
skills.c:       location = get_room_index(race_table[ch->race]->race_recall);
skills.c:    if ( ch->in_room == location )
skills.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL) )
skills.c:    if( IS_SET( location->area->flags, AFLAG_CLOSED ) )
skills.c:	    lose = (exp_level(ch, ch->level+1) - exp_level(ch, ch->level)) * 0.1;
skills.c:	    if ( ch->desc )
skills.c:	    /* gain_exp( ch, 0 - lose );
skills.c:              -- exp loss removed at Keolah's request -- Scion */
skills.c:    if ( ch->mount )
skills.c:	char_from_room( ch->mount );
skills.c:	char_to_room( ch->mount, location );
skills.c:    if ( ch->mount )
skills.c:    if ( victim->position > POS_STUNNED )
skills.c:    if ( victim->hit <= -6 )
skills.c:    percent = number_percent( ) - (get_curr_lck(ch) - 13);
skills.c:    WAIT_STATE( ch, skill_table[gsn_aid]->beats );
skills.c:    if ( victim->hit < 1 )
skills.c:      victim->hit = 1;
skills.c:         /*    &&   ch->level < skill_table[gsn_mount]->skill_level[ch->class] )*/
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_mount ) )
skills.c:    if ( ch->mount )
skills.c:    if ( !IS_NPC(victim) || !xIS_SET(victim->act, ACT_MOUNTABLE ) )
skills.c:    if ( xIS_SET(victim->act, ACT_MOUNTED ) )
skills.c:    if ( victim->position < POS_STANDING )
skills.c:    if ( victim->position == POS_FIGHTING || victim->fighting )
skills.c:    WAIT_STATE( ch, skill_table[gsn_mount]->beats );
skills.c:	xSET_BIT(victim->act, ACT_MOUNTED );
skills.c:	ch->mount = victim;
skills.c:	ch->position = POS_MOUNTED;
skills.c:    if ( (victim = ch->mount) == NULL )
skills.c:    WAIT_STATE( ch, skill_table[gsn_mount]->beats );
skills.c:	xREMOVE_BIT( victim->act, ACT_MOUNTED );
skills.c:	ch->mount = NULL;
skills.c:	ch->position = POS_STANDING;
skills.c:	xREMOVE_BIT( victim->act, ACT_MOUNTED );
skills.c:	ch->mount = NULL;
skills.c:	ch->position = POS_SITTING;
skills.c:    if ( IS_NPC(victim) && !xIS_SET(victim->defenses, DFND_PARRY) )
skills.c:	chances	= UMIN( 60, 2 * victim->level );
skills.c:    if ( chances != 0 && victim->morph )
skills.c:	chances+=victim->morph->parry;
skills.c:    if ( !chance( victim, chances + victim->level - ch->level ) )
skills.c:         && !IS_SET( victim->pcdata->flags, PCFLAG_GAG) ) /*SB*/
skills.c:         && !IS_SET( ch->pcdata->flags, PCFLAG_GAG) )  /* SB */   
skills.c:    if ( IS_NPC(victim) && !xIS_SET(victim->defenses, DFND_DODGE) )
skills.c:	chances  = UMIN( 60, 2 * victim->level );
skills.c:    if ( chances != 0 && victim->morph != NULL )
skills.c:	chances+=victim->morph->dodge;
skills.c:    if ( !chance( victim, chances + victim->level - ch->level ) )
skills.c:    if ( !IS_NPC(victim) && !IS_SET( victim->pcdata->flags, PCFLAG_GAG) )    
skills.c:    if ( !IS_NPC(ch) && !IS_SET( ch->pcdata->flags, PCFLAG_GAG) ) 
skills.c:    &&   !victim->pcdata->learned[gsn_tumble] > 0 )
skills.c:      chances = UMIN( 60, 2 * victim->level );
skills.c:			+ ( get_curr_dex( victim ) - 13 ) );
skills.c:    if ( chances != 0 && victim->morph )
skills.c:      chances+=victim->morph->tumble;
skills.c:    if ( !chance( victim, chances + victim->level - ch->level ) )
skills.c:    if ( !IS_NPC(victim) && !IS_SET( victim->pcdata->flags, PCFLAG_GAG ) )
skills.c:    if ( !IS_NPC(ch) && !IS_SET( ch->pcdata->flags, PCFLAG_GAG ) )
skills.c:       /*  && ch->level < skill_table[gsn_poison_weapon]->skill_level[ch->class] )*/
skills.c:       && ch->level < SKILL_CLASS( ch, gsn_poison_weapon ) )
skills.c:    if ( ch->fighting )
skills.c:    if ( obj->item_type != ITEM_WEAPON )
skills.c:    for ( pobj = ch->first_carrying; pobj; pobj = pobj->next_content )
skills.c:	if ( pobj->pIndexData->vnum == OBJ_VNUM_BLACK_POWDER )
skills.c:    for ( wobj = ch->first_carrying; wobj; wobj = wobj->next_content )
skills.c:	if ( wobj->item_type == ITEM_DRINK_CON
skills.c:	&& wobj->value[1]  >  0
skills.c:	&& wobj->value[2]  == 0 )
skills.c:    && ( (get_curr_dex( ch ) < 17) || ch->pcdata->condition[COND_DRUNK] > 0 ) )
skills.c:    WAIT_STATE( ch, skill_table[gsn_poison_weapon]->beats );
skills.c:    percent = (number_percent( ) - get_curr_lck(ch) - 14);
skills.c:	damage( ch, ch, ch->level, gsn_poison_weapon );
skills.c:    xSET_BIT( obj->extra_flags, ITEM_POISONED );
skills.c:    obj->cost *= 2;
skills.c:    obj->timer = UMIN( obj->level, ch->level );
skills.c:    obj->timer *= 2;
skills.c:    obj->timer *= 2;
skills.c:         /*    &&   ch->level < skill_table[gsn_scribe]->skill_level[ch->class] )*/
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_scribe ) )
skills.c:    if ( skill_table[sn]->spell_fun == spell_null )
skills.c:    mana = IS_NPC(ch) ? 0 : UMAX(skill_table[sn]->min_mana,
skills.c:     100 / ( 2 + ch->level - skill_table[sn]->skill_level[ch->class] ) );
skills.c:    if ( !IS_NPC(ch) && ch->mana < mana )
skills.c:     if( scroll->pIndexData->vnum != OBJ_VNUM_SCROLL_SCRIBING )
skills.c:     if ( ( scroll->value[1] != -1 )
skills.c:     && ( scroll->pIndexData->vnum == OBJ_VNUM_SCROLL_SCRIBING ) )
skills.c:	ch->mana -= (mana / 2);
skills.c:       ch->mana -= (mana / 2);
skills.c:     scroll->value[1] = sn;
skills.c:     scroll->value[0] = ch->level;
skills.c:     sprintf(buf1, "%s scroll", skill_table[sn]->name);
skills.c:     STRFREE(scroll->short_descr);
skills.c:     scroll->short_descr = STRALLOC( aoran(buf1) );
skills.c:                                              skill_table[sn]->name);
skills.c:     STRFREE(scroll->description);
skills.c:     scroll->description = STRALLOC(buf2);
skills.c:     sprintf(buf3, "scroll scribing %s", skill_table[sn]->name);
skills.c:     STRFREE(scroll->name);
skills.c:     scroll->name = STRALLOC(buf3);
skills.c:     ch->mana -= mana;
skills.c:         /*    &&   ch->level < skill_table[gsn_brew]->skill_level[ch->class] ) */
skills.c:         && ch->level < SKILL_CLASS( ch, gsn_brew ) )
skills.c:    if ( skill_table[sn]->spell_fun == spell_null )
skills.c:    mana = IS_NPC(ch) ? 0 : UMAX(skill_table[sn]->min_mana,
skills.c:     100 / ( 2 + ch->level - skill_table[sn]->skill_level[ch->class] ) );
skills.c:    if ( !IS_NPC(ch) && ch->mana < mana )
skills.c:    for ( fire = ch->in_room->first_content; fire; 
skills.c:          fire = fire->next_content )
skills.c:       if( fire->item_type == ITEM_FIRE)
skills.c:     if( potion->pIndexData->vnum != OBJ_VNUM_FLASK_BREWING )
skills.c:     if ( ( potion->value[1] != -1 )
skills.c:     && ( potion->pIndexData->vnum == OBJ_VNUM_FLASK_BREWING ) )
skills.c:	ch->mana -= (mana / 2);
skills.c:       ch->mana -= (mana / 2);
skills.c:     potion->value[1] = sn;
skills.c:     potion->value[0] = ch->level;
skills.c:     sprintf(buf1, "%s potion", skill_table[sn]->name);
skills.c:     STRFREE(potion->short_descr);
skills.c:     potion->short_descr = STRALLOC( aoran(buf1) );
skills.c:                                              skill_table[sn]->name);
skills.c:     STRFREE(potion->description);
skills.c:     potion->description = STRALLOC(buf2);
skills.c:     sprintf(buf3, "flask potion %s", skill_table[sn]->name);
skills.c:     STRFREE(potion->name);
skills.c:     potion->name = STRALLOC(buf3);
skills.c:     ch->mana -= mana;
skills.c:    if ( IS_NPC(victim) && !xIS_SET(victim->defenses, DFND_GRIP) )
skills.c:	chance  = UMIN( 60, 2 * victim->level );
skills.c:    chance += (2 * (get_curr_lck(victim) - 13 ) );
skills.c:    if ( number_percent( ) >= chance + victim->level - ch->level )
skills.c:    if ( ch->mount )
skills.c:    ||   ( obj->value[3] != 11 && obj->value[3] != 2 ) )
skills.c:    if ( !ch->fighting )
skills.c:    if ( !victim->fighting )
skills.c:    if ( victim->num_fighting < 2 )
skills.c:    percent = number_percent( ) - (get_curr_lck(ch) - 16) 
skills.c:	      + (get_curr_lck(victim) - 13);
skills.c:    WAIT_STATE( ch, skill_table[gsn_circle]->beats );
skills.c:/* Berserk and HitAll. -- Altrag */
skills.c:  if ( !ch->fighting )
skills.c:  WAIT_STATE(ch, skill_table[gsn_berserk]->beats);
skills.c:  /* Hmmm.. 10-20 combat rounds at level 50.. good enough for most mobs,
skills.c:     too high. -- Altrag */
skills.c:  af.duration = number_range(ch->level/5, ch->level*2/5);
skills.c:  if ( IS_SET(ch->in_room->room_flags, ROOM_SAFE) )
skills.c:  if ( !ch->in_room->first_person )
skills.c:  for ( vch = ch->in_room->first_person; vch; vch = vch_next )
skills.c:    vch_next = vch->next_in_room;
skills.c:    if ( ++nvict > ch->level / 5 )
skills.c:    /* Fireshield, etc. could kill ch too.. :>.. -- Altrag */
skills.c:  ch->move = UMAX(0, ch->move-nvict*3+nhit);
skills.c:	if (/* ( !IS_SET( victim->pcdata->flags, PCFLAG_DEADLY ) || */ch->level - victim->level > 10
skills.c:    /*	|| !IS_SET( ch->pcdata->flags, PCFLAG_DEADLY ) ) */
skills.c:		(IS_NPC(ch) ? ch->short_descr : ch->name),
skills.c:		victim->name,
skills.c:		victim->in_room->vnum );
skills.c:    sh_int dir = -1;
skills.c:    if ( ( dir = get_door( argument ) ) == -1 )
skills.c:    was_in_room = ch->in_room;
skills.c:    if ( ( pexit = get_exit( ch->in_room, dir ) ) == NULL )
skills.c:    if ( ch->level < 50 ) --max_dist;
skills.c:    if ( ch->level < 40 ) --max_dist;
skills.c:    if ( ch->level < 30 ) --max_dist;
skills.c:	if ( IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	    if ( IS_SET(pexit->exit_info, EX_SECRET)
skills.c:	    ||   IS_SET(pexit->exit_info, EX_DIG) )
skills.c:	if ( room_is_private( pexit->to_room )
skills.c:	&&   ch->level < LEVEL_GREATER )
skills.c:	char_to_room( ch, pexit->to_room );    
skills.c:	send_to_char( ch->in_room->name, ch );
skills.c:	show_list_to_char( ch->in_room->first_content, ch, FALSE, FALSE );
skills.c:	show_char_to_char( ch->in_room->first_person, ch );
skills.c:	switch( ch->in_room->sector_type )
skills.c:	if ( ( pexit = get_exit( ch->in_room, dir ) ) == NULL )
skills.c: * sync) used to find the victim we're firing at.	-Thoric
skills.c:    was_in_room = ch->in_room;
skills.c:    if ( ch->level < 50 ) --max_dist;
skills.c:    if ( ch->level < 40 ) --max_dist;
skills.c:    if ( ch->level < 30 ) --max_dist;
skills.c:	if ( IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	if ( room_is_private( pexit->to_room )
skills.c:	&&   ch->level < LEVEL_GREATER )
skills.c:	char_to_room( ch, pexit->to_room );    
skills.c:	switch( ch->in_room->sector_type )
skills.c:	dir = pexit->vdir;
skills.c:	if ( (pexit=get_exit(ch->in_room, dir)) == NULL )
skills.c: * Also search open quivers.					-Thoric
skills.c:    for ( obj = ch->last_carrying; obj; obj = obj->prev_content )
skills.c:	    if ( obj->item_type == ITEM_QUIVER && !IS_SET(obj->value[1], CONT_CLOSED) )
skills.c:		for ( obj2 = obj->last_content; obj2; obj2 = obj2->prev_content )
skills.c:		    if ( obj2->item_type == ITEM_PROJECTILE
skills.c:		    &&   obj2->value[3] == type )
skills.c:	    if ( obj->item_type == ITEM_PROJECTILE && obj->value[3] == type )
skills.c: * Perform the actual attack on a victim			-Thoric
skills.c:    if ( IS_SET(ch->in_room->room_flags, ROOM_SAFE) )
skills.c:	    global_retcode = spell_attack( dt, ch->level, ch, victim );
skills.c:		if ( projectile->in_obj )
skills.c:		if ( projectile->carried_by )
skills.c:		obj_to_room(projectile, victim->in_room);
skills.c: * Generic use ranged attack function			-Thoric & Tricops
skills.c:    sh_int dir = -1, dist = 0, color = AT_GREY;
skills.c:	dir = pexit->vdir;
skills.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_PRIVATE)
skills.c:	||   IS_SET(ch->in_room->room_flags, ROOM_SOLITARY) )
skills.c:	if ( ch->in_room->tunnel > 0 )
skills.c:	    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
skills.c:	    if ( count >= ch->in_room->tunnel )
skills.c:    if ( pexit && !pexit->to_room )
skills.c:    if ( pexit && IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	if ( IS_SET(pexit->exit_info, EX_SECRET)
skills.c:	||   IS_SET(pexit->exit_info, EX_DIG) )
skills.c:	if ( IS_NPC(vch) && xIS_SET(vch->act, ACT_STAY_AREA)
skills.c:	&&   ch->in_room->area != vch->in_room->area) )
skills.c:	/*don't allow attacks on mobs that are in a no-missile room --Shaddai */
skills.c:	if ( IS_SET(vch->in_room->room_flags, ROOM_NOMISSILE) )
skills.c:	if ( vch->num_fighting > max_fight(vch) )
skills.c:	 xIS_SET(ch->act, PLR_NICE ) )
skills.c:    was_in_room = ch->in_room;
skills.c:	if ( skill->noun_damage && skill->noun_damage[0] != '\0' )
skills.c:	    stxt = skill->noun_damage;
skills.c:	    stxt = skill->name;
skills.c:	if ( skill->type == SKILL_SPELL )
skills.c:    dtxt = rev_exit(pexit->vdir);
skills.c:	char_to_room(ch, pexit->to_room);
skills.c:	if ( IS_SET(pexit->exit_info, EX_CLOSED) )
skills.c:	    for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
skills.c:	if ( victim && ch->in_room == victim->in_room )
skills.c:		if ( projectile->in_obj )
skills.c:		if ( projectile->carried_by )
skills.c:		obj_to_room(projectile, ch->in_room);
skills.c:	if ( ( pexit = get_exit( ch->in_room, dir ) ) == NULL )
skills.c:		if ( projectile->in_obj )
skills.c:		if ( projectile->carried_by )
skills.c:		obj_to_room(projectile, ch->in_room);
skills.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
skills.c:	if ( !(bow->item_type == ITEM_MISSILE_WEAPON) )
skills.c:    /* modify maximum distance based on bow-type and ch's class/str/etc */
skills.c:    max_dist = URANGE( 1, bow->value[4], 10 );
skills.c:    if ( (arrow=find_projectile(ch, bow->value[3])) == NULL )
skills.c:	switch( bow->value[3] )
skills.c:    ranged_attack( ch, argument, bow, arrow, TYPE_HIT + arrow->value[3], max_dist );
skills.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
skills.c:	if ( !(bow->item_type == ITEM_MISSILE_WEAPON) )
skills.c:    /* modify maximum distance based on bow-type and ch's class/str/etc */
skills.c:    max_dist = URANGE( 1, bow->value[4], 10 );
skills.c:    if ( (arrow=find_projectile(ch, bow->value[3])) == NULL )
skills.c:    ranged_attack( ch, name, bow, arrow, TYPE_HIT + arrow->value[3], max_dist );
skills.c:/* -- working on -- 
skills.c:  for ( throw_obj = ch->last_carrying; throw_obj;
skills.c:---    if ( can_see_obj( ch, throw_obj )
skills.c:	&& ( throw_obj->wear_loc == WEAR_HELD || throw_obj->wear_loc == 
skills.c:	WEAR_WIELDED || throw_obj->wear_loc == WEAR_DUAL_WIELDED )
skills.c:	&& nifty_is_name( arg, throw_obj->name ) )
skills.c: ----
skills.c:    if ( can_see_obj( ch, throw_obj ) && nifty_is_name( arg, throw_obj->name )
skills.c:----
skills.c:  if ( ( throw_obj->item_type != ITEM_WEAPON)
skills.c:----
skills.c:  if (get_obj_weight( throw_obj ) - ( 3 * (get_curr_str(ch) - 15) ) > 0)
skills.c:  if ( ch->fighting )
skills.c:    victim = ch->fighting;
skills.c:        act( AT_GREY, "Throw $t at whom?", ch, obj->short_descr, NULL,  
skills.c:/* gsn_kick was used in this if statement , I fix - shogar */
skills.c:       /*  &&   ch->level < skill_table[gsn_slice]->skill_level[ch->class] ) */
skills.c:       && ch->level < SKILL_CLASS( ch, gsn_slice ) )
skills.c:  ||   ( obj->value[3] != 1 && obj->value[3] != 2 && obj->value[3] != 3
skills.c:      && obj->value[3] != 11) )
skills.c:  if (corpse->item_type != ITEM_CORPSE_NPC || corpse->value[3] < 75)
skills.c:  if ( (pMobIndex = get_mob_index((sh_int) -(corpse->value[2]) )) == NULL )   
skills.c:    if ( number_percent() + (get_curr_dex(ch) - 13) < 10)   
skills.c:      damage(ch, ch, ch->level, gsn_slice);
skills.c:  sprintf(buf, "meat fresh slice %s", pMobIndex->player_name);
skills.c:  STRFREE(slice->name);
skills.c:  slice->name = STRALLOC(buf);
skills.c:  sprintf(buf, "a slice of raw meat from %s", pMobIndex->short_descr);
skills.c:  STRFREE(slice->short_descr);
skills.c:  slice->short_descr = STRALLOC(buf);
skills.c:  sprintf(buf1, "A slice of raw meat from %s lies on the ground.", pMobIndex->short_descr);
skills.c:  STRFREE(slice->description);
skills.c:  slice->description = STRALLOC(buf1);
skills.c:  corpse->value[3] -= 25;
skills.c:/*------------------------------------------------------------ 
skills.c: *  Fighting Styles - haus
skills.c:                         ch->style == STYLE_BERSERK    ? "&Rberserk"    :
skills.c:                         ch->style == STYLE_AGGRESSIVE ? "&Raggressive" :
skills.c:                         ch->style == STYLE_DEFENSIVE  ? "&Ydefensive"  :
skills.c:                         ch->style == STYLE_EVASIVE    ? "&Yevasive"    :
skills.c:           /*ch->level < skill_table[gsn_style_evasive]->skill_level[ch->class]) */
skills.c:           ch->level < SKILL_CLASS( ch, gsn_style_evasive ) )
skills.c:        WAIT_STATE( ch, skill_table[gsn_style_evasive]->beats );
skills.c:            if(ch->fighting)
skills.c:                ch->position = POS_EVASIVE;
skills.c:            ch->style = STYLE_EVASIVE;
skills.c:           /* ch->level < skill_table[gsn_style_defensive]->skill_level[ch->class]) */
skills.c:           ch->level < SKILL_CLASS( ch, gsn_style_defensive ) )
skills.c:      WAIT_STATE( ch, skill_table[gsn_style_defensive]->beats );
skills.c:	  if(ch->fighting) {
skills.c:             ch->position = POS_DEFENSIVE;
skills.c:          ch->style = STYLE_DEFENSIVE;
skills.c:           /*ch->level < skill_table[gsn_style_standard]->skill_level[ch->class])*/
skills.c:           ch->level < SKILL_CLASS( ch, gsn_style_standard ) )
skills.c:      WAIT_STATE( ch, skill_table[gsn_style_standard]->beats );
skills.c:	  if(ch->fighting) {
skills.c:             ch->position = POS_FIGHTING;
skills.c:          ch->style = STYLE_FIGHTING;
skills.c:           /*ch->level < skill_table[gsn_style_aggressive]->skill_level[ch->class])*/
skills.c:           ch->level < SKILL_CLASS( ch, gsn_style_aggressive ) )
skills.c:      WAIT_STATE( ch, skill_table[gsn_style_aggressive]->beats );
skills.c:	  if(ch->fighting) {
skills.c:             ch->position = POS_AGGRESSIVE;
skills.c:          ch->style = STYLE_AGGRESSIVE;
skills.c:           /*ch->level < skill_table[gsn_style_berserk]->skill_level[ch->class])*/
skills.c:           ch->level < SKILL_CLASS( ch, gsn_style_berserk ) )
skills.c:      WAIT_STATE( ch, skill_table[gsn_style_berserk]->beats );
skills.c:	  if(ch->fighting) {
skills.c:             ch->position = POS_BERSERK;
skills.c:          ch->style = STYLE_BERSERK;
skills.c:/*  New check to see if you can use skills to support morphs --Shaddai */
skills.c:   else if ( ch->morph && ch->morph->morph && ch->morph->morph->skills &&
skills.c:             ch->morph->morph->skills[0] != '\0' &&
skills.c:             is_name( skill_table[gsn]->name, ch->morph->morph->skills ) && 
skills.c:   if ( ch->morph && ch->morph->morph && ch->morph->morph->no_skills &&
skills.c:             ch->morph->morph->no_skills[0] != '\0' &&
skills.c:             is_name( skill_table[gsn]->name, ch->morph->morph->no_skills ) )
skills.c:        /*ch->level < skill_table[gsn_cook]->skill_level[ch->class] )*/
skills.c:        ch->level < SKILL_CLASS( ch, gsn_cook ) )
skills.c:   if ( food->item_type != ITEM_COOK )
skills.c:   if ( food->value[2] > 2 )
skills.c:   for ( fire = ch->in_room->first_content; fire; fire = fire->next_content )
skills.c:	if ( fire->item_type == ITEM_FIRE )
skills.c:        food->timer = food->timer/2;
skills.c:        food->value[0] = 0;
skills.c:	food->value[2] = 3;
skills.c:	sprintf( buf, "a burnt %s", food->pIndexData->name );
skills.c:	STRFREE(food->short_descr);
skills.c:	food->short_descr = STRALLOC(buf);
skills.c:	sprintf( buf, "A burnt %s.", food->pIndexData->name);
skills.c:        STRFREE(food->description);
skills.c:        food->description = STRALLOC(buf);
skills.c:        food->timer = food->timer*3;
skills.c:	food->value[2]+=2;
skills.c:	sprintf( buf, "an overcooked %s", food->pIndexData->name );
skills.c:	STRFREE(food->short_descr);
skills.c:	food->short_descr = STRALLOC(buf);
skills.c:	sprintf( buf, "An overcooked %s.", food->pIndexData->name);
skills.c:        STRFREE(food->description);
skills.c:        food->description = STRALLOC(buf);
skills.c:        food->timer = food->timer*4;
skills.c:	food->value[0] *= 2;
skills.c:	sprintf( buf, "a roasted %s", food->pIndexData->name );
skills.c:	STRFREE(food->short_descr);
skills.c:	food->short_descr = STRALLOC(buf);
skills.c:	sprintf( buf, "A roasted %s.", food->pIndexData->name);
skills.c:        STRFREE(food->description);
skills.c:        food->description = STRALLOC(buf);
skills.c:	food->value[2]++;
skills.c:/* Allows PCs to learn spells embedded in object. Should prove interesting. - Samson 8-9-98 */
skills.c:    if ( obj->item_type != ITEM_STAFF && obj->item_type != ITEM_WAND &&
skills.c:	obj->item_type != ITEM_SCROLL )
skills.c:    if (obj->item_type == ITEM_STAFF || obj->item_type == ITEM_WAND )
skills.c:	sn = obj->value[3];
skills.c:	if ( sn < 0 || sn >= MAX_SKILL || skill_table[sn]->spell_fun == spell_null )
skills.c:	WAIT_STATE( ch, skill_table[gsn_study]->beats );
skills.c:	if ( number_percent() >= 55 + ch->pcdata->learned[gsn_study] * 4/5)
skills.c:	if ( ch->pcdata->learned[sn])
skills.c:	ch->pcdata->learned[sn] = 1;
skills.c:	act( AT_MAGIC, "You have learned the art of $t!", ch ,skill_table[sn]->name, NULL, TO_CHAR);
skills.c:    if (obj->item_type == ITEM_SCROLL)
skills.c:	sn = obj->value[1];
skills.c:	if ( sn < 0 || sn >= MAX_SKILL || skill_table[sn]->spell_fun == spell_null )
skills.c:	if ( number_percent() >= 15 + ch->pcdata->learned[gsn_study] * 4/5)
skills.c:	if ( ch->pcdata->learned[sn])
skills.c:	ch->pcdata->learned[sn] = 1;
skills.c:	act( AT_MAGIC, "You have learned the art of $t!", ch, skill_table[sn]->name, NULL, TO_CHAR);
skills.c:  short			dir = -1;
skills.c:  if (ch->fighting)
skills.c:  if (ch->mount) 
skills.c:  if (ch->in_room->sector_type == SECT_UNDERWATER || 
skills.c:	ch->in_room->sector_type == SECT_OCEANFLOOR)
skills.c:	for (tch = ch->in_room->first_person; tch; tch = tch_next) 
skills.c:		  tch_next = tch->next_in_room;
skills.c:			  && tch->level < LEVEL_IMMORTAL
skills.c:	if (number_percent() < ch->pcdata->learned[gsn_listen])
skills.c:			if (ch->level > 15)
skills.c:	if ((dir = get_door(argument)) == -1) /* The argument must be a direction*/
skills.c:	if ((pexit = get_exit(ch->in_room, dir)) == NULL)
skills.c:	original = ch->in_room;
skills.c:	char_to_room (ch, pexit->to_room);
skills.c:		for (tch = ch->in_room->first_person; tch; tch = tch_next)
skills.c:			tch_next = tch->next_in_room;
skills.c:			if (tch->level < LEVEL_IMMORTAL
skills.c:	if (number_percent() < ch->pcdata->learned[gsn_listen])
skills.c:			if (ch->level > 15) /*arbitrary, adjust to suit*/
slay.c: * -----------------------------------------------------------|   (0...0)   *
slay.c: * -----------------------------------------------------------|    {o o}    *
slay.c: * ------------------------------------------------------------------------ *
slay.c: * ------------------------------------------------------------------------ *
slay.c: *		Slay V2.0 - Online editable configurable slay options		    *
slay.c:/* -----------------------------------------------------------------------
slay.c:Send any comments, flames, bug-reports, suggestions, requests, etc... 
slay.c:----------------------------------------------------------------------- */
slay.c:    for ( slay = first_slay; slay; slay = slay->next )
slay.c:        if ( !str_cmp( name, slay->type ) )
slay.c:/* Online editing of slays added by Samson 8-3-98 */
slay.c:	    KEY( "Cmessage",	slay->cmsg,		fread_string( fp ) );
slay.c:	    KEY( "Color",		slay->color,	fread_number( fp ) );
slay.c:		if (!slay->owner)
slay.c:		  slay->owner			= STRALLOC( "Any" );
slay.c:	    KEY( "Owner",	slay->owner,		fread_string( fp ) );
slay.c:	    KEY( "Rmessage",	slay->rmsg,		fread_string( fp ) );
slay.c:	    KEY( "Type",		slay->type,		fread_string( fp ) );
slay.c:	    KEY( "Vmessage",	slay->vmsg,		fread_string( fp ) );
slay.c:/* Online slay editing, save the slay table to disk - Samson 8-3-98 */
slay.c:	for ( tslay = first_slay; tslay; tslay = tslay->next )
slay.c:	  fprintf( fp, "Type		%s~\n",	tslay->type );
slay.c:	  fprintf( fp, "Owner		%s~\n",	tslay->owner );
slay.c:	  fprintf( fp, "Color		%d\n",	tslay->color );
slay.c:	  fprintf( fp, "Cmessage	%s~\n",	tslay->cmsg );
slay.c:	  fprintf( fp, "Vmessage	%s~\n",	tslay->vmsg );
slay.c:	  fprintf( fp, "Rmessage	%s~\n",	tslay->rmsg );
slay.c:  * Updated to work with Smaug 1.4 by Samson 8-3-98
slay.c:	send_to_pager_color( "&g-------------------------+---------------\n\r", ch );
slay.c:	for ( slay = first_slay; slay; slay = slay->next )
slay.c:	   pager_printf_color( ch, "&G%-14s	&g%13s\n\r", slay->type, slay->owner );
slay.c:    if ( !IS_NPC(victim) && victim->level > ch->level )
slay.c:       for ( slay = first_slay; slay; slay = slay->next )
slay.c:          if ( ( !str_cmp( type, slay->type ) && !str_cmp( "Any", slay->owner ) )
slay.c:          || ( !str_cmp( slay->owner, ch->name ) && !str_cmp( type, slay->type ) ) )
slay.c:		 color = slay->color;
slay.c:             sprintf( buf, "%s", slay->cmsg );
slay.c:             sprintf( buf, "%s", slay->vmsg );
slay.c:             sprintf( buf, "%s", slay->rmsg );
slay.c:/* Create a slaytype online - Samson 8-3-98 */
slay.c:    /* Glaring oversight just noticed - Samson 7-5-99 */
slay.c:    slay->type		= STRALLOC( argument );
slay.c:    slay->owner		= STRALLOC( "Any" );
slay.c:    slay->color         = AT_IMMORT;
slay.c:    slay->cmsg		= STRALLOC( "You brutally slay $N!" );
slay.c:    slay->vmsg		= STRALLOC( "$n chops you up into little pieces!" );
slay.c:    slay->rmsg		= STRALLOC( "$n brutally slays $N!" );
slay.c:    ch_printf( ch, "New slaytype %s added. Set to default values.\n\r", slay->type );
slay.c:/* Set slay values online - Samson 8-3-98 */
slay.c:    switch( ch->substate )
slay.c:		slay = ch->dest_buf;
slay.c:        	STRFREE( slay->cmsg );
slay.c:        	slay->cmsg = copy_buffer( ch );
slay.c:		ch->substate = ch->tempnum;
slay.c:		slay = ch->dest_buf;
slay.c:		STRFREE( slay->vmsg );
slay.c:		slay->vmsg = copy_buffer( ch );
slay.c:		ch->substate = ch->tempnum;
slay.c:		slay = ch->dest_buf;
slay.c:		STRFREE( slay->rmsg );
slay.c:		slay->rmsg = copy_buffer( ch );
slay.c:		ch->substate = ch->tempnum;
slay.c:	STRFREE( slay->owner );
slay.c:	slay->owner = STRALLOC( argument );
slay.c:	if ( ch->substate == SUB_REPEATCMD )
slay.c:	  ch->tempnum = SUB_REPEATCMD;
slay.c:        ch->tempnum = SUB_NONE;
slay.c:      ch->substate = SUB_SLAYCMSG;
slay.c:      ch->dest_buf = slay;
slay.c:      start_editing( ch, slay->cmsg );
slay.c:	if ( ch->substate == SUB_REPEATCMD )
slay.c:	  ch->tempnum = SUB_REPEATCMD;
slay.c:        ch->tempnum = SUB_NONE;
slay.c:      ch->substate = SUB_SLAYVMSG;
slay.c:      ch->dest_buf = slay;
slay.c:      start_editing( ch, slay->vmsg );
slay.c:	if ( ch->substate == SUB_REPEATCMD )
slay.c:	  ch->tempnum = SUB_REPEATCMD;
slay.c:        ch->tempnum = SUB_NONE;
slay.c:      ch->substate = SUB_SLAYRMSG;
slay.c:      ch->dest_buf = slay;
slay.c:      start_editing( ch, slay->rmsg );
slay.c:	slay->color = atoi( argument );
slay.c:/* Online slay editor, show details of a slaytype - Samson 8-3-98 */
slay.c:    ch_printf( ch, "\n\rSlaytype: %s\n\r", slay->type );
slay.c:    ch_printf( ch, "Owner:    %s\n\r", slay->owner );
slay.c:    ch_printf( ch, "Color:    %d\n\r", slay->color );
slay.c:    ch_printf( ch, "&RCmessage: \n\r%s", slay->cmsg );
slay.c:    ch_printf( ch, "\n\r&YVmessage: \n\r%s", slay->vmsg );
slay.c:    ch_printf( ch, "\n\r&GRmessage: \n\r%s", slay->rmsg );
slay.c:/* Of course, to create means you need to be able to destroy as well :P - Samson 8-3-98 */
slay.c:    for ( pslay = first_slay; pslay; pslay = pslay->next )
slay.c:	if ( !str_cmp( arg, pslay->type ) )
slay.c:	    STRFREE( pslay->owner );
slay.c:	    STRFREE( pslay->type );
slay.c:	    STRFREE( pslay->cmsg );
slay.c:	    STRFREE( pslay->vmsg );
slay.c:	    STRFREE( pslay->rmsg );
special.c: * -----------------------------------------------------------|   (0...0)   *
special.c: * -----------------------------------------------------------|    {o o}    *
special.c: * ------------------------------------------------------------------------ *
special.c: * ------------------------------------------------------------------------ *
special.c:    if ( ch->position <= POS_SLEEPING )
special.c:    if ( ch->fighting || ch->fearing
special.c:    ||  !ch->hating || IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
special.c:    if ( ch->hunting )
special.c:    one_argument( ch->hating->name, name );
special.c:    /* make sure the char exists - works even if player quits */
special.c:   	 victim = victim->next)
special.c:	if ( !str_cmp( ch->hating->name, victim->name ) )
special.c:    if ( ch->in_room == victim->in_room )
special.c:    if ( ch->position != POS_FIGHTING
special.c:    && ch->position !=  POS_EVASIVE
special.c:    && ch->position !=  POS_DEFENSIVE
special.c:    && ch->position !=  POS_AGGRESSIVE
special.c:    && ch->position !=  POS_BERSERK )
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:        v_next = victim->next_in_room;
special.c:    { /* ok , it checked it, but let me know too - shogar */
special.c:            ch->name,spell_name);
special.c:    (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, victim );
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, NULL );
special.c:    if ( !IS_AWAKE(ch) || ch->fighting )
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	spell_smaug( skill_lookup( "armor" ), ch->level, ch, victim );
special.c:	spell_smaug( skill_lookup( "bless" ), ch->level, ch, victim );
special.c:	    ch->level, ch, victim );
special.c:	    ch->level, ch, victim );
special.c:	    ch->level, ch, victim );
special.c:	spell_smaug( skill_lookup( "refresh" ), ch->level, ch, victim );
special.c:        spell_smaug( skill_lookup( "cure serious" ), ch->level, ch, victim );
special.c:        spell_remove_curse( skill_lookup( "remove curse" ), ch->level, ch, victim );
special.c:		spell_smaug( skill_lookup( "restore mana" ), ch->level, ch, victim );
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	if ( ch->level >= min_level )
special.c:    (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, victim );
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	if ( ch->level >= min_level )
special.c:    (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, victim );
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	if ( ch->level >= min_level )
special.c:    (*skill_table[sn]->spell_fun) ( sn, ch->level, ch, victim );
special.c:    if ( !IS_AWAKE(ch) || ch->fighting )
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_KILLER) )
special.c:	if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_THIEF) )
special.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
special.c:		victim->name, crime );
special.c:	victim->name, crime );
special.c:    /* Added log in case of missing cityguard -- Tri */
special.c:      sprintf( buf, "Missing Cityguard - Vnum:[%d]", MOB_VNUM_CITYGUARD );
special.c:    char_to_room( create_mobile( cityguard ), ch->in_room );
special.c:    char_to_room( create_mobile( cityguard ), ch->in_room );
special.c:    for ( corpse = ch->in_room->first_content; corpse; corpse = c_next )
special.c:	c_next = corpse->next_content;
special.c:	if ( corpse->item_type != ITEM_CORPSE_NPC )
special.c:	for ( obj = corpse->first_content; obj; obj = obj_next )
special.c:	    obj_next = obj->next_content;
special.c:	    obj_to_room( obj, ch->in_room );
special.c:    if ( !IS_AWAKE(ch) || ch->fighting )
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_KILLER) )
special.c:	if ( !IS_NPC(victim) && xIS_SET(victim->act, PLR_THIEF) )
special.c:	if ( victim->fighting
special.c:	&&   victim->alignment < max_evil )
special.c:	    max_evil = victim->alignment;
special.c:    if ( victim && IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
special.c:		victim->name, crime );
special.c:		victim->name, crime );
special.c:    for ( trash = ch->in_room->first_content; trash; trash = trash_next )
special.c:	trash_next = trash->next_content;
special.c:	if ( !IS_SET( trash->wear_flags, ITEM_TAKE )
special.c:	if ( trash->item_type == ITEM_DRINK_CON
special.c:	||   trash->item_type == ITEM_TRASH
special.c:	||   trash->cost < 10
special.c:	||  (trash->pIndexData->vnum == OBJ_VNUM_SHOPPING_BAG
special.c:	&&  !trash->first_content) )
special.c:    if ( ch->fighting )
special.c:    if ( !move || ch->position < POS_SLEEPING )
special.c:	move_char( ch, get_exit( ch->in_room, path[pos] - '0' ), 0 );
special.c:	ch->position = POS_STANDING;
special.c:	ch->position = POS_SLEEPING;
special.c:    if ( ch->position != POS_FIGHTING
special.c:       && ch->position !=  POS_EVASIVE
special.c:       && ch->position !=  POS_DEFENSIVE
special.c:       && ch->position !=  POS_AGGRESSIVE
special.c:       && ch->position !=  POS_BERSERK
special.c:    ||   number_percent( ) > 2 * ch->level )
special.c:    spell_poison( gsn_poison, ch->level, ch, victim );
special.c:    if ( ch->position != POS_STANDING )
special.c:    for ( victim = ch->in_room->first_person; victim; victim = v_next )
special.c:	v_next = victim->next_in_room;
special.c:	||   victim->level >= LEVEL_IMMORTAL
special.c:	if ( IS_AWAKE(victim) && number_range( 0, ch->level ) == 0 )
special.c:	    maxgold = ch->level * ch->level * 1000;
special.c:	    gold = victim->gold
special.c:	    	 * number_range( 1, URANGE(2, ch->level/4, 10) ) / 100;
special.c:	    ch->gold     += 9 * gold / 10;
special.c:	    victim->gold -= gold;
special.c:	    if ( ch->gold > maxgold )
special.c:		boost_economy( ch->in_room->area, ch->gold - maxgold/2 );
special.c:		ch->gold = maxgold/2;
starmap.c:"- O -",
starmap.c:	precip = (ch->in_room->area->weather->precip + 3*weath_unit - 1)/
starmap.c:   sunpos  = (MAP_WIDTH * (24 - time_info.hour) / 24);
starmap.c:   if ((moonphase = ((((MAP_WIDTH + moonpos - sunpos ) % MAP_WIDTH ) +
starmap.c:		         > 4) moonphase -= 8;
starmap.c:        && (moonpos >= MAP_WIDTH/4 - 2) && (moonpos <= 3*MAP_WIDTH/4 + 2) /* in sky? */
starmap.c:        && ( i >= moonpos - 2 ) && (i <= moonpos + 2) /* is this pixel near moon? */
starmap.c:        && (moon_map[linenum-3][i+2-moonpos] == '@'))
starmap.c:         if ((moonphase < 0 && i - 2 - moonpos >= moonphase) ||
starmap.c:             (moonphase > 0 && i + 2 - moonpos <= moonphase))
starmap.c:           (moonpos >= MAP_WIDTH/4 - 2) && (moonpos <= 3*MAP_WIDTH/4 + 2) /* in sky? */
starmap.c:        && ( i >= moonpos - 2 ) && (i <= moonpos + 2) /* is this pixel near moon? */
starmap.c:        && (moon_map[linenum-3][i+2-moonpos] == '@'))
starmap.c:         if ((moonphase < 0 && i - 2 - moonpos >= moonphase) ||
starmap.c:             (moonphase > 0 && i + 2 - moonpos <= moonphase))
starmap.c:           if ( i >= sunpos - 2 && i <= sunpos + 2 )
starmap.c:             sprintf(buf2,"&Y%c",sun_map[linenum-3][i+2-sunpos]);
starmap.c:           switch (star_map[linenum][(MAP_WIDTH + i - starpos)%MAP_WIDTH])
stat_obj.c: * -----------------------------------------------------------|   (0...0)   *
stat_obj.c: * -----------------------------------------------------------|    {o o}    *
stat_obj.c: * ------------------------------------------------------------------------ *
stat_obj.c:    if (!ch->desc) {
stat_obj.c:        level = -1;
stat_obj.c:    for ( obj = first_object; obj; obj = obj->next ){
stat_obj.c:        if(obj->level==level){
stat_obj.c:           stats[obj->item_type].count++;
stat_obj.c:           stats[obj->item_type].weight+=obj->weight;
stat_obj.c:           stats[obj->item_type].cost+=obj->cost;
stat_obj.c:           stats[obj->item_type].value[0]+=obj->value[0];
stat_obj.c:           stats[obj->item_type].value[1]+=obj->value[1];
stat_obj.c:           stats[obj->item_type].value[2]+=obj->value[2];
stat_obj.c:           stats[obj->item_type].value[3]+=obj->value[3];
stat_obj.c:           stats[obj->item_type].value[4]+=obj->value[4];
stat_obj.c:           stats[obj->item_type].value[5]+=obj->value[5];
stat_obj.c:		if(xIS_SET(obj->pIndexData->extra_flags, i))
stat_obj.c:                   stats[obj->item_type].extra_flags[i]++;
stat_obj.c:		(double) (100.0 * (dcount/TODUB(count))),   /* %-age of objs at this level */
suicide.c: *   exit, and save. (by typin control-x y, and enter)
suicide.c:  if (strcmp (crypt (arg, ch->pcdata->pwd), ch->pcdata->pwd))
suicide.c:      do_destroy (ch, ch->name);
suicide.c:      sprintf (buf, "%s has committed suicide.", ch->name);
tables.c: * -----------------------------------------------------------|   (0...0)   *
tables.c: * -----------------------------------------------------------|    {o o}    *
tables.c: * ------------------------------------------------------------------------ *
tables.c: * ------------------------------------------------------------------------ *
tables.c:    int cl = -1;
tables.c:	    KEY( "AttrPrime",	class->attr_prime,	fread_number( fp )	);
tables.c:	    KEY( "Alignment",   class->alignment,	fread_number( fp )	);
tables.c:			class->who_name ? class->who_name : "name not found", cl );
tables.c:		    if ( class->who_name )
tables.c:			STRFREE( class->who_name );
tables.c:	    KEY( "ExpBase",	class->exp_base,	fread_number( fp )	);
tables.c:	    KEY( "Guild",	class->guild,		fread_number( fp )	);
tables.c:	    KEY( "HpMax",	class->hp_max,		fread_number( fp )	);
tables.c:	    KEY( "HpMin",	class->hp_min,		fread_number( fp )	);
tables.c:	    KEY( "Mana",	class->fMana,		fread_number( fp )	);
tables.c:	    KEY( "Name",	class->who_name,	fread_string( fp )	);
tables.c:		    sprintf( buf, "load_class_file: Skill %s -- class bad/not found (%d)", word, cl );
tables.c:		    skill_table[sn]->skill_level[cl] = lev;
tables.c:		    skill_table[sn]->skill_adept[cl] = adp;
tables.c:	    KEY( "Skilladept",	class->skill_adept,	fread_number( fp )	);
tables.c:		    sprintf( buf, "load_class_file: Title -- class bad/not found (%d)", cl );
tables.c:	    KEY( "Thac0",	class->thac0_00,	fread_number( fp )	);
tables.c:	    KEY( "Thac32",	class->thac0_32,	fread_number( fp )	);
tables.c:	    KEY( "Weapon",	class->weapon,	fread_number( fp )	);
tables.c:    sprintf( filename, "%s%s.class", CLASSDIR, class->who_name );
tables.c:    fprintf( fpout, "Name        %s~\n",	class->who_name		);
tables.c:    fprintf( fpout, "Attrprime   %d\n",		class->attr_prime	);
tables.c:    fprintf( fpout, "Alignment   %d\n",		class->alignment	);
tables.c:    fprintf( fpout, "Weapon      %d\n",		class->weapon		);
tables.c:    fprintf( fpout, "Guild       %d\n",		class->guild		);
tables.c:    fprintf( fpout, "Skilladept  %d\n",		class->skill_adept	);
tables.c:    fprintf( fpout, "Thac0       %d\n",		class->thac0_00		);
tables.c:    fprintf( fpout, "Thac32      %d\n",		class->thac0_32		);
tables.c:    fprintf( fpout, "Hpmin       %d\n",		class->hp_min		);
tables.c:    fprintf( fpout, "Hpmax       %d\n",		class->hp_max		);
tables.c:    fprintf( fpout, "Mana        %d\n",		class->fMana		);
tables.c:    fprintf( fpout, "Expbase     %d\n",		class->exp_base		);
tables.c:	if ( !skill_table[x]->name || skill_table[x]->name[0] == '\0' )
tables.c:	if ( (y=skill_table[x]->skill_level[cl]) < LEVEL_IMMORTAL )
tables.c:		skill_table[x]->name, y, skill_table[x]->skill_adept[cl] );
tables.c:    * Pre-init the race_table with blank races
tables.c:          sprintf( race_table[i]->race_name, "%s", "unused" );
tables.c:    if( !race->race_name)
tables.c:    sprintf( filename, "%s%s.race", RACEDIR, race->race_name );
tables.c:    fprintf( fpout, "Name        %s~\n",	race->race_name		);
tables.c:    fprintf( fpout, "Classes     %d\n",		race->class_restriction );
tables.c:    fprintf( fpout, "Str_Plus    %d\n",		race->str_plus		);
tables.c:    fprintf( fpout, "Dex_Plus    %d\n",		race->dex_plus		);
tables.c:    fprintf( fpout, "Wis_Plus    %d\n",		race->wis_plus		);
tables.c:    fprintf( fpout, "Int_Plus    %d\n",		race->int_plus		);
tables.c:    fprintf( fpout, "Con_Plus    %d\n",		race->con_plus		);
tables.c:    fprintf( fpout, "Cha_Plus    %d\n",		race->cha_plus		);
tables.c:    fprintf( fpout, "Lck_Plus    %d\n",		race->lck_plus		);
tables.c:    fprintf( fpout, "Hit         %d\n",		race->hit		);
tables.c:    fprintf( fpout, "Mana        %d\n",		race->mana		);
tables.c:    fprintf( fpout, "Affected    %s\n",		print_bitvector(&race->affected)	);
tables.c:    fprintf( fpout, "Resist      %d\n",		race->resist		);
tables.c:    fprintf( fpout, "Suscept     %d\n",		race->suscept		);
tables.c:    fprintf( fpout, "Language    %d\n",		race->language		);
tables.c:    fprintf( fpout, "Align       %d\n",		race->alignment		);
tables.c:    fprintf( fpout, "Min_Align  %d\n",		race->minalign		);
tables.c:    fprintf( fpout, "Max_Align	%d\n",		race->maxalign		);
tables.c:    fprintf( fpout, "AC_Plus    %d\n",		race->ac_plus		);
tables.c:    fprintf( fpout, "Exp_Mult   %d\n",		race->exp_multiplier	); 
tables.c:    fprintf( fpout, "Attacks    %s\n",		print_bitvector(&race->attacks)	);
tables.c:    fprintf( fpout, "Defenses   %s\n",		print_bitvector(&race->defenses) );
tables.c:    fprintf( fpout, "Height     %d\n",		race->height		);
tables.c:    fprintf( fpout, "Weight     %d\n",		race->weight		);
tables.c:    fprintf( fpout, "Hunger_Mod  %d\n",		race->hunger_mod	);
tables.c:    fprintf( fpout, "Thirst_mod  %d\n",		race->thirst_mod	);
tables.c:    fprintf( fpout, "Mana_Regen  %d\n",		race->mana_regen	);
tables.c:    fprintf( fpout, "HP_Regen    %d\n",		race->hp_regen		);
tables.c:    fprintf( fpout, "Race_Recall %d\n",		race->race_recall	);
tables.c:    fprintf( fpout, "Base_age	%d\n",		race->base_age		);
tables.c:                 race->where_name[i] );
tables.c:    fprintf( fpout, "HairColor  %d\n",          race->attribs[HAIR_COLOR]  );
tables.c:    fprintf( fpout, "HairLength %d\n",          race->attribs[HAIR_LENGTH] );
tables.c:    fprintf( fpout, "EyeColor   %d\n",          race->attribs[EYE_COLOR]   );
tables.c:    fprintf( fpout, "SkinTone   %d\n",          race->attribs[SKIN_TONE]   );
tables.c:    fprintf( fpout, "Build      %d\n",          race->attribs[RACE_BUILD]    );
tables.c:    fprintf( fpout, "RaceHeight %d\n",          race->attribs[RACE_HEIGHT]   );
tables.c:	if ( !skill_table[x]->name || skill_table[x]->name[0] == '\0' )
tables.c:	if ( (y=skill_table[x]->race_level[ra]) < LEVEL_IMMORTAL )
tables.c:		skill_table[x]->name, y, skill_table[x]->race_adept[ra] );
tables.c:    int ra = -1;
tables.c:       race->where_name[i] = where_name[i];
tables.c:    race->attribs[HAIR_COLOR]  = -1;
tables.c:    race->attribs[HAIR_LENGTH] = -1;
tables.c:    race->attribs[EYE_COLOR]   = -1;
tables.c:    race->attribs[SKIN_TONE]   = -1;
tables.c:    race->attribs[RACE_BUILD]    = -1;
tables.c:    race->attribs[RACE_HEIGHT]   = -1;
tables.c:	    KEY( "Align",	race->alignment,		fread_number( fp )	);
tables.c:	    KEY( "AC_Plus",	race->ac_plus,		fread_number( fp )	);
tables.c:	    KEY( "Affected",	race->affected,		fread_bitvector( fp )	);
tables.c:	    KEY( "Attacks",	race->attacks,		fread_bitvector( fp )	);
tables.c:            KEY( "Base_age",	race->base_age,		fread_number( fp )	);
tables.c:            KEY( "Build",       race->attribs[RACE_HEIGHT],  fread_number( fp )   );
tables.c:	    KEY( "Con_Plus",	race->con_plus,		fread_number( fp )	);
tables.c:	    KEY( "Cha_Plus",	race->cha_plus,		fread_number( fp )	);
tables.c:	    KEY( "Classes",	race->class_restriction,		fread_number( fp )	);
tables.c:	    KEY( "Dex_Plus",	race->dex_plus,		fread_number( fp )	);
tables.c:	    KEY( "Defenses",	race->defenses,		fread_bitvector( fp )	);
tables.c:            KEY( "EyeColor",      race->attribs[EYE_COLOR],fread_number( fp )     );
tables.c:                        race->race_name ? race->race_name : "name not found", ra );
tables.c:                if( race->attribs[HAIR_COLOR] == -1 )
tables.c:                    race->attribs[HAIR_COLOR] = 0;
tables.c:                        SET_BIT( race->attribs[HAIR_COLOR], 1 << i );
tables.c:                if( race->attribs[HAIR_LENGTH] == -1 )
tables.c:                    race->attribs[HAIR_LENGTH] = 0;
tables.c:                        SET_BIT( race->attribs[HAIR_LENGTH], 1 << i );
tables.c:                if( race->attribs[EYE_COLOR] == -1 )
tables.c:                    race->attribs[EYE_COLOR] = 0;
tables.c:                        SET_BIT( race->attribs[EYE_COLOR], 1 << i );
tables.c:                if( race->attribs[SKIN_TONE] == -1 )
tables.c:                    race->attribs[SKIN_TONE] = 0;
tables.c:                        SET_BIT( race->attribs[SKIN_TONE], 1 << i );
tables.c:                if( race->attribs[RACE_BUILD] == -1 )
tables.c:                    race->attribs[RACE_BUILD] = 0;
tables.c:                        SET_BIT( race->attribs[RACE_BUILD], 1 << i );
tables.c:                if( race->attribs[RACE_HEIGHT] == -1 )
tables.c:                    race->attribs[RACE_HEIGHT] = 0;
tables.c:                        SET_BIT( race->attribs[RACE_HEIGHT], 1 << i );
tables.c:                    if( race->attribs[i] == -1 )
tables.c:                        SET_BIT( race->attribs, HAIR_COLORS );
tables.c:	    KEY( "Exp_Mult",	race->exp_multiplier,	fread_number( fp )	);
tables.c:	    KEY( "Int_Plus",	race->int_plus,		fread_number( fp )	);
tables.c:            KEY( "HairColor",   race->attribs[HAIR_COLOR], fread_number( fp )   );
tables.c:            KEY( "HairLength",  race->attribs[HAIR_LENGTH],fread_number( fp )   );
tables.c:            KEY( "Height",	race->height,		fread_number( fp )	);
tables.c:	    KEY( "Hit",		race->hit,		fread_number( fp )	);
tables.c:	    KEY( "HP_Regen",	race->hp_regen,		fread_number( fp )	);
tables.c:	    KEY( "Hunger_Mod",	race->hunger_mod,	fread_number( fp )	);
tables.c:	    KEY( "Language",	race->language,		fread_number( fp )	);
tables.c:	    KEY( "Lck_Plus",	race->lck_plus,		fread_number( fp )	);
tables.c:	    KEY( "Mana",	race->mana,		fread_number( fp )	);
tables.c:	    KEY( "Mana_Regen",	race->mana_regen,	fread_number( fp )	);
tables.c:	    KEY( "Min_Align",	race->minalign,		fread_number( fp )	);
tables.c:	    KEY( "Max_Align",	race->maxalign,		fread_number( fp )	);
tables.c:            KEY( "RaceHeight",  race->attribs[RACE_BUILD],   fread_number( fp )   );
tables.c:	    KEY( "Race_Recall",	race->race_recall,	fread_number( fp )	);
tables.c:	    KEY( "Resist",	race->resist,		fread_number( fp )	);
tables.c:            KEY( "Str_Plus",	race->str_plus,		fread_number( fp )	);
tables.c:            KEY( "SkinTone",    race->attribs[SKIN_TONE],fread_number( fp )      );
tables.c:	    KEY( "Suscept",	race->suscept,		fread_number( fp )	);
tables.c:		    sprintf( buf, "load_race_file: Skill %s -- race bad/not found (%d)", word, ra );
tables.c:		    skill_table[sn]->race_level[ra] = lev;
tables.c:		    skill_table[sn]->race_adept[ra] = adp;
tables.c:	    KEY( "Thirst_Mod",	race->thirst_mod,	fread_number( fp )	);
tables.c:	    KEY( "Weight",	race->weight,		fread_number( fp )	);
tables.c:	    KEY( "Wis_Plus",	race->wis_plus,		fread_number( fp )	);
tables.c:		    sprintf( buf, "load_race_file: Title -- race bad/not found (%d)", ra );
tables.c:		    race->where_name[wear] = fread_string_nohash( fp );
tables.c:             sprintf(race->race_name,"%-.16s",race_name);
tables.c:	return -1;
tables.c:    if ( skill1->type < skill2->type )
tables.c:	return -1;
tables.c:    if ( skill1->type > skill2->type )
tables.c:    return strcmp( skill1->name, skill2->name );
tables.c:    qsort( &skill_table[1], top_sn-1, sizeof( SKILLTYPE * ),
tables.c:	    for ( aff = skill->affects; aff; aff = aff->next )
tables.c:		if ( aff->location == APPLY_WEAPONSPELL
tables.c:		||   aff->location == APPLY_WEARSPELL
tables.c:		||   aff->location == APPLY_REMOVESPELL
tables.c:		||   aff->location == APPLY_STRIPSN
tables.c:		||   aff->location == APPLY_RECURRINGSPELL )
tables.c:		    sprintf( tmp, "%d", slot_lookup(atoi(aff->modifier)) );
tables.c:		    DISPOSE(aff->modifier);
tables.c:		    aff->modifier = str_dup(tmp);
tables.c:    fprintf( fpout, "Name         %s~\n",	skill->name	);
tables.c:    fprintf( fpout, "Type         %s\n",	skill_tname[skill->type]);
tables.c:    fprintf( fpout, "Info         %d\n",	skill->info	);
tables.c:    fprintf( fpout, "Flags        %d\n",	skill->flags	);
tables.c:    if ( skill->target )
tables.c:	fprintf( fpout, "Target       %d\n",	skill->target	);
tables.c:    if ( skill->minimum_position )
tables.c:	fprintf( fpout, "Minpos       %d\n",	skill->minimum_position+100 );
tables.c:    if ( skill->saves )
tables.c:	fprintf( fpout, "Saves        %d\n",	skill->saves    );
tables.c:    if ( skill->slot )
tables.c:	fprintf( fpout, "Slot         %d\n",	skill->slot	);
tables.c:    if ( skill->min_mana )
tables.c:	fprintf( fpout, "Mana         %d\n",	skill->min_mana );
tables.c:    if ( skill->beats )
tables.c:	fprintf( fpout, "Rounds       %d\n",	skill->beats	);
tables.c:    if ( skill->range )
tables.c:	fprintf( fpout, "Range        %d\n",	skill->range	);
tables.c:    if ( skill->guild != -1 )
tables.c:	fprintf( fpout, "Guild        %d\n",	skill->guild	);
tables.c:    if ( skill->skill_fun )
tables.c:	fprintf( fpout, "Code         %s\n",	skill_name(skill->skill_fun) );
tables.c:    if ( skill->spell_fun )
tables.c:	fprintf( fpout, "Code         %s\n",	spell_name(skill->spell_fun) );
tables.c:    fprintf( fpout, "Dammsg       %s~\n",	skill->noun_damage );
tables.c:    if ( skill->msg_off && skill->msg_off[0] != '\0' )
tables.c:	fprintf( fpout, "Wearoff      %s~\n",	skill->msg_off	);
tables.c:    if ( skill->hit_char && skill->hit_char[0] != '\0' )
tables.c:	fprintf( fpout, "Hitchar      %s~\n",	skill->hit_char );
tables.c:    if ( skill->hit_vict && skill->hit_vict[0] != '\0' )
tables.c:	fprintf( fpout, "Hitvict      %s~\n",	skill->hit_vict );
tables.c:    if ( skill->hit_room && skill->hit_room[0] != '\0' )
tables.c:	fprintf( fpout, "Hitroom      %s~\n",	skill->hit_room );
tables.c:    if ( skill->hit_dest && skill->hit_dest[0] != '\0' )
tables.c:	fprintf( fpout, "Hitdest      %s~\n",	skill->hit_dest );
tables.c:    if ( skill->miss_char && skill->miss_char[0] != '\0' )
tables.c:	fprintf( fpout, "Misschar     %s~\n",	skill->miss_char );
tables.c:    if ( skill->miss_vict && skill->miss_vict[0] != '\0' )
tables.c:	fprintf( fpout, "Missvict     %s~\n",	skill->miss_vict );
tables.c:    if ( skill->miss_room && skill->miss_room[0] != '\0' )
tables.c:	fprintf( fpout, "Missroom     %s~\n",	skill->miss_room );
tables.c:    if ( skill->die_char && skill->die_char[0] != '\0' )
tables.c:	fprintf( fpout, "Diechar      %s~\n",	skill->die_char );
tables.c:    if ( skill->die_vict && skill->die_vict[0] != '\0' )
tables.c:	fprintf( fpout, "Dievict      %s~\n",	skill->die_vict );
tables.c:    if ( skill->die_room && skill->die_room[0] != '\0' )
tables.c:	fprintf( fpout, "Dieroom      %s~\n",	skill->die_room );
tables.c:    if ( skill->imm_char && skill->imm_char[0] != '\0' )
tables.c:	fprintf( fpout, "Immchar      %s~\n",	skill->imm_char );
tables.c:    if ( skill->imm_vict && skill->imm_vict[0] != '\0' )
tables.c:	fprintf( fpout, "Immvict      %s~\n",	skill->imm_vict );
tables.c:    if ( skill->imm_room && skill->imm_room[0] != '\0' )
tables.c:	fprintf( fpout, "Immroom      %s~\n",	skill->imm_room );
tables.c:    if ( skill->dice && skill->dice[0] != '\0' )
tables.c:	fprintf( fpout, "Dice         %s~\n",	skill->dice );
tables.c:    if ( skill->value )
tables.c:	fprintf( fpout, "Value        %d\n",	skill->value );
tables.c:    if ( skill->difficulty )
tables.c:	fprintf( fpout, "Difficulty   %d\n",	skill->difficulty );
tables.c:    if ( skill->participants )
tables.c:	fprintf( fpout, "Participants %d\n",	skill->participants );
tables.c:    if ( skill->components && skill->components[0] != '\0' )
tables.c:	fprintf( fpout, "Components   %s~\n",	skill->components );
tables.c:    if ( skill->teachers && skill->teachers[0] != '\0' )
tables.c:	fprintf( fpout, "Teachers     %s~\n",	skill->teachers );
tables.c:    for ( aff = skill->affects; aff; aff = aff->next )
tables.c:	fprintf( fpout, "Affect       '%s' %d ", aff->duration, aff->location );
tables.c:	modifier = atoi(aff->modifier);
tables.c:	if ((aff->location == APPLY_WEAPONSPELL
tables.c:	||   aff->location == APPLY_WEARSPELL
tables.c:	||   aff->location == APPLY_REMOVESPELL
tables.c:	||   aff->location == APPLY_STRIPSN
tables.c:	||   aff->location == APPLY_RECURRINGSPELL)
tables.c:	    fprintf( fpout, "'%d' ", skill_table[modifier]->slot );
tables.c:	    fprintf( fpout, "'%s' ", aff->modifier );
tables.c:	fprintf( fpout, "%d\n", aff->bitvector );
tables.c:    if ( skill->type != SKILL_HERB )
tables.c:	    if ( skill->skill_level[y] < min )
tables.c:		min = skill->skill_level[y];
tables.c:	    if ( skill->race_level[y] < min )
tables.c:		min = skill->race_level[y];
tables.c:	if ( !skill_table[x]->name || skill_table[x]->name[0] == '\0' )
tables.c:	if ( !herb_table[x]->name || herb_table[x]->name[0] == '\0' )
tables.c:	for ( social = social_index[x]; social; social = social->next )
tables.c:	    if ( !social->name || social->name[0] == '\0' )
tables.c:	    fprintf( fpout, "Name        %s~\n",	social->name );
tables.c:	    if ( social->char_no_arg )
tables.c:		fprintf( fpout, "CharNoArg   %s~\n",	social->char_no_arg );
tables.c:	    if ( social->others_no_arg )
tables.c:		fprintf( fpout, "OthersNoArg %s~\n",	social->others_no_arg );
tables.c:	    if ( social->char_found )
tables.c:		fprintf( fpout, "CharFound   %s~\n",	social->char_found );
tables.c:	    if ( social->others_found )
tables.c:		fprintf( fpout, "OthersFound %s~\n",	social->others_found );
tables.c:	    if ( social->vict_found )
tables.c:		fprintf( fpout, "VictFound   %s~\n",	social->vict_found );
tables.c:	    if ( social->char_auto )
tables.c:		fprintf( fpout, "CharAuto    %s~\n",	social->char_auto );
tables.c:	    if ( social->others_auto )
tables.c:		fprintf( fpout, "OthersAuto  %s~\n",	social->others_auto );
tables.c: * Added flags Aug 25, 1997 --Shaddai
tables.c:	for ( command = command_hash[x]; command; command = command->next )
tables.c:	    if ( !command->name || command->name[0] == '\0' )
tables.c:	    fprintf( fpout, "Name        %s~\n", command->name		);
tables.c:	    fprintf( fpout, "Code        %s\n",	 skill_name(command->do_fun) );
tables.c:/* Oops I think this may be a bad thing so I changed it -- Shaddai */
tables.c:	    if ( command->position < 100 )
tables.c:	       fprintf( fpout, "Position    %d\n",	 command->position+100);
tables.c:	       fprintf( fpout, "Position    %d\n",	 command->position);
tables.c:	    fprintf( fpout, "Level       %d\n",	 command->level		);
tables.c:	    fprintf( fpout, "Log         %d\n",	 command->log		);
tables.c:            if ( command->flags )
tables.c:                fprintf( fpout, "Flags       %d\n",  command->flags);
tables.c:    skill->slot = 0;
tables.c:    skill->min_mana = 0;
tables.c:	skill->skill_level[x] = LEVEL_IMMORTAL;
tables.c:	skill->skill_adept[x] = 95;
tables.c:	skill->race_level[x] = LEVEL_IMMORTAL;
tables.c:	skill->race_adept[x] = 95;
tables.c:    skill->guild = -1;
tables.c:    skill->target = 0;
tables.c:    skill->skill_fun = NULL;
tables.c:    skill->spell_fun = NULL;
tables.c:		aff->duration = str_dup( fread_word( fp ) );
tables.c:		aff->location = fread_number( fp );
tables.c:		aff->modifier = str_dup( fread_word( fp ) );
tables.c:		aff->bitvector = fread_number( fp );
tables.c:			if ( IS_SET(aff->bitvector, 1 << x) )
tables.c:			    aff->bitvector = x;
tables.c:			aff->bitvector = -1;
tables.c:		aff->next = skill->affects;
tables.c:		skill->affects = aff;
tables.c:		skill->skill_level[class] = fread_number( fp );
tables.c:		skill->skill_adept[class] = fread_number( fp );
tables.c:		   skill->spell_fun = spellfun;
tables.c:		   skill->skill_fun = NULL;
tables.c:		   skill->skill_fun = dofun;
tables.c:		   skill->spell_fun = NULL;
tables.c:		   skill->spell_fun = spell_null;
tables.c:	    KEY( "Code",	skill->spell_fun, spell_function(fread_word(fp)) );
tables.c:	    KEY( "Components",	skill->components,	fread_string_nohash( fp ) );
tables.c:            KEY( "Dammsg",	skill->noun_damage,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Dice",	skill->dice,		fread_string_nohash( fp ) );
tables.c:	    KEY( "Diechar",	skill->die_char,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Dieroom",	skill->die_room,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Dievict",	skill->die_vict,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Difficulty",	skill->difficulty,	fread_number( fp ) );
tables.c:		if ( skill->saves != 0 && SPELL_SAVE(skill) == SE_NONE )
tables.c:			skill->name, skill->saves );
tables.c:		skill->flags = fread_number(fp);
tables.c:		 * convert to new style			-Thoric
tables.c:		    skill->info = skill->flags & (BV11-1);
tables.c:		    if ( IS_SET(skill->flags, OLD_SF_SAVE_NEGATES) )
tables.c:			if ( IS_SET(skill->flags, OLD_SF_SAVE_HALF_DAMAGE) )
tables.c:			    REMOVE_BIT(skill->flags, OLD_SF_SAVE_HALF_DAMAGE);
tables.c:			REMOVE_BIT(skill->flags, OLD_SF_SAVE_NEGATES);
tables.c:		    if ( IS_SET(skill->flags, OLD_SF_SAVE_HALF_DAMAGE) )
tables.c:			REMOVE_BIT(skill->flags, OLD_SF_SAVE_HALF_DAMAGE);
tables.c:		    skill->flags >>= 11;
tables.c:	    KEY( "Guild",	skill->guild,		fread_number( fp ) );
tables.c:	    KEY( "Hitchar",	skill->hit_char,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Hitdest",	skill->hit_dest,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Hitroom",	skill->hit_room,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Hitvict",	skill->hit_vict,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Immchar",	skill->imm_char,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Immroom",	skill->imm_room,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Immvict",	skill->imm_vict,	fread_string_nohash( fp ) );
tables.c:		skill->info = fread_number(fp);
tables.c:	    KEY( "Mana",	skill->min_mana,	fread_number( fp ) );
tables.c:	    /*KEY( "Minpos",	skill->minimum_position, fread_number( fp ) ); */
tables.c:		skill->minimum_position = fread_number(fp);
tables.c:		if ( skill->minimum_position < 100 )
tables.c:		    switch( skill->minimum_position )
tables.c:			case 5: skill->minimum_position=6; break;
tables.c:			case 6: skill->minimum_position=8; break;
tables.c:			case 7: skill->minimum_position=9; break;
tables.c:			case 8: skill->minimum_position=12; break;
tables.c:			case 9: skill->minimum_position=13; break;
tables.c:			case 10: skill->minimum_position=14; break;
tables.c:			case 11: skill->minimum_position=15; break;
tables.c:		    skill->minimum_position-=100;
tables.c:	    KEY( "Misschar",	skill->miss_char,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Missroom",	skill->miss_room,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Missvict",	skill->miss_vict,	fread_string_nohash( fp ) );
tables.c:            KEY( "Name",	skill->name,		fread_string_nohash( fp ) );
tables.c:	    KEY( "Participants",skill->participants,	fread_number( fp ) );
tables.c:	    KEY( "Range",	skill->range,		fread_number( fp ) );
tables.c:	    KEY( "Rounds",	skill->beats,		fread_number( fp ) );
tables.c:		skill->race_level[race] = fread_number( fp );
tables.c:		skill->race_adept[race] = fread_number( fp );
tables.c:	    KEY( "Slot",	skill->slot,		fread_number( fp ) );
tables.c:	    KEY( "Saves",	skill->saves,		fread_number( fp ) );
tables.c:	    KEY( "Target",	skill->target,		fread_number( fp ) );
tables.c:	    KEY( "Teachers",	skill->teachers,	fread_string_nohash( fp ) );
tables.c:	    KEY( "Type",	skill->type,  get_skill(fread_word( fp ))  );
tables.c:	    KEY( "Value",	skill->value,		fread_number( fp ) );
tables.c:	    KEY( "Wearoff",	skill->msg_off,		fread_string_nohash( fp ) );
tables.c:		if ( herb_table[top_herb-1]->slot == 0 )
tables.c:		    herb_table[top_herb-1]->slot = top_herb-1;
tables.c:	    KEY( "CharNoArg",	social->char_no_arg,	fread_string_nohash(fp) );
tables.c:	    KEY( "CharFound",	social->char_found,	fread_string_nohash(fp) );
tables.c:	    KEY( "CharAuto",	social->char_auto,	fread_string_nohash(fp) );
tables.c:		if ( !social->name )
tables.c:		if ( !social->char_no_arg )
tables.c:	    KEY( "Name",	social->name,		fread_string_nohash(fp) );
tables.c:	    KEY( "OthersNoArg",	social->others_no_arg,	fread_string_nohash(fp) );
tables.c:	    KEY( "OthersFound",	social->others_found,	fread_string_nohash(fp) );
tables.c:	    KEY( "OthersAuto",	social->others_auto,	fread_string_nohash(fp) );
tables.c:	    KEY( "VictFound",	social->vict_found,	fread_string_nohash(fp) );
tables.c: *  Added the flags Aug 25, 1997 --Shaddai
tables.c:    command->lag_count = 0; /* can't have caused lag yet... FB */
tables.c:    command->flags   = 0;  /* Default to no flags set */
tables.c:	    KEY( "Code",	command->do_fun,	skill_function(fread_word(fp)) );
tables.c:		if ( !command->name )
tables.c:		if ( !command->do_fun )
tables.c:            KEY ("Flags", command->flags, fread_number (fp));
tables.c:	    KEY( "Level",	command->level,		fread_number(fp) );
tables.c:	    KEY( "Log",		command->log,		fread_number(fp) );
tables.c:	    KEY( "Name",	command->name,		fread_string_nohash(fp) );
tables.c:	    /* KEY( "Position",	command->position,	fread_number(fp) ); */
tables.c:		command->position = fread_number(fp);
tables.c:		if( command->position<100 )
tables.c:		    switch(command->position)
tables.c:			case 5: command->position=6; break;
tables.c:			case 6: command->position=8; break;
tables.c:			case 7: command->position=9; break;
tables.c: 			case 8: command->position=12; break;
tables.c:			case 9: command->position=13; break;
tables.c:			case 10: command->position=14; break;
tables.c:			case 11: command->position=15; break;
tables.c:		    command->position-=100;
tables.c: * Tongues / Languages loading/saving functions			-Altrag
tables.c:	cnv->old = str_dup(fread_word(fp));
tables.c:	cnv->olen = strlen(cnv->old);
tables.c:	cnv->new = str_dup(fread_word(fp));
tables.c:	cnv->nlen = strlen(cnv->new);
tables.c:	lng->name = STRALLOC(word);
tables.c:	fread_cnv(fp, &lng->first_precnv, &lng->last_precnv);
tables.c:	lng->alphabet = fread_string(fp);
tables.c:	fread_cnv(fp, &lng->first_cnv, &lng->last_cnv);
tables.c:    for (lng = first_lang; lng; lng = lng->next)
tables.c:	fprintf(fp, "#%s\n", lng->name);
tables.c:	for (cnv = lng->first_precnv; cnv; cnv = cnv->next)
tables.c:	    fprintf(fp, "'%s' '%s'\n", cnv->old, cnv->new);
tables.c:	fprintf(fp, "~\n%s~\n", lng->alphabet);
tables.c:	for (cnv = lng->first_cnv; cnv; cnv = cnv->next)
tables.c:	    fprintf(fp, "'%s' '%s'\n", cnv->old, cnv->new);
tag.c: * ---------------                         *
tag.c: * ResortMUD (The Last Resort - Aproaching *
tag.c:/* We will check arena since the game will use the area - Garinan   */
tag.c:/* Set the prize and type values  - Garinan */
tag.c:/* Lets not give them too much - Garinan */
tag.c:/* Just In Case - Garinan */
tag.c:/* Let's get this party started! - Garinan */
tag.c:/* Just In Case - Garinan */
tag.c:            for ( d = first_descriptor; d; d = d->next )
tag.c:				if ( !d->character )
tag.c:				victim = d->character;
tag.c:				if ( !victim->pcdata->team > 0 )
tag.c:			        victim->pcdata->team = 0;
tag.c:			         ch->name, prize,
tag.c:				sprintf( buf, "%s has closed the joining stage, let the game begin!", ch->name );
tag.c:		     sprintf( buf, "%s has ended the game of Tag!", ch->name );
tag.c:/* Shut this sucker down! - Garinan */
tag.c:			for ( d = first_descriptor; d; d = d->next )
tag.c:				if ( !d->character )
tag.c:			        victim = d->character;
tag.c:				if (!victim->pcdata->team > 0)
tag.c:                if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                    xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                if (victim->pcdata->team == team_red)
tag.c:					sysdata.tagred -= 1;
tag.c:				if (victim->pcdata->team == team_blue)
tag.c:					sysdata.tagblue -= 1;
tag.c:				victim->pcdata->team = 0;
tag.c:				char_to_room( victim, get_room_index(victim->retran));
tag.c:			        if (victim->pcdata->team > 0)
tag.c:			            victim->pcdata->team = 0;
tag.c:/* Join the Game - Garinan */
tag.c:        if (ch->pcdata->team != team_red
tag.c:	    && ch->pcdata->team != team_blue
tag.c:	    && ch->pcdata->team != 0)
tag.c:                    sprintf( buf, "Tag!: %s has an invalid tag status!", ch->name );
tag.c:		if (ch->pcdata->team > 0)
tag.c:			if (ch->pcdata->team != 0)
tag.c:	    if (ch->fighting)
tag.c:		for ( arenaarea = first_area; arenaarea; arenaarea = arenaarea->next )
tag.c:	        if ( !str_cmp( arenaarea->filename, "arena.are" ) )
tag.c:		        lo_vnum=arenaarea->low_r_vnum;
tag.c:		        hi_vnum=arenaarea->hi_r_vnum;
tag.c:                bug("Cannot find a room in the arena for %s!", ch->name);
tag.c:        ch->position = POS_STANDING;
tag.c:        ch->retran = ch->in_room->vnum;
tag.c:        sprintf(buf, "%s has joined the game of Tag!", ch->name);
tag.c:	    ch->pcdata->team = team_blue;
tag.c:	    sprintf(buf, "%s has joined Team Blue!", ch->name);
tag.c:	    ch->pcdata->team = team_red;
tag.c:	    sprintf(buf, "%s has joined Team Red!", ch->name);
tag.c:        if (ch->pcdata->team != team_red && ch->pcdata->team != team_blue)
tag.c:            bug("%s has joined the arena match, but has no team!", ch->name);
tag.c:	sprintf( buf, "&W%-12s %-12s\n\r", "Player", "Status" );
tag.c:	send_to_char( "------------------------\n\r", ch );
tag.c:	        for( d = first_descriptor; d; d = d->next )
tag.c:			if ( !d->character )
tag.c:			victim = d->character;
tag.c:			if ( victim->pcdata->team != team_blue )
tag.c:			sprintf( buf, "&B%-12s %-12s\n\r", "TEAM:", "BLUE" );
tag.c:			sprintf( buf, "&B%-12s %-12s\n\r",
tag.c:			         victim->name,
tag.c:			         xIS_SET(victim->act, PLR_TAGGED) ? "&CFrozen" : "Active" );
tag.c:		for( d = first_descriptor; d; d = d->next )
tag.c:			if ( !d->character )
tag.c:			victim = d->character;
tag.c:			if ( victim->pcdata->team != team_red )
tag.c:			sprintf( buf, "&R%-12s %-12s\n\r", "TEAM:", "RED" );
tag.c:			sprintf( buf, "&R%-12s %-12s\n\r",
tag.c:			         victim->name,
tag.c:			         xIS_SET(victim->act, PLR_TAGGED) ? "&YFrozen" : "Active" );
tag.c:		if (ch->pcdata->team != team_blue && ch->pcdata->team != team_red)
tag.c:			for ( d = first_descriptor; d; d = d->next )
tag.c:				if ( !d->character )
tag.c:			        victim = d->character;
tag.c:				if (!victim->pcdata->team > 0)
tag.c:                if ( victim != ch && victim->name != ch->name )
tag.c:                if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                    xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    if (victim->pcdata->team == team_red)
tag.c:                        sysdata.frozenred  -= 1;
tag.c:                    else if (victim->pcdata->team == team_blue)
tag.c:                        sysdata.frozenblue -= 1;
tag.c:                if (victim->pcdata->team == team_red)
tag.c:					sysdata.tagred -= 1;
tag.c:				else if (victim->pcdata->team == team_blue)
tag.c:					sysdata.tagblue -= 1;
tag.c:				victim->pcdata->team = 0;
tag.c:				char_to_room( victim, get_room_index(victim->retran));
tag.c:			        if (victim->pcdata->team > 0)
tag.c:			            victim->pcdata->team = 0;
tag.c:            sprintf( buf, "%s has quit the game of Tag!", ch->name );
tag.c:				sprintf( buf, "%s has quit, there are no longer enough players to continue!", ch->name );
tag.c:                for( d = first_descriptor ; d ; d = d->next )
tag.c:                    if( !d->character )
tag.c:                    victim = d->character;
tag.c:                    if( !victim->pcdata->team > 0 )
tag.c:                    if( victim->pcdata->team == 0
tag.c:                    && (victim->pcdata->team != team_blue
tag.c:                    || victim->pcdata->team != team_red))
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    char_to_room( victim, get_room_index(victim->retran) );
tag.c:                    victim->pcdata->team = 0;
tag.c:/* Player Tagging another player - Garinan */
tag.c:			if (ch->pcdata->team != team_blue && ch->pcdata->team != team_red)
tag.c:	    if ( ch->pcdata->team != team_red && ch->pcdata->team != team_blue )
tag.c:	    if ( ch == victim || ch->name == victim->name )
tag.c:		if ( ch->pcdata->team == victim->pcdata->team )
tag.c:            if (xIS_SET(ch->act, PLR_TAGGED))
tag.c:			if (!xIS_SET(victim->act, PLR_TAGGED))
tag.c:				         victim->name, victim->sex == SEX_MALE ? "him" :
tag.c:				         victim->sex == SEX_FEMALE ? "her" : "it" );
tag.c:			if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:				         victim->name, victim->sex == SEX_MALE ? "him" :
tag.c:				         victim->sex == SEX_FEMALE ? "her" : "it" );
tag.c:				xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:				if ( victim->pcdata->team == team_red )
tag.c:					sysdata.frozenred -= 1;
tag.c:				if ( victim->pcdata->team == team_blue )
tag.c:					sysdata.frozenblue -= 1;
tag.c:				sprintf( buf, "%s has tagged you, releasing you back into the game.\n\r", ch->name);
tag.c:                sprintf( buf, "%sI have been released by %s!", victim->pcdata->team == team_blue ? "&B" : "&R",
tag.c:                         ch->name );
tag.c:        if (victim->pcdata->team !=0
tag.c:        && (victim->pcdata->team == (ch->pcdata->team - 1)
tag.c:        || victim->pcdata->team == (ch->pcdata->team + 1)))
tag.c:		    if (xIS_SET(ch->act, PLR_TAGGED))
tag.c:		    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:			         victim->name, victim->sex == SEX_MALE ? "him" :
tag.c:				     victim->sex == SEX_FEMALE ? "her" : "it" );
tag.c:		    sprintf( buf, "%sI have been frozen by %s%s!", victim->pcdata->team == team_blue ? "&B" : "&R",
tag.c:		             ch->pcdata->team == team_blue ? "&B" : "&R", ch->name );
tag.c:		    xSET_BIT(victim->act, PLR_TAGGED);
tag.c:		    sprintf( buf, "%s has tagged you, freezing you on the spot!\n\r", ch->name );
tag.c:		    if (victim->pcdata->team == team_red)
tag.c:		    if (victim->pcdata->team == team_blue)
tag.c:		        bug( "Tag!: Tag victim %s has no team! Tagged by %s", victim->name, ch->name );
tag.c:                for( d = first_descriptor ; d ; d = d->next )
tag.c:                    if( !d->character )
tag.c:                    victim = d->character;
tag.c:                    if( !victim->pcdata->team > 0 )
tag.c:                    if( victim->pcdata->team == 0
tag.c:                    && (victim->pcdata->team != team_blue
tag.c:                    || victim->pcdata->team != team_red))
tag.c:                    if(victim->pcdata->team == team_blue)
tag.c:						    { victim->gold += prize; }
tag.c:						    { victim->pcdata->quest_curr  += prize;
tag.c:						      victim->pcdata->quest_accum += prize; }
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    char_to_room( victim, get_room_index(victim->retran) );
tag.c:                    victim->pcdata->team = 0;
tag.c:                for( d = first_descriptor ; d ; d = d->next )
tag.c:                    if( !d->character )
tag.c:                    victim = d->character;
tag.c:                    if( !victim->pcdata->team > 0 )
tag.c:                    if( victim->pcdata->team == 0
tag.c:                    && (victim->pcdata->team != team_blue
tag.c:                    || victim->pcdata->team != team_red))
tag.c:                    if(victim->pcdata->team == team_red)
tag.c:						    { victim->gold += prize; }
tag.c:						    { victim->pcdata->quest_curr  += prize;
tag.c:						      victim->pcdata->quest_accum += prize; }
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    char_to_room( victim, get_room_index(victim->retran) );
tag.c:                    victim->pcdata->team = 0;
tag.c:                for( d = first_descriptor ; d ; d = d->next )
tag.c:                    if( !d->character )
tag.c:                    victim = d->character;
tag.c:                    if( !victim->pcdata->team > 0 )
tag.c:                    if( victim->pcdata->team == 0
tag.c:                    && (victim->pcdata->team != team_blue
tag.c:                    || victim->pcdata->team != team_red))
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    char_to_room( victim, get_room_index(victim->retran) );
tag.c:                    victim->pcdata->team = 0;
tag.c:            for( d = first_descriptor ; d ; d = d->next )
tag.c:                if( !d->character )
tag.c:                victim = d->character;
tag.c:                if( !victim->pcdata->team > 0 )
tag.c:                if( victim->pcdata->team == 0
tag.c:                && (victim->pcdata->team != team_blue
tag.c:                || victim->pcdata->team != team_red))
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    char_to_room( victim, get_room_index(victim->retran) );
tag.c:                    victim->pcdata->team = 0;
tag.c:                for( d = first_descriptor ; d ; d = d->next )
tag.c:                    if( !d->character )
tag.c:                    victim = d->character;
tag.c:                    if( !victim->pcdata->team > 0 )
tag.c:                    if( victim->pcdata->team == 0
tag.c:                    && (victim->pcdata->team != team_blue
tag.c:                    || victim->pcdata->team != team_red))
tag.c:                    if (xIS_SET(victim->act, PLR_TAGGED))
tag.c:                        xREMOVE_BIT(victim->act, PLR_TAGGED);
tag.c:                    victim->pcdata->team = 0;
track.c: * -----------------------------------------------------------|   (0...0)   *
track.c: * -----------------------------------------------------------|    {o o}    *
track.c: * ------------------------------------------------------------------------ *
track.c:#define BFS_ERROR	   -1
track.c:#define BFS_ALREADY_THERE  -2
track.c:#define BFS_NO_PATH	   -3
track.c:#define MARK(room)	(SET_BIT(	(room)->room_flags, BFS_MARK) )
track.c:#define UNMARK(room)	(REMOVE_BIT(	(room)->room_flags, BFS_MARK) )
track.c:#define IS_MARKED(room)	(IS_SET(	(room)->room_flags, BFS_MARK) )
track.c:    if ( pexit->to_room
track.c:    &&  !IS_SET(pexit->exit_info, EX_CLOSED)
track.c:    &&  !IS_MARKED(pexit->to_room) )
track.c:    curr->room = room;
track.c:    curr->dir = dir;
track.c:    curr->next = NULL;
track.c:	queue_tail->next = curr;
track.c:    if ( !(queue_head = queue_head->next) )
track.c:   curr->room = room;
track.c:   curr->next = room_queue;
track.c:	UNMARK(curr->room);
track.c:	curr_next = curr->next;
track.c:    if ( src->area != target->area )
track.c:    for ( pexit = src->first_exit; pexit; pexit = pexit->next )
track.c:	    curr_dir = pexit->vdir;
track.c:            MARK(pexit->to_room);
track.c:	    room_enqueue(pexit->to_room);
track.c:            bfs_enqueue(pexit->to_room, curr_dir);
track.c:	if (queue_head->room == target)
track.c:	    curr_dir = queue_head->dir;
track.c:	    for (pexit = queue_head->room->first_exit; pexit; pexit = pexit->next )
track.c:		    curr_dir = pexit->vdir;
track.c:		    MARK(pexit->to_room);
track.c:		    room_enqueue(pexit->to_room);
track.c:		    bfs_enqueue(pexit->to_room,queue_head->dir);
track.c:    if ( !IS_NPC(ch) && ch->pcdata->learned[gsn_track] <= 0 )
track.c:    WAIT_STATE( ch, skill_table[gsn_track]->beats );
track.c:    maxdist = 100 + ch->level * 30;
track.c:    dir = find_first_step(ch->in_room, vict->in_room, maxdist);
track.c:    if ( victim->in_room == NULL )
track.c:        bug( "Found_prey: null victim->in_room", 0 );
track.c:    sprintf( victname, IS_NPC( victim ) ? victim->short_descr : victim->name );
track.c:    if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) )
track.c:	case 2: sprintf( buf, "%s is a yellow-bellied wimp!", victname );
track.c:    if (!ch || !ch->hunting)
track.c:    for ( found = FALSE, tmp = first_char; tmp && !found; tmp = tmp->next )
track.c:	if ( ch->hunting->who == tmp )
track.c:    if ( ch->in_room == ch->hunting->who->in_room )
track.c:	if ( ch->fighting )
track.c:	found_prey( ch, ch->hunting->who );
track.c:    ret = find_first_step(ch->in_room, ch->hunting->who->in_room, 500 + ch->level * 25);
track.c:	if ( (pexit=get_exit(ch->in_room, ret)) == NULL )
track.c:	if ( !ch->hunting )
track.c:	    if ( !ch->in_room )
track.c:		bug( "Hunt_victim: no ch->in_room!  Mob #%d, name: %s.  Placing mob in limbo.",
track.c:		    ch->pIndexData->vnum, ch->name );
track.c:	if ( ch->in_room == ch->hunting->who->in_room )
track.c:	    found_prey(ch, ch->hunting->who);
track.c: 	     * Not the char struct. --Shaddai
track.c:	    if ( (vch=scan_for_victim(ch, pexit, ch->hunting->name)) != NULL )
track.c:		if ( !mob_fire(ch, ch->hunting->who->name) )
update.c: * -----------------------------------------------------------|   (0...0)   *
update.c: * -----------------------------------------------------------|    {o o}    *
update.c: * ------------------------------------------------------------------------ *
update.c: * ------------------------------------------------------------------------ *
update.c:#include "imc-mercbase.h"
update.c:void    quest_update    args( ( void ) ); /* Vassago - quest.c */
update.c:/* weather functions - FB */
update.c:    if( ch->level2 == -1 )
update.c:                 title_table [ch->class] [ch->level] [ch->sex == SEX_FEMALE ? 1 : 0] );
update.c:        if (!IS_SET( ch->pcdata->flags, PCFLAG_ANONYMOUS))
update.c:               class_table[ch->class]->hp_min,
update.c:               class_table[ch->class]->hp_max );
update.c:    add_mana = class_table[ch->class]->fMana ? number_range(2, (2*(get_curr_int(ch)+get_curr_wis(ch)))/8) : 0;
update.c:    if( ch->level2 != -1 )
update.c:    add_hp   += race_table[ch->race]->hit;
update.c:    add_mana += race_table[ch->race]->mana;
update.c:    ch->max_hit 	+= add_hp;
update.c:    ch->max_mana	+= add_mana;
update.c:    ch->max_move	+= add_move;
update.c:    ch->practice	+= add_prac;
update.c:    /* Restore User HP on level advance. -- Kratas */
update.c:    ch->hit = ch->max_hit;
update.c:	xREMOVE_BIT( ch->act, PLR_BOUGHT_PET );
update.c:    if ( ch->level == LEVEL_PCAVATAR )
update.c:	sprintf( buf, "%s has just become an Avatar!", ch->name );
update.c:    if ( ch->level == LEVEL_AVATAR )
update.c:	sprintf( buf, "%s has just become a Demi-God!", ch->name );
update.c:    if ( ch->level < LEVEL_IMMORTAL )
update.c:                     add_hp,	ch->max_hit,
update.c:                     1,	        ch->level + 10,
update.c:                     add_move,	ch->max_move,
update.c:                     add_prac,	ch->practice
update.c:                     add_hp,	ch->max_hit,
update.c:                     add_mana,	ch->max_mana,
update.c:                     add_move,	ch->max_move,
update.c:                     add_prac,	ch->practice
update.c:    if ( IS_NPC(ch) || ch->level >= LEVEL_AVATAR )
update.c:    if(modgain>0 /*&& IS_PKILL(ch)*/ && ch->level<33){
update.c:        if(ch->level<=9){
update.c:        if(ch->level<=18 && ch->level>=10){
update.c:        if(ch->level<=27 && ch->level>=19){
update.c:        if(ch->level<=28 && ch->level>=36){
update.c:    if( modgain > 0 && sysdata.double_exp ) /* Double EXP earned -- Kratas */
update.c:    /* per-race experience multipliers */
update.c:    modgain *= ( race_table[ch->race]->exp_multiplier/100.0);
update.c:       if( ch->exp + modgain < exp_level(ch, ch->level)){
update.c:          modgain = exp_level(ch, ch->level) - ch->exp;
update.c:    /* gain more than one level - FB */
update.c:    	exp_level(ch, ch->level+2) - exp_level(ch, ch->level+1));
update.c:    ch->exp = UMAX( 0, ch->exp + modgain );
update.c:    if (NOT_AUTHED(ch) && ch->exp >= exp_level(ch, ch->level+1))
update.c:	ch->exp = (exp_level(ch, (ch->level+1)) - 1);
update.c:    while ( ch->level < LEVEL_AVATAR && ch->exp >= exp_level(ch, ch->level+1))
update.c:	ch_printf( ch, "You have now obtained experience level %d!\n\r", ++ch->level );
update.c:	if (!IS_SET( ch->pcdata->flags, PCFLAG_ANONYMOUS)) {
update.c:		sprintf( buf, "%s has achieved level %d!", ch->name, ch->level );
update.c:	gain = ch->level * 3 / 2;
update.c:	gain = UMIN( 5, ((ch->level + get_curr_con(ch))/ 8) );
update.c:	switch ( ch->position )
update.c:	case POS_MORTAL:   return -1;
update.c:	case POS_INCAP:    return -1;
update.c:	case POS_SLEEPING: gain += get_curr_con(ch) * 2.0; if(ch->on) gain += 5; break;
update.c:	case POS_RESTING:  gain += get_curr_con(ch) * 1.25;if(ch->on) gain += 2; break;
update.c:            if ( ch->pcdata->condition[COND_BLOODTHIRST] <= 1 )
update.c:	    else if ( ch->pcdata->condition[COND_BLOODTHIRST] >= (8 + ch->level) )
update.c:	if ( ch->pcdata->condition[COND_FULL]   == 0 )
update.c:	if ( ch->pcdata->condition[COND_THIRST] == 0 )
update.c:    return UMIN(gain, ch->max_hit - ch->hit);
update.c:	gain = ch->level;
update.c:	gain = UMIN( 5, ((ch->level + get_curr_int(ch)) / 8) );
update.c:	if ( ch->position < POS_SLEEPING )
update.c:	switch ( ch->position )
update.c:	case POS_SLEEPING: gain += get_curr_int(ch) * 3.25; if(ch->on) gain += 5;	break;
update.c:	case POS_RESTING:  gain += get_curr_int(ch) * 1.75; if(ch->on) gain += 2;	break;
update.c:	if ( ch->pcdata->condition[COND_FULL]   == 0 )
update.c:	if ( ch->pcdata->condition[COND_THIRST] == 0 )
update.c:    return UMIN(gain, ch->max_mana - ch->mana);
update.c:	gain = ch->level;
update.c:	gain = UMAX( 15, ((2*ch->level + get_curr_dex(ch)) / 8) );
update.c:	switch ( ch->position )
update.c:	case POS_MORTAL:   return -1;
update.c:	case POS_INCAP:    return -1;
update.c:	case POS_SLEEPING: gain += get_curr_dex(ch) * 4.5;if(ch->on) gain+=5;	break;
update.c:	case POS_RESTING:  gain += get_curr_dex(ch) * 2.5;if(ch->on) gain+=2;	break;
update.c:            if ( ch->pcdata->condition[COND_BLOODTHIRST] <= 1 )
update.c:	    if ( ch->pcdata->condition[COND_BLOODTHIRST] >= (8 + ch->level) )
update.c:	if ( ch->pcdata->condition[COND_FULL]   == 0 )
update.c:	if ( ch->pcdata->condition[COND_THIRST] == 0 )
update.c:    return UMIN(gain, ch->max_move - ch->move);
update.c:    if (value == 0 || IS_NPC(ch) || ch->level >= LEVEL_IMMORTAL || NOT_AUTHED(ch))
update.c:    /* Make away flag go on automagically after 5 mins -- Scion */
update.c:    if ((ch->desc) && ((ch->desc->connected == CON_PLAYING) && (ch->desc->idle > 1200 && !xIS_SET(ch->act, PLR_AFK))))
update.c:    condition				= ch->pcdata->condition[iCond];
update.c:    if (condition == -1)
update.c:    if( race_table[ch->race]->hunger_mod == -1 && iCond == COND_FULL )
update.c:        ch->pcdata->condition[iCond]	= URANGE(0, condition+value, (10 + ch->level));
update.c:        ch->pcdata->condition[iCond]	= URANGE(0, condition+value, 48);
update.c:    if ( ch->pcdata->condition[iCond] == 0 )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR)
update.c:                    bug("gain_condition: bloodthirst update for non blood ch: %s", ch->name);
update.c:                    retcode = damage(ch, ch, ch->max_hit / 20, TYPE_UNDEFINED);
update.c:    if ( ch->pcdata->condition[iCond] == 1 )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR )
update.c:    if ( ch->pcdata->condition[iCond] == 2 )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR )
update.c:    if ( ch->pcdata->condition[iCond] == 3 )
update.c:            if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:          if ( ch->level < LEVEL_AVATAR && ch->race != RACE_VAMPIRE )
update.c:            if ( ch->level < LEVEL_AVATAR )
update.c:        if ((!ch->pcdata) && !(xIS_SET(ch->act, ACT_IS_NPC)))
update.c:            bug( "Mob %d in room %d was not set with the NPC flag!  Fixing...", ch->pIndexData->vnum, ch->in_room->vnum);
update.c:            xSET_BIT( ch->act, ACT_IS_NPC );
update.c:        if ( ch == first_char && ch->prev )
update.c:	    bug( "mobile_update: first_char->prev != NULL... fixed", 0 );
update.c:            ch->prev = NULL;
update.c:	gch_prev = ch->prev;
update.c:	if ( gch_prev && gch_prev->next != ch )
update.c:	    sprintf( buf, "FATAL: Mobile_update: %s->prev->next doesn't point to ch.",
update.c:		ch->name );
update.c:	    bug( "Short-cutting here", 0 );
update.c:	    ch->prev = NULL;
update.c:	if ( !ch->in_room
update.c:/* Clean up 'animated corpses' that are not charmed' - Scryn */
update.c:        if ( ch->pIndexData->vnum == 5 && !IS_AFFECTED(ch, AFF_CHARM) )
update.c:	  if(ch->in_room->first_person)
update.c:	if ( !xIS_SET( ch->act, ACT_RUNNING )
update.c:	&&   !xIS_SET( ch->act, ACT_SENTINEL )
update.c:	&&   !ch->fighting && ch->hunting )
update.c:	  /* Commented out temporarily to avoid spam - Scryn 
update.c:	  sprintf( buf, "%s hunting %s from %s.", ch->name,
update.c:	  	ch->hunting->name,
update.c:		ch->in_room->name );
update.c:	if ( !xIS_SET( ch->act, ACT_RUNNING )
update.c:	&&    ch->spec_fun )
update.c:	    if ( (*ch->spec_fun) ( ch ) )
update.c:	if ( HAS_PROG( ch->pIndexData, SCRIPT_PROG ) )
update.c:	if ( ch->position != POS_STANDING )
update.c:	if ( xIS_SET(ch->act, ACT_MOUNTED ) )
update.c:	    if ( xIS_SET(ch->act, ACT_AGGRESSIVE)
update.c:	    ||   xIS_SET(ch->act, ACT_META_AGGR) )
update.c:	if ( IS_SET(ch->in_room->room_flags, ROOM_SAFE )
update.c:	&&  (xIS_SET(ch->act, ACT_AGGRESSIVE) || xIS_SET(ch->act, ACT_META_AGGR)) )
update.c:	   track it down, this will have to do - shogar */
update.c:        if(! ch->in_room->area)
update.c:			ch->in_room->vnum,ch->name);
update.c:                if(ch->was_in_room)
update.c:		   bug("Was in room %d",ch->was_in_room->vnum);
update.c:	if ( ch->in_room->area->nplayer > 0 )
update.c:	    if ( ch->position < POS_STANDING )
update.c:	if ( ch->position < POS_STANDING )
update.c:			big_obj = keeper->last_carrying;
update.c:			for ( obj = keeper->last_carrying; obj; obj = obj->prev_content ) {
update.c:				if ( obj->wear_loc == WEAR_NONE && can_see_obj( ch, obj ) ) {
update.c:					if ((obj->cost > big_obj->cost) && (ch->gold >= big_obj->cost)) 
update.c:				if(!get_obj_wear(ch, big_obj->name)
update.c:					&& !get_obj_carry(ch, big_obj->name)) {
update.c:					do_buy(ch, big_obj->name);
update.c:					if (big_obj == ch->last_carrying)
update.c:					do_wear(ch, big_obj->name);
update.c:				for (obj=ch->last_carrying; obj; obj=obj->next_content)
update.c:					if (obj->wear_loc==WEAR_NONE)
update.c:						do_sell(ch, obj->name);
update.c:	if ( ch->in_room->first_content
update.c:            if (!xIS_SET(ch->act, ACT_SCAVENGER) && number_percent() < 70)
update.c:                for ( obj = ch->in_room->first_content; obj; obj = obj->next_content )
update.c:                    if ( (CAN_WEAR(obj, ITEM_TAKE) && (obj->cost > max)
update.c:                         || (ch->in_room->area->weather->precip > 10))
update.c:                        max         = obj->cost;
update.c:                    if (ch->in_room->area->weather->precip > 10)
update.c:                        xREMOVE_BIT(obj_best->extra_flags, ITEM_BURIED);
update.c:                        xREMOVE_BIT(obj_best->extra_flags, ITEM_BURIED);
update.c:                        do_get(ch, obj_best->name);
update.c:	/* Handle objects in inventory -- Scion */
update.c:         * if (ch->last_carrying && find_keeper(ch)!=ch)
update.c:	if ( !xIS_SET(ch->act, ACT_RUNNING)
update.c:	&&   !xIS_SET(ch->act, ACT_SENTINEL)
update.c:	&&   !xIS_SET(ch->act, ACT_PROTOTYPE)
update.c:	&& ( pexit = get_exit(ch->in_room, door) ) != NULL
update.c:	&&   pexit->to_room 
update.c:	/* &&   !IS_SET(pexit->exit_info, EX_CLOSED) <-- Allowing MOBs to open doors! -- Scion */
update.c:	&&   !IS_SET(pexit->to_room->room_flags, ROOM_NO_MOB)
update.c:	&&   !IS_SET(pexit->to_room->room_flags, ROOM_DEATH)
update.c:	&& ( !xIS_SET(ch->act, ACT_STAY_AREA) || pexit->to_room->area == ch->in_room->area ) )
update.c:		if (((door == 3) || (door == 11)) && (IS_SET(pexit->exit_info, EX_CLOSED)))
update.c:			do_open(ch, pexit->keyword);
update.c:			do_close(ch, pexit->keyword);
update.c:						continue - Kahn */
update.c:	    if ( retcode != rNONE || xIS_SET(ch->act, ACT_SENTINEL)
update.c:	    ||    ch->position < POS_STANDING )
update.c:	if ( ch->hit < ch->max_hit / 2
update.c:	&& ( pexit = get_exit(ch->in_room,door) ) != NULL
update.c:	&&   pexit->to_room
update.c:	&&   !IS_SET(pexit->exit_info, EX_CLOSED)
update.c:	&&   !IS_SET(pexit->to_room->room_flags, ROOM_NO_MOB) )
update.c:	    for ( rch  = ch->in_room->first_person;
update.c:		  rch  = rch->next_in_room )
update.c:			  sprintf( buf, "Get away from me, %s!", rch->name );
update.c:			  sprintf( buf, "Leave me be, %s!", rch->name );
update.c:			  sprintf( buf, "%s is trying to kill me!  Help!", rch->name );
update.c:			  sprintf( buf, "Someone save me from %s!", rch->name );
update.c:        if ( ch == first_char && ch->prev )
update.c:            bug( "char_gains: first_char->prev != NULL... fixed", 0 );
update.c:            ch->prev = NULL;
update.c:        gch_prev = ch->prev;
update.c:        if ( gch_prev && gch_prev->next != ch )
update.c:	    bug( "char_gains: ch->prev->next != ch", 0 );
update.c:        if ( ch->position >= POS_STUNNED )
update.c:            if ( ch->hit  < ch->max_hit )
update.c:                ch->hit  += hit_gain(ch);
update.c:            if ( ch->mana < ch->max_mana )
update.c:                ch->mana += mana_gain(ch);
update.c:            if ( ch->move < ch->max_move )
update.c:                ch->move += move_gain(ch);
update.c:        if ( ch == first_char && ch->prev )
update.c:            bug( "char_gains: first_char->prev != NULL... fixed", 0 );
update.c:            ch->prev = NULL;
update.c:        gch_prev = ch->prev;
update.c:        if ( gch_prev && gch_prev->next != ch )
update.c:	    bug( "char_gains: ch->prev->next != ch", 0 );
update.c:        gain_condition( ch, COND_DRUNK, -1 );
update.c:        gain_condition( ch, COND_FULL,  -1 + race_table[ch->race]->hunger_mod );
update.c:	if ( ch == first_char && ch->prev )
update.c:	    bug( "char_update: first_char->prev != NULL... fixed", 0 );
update.c:	    ch->prev = NULL;
update.c:	gch_prev = ch->prev;
update.c:	if ( gch_prev && gch_prev->next != ch )
update.c:	    bug( "char_update: ch->prev->next != ch", 0 );
update.c:	 * See if player should be auto-saved.
update.c:	&& ( !ch->desc || ch->desc->connected == CON_PLAYING )
update.c:	&&    ch->level >= 2
update.c:	&&    current_time - ch->save_time > (sysdata.save_frequency*60) )
update.c:/* move to another function -- Scion 
update.c:	if ( ch->position >= POS_STUNNED )
update.c:	    if ( ch->hit  < ch->max_hit )
update.c:		ch->hit  += hit_gain(ch);
update.c:	    if ( ch->mana < ch->max_mana )
update.c:		ch->mana += mana_gain(ch);
update.c:	    if ( ch->move < ch->max_move )
update.c:		ch->move += move_gain(ch);
update.c:	if ( ch->position == POS_STUNNED )
update.c:      	if ( ch->morph ) {
update.c:           if ( ch->morph->timer > 0 )
update.c:            	    ch->morph->timer--;
update.c:           	    if ( ch->morph->timer == 0 )
update.c:         * --Shaddai
update.c:        if ( !IS_NPC(ch) && ch->pcdata->nuisance )
update.c:	    if ( ch->pcdata->nuisance->flags < MAX_NUISANCE_STAGE )
update.c:	     temp = ch->pcdata->nuisance->max_time-ch->pcdata->nuisance->time;
update.c: 	     temp *= ch->pcdata->nuisance->flags;
update.c:	     temp += ch->pcdata->nuisance->time;
update.c:		    ch->pcdata->nuisance->flags++;
update.c:	if ( !IS_NPC(ch) && ch->level < LEVEL_IMMORTAL )
update.c:	    &&   obj->item_type == ITEM_LIGHT
update.c:	    &&   obj->value[2] > 0 )
update.c:		if ( --obj->value[2] == 0 && ch->in_room )
update.c:		    ch->in_room->light -= obj->count;
update.c:		    if (ch->in_room->light < 0 )
update.c:				ch->in_room->light=0;
update.c:		    if ( obj->serial == cur_obj )
update.c:	    if ( ++ch->timer >= 12 ) 
update.c:		if ( ch->timer == 12 && ch->in_room )
update.c:		    ch->was_in_room = ch->in_room;
update.c:		    if ( ch->fighting )
update.c:	    if ( ch->pcdata->condition[COND_DRUNK] > 8 )
update.c:		worsen_mental_state( ch, ch->pcdata->condition[COND_DRUNK]/8 );
update.c:	    if ( ch->pcdata->condition[COND_FULL] > 1 )
update.c:		switch( ch->position )
update.c:	    if ( ch->pcdata->condition[COND_THIRST] > 1 )
update.c:		switch( ch->position )
update.c:	    gain_condition( ch, COND_FULL,   -1 );
update.c:            gain_condition( ch, COND_DRUNK,  -1 );
update.c:	    gain_condition( ch, COND_FULL,  -1 + race_table[ch->race]->hunger_mod );
update.c:            if ( IS_VAMPIRE(ch) && ch->level >= 10 )
update.c:                    gain_condition( ch, COND_BLOODTHIRST, -1 );
update.c:	    if ( CAN_PKILL( ch ) && ch->pcdata->condition[COND_THIRST] - 9 > 10 )
update.c:                gain_condition( ch, COND_THIRST, -9 );
update.c:	    if ( !IS_NPC( ch ) && ch->pcdata->nuisance )
update.c:		value = ((0 - ch->pcdata->nuisance->flags)*ch->pcdata->nuisance->power);
update.c:		gain_condition ( ch, COND_FULL, --value );
update.c:	    if ( ch->in_room )
update.c:	      switch( ch->in_room->sector_type )
update.c:		    gain_condition( ch, COND_THIRST, -1 + race_table[ch->race]->thirst_mod);  break;
update.c:		    gain_condition( ch, COND_THIRST, -3 + race_table[ch->race]->thirst_mod);  break;
update.c:			gain_condition( ch, COND_THIRST, -1 + race_table[ch->race]->thirst_mod);  break;
update.c:      if ( !IS_NPC(ch) && !IS_IMMORTAL(ch) && ch->pcdata->release_date > 0 &&
update.c:           ch->pcdata->release_date <= current_time )
update.c:         if ( ch->pcdata->clan )
update.c:          location = get_room_index( ch->pcdata->clan->recall );
update.c:          location = ch->in_room;
update.c:         STRFREE( ch->pcdata->helled_by );
update.c:         ch->pcdata->release_date = 0;
update.c:		ch->mental_state = URANGE( 20, ch->mental_state
update.c:	    if ( ch->position == POS_INCAP )
update.c:	    if ( ch->position == POS_MORTAL )
update.c:		for ( paf = ch->first_affect; paf; paf = paf_next )
update.c:		    paf_next = paf->next;
update.c:		    if ( paf->location == APPLY_RECURRINGSPELL )
update.c:			if ( IS_VALID_SN(paf->modifier)
update.c:			&&  (skill=skill_table[paf->modifier]) != NULL
update.c:			&&   skill->type == SKILL_SPELL )
update.c:			    if ( (*skill->spell_fun)(paf->modifier, ch->level, ch, ch) == rCHAR_DIED
update.c:		    xREMOVE_BIT(ch->affected_by, AFF_RECURRINGSPELL);
update.c:                if(ch->alignment<race_table[ch->race]->minalign)
update.c:     if(ch->alignment>race_table[ch->race]->maxalign)
update.c:		if ( ch->mental_state >= 30 )
update.c:		switch( (ch->mental_state+5) / 10 )
update.c:			act( AT_ACTION, "$n is ranting on about 'the answer', 'ONE' and other mumbo-jumbo...", ch, NULL, NULL, TO_ROOM );
update.c:	    if ( ch->mental_state <= -30 )
update.c:		switch( (abs(ch->mental_state)+5) / 10 )
update.c:			if ( ch->position > POS_SLEEPING )
update.c:			   if ( (ch->position == POS_STANDING
update.c:			   ||    ch->position < POS_FIGHTING)
update.c:			   &&    number_percent()+10 < abs(ch->mental_state) )
update.c:			if ( ch->position > POS_SLEEPING )
update.c:			   if ( (ch->position == POS_STANDING
update.c:			   ||    ch->position < POS_FIGHTING)
update.c:			   &&   (number_percent()+20) < abs(ch->mental_state) )
update.c:			if ( ch->position > POS_SLEEPING )
update.c:			   if ( ch->position < POS_SITTING
update.c:			   &&  (number_percent()+30) < abs(ch->mental_state) )
update.c:			if ( ch->position > POS_RESTING )
update.c:			if ( ch->position > POS_RESTING )
update.c:			if ( ch->position > POS_RESTING )
update.c:			if ( ch->position > POS_RESTING )
update.c:			if ( ch->position > POS_RESTING )
update.c:	    if ( ch->timer > 24 )
update.c:	if ( obj == first_object && obj->prev )
update.c:	    bug( "obj_update: first_object->prev != NULL... fixed", 0 );
update.c:	    obj->prev = NULL;
update.c:	gobj_prev = obj->prev;
update.c:	if ( gobj_prev && gobj_prev->next != obj )
update.c:	    bug( "obj_update: obj->prev->next != obj", 0 );
update.c:	if ( obj->carried_by )
update.c:	if( obj->in_room && obj->in_room->area->nplayer > 0 )
update.c:	if ( obj->item_type == ITEM_PIPE )
update.c:	    if ( IS_SET( obj->value[3], PIPE_LIT ) )
update.c:		if ( --obj->value[1] <= 0 )
update.c:		  obj->value[1] = 0;
update.c:		  REMOVE_BIT( obj->value[3], PIPE_LIT );
update.c:		if ( IS_SET( obj->value[3], PIPE_HOT ) )
update.c:		  REMOVE_BIT( obj->value[3], PIPE_HOT );
update.c:		  if ( IS_SET( obj->value[3], PIPE_GOINGOUT ) )
update.c:		    REMOVE_BIT( obj->value[3], PIPE_LIT );
update.c:		    REMOVE_BIT( obj->value[3], PIPE_GOINGOUT );
update.c:		    SET_BIT( obj->value[3], PIPE_GOINGOUT );
update.c:		if ( !IS_SET( obj->value[3], PIPE_LIT ) )
update.c:		  SET_BIT( obj->value[3], PIPE_FULLOFASH );
update.c:	      REMOVE_BIT( obj->value[3], PIPE_HOT );
update.c:/* Corpse decay (npc corpses decay at 8 times the rate of pc corpses) - Narn */
update.c:        if ( obj->item_type == ITEM_CORPSE_PC || obj->item_type == ITEM_CORPSE_NPC )
update.c:          sh_int timerfrac = UMAX(1, obj->timer - 1);
update.c:          if ( obj->item_type == ITEM_CORPSE_PC )
update.c:	    timerfrac = (int)(obj->timer / 8 + 1);
update.c:	  if ( obj->timer > 0 && obj->value[2] > timerfrac )
update.c:            bufptr = one_argument( obj->short_descr, name ); 
update.c:            obj->value[2] = timerfrac; 
update.c:            sprintf( buf, corpse_descs[ UMIN( timerfrac - 1, 4 ) ], 
update.c:            STRFREE( obj->description );
update.c:            obj->description = STRALLOC( buf ); 
update.c:	if ( IS_OBJ_STAT(obj, ITEM_GROUNDROT) && !obj->in_room )
update.c:	if ( ( obj->timer <= 0 || --obj->timer > 0 ) )
update.c:	if (xIS_SET(obj->extra_flags, ITEM_POISONED)) {
update.c:	    xREMOVE_BIT(obj->extra_flags, ITEM_POISONED);
update.c:	 switch ( obj->item_type )
update.c:	   obj->item_type = ITEM_TRASH;		/* so extract_obj	 */
update.c:	   /* dump all the eq on the ground instead of making is disappear -- Scion */
update.c:		   for (obj1 = obj->first_content; obj1; obj1 = obj->first_content) {
update.c:			   if (obj->in_room)
update.c:				   obj_to_room(obj1, obj->in_room);
update.c:				   bug("Obj %d could not be removed from corpse, put in limbo.", obj1->pIndexData->vnum);
update.c:	   if (obj->in_room)
update.c:	     --obj->in_room->light;
update.c:	     if ( obj->in_room->light < 0 )
update.c:			obj->in_room->light = 0;
update.c:	if ( obj->carried_by )
update.c:	    act( AT_TEMP, message, obj->carried_by, obj, NULL, TO_CHAR );
update.c:	else if ( obj->in_room
update.c:	&&      ( rch = obj->in_room->first_person ) != NULL
update.c:	if ( obj->serial == cur_obj )
update.c:	ch_next = ch->next;
update.c:	    /* running mobs	-Thoric */
update.c:	    if ( xIS_SET(ch->act, ACT_RUNNING) )
update.c:		if ( !xIS_SET(ch->act, ACT_SENTINEL)
update.c:		&&   !ch->fighting && ch->hunting )
update.c:		if ( ch->spec_fun )
update.c:		    if ( (*ch->spec_fun) ( ch ) )
update.c:		if ( !xIS_SET(ch->act, ACT_SENTINEL)
update.c:		&&   !xIS_SET(ch->act, ACT_PROTOTYPE)
update.c:		&& ( pexit = get_exit(ch->in_room, door) ) != NULL
update.c:		&&   pexit->to_room
update.c:		&&   !IS_SET(pexit->exit_info, EX_CLOSED)
update.c:		&&   !IS_SET(pexit->to_room->room_flags, ROOM_NO_MOB)
update.c:		&&   !IS_SET(pexit->to_room->room_flags, ROOM_DEATH)
update.c:		&& ( !xIS_SET(ch->act, ACT_STAY_AREA)
update.c:		||   pexit->to_room->area == ch->in_room->area ) )
update.c:		    if ( retcode != rNONE || xIS_SET(ch->act, ACT_SENTINEL)
update.c:		    ||    ch->position < POS_STANDING )
update.c:	    if ( ch->mount
update.c:	    &&   ch->in_room != ch->mount->in_room )
update.c:		xREMOVE_BIT( ch->mount->act, ACT_MOUNTED );
update.c:		ch->mount = NULL;
update.c:		ch->position = POS_STANDING;
update.c:	    if ( ( ch->in_room && ch->in_room->sector_type == SECT_UNDERWATER )
update.c:	    || ( ch->in_room && ch->in_room->sector_type == SECT_OCEANFLOOR ) )
update.c:		    if ( ch->level < LEVEL_IMMORTAL )
update.c:        		/* Changed level of damage at Brittany's request. -- Narn */	
update.c:			dam = number_range( ch->max_hit / 100, ch->max_hit / 50 );
update.c:	    if ( ch->in_room
update.c:	    && (( ch->in_room->sector_type == SECT_WATER_NOSWIM )
update.c:	    ||  ( ch->in_room->sector_type == SECT_WATER_SWIM ) ) )
update.c:		&& !ch->mount )
update.c:		    for ( obj = ch->first_carrying; obj; obj = obj->next_content )
update.c:		      if ( obj->item_type == ITEM_BOAT ) break;
update.c:			if ( ch->level < LEVEL_IMMORTAL )
update.c:			    if ( ch->move > 0 )
update.c:				mov = number_range( ch->max_move / 20, ch->max_move / 5 );
update.c:				if ( ch->move - mov < 0 )
update.c:				    ch->move = 0;
update.c:				    ch->move -= mov;
update.c:				dam = number_range( ch->max_hit / 20, ch->max_hit / 5 );
update.c:	    if ( !ch->desc )
update.c:		for ( wch = ch->in_room->first_person; wch; wch = wch_next )
update.c:		    wch_next	= wch->next_in_room;
update.c:		    ||   wch->fighting
update.c:		    || (xIS_SET(wch->act, ACT_WIMPY) && IS_AWAKE(ch) )
update.c:		    if ( (!xIS_SET(wch->act, ACT_AGGRESSIVE)
update.c:		    &&    !xIS_SET(wch->act, ACT_META_AGGR))
update.c:		    ||    xIS_SET(wch->act, ACT_MOUNTED)
update.c:		    ||    IS_SET(wch->in_room->room_flags, ROOM_SAFE ) )
update.c:        if ( IS_NPC( wch ) && wch->mpactnum > 0
update.c:	    && wch->in_room->area->nplayer > 0 )
update.c:	    for ( tmp_act = wch->mpact; tmp_act;
update.c:		 tmp_act = tmp_act->next )
update.c:                 oprog_wordlist_check( tmp_act->buf,wch, tmp_act->ch,
update.c:				      tmp_act->obj, tmp_act->vo, ACT_PROG );
update.c:                 DISPOSE( tmp_act->buf );
update.c:	    for ( tmp_act = wch->mpact; tmp_act; tmp_act = tmp2_act )
update.c:                 tmp2_act = tmp_act->next;
update.c:            wch->mpactnum = 0;
update.c:            wch->mpact    = NULL;
update.c:	wch = mob_act_list->vo;
update.c:	if ( !char_died(wch) && wch->mpactnum > 0 )
update.c:	    while ( (tmp_act = wch->mpact) != NULL )
update.c:		if ( tmp_act->obj && obj_extracted(tmp_act->obj) )
update.c:		  tmp_act->obj = NULL;
update.c:		if ( tmp_act->ch && !char_died(tmp_act->ch) )
update.c:		  mprog_wordlist_check( tmp_act->buf, wch, tmp_act->ch,
update.c:					tmp_act->obj, tmp_act->vo, ACT_PROG );
update.c:		wch->mpact = tmp_act->next;
update.c:		DISPOSE(tmp_act->buf);
update.c:	    wch->mpactnum = 0;
update.c:	    wch->mpact    = NULL;
update.c:	mob_act_list = apdtmp->next;
update.c:     * We can check for linkdead victims in char_check	-Thoric
update.c:	dnext = d->next;
update.c:	if ( d->connected != CON_PLAYING || (wch=d->character) == NULL )
update.c:	||   wch->level >= LEVEL_IMMORTAL
update.c:	||  !wch->in_room )
update.c:	for ( ch = wch->in_room->first_person; ch; ch = ch_next )
update.c:	    ch_next	= ch->next_in_room;
update.c:	    ||   ch->fighting
update.c:	    ||   (xIS_SET(ch->act, ACT_WIMPY) && IS_AWAKE(wch) )
update.c:	    if ( (!xIS_SET(ch->act, ACT_AGGRESSIVE)
update.c:	    &&    !xIS_SET(ch->act, ACT_META_AGGR))
update.c:	    ||     xIS_SET(ch->act, ACT_MOUNTED)
update.c:	    ||     IS_SET(ch->in_room->room_flags, ROOM_SAFE ) )
update.c:	    for ( vch = wch->in_room->first_person; vch; vch = vch_next )
update.c:		vch_next = vch->next_in_room;
update.c:		if ( (!IS_NPC(vch) || xIS_SET(ch->act, ACT_META_AGGR)
update.c:		||    xIS_SET(vch->act, ACT_ANNOYING))
update.c:		&&   vch->level < LEVEL_IMMORTAL
update.c:		&&   (!xIS_SET(ch->act, ACT_WIMPY) || !IS_AWAKE(vch) )
update.c:	    if ( IS_NPC(ch) && xIS_SET(ch->attacks, ATCK_BACKSTAB ) )
update.c:		if ( !ch->mount
update.c:    		&& (obj->value[3] == 11 || obj->value[3] == 2)
update.c:		&& !victim->fighting
update.c:		&& victim->hit >= victim->max_hit )
update.c:		    WAIT_STATE( ch, skill_table[gsn_backstab]->beats );
update.c:		    ||   number_percent( )+5 < ch->level )
update.c: * drunk randoms	- Tricops
update.c: * (Made part of mobile_update	-Thoric)
update.c:    if ( IS_NPC( ch ) || ch->pcdata->condition[COND_DRUNK] <= 0 )
update.c:    drunk = ch->pcdata->condition[COND_DRUNK];
update.c:    position = ch->position;
update.c:    ch->position = POS_STANDING;
update.c:	for ( vch = ch->in_room->first_person; vch; vch = vch->next_in_room )
update.c:	check_social( ch, "puke", (rvch ? rvch->name : "") );
update.c:    ch->position = position;
update.c: * (Hats off to Albert Hoffman's "problem child")	-Thoric
update.c:    if ( ch->mental_state >= 30 && number_bits(5 - (ch->mental_state >= 50) - (ch->mental_state >= 75)) == 0 )
update.c:	switch( number_range( 1, UMIN(21, (ch->mental_state+5) / 5)) )
update.c:	tele_next = tele->next;
update.c:	if ( --tele->timer <= 0 )
update.c:	    if ( tele->room->first_person )
update.c:		if ( IS_SET( tele->room->room_flags, ROOM_TELESHOWDESC ) )
update.c:		  teleport( tele->room->first_person, tele->room->tele_vnum,
update.c:		  teleport( tele->room->first_person, tele->room->tele_vnum,
update.c: * Write all outstanding authorization requests to Log channel - Gorog
update.c:  for ( d = first_descriptor; d; d = d->next ) 
update.c:      victim = d->character;
update.c:         sprintf( log_buf, " %s@%s new %s %s", victim->name,
update.c:            victim->desc->host, race_table[victim->race]->race_name, 
update.c:            class_table[victim->class]->who_name ); 
update.c:    for ( d = first_descriptor; d; d = d->next ) 
update.c:	if ( (victim = d->character) && IS_WAITING_FOR_AUTH(victim) )
update.c:	    sprintf( buf, " %s@%s new %s %s\n\r", victim->name,
update.c:		victim->desc->host, race_table[victim->race]->race_name, 
update.c:		class_table[victim->class]->who_name );
update.c: * Random times to defeat tick-timing clients and players.
update.c:    static  int     pulse_decomp; /* Decompression -- Kratas */
update.c:    if( --pulse_decomp <= 0 )
update.c:    if ( --pulse_area     <= 0 )
update.c:    if ( --pulse_mobile   <= 0 )
update.c:    if ( --pulse_violence <= 0 )
update.c:    if ( --pulse_point    <= 0 )
update.c:    if( -- pulse_condition <= 0 )
update.c:    if ( --pulse_regen <= 0 )
update.c:        /* Sped up regen to 4 times normal, left everything else in char_update -- Scion */
update.c:        char_regen(); /* Now 8 -- Kratas */
update.c:    if ( --pulse_second   <= 0 )
update.c:    if ( --auction->pulse <= 0 )
update.c:        auction->pulse = PULSE_AUCTION;
update.c:    if ( --pulse_arena <= 0 ) /* Scion arenacode */
update.c:    fromRoom = portal->in_room;
update.c:	bug( "remove_portal: portal->in_room is NULL", 0 );
update.c:    for ( pexit = fromRoom->first_exit; pexit; pexit = pexit->next )
update.c:	if ( IS_SET( pexit->exit_info, EX_PORTAL ) )
update.c:	bug( "remove_portal: portal not found in room %d!", fromRoom->vnum );
update.c:    if ( pexit->vdir != DIR_PORTAL )
update.c:	bug( "remove_portal: exit in dir %d != DIR_PORTAL", pexit->vdir );
update.c:    if ( ( toRoom = pexit->to_room ) == NULL )
update.c:        for( trun = timesize-1 ; trun >= 0 ; trun-- )
update.c:    --reboot_in;
update.c:        if( auction->item )
update.c:                     auction->item->short_descr );
update.c:            obj_to_char( auction->item, auction->seller );
update.c:            auction->item = NULL;
update.c:            if( auction->buyer &&  auction->buyer != auction->seller )
update.c:                auction->buyer->gold += auction->bet;
update.c:                send_to_char( "Your money has been returned.\n\r", auction->buyer );
update.c:            sprintf( buf, "\n\r&R[&WINFO&R] &cThe world darkens as %s recreates it and the rest of the universe.\n\r", REBOOT_CHAR->name );
update.c:            d_next = d->next; /* We delete from the list , so need to save this */
update.c:            if ( !d->character || d->connected < 0 ) /* drop those logging on */
update.c:                fprintf( fp, "%d %s %s\n", d->descriptor, och->name, d->host );
update.c:                if ( och->level == 1 )
update.c:                    och->level++; /* Advance_level doesn't do that */
update.c:                if ( d->out_compress )
update.c:                    do_compress( d->character, "" );
update.c:                    && xIS_SET( och->act, PLR_SAVREBOOT ) )
update.c:                send_to_char( buf, d->character );
update.c:        fprintf( fp, "-1\n" );
update.c:        /* Close reserve and other always-open files and release other resources */
update.c:        /* exec - descriptors are inherited */
update.c:        /* Failed - sucessful exec will not return */
update.c:    if ( trun != -1 && new_boot_time_t - current_time <= times[trun] )
update.c:        --trun;
update.c:    for ( trun = timesize-1; trun >= 0; trun-- )
update.c:  if ( new_boot_time_t - boot_time < 60*60*18 &&
update.c:      !set_boot_time->manual )
update.c:    if ( auction->item )
update.c:          auction->item->short_descr);
update.c:      obj_to_char(auction->item, auction->seller);
update.c:      auction->item = NULL;
update.c:      if ( auction->buyer && auction->buyer != auction->seller )
update.c:        auction->buyer->gold += auction->bet;
update.c:        send_to_char("Your money has been returned.\n\r", auction->buyer);
update.c:    for ( vch = first_char; vch; vch = vch->next )
update.c:  if ( trun != -1 && new_boot_time_t - current_time <= times[trun] )
update.c:    --trun;
update.c:    if(!auction->item)
update.c:    	if(AUCTION_MEM > 0 && auction->history[0] &&
update.c:    			++auction->hist_timer == 6*AUCTION_MEM)
update.c:    		for(i = AUCTION_MEM - 1; i >= 0; i--)
update.c:    			if(auction->history[i])
update.c:    				auction->history[i] = NULL;
update.c:    				auction->hist_timer = 0;
update.c:    switch (++auction->going) /* increase the going state */
update.c:	    if (auction->bet > auction->starting)
update.c:		sprintf (buf, "%s: going %s for %d.", auction->item->short_descr,
update.c:			((auction->going == 1) ? "once" : "twice"), auction->bet);
update.c:		sprintf (buf, "%s: going %s (bid not received yet).", auction->item->short_descr,
update.c:			((auction->going == 1) ? "once" : "twice"));
update.c:	    if (!auction->buyer && auction->bet)
update.c:		bug( "Auction code reached SOLD, with NULL buyer, but %d gold bid", auction->bet );
update.c:		auction->bet = 0;
update.c:	    if (auction->bet > 0 && auction->buyer != auction->seller)
update.c:			auction->item->short_descr,
update.c:			IS_NPC(auction->buyer) ? auction->buyer->short_descr : auction->buyer->name,
update.c:			auction->bet);
update.c:			auction->buyer, auction->item, NULL, TO_CHAR);
update.c:			auction->buyer, auction->item, NULL, TO_ROOM);
update.c:		if ( (auction->buyer->carry_weight 
update.c:		+     get_obj_weight( auction->item ))
update.c:		>     can_carry_w( auction->buyer ) )
update.c:		    act( AT_PLAIN, "$p is too heavy for you to carry with your current inventory.", auction->buyer, auction->item, NULL, TO_CHAR );
update.c:    		    act( AT_PLAIN, "$n is carrying too much to also carry $p, and $e drops it.", auction->buyer, auction->item, NULL, TO_ROOM );
update.c:		    obj_to_room( auction->item, auction->buyer->in_room );
update.c:		    obj_to_char( auction->item, auction->buyer );
update.c:	        pay = (int)auction->bet * 0.9;
update.c:		tax = (int)auction->bet * 0.1;
update.c:		boost_economy( auction->seller->in_room->area, tax );
update.c:                auction->seller->gold += pay; /* give him the money, tax 10 % */
update.c:		send_to_char(buf, auction->seller);
update.c:                auction->item = NULL; /* reset item */
update.c:		    save_char_obj( auction->buyer );
update.c:		    save_char_obj( auction->seller );
update.c:                sprintf (buf, "No bids received for %s - removed from auction.\n\r",auction->item->short_descr);
update.c:                      auction->seller,auction->item,NULL,TO_CHAR);
update.c:                      auction->seller,auction->item,NULL,TO_ROOM);
update.c:		if ( (auction->seller->carry_weight
update.c:		+     get_obj_weight( auction->item ))
update.c:		>     can_carry_w( auction->seller ) )
update.c:			" with everything else you're carrying.", auction->seller,
update.c:			auction->item, NULL, TO_CHAR );
update.c:			" for $m with everything else.", auction->seller,
update.c:			auction->item, NULL, TO_ROOM );
update.c:		    obj_to_room( auction->item, auction->seller->in_room );
update.c:		    obj_to_char (auction->item,auction->seller);
update.c:		tax = (int)auction->item->cost * 0.05;
update.c:		boost_economy( auction->seller->in_room->area, tax );
update.c:		send_to_char(buf, auction->seller);
update.c:		if ((auction->seller->gold - tax) < 0)
update.c:		  auction->seller->gold = 0;
update.c:		  auction->seller->gold -= tax;
update.c:		    save_char_obj( auction->seller );
update.c:	    auction->item = NULL; /* clear auction */
update.c:  etime->tv_sec -= stime->tv_sec;
update.c:  etime->tv_usec -= stime->tv_usec;
update.c:  while ( etime->tv_usec < 0 )
update.c:    etime->tv_usec += 1000000;
update.c:    etime->tv_sec--;
update.c: * - Fireblade
update.c:	dT += number_range(-rand_factor, rand_factor);
update.c:	dP += number_range(-rand_factor, rand_factor);
update.c:	dW += number_range(-rand_factor, rand_factor);
update.c:		(((weather->climate_temp - 2)*weath_unit) -
update.c:		(weather->temp))/weath_unit;
update.c:		(((weather->climate_precip - 2)*weath_unit) -
update.c:		(weather->precip))/weath_unit;
update.c:		(((weather->climate_wind - 2)*weath_unit) -
update.c:		(weather->wind))/weath_unit;
update.c:	for(neigh = weather->first_neighbor; neigh;
update.c:			neigh = neigh->next)
update.c:		if(!neigh->address)
update.c:			neigh->address = get_area(neigh->name);
update.c:			if(!neigh->address)
update.c:				temp = neigh->prev;
update.c:				       weather->first_neighbor,
update.c:				       weather->last_neighbor,
update.c:				STRFREE(neigh->name);
update.c:		dT +=(neigh->address->weather->temp -
update.c:		      weather->temp) / neigh_factor;
update.c:		dP +=(neigh->address->weather->precip -
update.c:		      weather->precip) / neigh_factor;
update.c:		dW +=(neigh->address->weather->wind -
update.c:		      weather->wind) / neigh_factor;
update.c:	weather->temp_vector += (int)dT;
update.c:	weather->precip_vector += (int)dP;
update.c:	weather->wind_vector += (int)dW;
update.c:	weather->temp_vector = URANGE(-max_vector,
update.c:		weather->temp_vector, max_vector);
update.c:	weather->precip_vector = URANGE(-max_vector,
update.c:		weather->precip_vector, max_vector);
update.c:	weather->wind_vector = URANGE(-max_vector,
update.c:		weather->wind_vector, max_vector);
update.c:		pArea = (pArea == last_area) ? first_build : pArea->next)
update.c:		pArea->weather->temp +=
update.c:			pArea->weather->temp_vector;
update.c:		pArea->weather->precip +=
update.c:			pArea->weather->precip_vector;
update.c:		pArea->weather->wind +=
update.c:			pArea->weather->wind_vector;
update.c:		pArea->weather->temp = URANGE(-limit,
update.c:			pArea->weather->temp, limit);
update.c:		pArea->weather->precip = URANGE(-limit,
update.c:			pArea->weather->precip, limit);
update.c:		pArea->weather->wind = URANGE(-limit,
update.c:			pArea->weather->wind, limit);
update.c:		get_weather_echo(pArea->weather);
update.c:		pArea = (pArea == last_area) ? first_build : pArea->next)
update.c:		adjust_vectors(pArea->weather);
update.c:	for(d = first_descriptor; d; d = d->next)
update.c:		if(d->connected == CON_PLAYING &&
update.c:			IS_OUTSIDE(d->character) &&
update.c:			!NO_WEATHER_SECT(d->character->in_room->sector_type) &&
update.c:			IS_AWAKE(d->character))
update.c:			weath = d->character->in_room->area->weather;
update.c:			if(!weath->echo)
update.c:			set_char_color(weath->echo_color, d->character);
update.c:			ch_printf(d->character, weath->echo);
update.c:	weath->echo = NULL;
update.c:	weath->echo_color = AT_GREY;
update.c:	temp = weath->temp;
update.c:	precip = weath->precip;
update.c:	wind = weath->wind;
update.c:	dT = weath->temp_vector;
update.c:	dP = weath->precip_vector;
update.c:	dW = weath->wind_vector;
update.c:	tindex = (temp + 3*weath_unit - 1)/weath_unit;
update.c:	pindex = (precip + 3*weath_unit - 1)/weath_unit;
update.c:	windex = (wind + 3*weath_unit - 1)/weath_unit;
update.c:			if(precip - dP > -2*weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_WHITE;
update.c:			if(precip - dP <= -2*weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_GREY;
update.c:			if(precip - dP > 0)
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_CYAN;
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_WHITE;
update.c:			if(precip - dP <= 0)
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_CYAN;
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_WHITE;
update.c:			else if(tindex < 2 && temp - dT > -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_WHITE;
update.c:			else if(tindex > 1 && temp - dT <= -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_CYAN;
update.c:			if(precip - dP > 2*weath_unit)
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_GREY;
update.c:			else if(tindex < 2 && temp - dT > -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_WHITE;
update.c:			else if(tindex > 1 && temp - dT <= -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_CYAN;
update.c:			if(precip - dP <= 2*weath_unit)
update.c:					weath->echo = echo_strings[n];
update.c:					weath->echo_color = AT_YELLOW;
update.c:			else if(tindex > 1 && temp - dT <= -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_WHITE;
update.c:			else if(tindex < 2 && temp - dT > -weath_unit)
update.c:				weath->echo = echo_strings[n];
update.c:				weath->echo_color = AT_CYAN;
update.c:			weath->precip = 0;
update.c:	pindex = (weath->precip + 3*weath_unit - 1)/weath_unit;
update.c:	weath->echo = NULL;
update.c:	weath->echo_color = AT_GREY;
update.c:			weath->echo = echo_strings[n];
update.c:			weath->echo_color = AT_YELLOW;
update.c:			weath->echo = echo_strings[n];
update.c:			weath->echo_color = AT_ORANGE;
update.c:				weath->echo = "It's noon.\n\r";
update.c:				weath->echo = echo_strings[n%2];
update.c:			weath->echo_color = AT_WHITE;
update.c:			weath->echo = echo_strings[n];
update.c:			weath->echo_color = AT_RED;
update.c:				weath->echo = echo_strings[n%2];
update.c:				weath->echo = echo_strings[n%2];
update.c:			weath->echo_color = AT_DBLUE;
update.c:			pArea = (pArea == last_area) ? first_build : pArea->next)
update.c:			get_time_echo(pArea->weather);
update.c:		for(d = first_descriptor; d; d = d->next)
update.c:			if(d->connected == CON_PLAYING &&
update.c:				IS_OUTSIDE(d->character) &&
update.c:				IS_AWAKE(d->character))
update.c:				weath = d->character->in_room->area->weather;
update.c:				if(!weath->echo)
update.c:				set_char_color(weath->echo_color,
update.c:					d->character);
update.c:				ch_printf(d->character, weath->echo);
websvr.c:/* ROM 2.4 Integrated Web Server - Version 1.0
websvr.c: * This is my first major snippet... Please be kind. ;-)
websvr.c: * Copyright 1998 -- Defiant -- Rob Siemborski -- mud@towers.crusoe.net
websvr.c: * Insanity v0.9a pre-release Modifications
websvr.c: * - Added functionailiy for Secure Web server pages, using standard HTTP
websvr.c: * - Started work on web interface to help files, allowing them to be browsed
websvr.c: * - Seperated out the HTTP codes and content type to seperate functions
websvr.c: * - Adjusted the descriptor handling to prevent anyone from prematurely
websvr.c: * - Created a sorta "virtual" web directory for the webserver files to be
websvr.c: * - Including a IMC web module to add the functionaility of the IMC webserver
websvr.c: * - Access to general boards though web interface, prolly prevent posting but
websvr.c:    if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) 
websvr.c:	log_string("----> Web Server: Error getting socket");
websvr.c:	perror("web-socket");
websvr.c:	sprintf(buf, "Web server (%d) : Failed initialization - Error getting socket", port);
websvr.c:    if((bind(sockfd, (struct sockaddr*)&my_addr, sizeof(struct sockaddr))) == -1)
websvr.c:	log_string("----> Web Server: Error binding socket");
websvr.c:	perror("web-bind");
websvr.c:	sprintf(buf, "Web server (%d) : Failed initialization - Error binding socket", port);
websvr.c:    for(current=web_descs; current ; current = current->next) 
websvr.c:	FD_SET(current->fd, &readfds);
websvr.c:	if(max_fd < current->fd)
websvr.c:	    max_fd = current->fd;
websvr.c:	/* NEW CONNECTION -- INIT & ADD TO LIST */
websvr.c:	current->sin_size  = sizeof(struct sockaddr_in);
websvr.c:	current->request[0] = '\0';
websvr.c:	if((current->fd = accept(sockfd, (struct sockaddr *)&(current->their_addr), &(current->sin_size))) == -1) 
websvr.c:	    log_string("----> Web Server: Error accepting connection");
websvr.c:	    perror("web-accept");
websvr.c:	current->next = web_descs;
websvr.c:	next = current->next;
websvr.c:	if (FD_ISSET(current->fd, &readfds)) /* We Got Data! */
websvr.c:	    if((numbytes=read(current->fd,buf,sizeof(buf))) == -1) 
websvr.c:		perror("web-read");
websvr.c:		    prev->next = next;
websvr.c:	    strcat(current->request,buf);
websvr.c:	next = current->next;
websvr.c:	if(strstr(current->request, "HTTP/1.") /* 1.x request (vernum on FIRST LINE) */
websvr.c:	    && strstr(current->request, ENDREQUEST))
websvr.c:	else if(!strstr(current->request, "HTTP/1.")
websvr.c:		 &&  strchr(current->request, '\n')) /* HTTP/0.9 (no ver number) */
websvr.c:	else if(!str_cmp(current->request, "IMC"))
websvr.c:	    if(current->keepalive)
websvr.c:	if(current->keepalive)
websvr.c:	close(current->fd);
websvr.c:	    web_descs = current->next;
websvr.c:	    prev->next = current->next;
websvr.c:    }   /* END DATA-OUT */
websvr.c:    send_buf(wdesc->fd,"HTTP/1.1 200 OK\n");
websvr.c:    send_buf(wdesc->fd, "HTTP/1.1 404 Not Found\n");
websvr.c:     sprintf(buf, "WWW-Authenticate: Basic realm=\"%s\"\n", realm);
websvr.c:     send_buf(wdesc->fd,"HTTP/1.1 401 Unauthorised\n");
websvr.c:     send_buf(wdesc->fd, buf);
websvr.c:    	    send_buf(wdesc->fd,"Content-type: text/html\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: text/plain\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: image/gif\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: audio/x-wav\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: application/x-zip-compressed\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: x-world/x-vrml\n\n");
websvr.c:    	    send_buf(wdesc->fd,"Content-type: application/octect-stream\n\n");
websvr.c:    stuff = one_argument(wdesc->request, path);
websvr.c:    if(!strstr(wdesc->request, "GET"))
websvr.c:        send_buf(wdesc->fd,"HTTP/1.1 501 Not Implemented");
websvr.c:    else if(strstr(wdesc->request, "HTTP/1."))
websvr.c:    addr = ntohl( wdesc->their_addr.sin_addr.s_addr );
websvr.c:    sprintf(buf, "Web - Request for %s recived from %d.%d.%d.%d",
websvr.c:            sprintf( buf, "Telnet Interface Hit: %s - WhoList",
websvr.c:                     inet_ntoa( wdesc->their_addr.sin_addr ) );
websvr.c:            sprintf( buf, "Telnet Interface Hit: %s - Index",
websvr.c:                     inet_ntoa( wdesc->their_addr.sin_addr ) );
websvr.c:            sprintf( buf, "Telnet Interface Hit: %s - WizList",
websvr.c:                     inet_ntoa( wdesc->their_addr.sin_addr ) );
websvr.c:            sprintf( buf, "Telnet Interface Hit: %s - IMMList",
websvr.c:                     inet_ntoa( wdesc->their_addr.sin_addr ) );
websvr.c:	next = current->next;
websvr.c:	close(current->fd);
websvr.c:		&& num < (MAX_STRING_LENGTH-2))
websvr.c:    send_buf(wdesc->fd, colbuf);
websvr.c:            && num < (MAX_STRING_LENGTH-2))
websvr.c:    send_buf(wdesc->fd, colbuf);
websvr.c: * Many thanks to Altrag who contributed this function! --GW
websvr.c:  static char buf[MAX_STRING_LENGTH*2];/* Safety here .. --GW */
websvr.c:	web_desc_free = web_desc_free->next;
websvr.c:    desc->keepalive = FALSE;
websvr.c:    desc->next = NULL;
websvr.c:    desc->next = web_desc_free;
websvr.c:    if(file[strlen(file)-2]=='/')
websvr.c:    if((fd=open(file, O_RDONLY | O_NONBLOCK )) == -1)
websvr.c:	"<TITLE>Telnet Interface -- URL Not Found</TITLE>\n"
websvr.c:	    send(wdesc->fd, buffer, readlen, 0);
websvr.c:    if(file[strlen(file)-2]=='/')
websvr.c:    if((fd=open(file, O_RDONLY | O_NONBLOCK )) == -1)
websvr.c:	    send(wdesc->fd, buffer, readlen, 0);
websvr.c:    for(current = web_passwords ; current ; current = current->next)
websvr.c:	if(!str_cmp(current->username, username))
websvr.c:	    if(!str_cmp(current->password, crypt(password, "yt")))
websvr.c:    for(current = web_passwords ; current ; current = current->next)
websvr.c:	if(!str_cmp(current->username, username))
websvr.c:	new->username = str_dup(username);
websvr.c:	new->password = str_dup("");
websvr.c:	new->next = web_passwords;
websvr.c:    STRFREE(new->password);
websvr.c:    new->password = str_dup(crypt(newpass, "yt"));
websvr.c:    if(change_web_pass(ch->name, buf))
websvr.c:        for(current = web_passwords ; current ; current = current->next)
websvr.c:	    fprintf(fpWebPass, "WebPass %s~\n%s~\n", current->username, current->password);
websvr.c:		 new->username = fread_string(fpWebPass);
websvr.c:	         new->password = fread_string(fpWebPass);
websvr.c:		 new->next = web_passwords;
websvr.c:    for(current=web_descs; current ; current = current->next)
websvr.c:        if(current->fd == desc)
websvr.c:            current->keepalive = FALSE;
websvr.c:	case '-':
websvr.c:		    while( skip-- > 0 )
websvr.c: *	-- Christopher Aaron Haslage (Yakkov) -- 6/3/99 (No Help Needed)
websvr.c:    	if ( !strcmp( word, "<!-- CODE -->"))
websvr.c: 	send_buf(wdesc->fd, buf);		
websvr.c:		&& num < (MAX_STRING_LENGTH-2))
websvr.c:    send_buf(wdesc->fd, buf);
websvr.c:        &&      num < (MAX_STRING_LENGTH-2))
websvr.c:      send_buf(wdesc->fd,col_buf);
websvr.c://      send_buf(wdesc->fd,"<BR>");  
webwiz.c: *	Makes a wizlist for showing on the Telnet Interface WWW Site -- KCAH
webwiz.c:      if ( dentry->d_name[0] != '.' )
webwiz.c:	sprintf( buf, "%s%s", GOD_DIR, dentry->d_name );
webwiz.c:            ilevel = MAX_LEVEL - 15;
webwiz.c:            ilevel = MAX_LEVEL - 16;
webwiz.c:	  add_to_wizlist( dentry->d_name, ilevel );
webwiz.c:  for ( wiz = first_wiz; wiz; wiz = wiz->next )
webwiz.c:    if ( wiz->level < ilevel )
webwiz.c:      ilevel = wiz->level;
webwiz.c:case MAX_LEVEL -  0: towebwiz( "<P>&rOwner<BR>&w" );				break;
webwiz.c:case MAX_LEVEL -  1: towebwiz( "<P>&RAdministration<BR>&w" );			break;
webwiz.c:case MAX_LEVEL -  2: towebwiz( "<P>&wHead Coders / Head Builders<BR>&w" );	break;
webwiz.c:case MAX_LEVEL -  3: towebwiz( "<P>&WCoders / Builders<BR>&w" );		break;
webwiz.c:case MAX_LEVEL -  4: towebwiz( "<P>&bNew Coders / New Builders<BR>&w" );	break;
webwiz.c:case MAX_LEVEL -  5: towebwiz( "<P>&BGuest / Citizen Administration<BR>&w" );	break;
webwiz.c:case MAX_LEVEL -  6: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL -  7: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL -  8: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL -  9: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL - 10: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL - 11: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL - 12: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL - 13: towebwiz( "<P>---<BR>" );	break;
webwiz.c:case MAX_LEVEL - 14: towebwiz( "<P>&BPeople<BR>&w" );	break;
webwiz.c:case MAX_LEVEL - 15: towebwiz( "<P>&BRetired<BR>&w" );	break;
webwiz.c:case MAX_LEVEL - 16: towebwiz( "<P>&BGuests<BR>&w" );	break;
webwiz.c:    if ( strlen( buf ) + strlen( wiz->name ) > 999 )
webwiz.c:    strcat( buf, wiz->name );
webwiz.c:    wiznext = wiz->next;
webwiz.c:    DISPOSE(wiz->name);