diff --git a/client/battle/BattleFieldController.cpp b/client/battle/BattleFieldController.cpp index 62b05c816..7b1e7b766 100644 --- a/client/battle/BattleFieldController.cpp +++ b/client/battle/BattleFieldController.cpp @@ -391,7 +391,6 @@ std::set BattleFieldController::getHighlightedHexesForMovementTarget( std::vector BattleFieldController::getRangedFullDamageHexes() { std::vector rangedFullDamageHexes; // used for return - std::set battleFieldWithoutSideColumns; // if not a hovered arcer unit -> return auto hoveredHex = getHoveredHex(); @@ -402,13 +401,6 @@ std::vector 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 BattleFieldController::getRangedFullDamageHexes() // get only battlefield hexes that are in full range damage distance std::set 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); }