| 80 | } |
| 81 | |
| 82 | static std::shared_ptr<Game_BattleAlgorithm::AlgorithmBase> MakeBasicAction(Game_Enemy& enemy, const lcf::rpg::EnemyAction& action) { |
| 83 | switch (action.basic) { |
| 84 | case lcf::rpg::EnemyAction::Basic_attack: |
| 85 | return MakeAttack(enemy, 1); |
| 86 | case lcf::rpg::EnemyAction::Basic_dual_attack: |
| 87 | return MakeAttack(enemy, 2); |
| 88 | case lcf::rpg::EnemyAction::Basic_defense: |
| 89 | return std::make_shared<Game_BattleAlgorithm::Defend>(&enemy); |
| 90 | case lcf::rpg::EnemyAction::Basic_observe: |
| 91 | return std::make_shared<Game_BattleAlgorithm::Observe>(&enemy); |
| 92 | case lcf::rpg::EnemyAction::Basic_charge: |
| 93 | return std::make_shared<Game_BattleAlgorithm::Charge>(&enemy); |
| 94 | case lcf::rpg::EnemyAction::Basic_autodestruction: |
| 95 | return std::make_shared<Game_BattleAlgorithm::SelfDestruct>(&enemy, Main_Data::game_party.get()); |
| 96 | case lcf::rpg::EnemyAction::Basic_escape: |
| 97 | return std::make_shared<Game_BattleAlgorithm::Escape>(&enemy); |
| 98 | case lcf::rpg::EnemyAction::Basic_nothing: |
| 99 | return std::make_shared<Game_BattleAlgorithm::DoNothing>(&enemy); |
| 100 | } |
| 101 | return nullptr; |
| 102 | } |
| 103 | |
| 104 | static Game_Battler* GetRandomSkillTarget(Game_Party_Base& party, const lcf::rpg::Skill& skill, bool emulate_bugs) { |
| 105 | std::vector<Game_Battler*> battlers; |
no test coverage detected