@prog copydesc.muf 1 999 d 1 i (COPY.DESC.muf) (Originally by Snark, modified by Mouse) (Usage: put @501 in the object's @desc. Follow it with the dbref number of the object whose desc you wish to copy, as in "@desc thing=@501 1234" to clone #1234's desc. Copydesc runs #23 [prtset] before the cloned desc, so you can prepend a prefix like "You look at the crystal ball and see...". If you wish to provide a property prefix to #23, place it between the @501 and the dbref, as in "@desc thing=@501 _nrmdsc 1234". ) : prtset #23 ; : strip-leading begin dup " " 1 strncmp if break then 1 strcut swap pop loop ; : strip-trailing dup strlen begin dup 0 > while 1 - swap over strcut dup " " strcmp if strcat swap break then pop swap loop pop ; : strip-spaces strip-leading strip-trailing ; : main dup " " instr dup if 1 - strcut swap else pop "" then prtset call atoi dbref dup trigger ! desc dup 1 strcut swap "@" strcmp not if (desc is a program reference, crack it into dbref and string) swap pop strip-leading dup " " instr dup if 1 - strcut 1 strcut swap pop else pop "" then swap atoi dbref call else (desc is a plain old boring string) pop me @ swap notify then ; . c q