int init_curse(object pl) { string str, i; if (sscanf((str = file_name(this_object())), "%s#%d", str, i) != 2) { /* A class, not a clone. */ seteuid((string)"/secure/master"->creator_file(str)); return (int)clone_object(str)->init_curse(pl); } my_player = pl; pl->add_curse(MY_NAME, str); if (!shadow(pl, 1)) { pl->remove_curse(MY_NAME); return 0; } return 1; } /* init_curse() */