123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * TownPortalAction.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 "../../Goals/AdventureSpellCast.h"
- #include "../../../../lib/mapObjects/MapObjects.h"
- #include "TownPortalAction.h"
- namespace NKAI
- {
- using namespace AIPathfinding;
- void TownPortalAction::execute(AIGateway * ai, const CGHeroInstance * hero) const
- {
- auto goal = Goals::AdventureSpellCast(hero, usedSpell);
-
- goal.town = target;
- goal.tile = target->visitablePos();
- goal.accept(ai);
- }
- std::string TownPortalAction::toString() const
- {
- return "Town Portal to " + target->getNameTranslated();
- }
- /*
- bool TownPortalAction::canAct(const CGHeroInstance * hero, const AIPathNode * source) const
- {
- #ifdef VCMI_TRACE_PATHFINDER
- logAi->trace(
- "Hero %s has %d mana and needed %d and already spent %d",
- hero->name,
- hero->mana,
- getManaCost(hero),
- source->manaCost);
- #endif
- return hero->mana >= source->manaCost + getManaCost(hero);
- }
- uint32_t TownPortalAction::getManaCost(const CGHeroInstance * hero) const
- {
- SpellID summonBoat = SpellID::TOWN_PORTAL;
- return hero->getSpellCost(summonBoat.toSpell());
- }*/
- }
|