From ceb6685879be48f85684933d7e14284df26abe15 Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Tue, 11 Mar 2025 14:22:38 -0600 Subject: [PATCH] [core] Adjust getAvailableTrickAttackChar for compiler warning gcc was complaining that there's a new but no delete here --- src/map/utils/battleutils.cpp | 44 ++++++++++++++--------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/src/map/utils/battleutils.cpp b/src/map/utils/battleutils.cpp index 495b078d4da..0f996b789b6 100644 --- a/src/map/utils/battleutils.cpp +++ b/src/map/utils/battleutils.cpp @@ -4260,42 +4260,32 @@ namespace battleutils if (taUser->PParty != nullptr) { - std::vector taPartyList; - if (taUser->PParty->m_PAlliance != nullptr) - { - taPartyList = taUser->PParty->m_PAlliance->partyList; - } - else - { - taPartyList.emplace_back(taUser->PParty); - } - // Collect all potential TA targets who are closer to the mob than the TA user - for (auto&& party : taPartyList) + + // clang-format off + taUser->ForAlliance([&PMob, distTAmob, &taTargetList](CBattleEntity* PMember) { - for (auto&& PMember : party->members) + float distTAtarget = distance(PMember->loc.p, PMob->loc.p); + // require closer target not be closer than .5 yalms (.5*.5=.25 distsquared) to mob + if (distTAtarget >= worldAngleMinDistance && distTAtarget < distTAmob) { - float distTAtarget = distance(PMember->loc.p, PMob->loc.p); - // require closer target not be closer than .5 yalms (.5*.5=.25 distsquared) to mob - if (distTAtarget >= worldAngleMinDistance && distTAtarget < distTAmob) - { - taTargetList.emplace_back(distTAtarget, PMember); - } + taTargetList.emplace_back(distTAtarget, PMember); + } - if (auto* PChar = dynamic_cast(PMember)) + if (auto* PChar = dynamic_cast(PMember)) + { + for (auto* PTrust : PChar->PTrusts) { - for (auto* PTrust : PChar->PTrusts) + distTAtarget = distance(PTrust->loc.p, PMob->loc.p); + // require closer target not be closer than .5 yalms (.5*.5=.25 distsquared) to mob + if (distTAtarget >= worldAngleMinDistance && distTAtarget < distTAmob) { - float distTAtarget = distance(PTrust->loc.p, PMob->loc.p); - // require closer target not be closer than .5 yalms (.5*.5=.25 distsquared) to mob - if (distTAtarget >= worldAngleMinDistance && distTAtarget < distTAmob) - { - taTargetList.emplace_back(distTAtarget, PTrust); - } + taTargetList.emplace_back(distTAtarget, PTrust); } } } - } + }); + // clang-format on } // Check TA user's fellow