| 457 | } |
| 458 | |
| 459 | bool Game_BattleAlgorithm::AlgorithmBase::ReflectTargets() { |
| 460 | auto iter = std::find_if(current_target, targets.end(), [this](auto* target) { return IsReflected(*target); }); |
| 461 | |
| 462 | // No reflect |
| 463 | if (iter == targets.end()) { |
| 464 | return false; |
| 465 | } |
| 466 | |
| 467 | reflect_target = *iter; |
| 468 | |
| 469 | if (party_target) { |
| 470 | // Reflect back on source party |
| 471 | AddTargets(&source->GetParty(), true); |
| 472 | } else { |
| 473 | // Reflect back on source |
| 474 | AddTarget(source, true); |
| 475 | } |
| 476 | |
| 477 | if (!IsCurrentTargetValid()) { |
| 478 | TargetNext(); |
| 479 | } |
| 480 | return true; |
| 481 | } |
| 482 | |
| 483 | bool Game_BattleAlgorithm::AlgorithmBase::TargetNext() { |
| 484 | return TargetNextInternal(); |
no test coverage detected