Browse Source

Fixes 1895 - Properly select upper army for recruitment

Ivan Savenko 11 years ago
parent
commit
33c0e24940
2 changed files with 3 additions and 3 deletions
  1. 1 1
      AI/VCAI/VCAI.cpp
  2. 2 2
      client/windows/CCastleInterface.cpp

+ 1 - 1
AI/VCAI/VCAI.cpp

@@ -2203,7 +2203,7 @@ void VCAI::buildArmyIn(const CGTownInstance * t)
 {
 	makePossibleUpgrades(t->visitingHero);
 	makePossibleUpgrades(t);
-	recruitCreatures(t, t);
+	recruitCreatures(t, t->getUpperArmy());
 	moveCreaturesToHero(t);
 }
 

+ 2 - 2
client/windows/CCastleInterface.cpp

@@ -777,7 +777,7 @@ void CCastleBuildings::enterCastleGate()
 void CCastleBuildings::enterDwelling(int level)
 {
 	assert(level >= 0 && level < town->creatures.size());
-	auto recruitCb = [=](CreatureID id, int count){ LOCPLINT->cb->recruitCreatures(town, town, id, count, level); };
+	auto recruitCb = [=](CreatureID id, int count){ LOCPLINT->cb->recruitCreatures(town, town->getUpperArmy(), id, count, level); };
 	GH.pushInt(new CRecruitmentWindow(town, level, town, recruitCb, -87));
 }
 
@@ -1066,7 +1066,7 @@ void CCreaInfo::clickLeft(tribool down, bool previousState)
 	if(previousState && (!down))
 	{
 		int offset = LOCPLINT->castleInt? (-87) : 0;
-		auto recruitCb = [=](CreatureID id, int count) { LOCPLINT->cb->recruitCreatures(town, town, id, count, level); };
+		auto recruitCb = [=](CreatureID id, int count) { LOCPLINT->cb->recruitCreatures(town, town->getUpperArmy(), id, count, level); };
 		GH.pushInt(new CRecruitmentWindow(town, level, town, recruitCb, offset));
 	}
 }