//
// Created by Dan Crosby on 6/20/23.
//

#include "src/main/cpp/net/eagle0/shardok/ai/AIStrategy.hpp"
namespace shardok {
AIStrategy FleeStrategy = AIStrategy{AIStrategy::STRATEGY_FLEE};
AIStrategy HoldCastlesStrategy = AIStrategy{AIStrategy::STRATEGY_HOLD_CASTLES};
AIStrategy ScatterStrategy = AIStrategy{AIStrategy::STRATEGY_SCATTER};
auto CrossRiversStrategy(const CoordsSet& targetLocations) -> AIStrategy {
    return AIStrategy{AIStrategy::STRATEGY_CROSS_RIVERS, {}, targetLocations};
}

auto AttackUnitsStrategy(const vector<TargetPriorityList>& targetPriorities) -> AIStrategy {
    return AIStrategy{AIStrategy::STRATEGY_ATTACK_UNITS, targetPriorities};
}

auto AttackCastlesStrategy(const vector<TargetPriorityList>& targetPriorities) -> AIStrategy {
    return AIStrategy{AIStrategy::STRATEGY_ATTACK_CASTLES, targetPriorities};
}

}  // namespace shardok