2021-05-16 13:57:26 +02:00
|
|
|
/*
|
|
|
|
* BattleAction.cpp, part of VCMI engine
|
|
|
|
*
|
|
|
|
* Authors: listed in file AUTHORS in main folder
|
|
|
|
*
|
|
|
|
* License: GNU General Public License v2.0 or later
|
|
|
|
* Full text of license available in license.txt file, in main folder
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "StdInc.h"
|
|
|
|
#include "BuyArmyAction.h"
|
2021-05-16 14:39:38 +02:00
|
|
|
#include "../../AIGateway.h"
|
2021-05-16 13:57:26 +02:00
|
|
|
#include "../../Goals/CompleteQuest.h"
|
|
|
|
|
2022-09-26 20:01:07 +02:00
|
|
|
namespace NKAI
|
|
|
|
{
|
|
|
|
|
2021-05-16 13:57:26 +02:00
|
|
|
namespace AIPathfinding
|
|
|
|
{
|
2024-03-31 17:39:00 +02:00
|
|
|
void BuyArmyAction::execute(AIGateway * ai, const CGHeroInstance * hero) const
|
2021-05-16 13:57:26 +02:00
|
|
|
{
|
2021-05-16 14:00:37 +02:00
|
|
|
if(!hero->visitedTown)
|
|
|
|
{
|
|
|
|
throw cannotFulfillGoalException(
|
2023-01-02 13:27:03 +02:00
|
|
|
hero->getNameTranslated() + " being at " + hero->visitablePos().toString() + " has no town to recruit creatures.");
|
2021-05-16 14:00:37 +02:00
|
|
|
}
|
|
|
|
|
2021-05-16 13:57:26 +02:00
|
|
|
ai->recruitCreatures(hero->visitedTown, hero);
|
|
|
|
}
|
|
|
|
|
|
|
|
std::string BuyArmyAction::toString() const
|
|
|
|
{
|
|
|
|
return "Buy Army";
|
|
|
|
}
|
2022-09-26 20:01:07 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|