diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/AsstTypes.h index 99c2a2a95e..c8371c8bb3 100644 --- a/src/MeoAssistant/AsstTypes.h +++ b/src/MeoAssistant/AsstTypes.h @@ -38,6 +38,10 @@ namespace asst { return "[ " + std::to_string(x) + ", " + std::to_string(y) + " ]"; } + static constexpr Point RightDirection() { return Point(1, 0); } + static constexpr Point DownDirection() { return Point(0, 1); } + static constexpr Point LeftDirection() { return Point(-1, 0); } + static constexpr Point UpDirection() { return Point(0, -1); } int x = 0; int y = 0; }; diff --git a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp index cb571ce5a3..4436527213 100644 --- a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp @@ -727,17 +727,12 @@ std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction left_attack_range.emplace_back(-x, -y); up_attack_range.emplace_back(y, -x); } - - static const constexpr Point RightDirection(1, 0); - static const constexpr Point DownDirection(0, 1); - static const constexpr Point LeftDirection(-1, 0); - static const constexpr Point UpDirection(0, -1); std::vector>> DirectionAttackRangeMap; DirectionAttackRangeMap.reserve(4); - DirectionAttackRangeMap.emplace_back(RightDirection, std::move(right_attack_range)); - DirectionAttackRangeMap.emplace_back(DownDirection, std::move(down_attack_range)); - DirectionAttackRangeMap.emplace_back(LeftDirection, std::move(left_attack_range)); - DirectionAttackRangeMap.emplace_back(UpDirection, std::move(up_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::RightDirection(), std::move(right_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::DownDirection(), std::move(down_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::LeftDirection(), std::move(left_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::UpDirection(), std::move(up_attack_range)); int max_score = 0; Point opt_direction;