--- deliantra/server/common/object.C 2006/09/12 19:20:06 1.36 +++ deliantra/server/common/object.C 2006/09/12 20:55:40 1.37 @@ -256,10 +256,13 @@ sum_weight (inv); sum += inv->carrying + inv->weight * (inv->nrof ? inv->nrof : 1); } + if (op->type == CONTAINER && op->stats.Str) sum = (sum * (100 - op->stats.Str)) / 100; + if (op->carrying != sum) op->carrying = sum; + return sum; } @@ -838,7 +841,7 @@ } static unordered_vector mortals; -static std::vector freed; +static std::vector > freed; void object::free_mortals () { @@ -1224,7 +1227,6 @@ * If top is NULL, it is calculated. * Returns pointer to object if it succeded in the merge, otherwise NULL */ - object * merge_ob (object *op, object *top) {