Преглед изворни кода

Merge pull request #2827 from Laserlicht/select_instead_path

Nordsoft91 пре 2 година
родитељ
комит
2d6ef9049a
2 измењених фајлова са 15 додато и 4 уклоњено
  1. 12 4
      client/adventureMap/AdventureMapInterface.cpp
  2. 3 0
      docs/players/Game_Mechanics.md

+ 12 - 4
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<const CArmedInstance*>(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)
 		{

+ 3 - 0
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.