mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Merge pull request #4580 from IvanSavenko/crashfixes
Fixes for crashes caused by town building changes
This commit is contained in:
		| @@ -973,12 +973,11 @@ bool CGameHandler::moveHero(ObjectInstanceID hid, int3 dst, EMovementMode moveme | ||||
| 		doMove(TryMoveHero::TELEPORTATION, guardsCheck, DONT_VISIT_DEST, LEAVING_TILE); | ||||
|  | ||||
| 		// visit town for town portal \ castle gates | ||||
| 		// do not use generic visitObjectOnTile to avoid double-teleporting | ||||
| 		// if this moveHero call was triggered by teleporter | ||||
| 		// do not visit any other objects, e.g. monoliths to avoid double-teleporting | ||||
| 		if (objectToVisit) | ||||
| 		{ | ||||
| 			if (CGTownInstance * town = dynamic_cast<CGTownInstance *>(objectToVisit)) | ||||
| 				town->onHeroVisit(h); | ||||
| 				objectVisited(town, h); | ||||
| 		} | ||||
|  | ||||
| 		return true; | ||||
| @@ -2143,10 +2142,13 @@ bool CGameHandler::buildStructure(ObjectInstanceID tid, BuildingID requestedID, | ||||
| 	// now when everything is built - reveal tiles for lookout tower | ||||
| 	changeFogOfWar(t->getSightCenter(), t->getSightRadius(), t->getOwner(), ETileVisibility::REVEALED); | ||||
|  | ||||
| 	if (!force) | ||||
| 	{ | ||||
| 		if(t->garrisonHero) //garrison hero first - consistent with original H3 Mana Vortex and Battle Scholar Academy levelup windows order | ||||
| 			objectVisited(t, t->garrisonHero); | ||||
| 		if(t->visitingHero) | ||||
| 			objectVisited(t, t->visitingHero); | ||||
| 	} | ||||
|  | ||||
| 	checkVictoryLossConditionsForPlayer(t->tempOwner); | ||||
| 	return true; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user