From 30bd975f9597c7cf42b03a66a0b1d13ad1db19f2 Mon Sep 17 00:00:00 2001 From: MichalZr6 Date: Tue, 21 Jan 2025 13:22:29 +0100 Subject: [PATCH] Use unit->getHexes() instead of battle::Unit::getHexes(stack->getPosition(), stack->doubleWide(), stack->unitSide()) --- lib/battle/CBattleInfoCallback.cpp | 4 ++-- lib/battle/Unit.cpp | 10 ++-------- lib/spells/effects/DemonSummon.cpp | 2 +- lib/spells/effects/Heal.cpp | 2 +- lib/spells/effects/UnitEffect.cpp | 4 ++-- 5 files changed, 8 insertions(+), 14 deletions(-) diff --git a/lib/battle/CBattleInfoCallback.cpp b/lib/battle/CBattleInfoCallback.cpp index a36876eb2..35a214e02 100644 --- a/lib/battle/CBattleInfoCallback.cpp +++ b/lib/battle/CBattleInfoCallback.cpp @@ -1024,7 +1024,7 @@ AccessibilityInfo CBattleInfoCallback::getAccessibility() 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 @@ -1458,7 +1458,7 @@ battle::Units CBattleInfoCallback::getAttackedBattleUnits( if (unit->isGhost() || !unit->alive()) 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)) return true; diff --git a/lib/battle/Unit.cpp b/lib/battle/Unit.cpp index 0317fe282..6c83d4cef 100644 --- a/lib/battle/Unit.cpp +++ b/lib/battle/Unit.cpp @@ -68,19 +68,13 @@ const BattleHexArray & Unit::getSurroundingHexes(const BattleHex & position, boo BattleHexArray Unit::getAttackableHexes(const Unit * attacker) const { - const BattleHexArray & defenderHexes = battle::Unit::getHexes( - getPosition(), - doubleWide(), - unitSide()); + const BattleHexArray & defenderHexes = getHexes(); BattleHexArray targetableHexes; for(const auto & defenderHex : defenderHexes) { - auto hexes = battle::Unit::getHexes( - defenderHex, - attacker->doubleWide(), - unitSide()); + auto hexes = battle::Unit::getHexes(defenderHex); if(hexes.size() == 2 && BattleHex::getDistance(hexes.front(), hexes.back()) != 1) hexes.pop_back(); diff --git a/lib/spells/effects/DemonSummon.cpp b/lib/spells/effects/DemonSummon.cpp index 853a80381..a32816bfe 100644 --- a/lib/spells/effects/DemonSummon.cpp +++ b/lib/spells/effects/DemonSummon.cpp @@ -107,7 +107,7 @@ bool DemonSummon::isValidTarget(const Mechanics * m, const battle::Unit * unit) return false; //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) { diff --git a/lib/spells/effects/Heal.cpp b/lib/spells/effects/Heal.cpp index ce5f13cf5..f3113982a 100644 --- a/lib/spells/effects/Heal.cpp +++ b/lib/spells/effects/Heal.cpp @@ -70,7 +70,7 @@ bool Heal::isValidTarget(const Mechanics * m, const battle::Unit * unit) const if(unit->isDead()) { //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) { diff --git a/lib/spells/effects/UnitEffect.cpp b/lib/spells/effects/UnitEffect.cpp index b10097ae3..e6b1f1a0d 100644 --- a/lib/spells/effects/UnitEffect.cpp +++ b/lib/spells/effects/UnitEffect.cpp @@ -202,7 +202,7 @@ EffectTarget UnitEffect::transformTargetByChain(const Mechanics * m, const Targe 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); } @@ -222,7 +222,7 @@ EffectTarget UnitEffect::transformTargetByChain(const Mechanics * m, const Targe else 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)) possibleHexes.erase(hex);