Andrii Danylchenko 2 роки тому
батько
коміт
47b253e837
1 змінених файлів з 6 додано та 0 видалено
  1. 6 0
      lib/CGameState.cpp

+ 6 - 0
lib/CGameState.cpp

@@ -1865,6 +1865,9 @@ void CGameState::placeHeroesInTowns()
 		{
 			for(CGTownInstance *t : k->second.towns)
 			{
+				if(h->visitablePos().z != t->visitablePos().z)
+					continue;
+
 				bool heroOnTownBlockableTile = t->blockingAt(h->visitablePos().x, h->visitablePos().y);
 
 				// current hero position is at one of blocking tiles of current town
@@ -1896,6 +1899,9 @@ void CGameState::initVisitingAndGarrisonedHeroes()
 		{
 			for(CGTownInstance *t : k->second.towns)
 			{
+				if(h->visitablePos().z != t->visitablePos().z)
+					continue;
+
 				if (t->visitableAt(h->visitablePos().x, h->visitablePos().y))
 				{
 					assert(t->visitingHero == nullptr);