2021-05-16 14:00:24 +02:00
|
|
|
/*
|
|
|
|
* ArmyUpgrade.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 "DefendTown.h"
|
2021-05-16 14:39:38 +02:00
|
|
|
#include "../AIGateway.h"
|
2021-05-16 14:00:24 +02:00
|
|
|
#include "../Engine/Nullkiller.h"
|
|
|
|
#include "../AIUtility.h"
|
|
|
|
|
2022-09-26 20:01:07 +02:00
|
|
|
namespace NKAI
|
|
|
|
{
|
|
|
|
|
2021-05-16 14:00:24 +02:00
|
|
|
using namespace Goals;
|
|
|
|
|
2023-07-30 17:02:56 +02:00
|
|
|
DefendTown::DefendTown(const CGTownInstance * town, const HitMapInfo & treat, const AIPath & defencePath, bool isCounterAttack)
|
|
|
|
: CGoal(Goals::DEFEND_TOWN), treat(treat), defenceArmyStrength(defencePath.getHeroStrength()), turn(defencePath.turn()), counterattack(isCounterAttack)
|
2021-05-16 14:00:24 +02:00
|
|
|
{
|
|
|
|
settown(town);
|
2024-04-14 14:23:44 +02:00
|
|
|
hero = defencePath.targetHero;
|
2021-05-16 14:00:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
DefendTown::DefendTown(const CGTownInstance * town, const HitMapInfo & treat, const CGHeroInstance * defender)
|
|
|
|
: CGoal(Goals::DEFEND_TOWN), treat(treat), defenceArmyStrength(defender->getTotalStrength()), turn(0)
|
|
|
|
{
|
|
|
|
settown(town);
|
|
|
|
sethero(defender);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool DefendTown::operator==(const DefendTown & other) const
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::string DefendTown::toString() const
|
|
|
|
{
|
|
|
|
return "Defend town " + town->getObjectName();
|
2022-09-26 20:01:07 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|