浏览代码

probably fixed problems with battles

mateuszb 17 年之前
父节点
当前提交
e94e6ac78a
共有 2 个文件被更改,包括 4 次插入2 次删除
  1. 3 1
      CBattleInterface.cpp
  2. 1 1
      CPlayerInterface.cpp

+ 3 - 1
CBattleInterface.cpp

@@ -370,7 +370,7 @@ void CBattleInterface::show(SDL_Surface * to)
 	{
 		for(int v=0; v<stackDeadByHex[b].size(); ++v)
 		{
-			creAnims[stackDeadByHex[b][v]]->nextFrame(to, creAnims[stackDeadByHex[b][v]]->pos.x, creAnims[stackDeadByHex[b][v]]->pos.y, creDir[stackDeadByHex[b][v]], (animCount%(4/animSpeed)==0 || creAnims[stackDeadByHex[b][v]]->getType()!=2) && stacks[stackDeadByHex[b][v]].alive(), stackDeadByHex[b][v]==activeStack); //increment always when moving, never if stack died
+			creAnims[stackDeadByHex[b][v]]->nextFrame(to, creAnims[stackDeadByHex[b][v]]->pos.x, creAnims[stackDeadByHex[b][v]]->pos.y, creDir[stackDeadByHex[b][v]], (animCount%(4/animSpeed)==0) && creAnims[stackDeadByHex[b][v]]->getType()!=5, stackDeadByHex[b][v]==activeStack); //increment always when moving, never if stack died
 			//printing amount
 			if(stacks[stackDeadByHex[b][v]].amount > 0) //don't print if stack is not alive
 			{
@@ -1011,6 +1011,8 @@ void CBattleInterface::stackAttacking(int ID, int dest)
 		case 5:
 			attackingInfo->maxframe = creAnims[ID]->framesInGroup(12);
 			break;
+		default:
+			tlog1<<"Critical Error! Wrong dest in stackAttacking!"<<std::endl;
 	}
 }
 

+ 1 - 1
CPlayerInterface.cpp

@@ -2082,7 +2082,7 @@ void CPlayerInterface::battleAttack(BattleAttack *ba)
 	if(ba->shot())
 		dynamic_cast<CBattleInterface*>(curint)->stackIsShooting(ba->stackAttacking,cb->battleGetPos(ba->bsa.stackAttacked));
 	else
-		dynamic_cast<CBattleInterface*>(curint)->stackAttacking( ba->stackAttacking, curAction->additionalInfo );
+		dynamic_cast<CBattleInterface*>(curint)->stackAttacking( ba->stackAttacking, ba->counter() ? curAction->destinationTile : curAction->additionalInfo );
 	if(ba->killed())
 		dynamic_cast<CBattleInterface*>(curint)->stackKilled(ba->bsa.stackAttacked, ba->bsa.damageAmount, ba->bsa.killedAmount, ba->stackAttacking, ba->shot());
 	else