diff --git a/client/adventureMap/AdventureMapInterface.cpp b/client/adventureMap/AdventureMapInterface.cpp index 188720cc8..fc8288b0a 100644 --- a/client/adventureMap/AdventureMapInterface.cpp +++ b/client/adventureMap/AdventureMapInterface.cpp @@ -535,10 +535,18 @@ void AdventureMapInterface::onTileLeftClicked(const int3 &mapPos) LOCPLINT->moveHero(currentHero, LOCPLINT->localState->getPath(currentHero)); return; } - else //remove old path and find a new one if we clicked on accessible tile + else { - LOCPLINT->localState->setPath(currentHero, mapPos); - onHeroChanged(currentHero); + if(GH.isKeyboardCtrlDown()) //normal click behaviour (as no hero selected) + { + if(canSelect) + LOCPLINT->localState->setSelection(static_cast(topBlocking)); + } + else //remove old path and find a new one if we clicked on accessible tile + { + LOCPLINT->localState->setPath(currentHero, mapPos); + onHeroChanged(currentHero); + } } } } //end of hero is selected "case" @@ -611,7 +619,7 @@ void AdventureMapInterface::onTileHovered(const int3 &mapPos) } } - if(LOCPLINT->localState->getCurrentArmy()->ID == Obj::TOWN) + if(LOCPLINT->localState->getCurrentArmy()->ID == Obj::TOWN || GH.isKeyboardCtrlDown()) { if(objAtTile) { diff --git a/docs/players/Game_Mechanics.md b/docs/players/Game_Mechanics.md index c4c045e68..5291c267c 100644 --- a/docs/players/Game_Mechanics.md +++ b/docs/players/Game_Mechanics.md @@ -29,6 +29,9 @@ Some of H3 mechanics can't be straight considered as bug, but default VCMI behav # List of extended game functionality +## Adventure map +- [LCtrl] + LClick – perform a normal click (same as no hero is selected). This make it possible to select other hero instead of changing path of current hero. + ## Quick Army Management - [LShift] + LClick – splits a half units from the selected stack into an empty slot.