Преглед на файлове

Correctly end movement on battle start

Ivan Savenko преди 2 години
родител
ревизия
2355aab139
променени са 1 файла, в които са добавени 2 реда и са изтрити 5 реда
  1. 2 5
      client/HeroMovementController.cpp

+ 2 - 5
client/HeroMovementController.cpp

@@ -77,10 +77,7 @@ void HeroMovementController::onBattleStarted()
 	// when battle starts, game will send battleStart pack *before* movement confirmation
 	// when battle starts, game will send battleStart pack *before* movement confirmation
 	// and since network thread wait for battle intro to play, movement confirmation will only happen after intro
 	// and since network thread wait for battle intro to play, movement confirmation will only happen after intro
 	// leading to several bugs, such as blocked input during intro
 	// leading to several bugs, such as blocked input during intro
-	// FIXME: should be on hero visit
-	assert(duringMovement == false);
-	assert(stoppingMovement == false);
-	duringMovement = false;
+	movementAbortRequested();
 }
 }
 
 
 void HeroMovementController::showTeleportDialog(const CGHeroInstance * hero, TeleportChannelID channel, TTeleportExitsList exits, bool impassable, QueryID askID)
 void HeroMovementController::showTeleportDialog(const CGHeroInstance * hero, TeleportChannelID channel, TTeleportExitsList exits, bool impassable, QueryID askID)
@@ -343,7 +340,7 @@ void HeroMovementController::moveHeroOnce(const CGHeroInstance * h, const CGPath
 
 
 		logGlobal->trace("Requesting hero movement to %s", nextNode.coord.toString());
 		logGlobal->trace("Requesting hero movement to %s", nextNode.coord.toString());
 
 
-		bool useTransit = nextNode.layer == EPathfindingLayer::AIR;
+		bool useTransit = nextNode.layer == EPathfindingLayer::AIR || nextNode.layer == EPathfindingLayer::WATER;
 		LOCPLINT->cb->moveHero(h, nextCoord, useTransit);
 		LOCPLINT->cb->moveHero(h, nextCoord, useTransit);
 		return;
 		return;
 	}
 	}