#pragma save_binary private static object *extra_looks; /* Dosmud hack */ void dosmud_action(string func, string name, int pri) { efun::add_action(func, name, pri); } void create() { extra_looks = ({ }); } string calc_extra_look() { int i; string s1; s1 = ""; if( !extra_looks ) return ""; for( i = 0; i < sizeof( extra_looks ); i++ ) if( extra_looks[ i ] ) s1 += (string)extra_looks[ i ]->extra_look(); else { extra_looks = delete( extra_looks, i, 1 ); i--; } return s1; } void add_extra_look( object ob ) { if( member_array( ob, extra_looks ) != -1 ) return; extra_looks += ({ ob }); } void remove_extra_look( object ob ) { int i; if( (i = member_array( ob, extra_looks )) == -1 ) extra_looks = delete( extra_looks, i, 1 ); } query_extra_look_list() { return extra_looks; } mixed * query_init_data() { return({ "extra_look", extra_looks, "add_extra_look/P*/" }); }