TGoalVec CompleteQuest::missionDestroyObj() const { TGoalVec solutions; auto obj = cb->getObjByQuestIdentifier(q.quest->m13489val); if(!obj) return ai->ah->howToVisitObj(q.obj); if(obj->ID == Obj::HERO) { auto relations = cb->getPlayerRelations(ai->playerID, obj->tempOwner); if(relations == PlayerRelations::SAME_PLAYER) { auto heroToProtect = cb->getHero(obj->id); solutions.push_back(sptr(GatherArmy().sethero(heroToProtect))); } else if(relations == PlayerRelations::ENEMIES) { solutions = ai->ah->howToVisitObj(obj); } } return solutions; }