@prog foo.muf 1 999 d 1 i : old-pfx "dsc" ; : new-pfx "_dsc" ; : old-len old-pfx strlen ; : say me @ swap notify ; : dbref-name dup name "(#" strcat over int intostr strcat swap flagstr strcat ")" strcat ; : maybeprint dup 250 % if exit then "#" over intostr strcat say ; : main 7000 db_top 1 for maybeprint dbref dup ok? if dup old-pfx "1" strcat prop-exists? if dup new-pfx "1" strcat prop-exists? if dup dbref-name " has both properties!" strcat say else 0 over propfirst begin while ( n d s ) dup old-len strcut pop old-pfx stringcmp not if dup 4 rotate 1 + 4 2 roll then propnext loop dup 2 + pick swap begin dup 0 > while 1 - over 4 rotate over over over over dup old-len strcut swap pop new-pfx swap strcat 3 put over over getpropstr rot rot getpropval addprop remove_prop loop pop pop then then then pop loop "Done." say ; . c q