1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-19 21:10:12 +02:00

Use unit->getHexes()

instead of battle::Unit::getHexes(stack->getPosition(), stack->doubleWide(), stack->unitSide())
This commit is contained in:
MichalZr6 2025-01-21 13:22:29 +01:00
parent a1593948b7
commit 30bd975f95
5 changed files with 8 additions and 14 deletions

View File

@ -1024,7 +1024,7 @@ AccessibilityInfo CBattleInfoCallback::getAccessibility() const
AccessibilityInfo CBattleInfoCallback::getAccessibility(const battle::Unit * stack) const AccessibilityInfo CBattleInfoCallback::getAccessibility(const battle::Unit * stack) const
{ {
return getAccessibility(battle::Unit::getHexes(stack->getPosition(), stack->doubleWide(), stack->unitSide())); return getAccessibility(stack->getHexes());
} }
AccessibilityInfo CBattleInfoCallback::getAccessibility(const BattleHexArray & accessibleHexes) const AccessibilityInfo CBattleInfoCallback::getAccessibility(const BattleHexArray & accessibleHexes) const
@ -1458,7 +1458,7 @@ battle::Units CBattleInfoCallback::getAttackedBattleUnits(
if (unit->isGhost() || !unit->alive()) if (unit->isGhost() || !unit->alive())
return false; return false;
for (const BattleHex & hex : battle::Unit::getHexes(unit->getPosition(), unit->doubleWide(), unit->unitSide())) for (const BattleHex & hex : unit->getHexes())
{ {
if (at.hostileCreaturePositions.contains(hex)) if (at.hostileCreaturePositions.contains(hex))
return true; return true;

View File

@ -68,19 +68,13 @@ const BattleHexArray & Unit::getSurroundingHexes(const BattleHex & position, boo
BattleHexArray Unit::getAttackableHexes(const Unit * attacker) const BattleHexArray Unit::getAttackableHexes(const Unit * attacker) const
{ {
const BattleHexArray & defenderHexes = battle::Unit::getHexes( const BattleHexArray & defenderHexes = getHexes();
getPosition(),
doubleWide(),
unitSide());
BattleHexArray targetableHexes; BattleHexArray targetableHexes;
for(const auto & defenderHex : defenderHexes) for(const auto & defenderHex : defenderHexes)
{ {
auto hexes = battle::Unit::getHexes( auto hexes = battle::Unit::getHexes(defenderHex);
defenderHex,
attacker->doubleWide(),
unitSide());
if(hexes.size() == 2 && BattleHex::getDistance(hexes.front(), hexes.back()) != 1) if(hexes.size() == 2 && BattleHex::getDistance(hexes.front(), hexes.back()) != 1)
hexes.pop_back(); hexes.pop_back();

View File

@ -107,7 +107,7 @@ bool DemonSummon::isValidTarget(const Mechanics * m, const battle::Unit * unit)
return false; return false;
//check if alive unit blocks rising //check if alive unit blocks rising
for(const BattleHex & hex : battle::Unit::getHexes(unit->getPosition(), unit->doubleWide(), unit->unitSide())) for(const BattleHex & hex : unit->getHexes())
{ {
auto blocking = m->battle()->battleGetUnitsIf([hex, unit](const battle::Unit * other) auto blocking = m->battle()->battleGetUnitsIf([hex, unit](const battle::Unit * other)
{ {

View File

@ -70,7 +70,7 @@ bool Heal::isValidTarget(const Mechanics * m, const battle::Unit * unit) const
if(unit->isDead()) if(unit->isDead())
{ {
//check if alive unit blocks resurrection //check if alive unit blocks resurrection
for(const BattleHex & hex : battle::Unit::getHexes(unit->getPosition(), unit->doubleWide(), unit->unitSide())) for(const BattleHex & hex : unit->getHexes())
{ {
auto blocking = m->battle()->battleGetUnitsIf([hex, unit](const battle::Unit * other) auto blocking = m->battle()->battleGetUnitsIf([hex, unit](const battle::Unit * other)
{ {

View File

@ -202,7 +202,7 @@ EffectTarget UnitEffect::transformTargetByChain(const Mechanics * m, const Targe
for(const auto *unit : possibleTargets) for(const auto *unit : possibleTargets)
{ {
for(const auto & hex : battle::Unit::getHexes(unit->getPosition(), unit->doubleWide(), unit->unitSide())) for(const auto & hex : unit->getHexes())
possibleHexes.insert(hex); possibleHexes.insert(hex);
} }
@ -222,7 +222,7 @@ EffectTarget UnitEffect::transformTargetByChain(const Mechanics * m, const Targe
else else
effectTarget.emplace_back(); effectTarget.emplace_back();
for(const auto & hex : battle::Unit::getHexes(unit->getPosition(), unit->doubleWide(), unit->unitSide())) for(const auto & hex : unit->getHexes())
if (possibleHexes.contains(hex)) if (possibleHexes.contains(hex))
possibleHexes.erase(hex); possibleHexes.erase(hex);