bool spec_thief( CHAR_DATA *ch ) { CHAR_DATA *victim; CHAR_DATA *v_next; long gold; if ( ch->position != POS_STANDING ) return FALSE; for ( victim = ch->in_room->people; victim != NULL; victim = v_next ) { v_next = victim->next_in_room; if ( IS_NPC(victim) || IS_IMMO(victim) || number_bits( 5 ) != 0 || !can_see(ch,victim)) continue; if ( IS_AWAKE(victim) && number_range( 0, ch->level ) == 0 ) { act( "You discover $n's hands in your wallet!", ch, NULL, victim, TO_VICT ); act( "$N discovers $n's hands in $S wallet!", ch, NULL, victim, TO_NOTVICT ); return TRUE; } else { gold = victim->gold * UMIN(number_range( 1, 20 ),ch->level) / 100; gold = UMIN(gold, ch->level * ch->level * 20 ); ch->gold += gold; victim->gold -= gold; return TRUE; } } return FALSE; }