瀏覽代碼

Merge pull request #116 from DavidZeni/issue/2137

Okay, thank you for your contribution :)
DjWarmonger 10 年之前
父節點
當前提交
a8c9727a5b
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11 8
      server/CGameHandler.cpp

+ 11 - 8
server/CGameHandler.cpp

@@ -5414,26 +5414,29 @@ void CGameHandler::runBattle()
 				continue;
 			}
 
-			if(next->getCreature()->idNumber == CreatureID::CATAPULT && (!curOwner || curOwner->getSecSkillLevel(SecondarySkill::BALLISTICS) == 0)) //catapult, hero has no ballistics
+			if(next->getCreature()->idNumber == CreatureID::CATAPULT)
 			{
 				const auto & attackableBattleHexes = curB.getAttackableBattleHexes();
 
-				if(!attackableBattleHexes.empty())
+				if(attackableBattleHexes.empty())
+				{
+					makeStackDoNothing(next);
+					continue;
+				}
+
+				if(!curOwner || curOwner->getSecSkillLevel(SecondarySkill::BALLISTICS) == 0)
 				{
 					BattleAction attack;
-					attack.destinationTile = *RandomGeneratorUtil::nextItem(attackableBattleHexes, gs->getRandomGenerator());
+					attack.destinationTile = *RandomGeneratorUtil::nextItem(attackableBattleHexes,
+												gs->getRandomGenerator());
 					attack.actionType = Battle::CATAPULT;
 					attack.additionalInfo = 0;
 					attack.side = !next->attackerOwned;
 					attack.stackNumber = next->ID;
 
 					makeAutomaticAction(next, attack);
+					continue;
 				}
-				else
-				{
-					makeStackDoNothing(next);
-				}
-				continue;
 			}
 
 			if(next->getCreature()->idNumber == CreatureID::FIRST_AID_TENT)