diff --git a/client/CMT.cpp b/client/CMT.cpp index 34f25a030..26459e815 100644 --- a/client/CMT.cpp +++ b/client/CMT.cpp @@ -1387,6 +1387,8 @@ static void handleEvent(SDL_Event & ev) { if(ourCampaign->mapsRemaining.size()) { + GH.pushInt(CMM); + GH.pushInt(CMM->menu); CMM->openCampaignLobby(ourCampaign); } }; diff --git a/lib/CGameState.cpp b/lib/CGameState.cpp index eed1adc6d..a07bbd43e 100644 --- a/lib/CGameState.cpp +++ b/lib/CGameState.cpp @@ -2857,6 +2857,8 @@ void CGameState::replaceHeroesPlaceholders(const std::vectortempOwner = heroPlaceholder->tempOwner; heroToPlace->pos = heroPlaceholder->pos; heroToPlace->type = VLC->heroh->objects[heroToPlace->subID]; + heroToPlace->appearance = VLC->objtypeh->getHandlerFor(Obj::HERO, + heroToPlace->type->heroClass->getIndex())->getTemplates().front(); for(auto &&i : heroToPlace->stacks) i.second->type = VLC->creh->objects[i.second->getCreatureID()];