parent $logic_class object $xor var $root child_index 0 var $root fertile 0 var $root manager $xor var $root owners [$xor] var $root writable [$xor] var $root readable ['parameters, 'methods, 'code] var $root trusted [] var $root owned [$xor] var $root inited 1 var $root dbref 'xor method unparse arg xorlist; var str, x; str = ""; for x in (xorlist) { catch any { str = (str + (x.unparse())) + " ^^ "; } with handler { str = (str + tostr(x)) + " ^^ "; } } return ("(" + (str && substr(str, 1, strlen(str) - 4))) + ")"; . method test arg xorlist, [args]; var val, x; val = 0; for x in (xorlist) { catch ~type, ~methodnf { val = val ? !(x.test(@args)) | (x.test(@args)); } with handler { val = val ? !x | x; } } return val; .