--- deliantra/server/common/map.C 2007/08/24 00:54:57 1.120 +++ deliantra/server/common/map.C 2007/08/25 22:19:26 1.121 @@ -385,21 +385,21 @@ for (int i = 0; i < size (); ++i) { - int unique = 0; + bool unique = 0; + for (object *op = spaces [i].bot; op; op = op->above) { - if (op->flag [FLAG_UNIQUE] && op->flag [FLAG_IS_FLOOR]) - unique = 1; + unique |= op->flag [FLAG_UNIQUE] && op->flag [FLAG_IS_FLOOR]; - if (!op->can_map_save ()) + if (expect_false (!op->can_map_save ())) continue; - if (unique || op->flag [FLAG_UNIQUE]) + if (expect_false (unique || op->flag [FLAG_UNIQUE])) { if (flags & IO_UNIQUES) op->write (f); } - else if (flags & IO_OBJECTS) + else if (expect_true (flags & IO_OBJECTS)) op->write (f); } }