570 @verb #340:"parse_spec" this none this rxdo #7214 @program #340:"parse_spec" this none this {v} = args m = match(v, "^%([^.:!]*%)%(%([.:!]%)%([^ ]+%|%)%|%)$") if (!m) return player:tell("Invalid specifier: ", v) endif o = player:match_object(ostr = v[m[3][1][1]..m[3][1][2]]) if (!valid(o)) return player:tell("Can't find: ", ostr) elseif (!(o in this.objects)) return player:tell(o, " is not a member of ", this) endif t = "PVF" prefix = this:_trans_from(this:get_name_for_object(o)) + "/" encnames = {} if (m[3][3][1]) t = {"P", "V", "F"}[v[m[3][3][1]] in {".", ":", "!"}] if (m[3][4][1]) v = v[m[3][4][1]..m[3][4][2]] if (t == "V") v = verb_info(o, v)[3] endif encnames = {tostr(prefix, t, this:_trans_to(v))} endif endif if (!encnames) if (index(t, "P")) for p in (o:all_nonclear_properties()) encnames = {@encnames, tostr(prefix, "P", this:_trans_to(p))} endfor endif if (index(t, "V")) for p in (verbs(o)) encnames = {@encnames, tostr(prefix, "V", this:_trans_to(p))} endfor endif if (index(t, "F")) endif for x in (encnames) x in this.cvsignore && (encnames = setremove(encnames, x)) `x in o.cvs_ignore ! ANY' && (encnames = setremove(encnames, x)) endfor endif return {o, @encnames} "Last modified by manta (#7165) on Sun May 7 15:26:09 2000 MDT." . 0