Browse Source

Fix animation ordering for moving with rotation

Ivan Savenko 2 years ago
parent
commit
9e5f72166b
1 changed files with 4 additions and 1 deletions
  1. 4 1
      client/battle/BattleStacksController.cpp

+ 4 - 1
client/battle/BattleStacksController.cpp

@@ -500,7 +500,10 @@ void BattleStacksController::stackMoved(const CStack *stack, std::vector<BattleH
 	assert(owner.getAnimationCondition(EAnimationEvents::ACTION) == false);
 	assert(owner.getAnimationCondition(EAnimationEvents::ACTION) == false);
 
 
 	if(shouldRotate(stack, stack->getPosition(), destHex[0]))
 	if(shouldRotate(stack, stack->getPosition(), destHex[0]))
-		addNewAnim(new ReverseAnimation(owner, stack, destHex[0]));
+	{
+		addNewAnim(new ReverseAnimation(owner, stack, stack->getPosition()));
+		owner.waitForAnimationCondition(EAnimationEvents::ACTION, false);
+	}
 
 
 	addNewAnim(new MovementStartAnimation(owner, stack));
 	addNewAnim(new MovementStartAnimation(owner, stack));
 	owner.waitForAnimationCondition(EAnimationEvents::ACTION, false);
 	owner.waitForAnimationCondition(EAnimationEvents::ACTION, false);