1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-30 18:36:43 +00:00

Fix positionCell not properly teleporting actors from inactive to active cells (Fixes #1516)

This commit is contained in:
scrawl 2014-06-16 17:14:35 +02:00
parent 2ce8323a42
commit d11a5e19f7

View file

@ -989,9 +989,18 @@ namespace MWWorld
}
else
{
if (!mWorldScene->isCellActive(*currCell))
ptr.getClass().copyToCell(ptr, *newCell, pos);
else if (!mWorldScene->isCellActive(*newCell))
if (!mWorldScene->isCellActive(*currCell) && mWorldScene->isCellActive(*newCell))
{
MWWorld::Ptr newPtr = ptr.getClass().copyToCell(ptr, *newCell, pos);
mWorldScene->addObjectToScene(newPtr);
std::string script = newPtr.getClass().getScript(newPtr);
if (!script.empty()) {
mLocalScripts.add(script, newPtr);
}
addContainerScripts(newPtr, newCell);
}
else if (!mWorldScene->isCellActive(*newCell) && mWorldScene->isCellActive(*currCell))
{
mWorldScene->removeObjectFromScene(ptr);
mLocalScripts.remove(ptr);