@verb #1:"has_verb2" this none this rxd #55 @program #1:"has_verb2" this none this "object:has_verb([verbname] [,hasbits] [,rejectbits])" "Find out if an object has a verb matching the given verbname." "Returns {location,verbname} if so, 0 if not, where location is the object or the ancestor on which the verb is actually defined." {verbname, ?pinfo = "", ?ninfo = ""} = args set_task_perms(caller_perms()) if (`info = verb_info(this, verbname) ! E_VERBNF, E_PERM') "{this} == TRUE, this == FALSE" ok = 1 if (ok && pinfo) "pinfo is needed" for x in [1..length(pinfo)] if (!index(info[2], pinfo[x])) ok = 0 break endif endfor endif if (ok && ninfo) "ninfo is not needed" for x in [1..length(ninfo)] if (index(info[2], ninfo[x])) ok = 0 break endif endfor endif if (ok) return {this, info[3]} endif endif if (valid(parent(this))) return parent(this):has_verb2(@args) endif return 0 "Last modified by Lao-Tzu (#8084) on Tue Oct 8 14:35:21 2002 MDT." .