Ok what this is, is a small snipplet designed to work with an affect2 snipplet. One night myself and Kylah were talking, and she expressed her disaapointment of stuff like mstat not showing the bitvector right. Well, after a eurka moment, i fixed it. (Something i too was annoyed at but never bothered to fix) Anywho, this goes into your do_mstat function or anywhere else that shows the bitvector for affect data on charaters. Its a hack, but it works. I hereby grant lience to use this snipplet in without notification. This snipplet is in the Public domain. (Though, if you do use it, and find it useful, AIM me and inflate my ego a little would ya? ;) -Thri AIM: CalibanL ICQ: 5335308 Email: cyhawk@comcast.net SoulblightMUD telnet://soulblight.slayn.net:5500 Owner of The Void (An area exchange website) http://void.slayn.net Ok heres the snip. At the bottom of do_mstat in act_wiz.c, replace.. for (paf = victim->affected; paf != NULL; paf = paf->next) { sprintf (buf, "Spell: '%s' modifies %s by %d for %d hours with bits %s, level %d.\n\r", skill_table[(int) paf->type].name, affect_loc_name (paf->location), paf->modifier, paf->duration, affect_bit_name (paf->bitvector), paf->level); send_to_char (buf, ch); } with.. char show_vect[MSL]; char bit_type[MSL]; for (paf = victim->affected; paf != NULL; paf = paf->next) { switch(paf->where) { default: case TO_AFFECTS: sprintf(show_vect, "%s", affect_bit_name (paf->bitvector)); sprintf(bit_type, "aff"); break; case TO_AFFECTS2: sprintf(show_vect, "%s", affect2_bit_name (paf->bitvector)); sprintf(bit_type, "aff2"); break; } sprintf (buf, "Spell: '%s' modifies %s by %d for %d hours with bits(%s) %s, level %d.\n\r", skill_table[(int) paf->type].name, affect_loc_name (paf->location), paf->modifier, paf->duration, bit_type, show_vect, paf->level); send_to_char (buf, ch); } And anywhere else you feel is good. Enjoy. -Thri