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;
.