void do_visible( CHAR_DATA *ch, char *argument )
{
AFFECT_DATA *paf;
AFFECT_DATA *paf_next;
bool found=FALSE;
for ( paf = ch->first_affect; paf; paf = paf_next )
{
paf_next = paf->next;
if ( xIS_SET(paf->bitvector, AFF_SNEAK)
|| xIS_SET(paf->bitvector, AFF_INVISIBLE)
|| xIS_SET(paf->bitvector, AFF_HIDE))
{
affect_remove( ch, paf );
found = TRUE;
}
}
xREMOVE_BIT ( ch->affected_by, AFF_HIDE );
xREMOVE_BIT ( ch->affected_by, AFF_INVISIBLE );
xREMOVE_BIT ( ch->affected_by, AFF_SNEAK );
send_to_char( "Ok.\n\r", ch );
if (found)
{
act( AT_PLAIN, "You become visible.", ch, NULL, NULL, TO_CHAR );
act( AT_PLAIN, "$n becomes visible.", ch, NULL, NULL, TO_ROOM );
}
return;
}