浏览代码

Remove objects deleted by event from owned objects list

Dydzio 1 年之前
父节点
当前提交
99f49ee6ad
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      lib/networkPacks/NetPacksLib.cpp

+ 3 - 0
lib/networkPacks/NetPacksLib.cpp

@@ -1224,6 +1224,9 @@ void RemoveObject::applyGs(CGameState *gs)
 		}
 		}
 	}
 	}
 
 
+	if(initiator == PlayerColor::NEUTRAL && obj->tempOwner.isValidPlayer())
+		gs->getPlayerState(obj->tempOwner)->removeOwnedObject(obj); //object removed via map event
+
 	gs->map->instanceNames.erase(obj->instanceName);
 	gs->map->instanceNames.erase(obj->instanceName);
 	gs->map->objects[objectID.getNum()].dellNull();
 	gs->map->objects[objectID.getNum()].dellNull();
 	gs->map->calculateGuardingGreaturePositions();//FIXME: excessive, update only affected tiles
 	gs->map->calculateGuardingGreaturePositions();//FIXME: excessive, update only affected tiles