I noticed this awhile ago, but only just remembered. Is there a bug in setting affects using oset? I found that when you use 'oset vnum affect" and then use an affect that doesn't exist, it will crash, which is a very real problem when someoen mispells an affect or attemtps to shorten it.
It seems as if my code isn't doing what it should with this check:
loc = get_atype( arg2 );
if( loc < 1 )
ch_printf( ch, "Unknown field: %s\n\r", arg2 );
Which is locatedi n build.c under if( !str_cmp( arg2, "affect" ) ) which is in do_oset.