There are various descriptions on the Internet on how to do that, but many of them seem to be outdated and some are contradictory; in some also the actual working part of solution (for me) was in comments, so I decided to share what worked for me.
Hopefully, if there are some changes, other people will be able to add other answers to keep it up to date.
I base much of my answer on https://www.maketecheasier.com/play-hearthstone-on-ubuntu-linux/ which was the most concise solution, that had still to be tweaked.
Vanilla installation of Ubuntu 18.10 64bit.
Everything in the answer supposes you run it from terminal, even when not explicitly stated.
1. Add WINE staging repository and install it
(WineHQ). Note that you will work with 32bit installations of games, etc.
sudo dpkg --add-architecture i386 wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo apt-key add winehq.key sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ sudo apt update sudo apt install --install-recommends winehq-staging
2. Configure WINE
In the Staging tab, check the following boxes:
Hide Wine version from applications
In the Libraries tab, add entry
locationapi, Edit it and select "Disable":
Now, some other answers on the net say, you have to disable d3d11 as well, but Battle.net launcher apparently doesn't install without it and it turned out that there was no problem running at least Hearthstone and Diablo 3 with D3D11.
In the Applications tab, select Windows version 8.1:
3. Tweak WINE with
Download winetricks script:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricksNow, you will be using 32bit WINE libraries and software versions, so you should prepare all your future runs from terminal for it:
cat >> ~/.bashrc export WINEARCH=win32 export WINEPREFIX=~/.wine32
Press [CTRL+D] after pasting these 3 lines into terminal, to end adding lines to .bashrc .
Close your existing terminal and open a new one, so that environment variables will be working.
The installs take some time, and you have to click through multiple "OK" buttons.
4. Get normal Windows Battle.net installer from Blizzard Download page
Now, after downloading, you wont generally be able to just click on the resulting .exe file to launch it with Wine, because you need the environment variables WINEARCH and WINEPREFIX. So in general you launch it from terminal with
cd Downloads wine Battle.net-Setup.exe
Then you should be able to install Hearthstone and play it via launcher app.
As this solution relies on WINE environment variables, so you wont be able to just click on the exe files. You will get a missing DLL Windows error box, if you do.
Instead when you need to relaunch Battle.net launcher after quitting it, use: