Selaa lähdekoodia

#1579 - check z coord as well

Andrii Danylchenko 2 vuotta sitten
vanhempi
sitoutus
47b253e837
1 muutettua tiedostoa jossa 6 lisäystä ja 0 poistoa
  1. 6 0
      lib/CGameState.cpp

+ 6 - 0
lib/CGameState.cpp

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