diff -i smaug14/src/update.c smaug18/src/update.c 8c8 < * Tricops and Fireblade | * --- > * Tricops, Fireblade, Edmond, Conran | * 35a36 > void hint_update args( ( void ) ); 75a77 > struct tm *t = localtime( ¤t_time ); 81d82 < /* save_char_obj( ch );*/ 111a113 > 119c121 < sprintf( buf, "%s has just achieved Avatarhood!", ch->name ); --- > sprintf( buf, "%s has attained the rank of Avatar!", ch->name ); 127a130 > ch->pcdata->honour = 10; 144c147,148 < sprintf( buf2, "&G%-13s ->&w%-2d &G-&w %-5d&G Rvnum: %-5d %s %s", --- > sprintf( buf2, "%d/%d, %d:%d, %s, %d, %d, %d, %s %s", > t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, 152a157 > 165a171,172 > if ( IS_PKILL( ch ) && IS_SET( ch->pcdata->flags, PCFLAG_NOEXP ) ) > return; 171c178,200 < if ( modgain > 0 && IS_PKILL( ch ) && ch->level < 17 ) --- > > /* temporarily modified > if(modgain>0 && IS_PKILL(ch) && ch->level<17){ > if(ch->level<=6){ > sprintf(buf,"The Favor of Gravoc fosters your learning.\n\r"); > modgain*=2; > } > if(ch->level<=10 && ch->level>=7){ > sprintf(buf,"The Hand of Gravoc hastens your learning.\n\r"); > modgain*=1.75; > } > if(ch->level<=13 && ch->level>=11){ > sprintf(buf,"The Cunning of Gravoc succors your learning.\n\r"); > modgain*=1.5; > } > if(ch->level<=16 && ch->level>=14){ > sprintf(buf,"The Patronage of Gravoc reinforces your learning.\n\r"); > modgain*=1.25; > } > send_to_char(buf, ch); > } */ > > if ( modgain > 0 && IS_PKILL( ch ) ) 173c202 < if ( ch->level <= 6 ) --- > if ( ch->level <= 15 ) 176c205 < modgain *= 2; --- > modgain *= 2.75; 178c207 < if ( ch->level <= 10 && ch->level >= 7 ) --- > if ( ch->level <= 25 && ch->level >= 16 ) 181c210 < modgain *= 1.75; --- > modgain *= 2.5; 183c212 < if ( ch->level <= 13 && ch->level >= 11 ) --- > if ( ch->level <= 35 && ch->level >= 26 ) 186c215 < modgain *= 1.5; --- > modgain *= 2.25; 188c217 < if ( ch->level <= 16 && ch->level >= 14 ) --- > if ( ch->level <= 49 && ch->level >= 36 ) 191c220 < modgain *= 1.25; --- > modgain *= 2.0; 195a225 > 201a232,237 > * temporary boost > */ > if ( !IS_PKILL( ch ) && modgain < 0 ) > modgain *= 1.25; > > /* 212a249,252 > if ( IS_PKILL( ch ) ) > modgain = ( modgain * sysdata.deadly_exp_mod ) / 100; > else > modgain = ( modgain * sysdata.peaceful_exp_mod ) / 100; 236a277 > save_char_obj( ch ); 610c651 < send_to_char( "Your actions have been incompatible with the ideals of your race. This troubles you.", ch ); --- > send_to_char( "Your actions have been incompatible with the ideals of your race. This troubles you.\n\r", ch ); 616c657 < send_to_char( "Your actions have been incompatible with the ideals of your race. This troubles you.", ch ); --- > send_to_char( "Your actions have been incompatible with the ideals of your race. This troubles you.\n\r", ch ); 703c744,745 < if ( !ch->in_room || IS_AFFECTED( ch, AFF_CHARM ) || IS_AFFECTED( ch, AFF_PARALYSIS ) ) --- > if ( !ch->in_room > || IS_AFFECTED( ch, AFF_CHARM ) || IS_AFFECTED( ch, AFF_PARALYSIS ) || IS_AFFECTED( ch, AFF_POSSESS ) ) 735c777 < if ( !xIS_SET( ch->act, ACT_RUNNING ) && ch->spec_fun ) --- > if ( !xIS_SET( ch->act, ACT_RUNNING ) && ch->spec_fun && !IS_AFFECTED( ch, AFF_POSSESS ) ) 746c788 < if ( HAS_PROG( ch->pIndexData, SCRIPT_PROG ) ) --- > if ( HAS_PROG( ch->pIndexData, SCRIPT_PROG ) && !xIS_SET( ch->act, ACT_STOP_SCRIPT ) ) 771c813 < if ( IS_SET( ch->in_room->room_flags, ROOM_SAFE ) --- > if ( xIS_SET( ch->in_room->room_flags, ROOM_SAFE ) 816c858,859 < if ( CAN_WEAR( obj, ITEM_TAKE ) && obj->cost > max && !IS_OBJ_STAT( obj, ITEM_BURIED ) ) --- > if ( CAN_WEAR( obj, ITEM_TAKE ) > && obj->cost > max && !IS_OBJ_STAT( obj, ITEM_BURIED ) && !IS_OBJ_STAT( obj, ITEM_HIDDEN ) ) 841,842c884,885 < && !IS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) < && !IS_SET( pexit->to_room->room_flags, ROOM_DEATH ) --- > && !xIS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) > && !xIS_SET( pexit->to_room->room_flags, ROOM_DEATH ) 865c908 < && !IS_SET( pexit->exit_info, EX_CLOSED ) && !IS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) ) --- > && !IS_SET( pexit->exit_info, EX_CLOSED ) && !xIS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) ) 977a1021,1044 > * Expire variables > */ > if ( ch->variables ) > { > VARIABLE_DATA *vd, *vd_next = NULL, *vd_prev = NULL; > > for ( vd = ch->variables; vd; vd = vd_next ) > { > vd_next = vd->next; > if ( vd->timer > 0 && --vd->timer == 0 ) > { > if ( vd == ch->variables ) > ch->variables = vd_next; > else if ( vd_prev ) > vd_prev->next = vd_next; > delete_variable( vd ); > } > else > vd_prev = vd; > } > } > > > /* 1010a1078 > 1013,1028c1081,1082 < OBJ_DATA *obj; < < if ( ( obj = get_eq_char( ch, WEAR_LIGHT ) ) != NULL && obj->item_type == ITEM_LIGHT && obj->value[2] > 0 ) < { < if ( --obj->value[2] == 0 && ch->in_room ) < { < ch->in_room->light -= obj->count; < if ( ch->in_room->light < 0 ) < ch->in_room->light = 0; < act( AT_ACTION, "$p goes out.", ch, obj, NULL, TO_ROOM ); < act( AT_ACTION, "$p goes out.", ch, obj, NULL, TO_CHAR ); < if ( obj->serial == cur_obj ) < global_objcode = rOBJ_EXPIRED; < extract_obj( obj ); < } < } --- > /* > OBJ_DATA *obj; 1029a1084,1100 > if ( ( obj = get_eq_char( ch, WEAR_LIGHT ) ) != NULL > && obj->item_type == ITEM_LIGHT > && obj->value[2] > 0 ) > { > if ( --obj->value[2] == 0 && ch->in_room ) > { > ch->in_room->light -= obj->count; > if (ch->in_room->light < 0 ) > ch->in_room->light=0; > act( AT_ACTION, "$p goes out.", ch, obj, NULL, TO_ROOM ); > act( AT_ACTION, "$p goes out.", ch, obj, NULL, TO_CHAR ); > if ( obj->serial == cur_obj ) > global_objcode = rOBJ_EXPIRED; > extract_obj( obj ); > } > } > */ 1361a1433,1473 > if ( obj->item_type == ITEM_LIGHT ) > { > CHAR_DATA *tch; > > if ( ( tch = obj->carried_by ) ) > { > if ( !IS_NPC( tch ) /* && ( tch->level < LEVEL_IMMORTAL ) */ > && ( ( obj == get_eq_char( tch, WEAR_LIGHT ) ) > || ( IS_SET( obj->value[3], PIPE_LIT ) ) ) && ( obj->value[2] > 0 ) ) > if ( --obj->value[2] == 0 && tch->in_room ) > { > tch->in_room->light -= obj->count; > if ( tch->in_room->light < 0 ) > tch->in_room->light = 0; > act( AT_ACTION, "$p goes out.", tch, obj, NULL, TO_ROOM ); > act( AT_ACTION, "$p goes out.", tch, obj, NULL, TO_CHAR ); > if ( obj->serial == cur_obj ) > global_objcode = rOBJ_EXPIRED; > extract_obj( obj ); > continue; > } > } > else if ( obj->in_room ) > if ( IS_SET( obj->value[3], PIPE_LIT ) && ( obj->value[2] > 0 ) ) > if ( --obj->value[2] == 0 ) > { > obj->in_room->light -= obj->count; > if ( obj->in_room->light < 0 ) > obj->in_room->light = 0; > if ( ( tch = obj->in_room->first_person ) ) > { > act( AT_ACTION, "$p goes out.", tch, obj, NULL, TO_ROOM ); > act( AT_ACTION, "$p goes out.", tch, obj, NULL, TO_CHAR ); > } > if ( obj->serial == cur_obj ) > global_objcode = rOBJ_EXPIRED; > extract_obj( obj ); > continue; > } > } > 1455a1568 > case ITEM_PUDDLE: 1478c1591 < AT_TEMP = AT_BLOOD; --- > AT_TEMP = AT_ORANGE; 1551a1665,1667 > /* > * Bug fix provided by Gianfranco Finell -Shaddai > */ 1554c1670,1672 < if ( !xIS_SET( ch->act, ACT_SENTINEL ) && !ch->fighting && ch->hunting ) --- > if ( !xIS_SET( ch->act, ACT_SENTINEL ) > && ch->position == POS_STANDING > && !xIS_SET( ch->act, ACT_MOUNTED ) && !ch->fighting && ch->hunting ) 1575,1576c1693,1694 < && !IS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) < && !IS_SET( pexit->to_room->room_flags, ROOM_DEATH ) --- > && !xIS_SET( pexit->to_room->room_flags, ROOM_NO_MOB ) > && !xIS_SET( pexit->to_room->room_flags, ROOM_DEATH ) 1691c1809 < || xIS_SET( wch->act, ACT_MOUNTED ) || IS_SET( wch->in_room->room_flags, ROOM_SAFE ) ) --- > || xIS_SET( wch->act, ACT_MOUNTED ) || xIS_SET( wch->in_room->room_flags, ROOM_SAFE ) ) 1764c1882,1883 < mprog_wordlist_check( tmp_act->buf, wch, tmp_act->ch, tmp_act->obj, tmp_act->vo, ACT_PROG ); --- > mprog_wordlist_check( tmp_act->buf, wch, tmp_act->ch, > tmp_act->obj, tmp_act->victim, tmp_act->target, ACT_PROG ); 1810c1929 < || xIS_SET( ch->act, ACT_MOUNTED ) || IS_SET( ch->in_room->room_flags, ROOM_SAFE ) ) --- > || xIS_SET( ch->act, ACT_MOUNTED ) || xIS_SET( ch->in_room->room_flags, ROOM_SAFE ) ) 1868a1988,2004 > else if ( IS_NPC( ch ) && xIS_SET( ch->attacks, ATCK_POUNCE ) ) > { > if ( !ch->mount && !victim->fighting ) > { > check_attacker( ch, victim ); > if ( !IS_AWAKE( victim ) || number_percent( ) + 5 < ch->level ) > { > global_retcode = multi_hit( ch, victim, gsn_pounce ); > continue; > } > else > { > global_retcode = damage( ch, victim, 0, gsn_pounce ); > continue; > } > } > } 2016c2152 < if ( IS_SET( tele->room->room_flags, ROOM_TELESHOWDESC ) ) --- > if ( xIS_SET( tele->room->room_flags, ROOM_TELESHOWDESC ) ) 2097a2234,2238 > static int pulse_houseauc; > > #ifdef MYSTARIC > static int casino_time; > #endif 2107a2249,2254 > if ( --pulse_houseauc <= 0 ) > { > pulse_houseauc = 1800 * PULSE_PER_SECOND; > homebuy_update( ); > } > 2132a2280,2281 > /* Here's the hint update, remove if crashy crashy */ > hint_update( ); 2144a2294,2302 > #ifdef MYSTARIC > if ( --casino_time <= 0 ) > { > casino_time = PULSE_CASINO; > casino_update( ); > } > #endif > > 2150a2309 > mpsleep_update( ); /* Check for sleeping mud progs -rkb */ 2366,2367c2525,2530 < sprintf( buf, "The auctioneer pays you %s gold, charging an auction fee of %s.\n\r", < num_punct( pay ), num_punct( tax ) ); --- > /* > * num_punct no longer supports 2 on one line -Shaddai > */ > ch_printf( auction->seller, "The auctioneer pays you %s gold, charging an auction fee of ", > num_punct( pay ) ); > ch_printf( auction->seller, "%s.\n\r", num_punct( tax ) ); 2378c2541 < sprintf( buf, "No bids received for %s - removed from auction.\n\r", auction->item->short_descr ); --- > sprintf( buf, "No bids received for %s - removed from auction.", auction->item->short_descr ); 2785c2948 < "The falling turns to freezing rain " "amidst flashes of " "lightning.\n\r", --- > "The falling snow turns to freezing rain " "amidst flashes of " "lightning.\n\r", 2968a3132,3155 > > > void hint_update( ) > { > DESCRIPTOR_DATA *d; > > if ( time_info.hour % 1 == 0 ) > { > for ( d = first_descriptor; d; d = d->next ) > { > if ( d->connected == CON_PLAYING && IS_AWAKE( d->character ) && d->character->pcdata ) > { > if ( IS_SET( d->character->pcdata->flags, PCFLAG_HINTS ) && number_bits( 1 ) == 0 ) > { > if ( d->character->level > 50 ) > ch_printf_color( d->character, "&p( &wHINT&p ): &P%s\n\r", get_hint( 50 ) ); > else > ch_printf_color( d->character, "&p( &wHINT&p ): &P%s\n\r", get_hint( d->character->level ) ); > } > } > } > } > return; > }