Sfoglia il codice sorgente

Fix crash on Cartographer if there is no underground level

Show "already visited" text for stalagmite cartographer if map don't have underground level.
This one fixes bug #1985
ArseniyShestakov 11 anni fa
parent
commit
6391f0f85a
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      lib/mapObjects/MiscObjects.cpp

+ 2 - 1
lib/mapObjects/MiscObjects.cpp

@@ -1445,7 +1445,8 @@ void CGShipyard::onHeroVisit( const CGHeroInstance * h ) const
 
 void CCartographer::onHeroVisit( const CGHeroInstance * h ) const
 {
-	if (!wasVisited (h->getOwner()) ) //if hero has not visited yet this cartographer
+	//if player has not bought map of this subtype yet and underground exist for stalagmite cartographer
+	if (!wasVisited(h->getOwner()) && (subID != 2 || cb->gameState()->map->twoLevel))
 	{
 		if (cb->getResource(h->tempOwner, Res::GOLD) >= 1000) //if he can afford a map
 		{