diff --git a/AI/VCAI/AIUtility.cpp b/AI/VCAI/AIUtility.cpp index 768619da1..311597daf 100644 --- a/AI/VCAI/AIUtility.cpp +++ b/AI/VCAI/AIUtility.cpp @@ -245,7 +245,7 @@ ui64 evaluateDanger(crint3 tile, const CGHeroInstance * visitor) auto armedObj = dynamic_cast(dangerousObject); if(armedObj) { - float tacticalAdvantage = fh->getTacticalAdvantage(visitor, armedObj); + float tacticalAdvantage = fh->tacticalAdvantageEngine.getTacticalAdvantage(visitor, armedObj); objectDanger *= tacticalAdvantage; //this line tends to go infinite for allied towns (?) } } @@ -258,7 +258,7 @@ ui64 evaluateDanger(crint3 tile, const CGHeroInstance * visitor) auto guards = cb->getGuardingCreatures(it->second->visitablePos()); for(auto cre : guards) { - vstd::amax(guardDanger, evaluateDanger(cre) * fh->getTacticalAdvantage(visitor, dynamic_cast(cre))); + vstd::amax(guardDanger, evaluateDanger(cre) * fh->tacticalAdvantageEngine.getTacticalAdvantage(visitor, dynamic_cast(cre))); } } } @@ -267,7 +267,7 @@ ui64 evaluateDanger(crint3 tile, const CGHeroInstance * visitor) auto guards = cb->getGuardingCreatures(tile); for(auto cre : guards) { - vstd::amax(guardDanger, evaluateDanger(cre) * fh->getTacticalAdvantage(visitor, dynamic_cast(cre))); //we are interested in strongest monster around + vstd::amax(guardDanger, evaluateDanger(cre) * fh->tacticalAdvantageEngine.getTacticalAdvantage(visitor, dynamic_cast(cre))); //we are interested in strongest monster around } //TODO mozna odwiedzic blockvis nie ruszajac straznika diff --git a/AI/VCAI/Fuzzy.h b/AI/VCAI/Fuzzy.h index 875d11f9c..6fd969605 100644 --- a/AI/VCAI/Fuzzy.h +++ b/AI/VCAI/Fuzzy.h @@ -18,13 +18,13 @@ struct SectorMap; class engineBase { -public: +protected: fl::Engine engine; fl::RuleBlock rules; - - engineBase(); virtual void configure(); void addRule(const std::string & txt); +public: + engineBase(); }; class TacticalAdvantageEngine : public engineBase @@ -85,13 +85,11 @@ class FuzzyHelper { friend class VCAI; +public: TacticalAdvantageEngine tacticalAdvantageEngine; - VisitTileEngine visitTileEngine; - GetObjEngine getObjEngine; -public: float evaluate(Goals::Explore & g); float evaluate(Goals::RecruitHero & g); float evaluate(Goals::VisitTile & g);