Bläddra i källkod

Using hex.isAvailable() instead of battleFieldWithoutSideColumns

krs 2 år sedan
förälder
incheckning
c562ce9c06
1 ändrade filer med 3 tillägg och 10 borttagningar
  1. 3 10
      client/battle/BattleFieldController.cpp

+ 3 - 10
client/battle/BattleFieldController.cpp

@@ -391,7 +391,6 @@ std::set<BattleHex> BattleFieldController::getHighlightedHexesForMovementTarget(
 std::vector<BattleHex> BattleFieldController::getRangedFullDamageHexes()
 {
 	std::vector<BattleHex> rangedFullDamageHexes; // used for return
-	std::set<BattleHex> battleFieldWithoutSideColumns;
 
 	// if not a hovered arcer unit -> return
 	auto hoveredHex = getHoveredHex();
@@ -402,13 +401,6 @@ std::vector<BattleHex> BattleFieldController::getRangedFullDamageHexes()
 
 	if(!(hoveredStack && hoveredStack->isShooter()))
 		return rangedFullDamageHexes;
-	
-	// construct battlefield grid without the 2 unusable sidecolumns
-	for(auto x = 1; x < GameConstants::BFIELD_WIDTH - 1; ++x)
-	{
-		for(auto y = 0; y < GameConstants::BFIELD_HEIGHT; ++y)
-			battleFieldWithoutSideColumns.insert(BattleHex(x, y));
-	}
 
 	auto rangedFullDamageDistance = GameConstants::BATTLE_PENALTY_DISTANCE;
 
@@ -419,9 +411,10 @@ std::vector<BattleHex> BattleFieldController::getRangedFullDamageHexes()
 
 	// get only battlefield hexes that are in full range damage distance
 	std::set<BattleHex> fullRangeLimit; 
-	for(auto & hex : battleFieldWithoutSideColumns)
+	for(auto i = 0; i < GameConstants::BFIELD_SIZE; i++)
 	{
-		if(BattleHex::getDistance(hoveredHex, hex) <= rangedFullDamageDistance)
+		BattleHex hex(i);
+		if(hex.isAvailable() && BattleHex::getDistance(hoveredHex, hex) <= rangedFullDamageDistance)
 			rangedFullDamageHexes.push_back(hex);
 	}