--- deliantra/server/common/object.c 2006/03/31 21:16:24 1.4 +++ deliantra/server/common/object.c 2006/05/29 15:28:24 1.5 @@ -215,22 +215,22 @@ if (QUERY_FLAG(ob1, FLAG_APPLIED) || QUERY_FLAG(ob2, FLAG_APPLIED)) return 0; + switch (ob1->type) { + case SCROLL: + if (ob1->level != ob2->level) return 0; + break; + + } if (ob1->key_values != NULL || ob2->key_values != NULL) { /* At least one of these has key_values. */ if ((ob1->key_values == NULL) != (ob2->key_values == NULL)) { /* One has fields, but the other one doesn't. */ return 0; - } else { - return compare_ob_value_lists(ob1, ob2); + } else if (!compare_ob_value_lists(ob1, ob2)) { + return 0; } } - switch (ob1->type) { - case SCROLL: - if (ob1->level != ob2->level) return 0; - break; - - } /* Everything passes, must be OK. */ return 1; }