[Server] Initialize interiors correctly if exterior 0, 0 has been loaded

This commit is contained in:
David Cernat 2017-08-31 14:48:23 +03:00
parent cca4991e74
commit 499c7db121

View file

@ -86,8 +86,15 @@ Cell *CellController::addCell(ESM::Cell cellData)
auto it = find_if(cells.begin(), cells.end(), [cellData](const Cell *c) {
// Currently we cannot compare because plugin lists can be loaded in different order
//return c->cell.sRecordId == cellData.sRecordId;
return c->cell.isExterior() ? (c->cell.mData.mX == cellData.mData.mX && c->cell.mData.mY == cellData.mData.mY) :
(c->cell.mName == cellData.mName);
if (c->cell.isExterior() && cellData.isExterior())
{
if (c->cell.mData.mX == cellData.mData.mX && c->cell.mData.mY == cellData.mData.mY)
return true;
}
else if (c->cell.mName == cellData.mName)
return true;
return false;
});
Cell *cell;