EconomicAIHelpers::IsTestStrategy_ExpandLikeCrazy(EconomicAIStrategyTypes, CvPlayer *)
- Defined in
- CvEconomicAI.cpp, line 4168
- Hook name
CivHooks::EconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy
Hooks
static bool BeforeEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static void AfterEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static bool ReplaceEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy(bool (*original)(EconomicAIStrategyTypes, CvPlayer*), EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::EconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy>(host, &BeforeEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy);CivRegisterAfter<CivHooks::EconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy>(host, &AfterEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy);CivRegisterReplace<CivHooks::EconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy>(host, &ReplaceEconomicAIHelpers_IsTestStrategy_ExpandLikeCrazy);
Code
4168bool EconomicAIHelpers::IsTestStrategy_ExpandLikeCrazy(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer)4169{4170 if(GC.getGame().isOption(GAMEOPTION_ONE_CITY_CHALLENGE) && pPlayer->isHuman())4171 {4172 return false;4173 }41744175#if defined(MOD_AI_SMART_V3)4176 if (!MOD_AI_SMART_V3)4177 {4178#endif4179 // Never run this if we are going for a cultural victory since it will derail that4180 AIGrandStrategyTypes eGrandStrategy = (AIGrandStrategyTypes) GC.getInfoTypeForString("AIGRANDSTRATEGY_CULTURE");4181 if(eGrandStrategy != NO_AIGRANDSTRATEGY)4182 {4183 if(pPlayer->GetGrandStrategyAI()->GetActiveGrandStrategy() == eGrandStrategy)4184 {4185 // Does number of cities matter?4186 if(GC.getMap().getWorldInfo().GetNumCitiesPolicyCostMod() > 0)4187 {4188 return false;4189 }4190 }4191 }4192#if defined(MOD_AI_SMART_V3)4193 }4194#endif41954196 int iFlavorExpansion = pPlayer->GetGrandStrategyAI()->GetPersonalityAndGrandStrategy((FlavorTypes)GC.getInfoTypeForString("FLAVOR_EXPANSION"));4197 CvEconomicAIStrategyXMLEntry* pStrategy = pPlayer->GetEconomicAI()->GetEconomicAIStrategies()->GetEntry(eStrategy);4198 if(iFlavorExpansion >= pStrategy->GetWeightThreshold())4199 {4200 return true;4201 }42024203 return false;4204}
Calls
- CustomMods::isAI_SMART_V3()
- CvEconomicAI::GetEconomicAIStrategies()
- CvEconomicAIStrategyXMLEntries::GetEntry(int)
- CvEconomicAIStrategyXMLEntry::GetWeightThreshold() const
- CvGame::isOption(GameOptionTypes) const
- CvGlobals::getGame()
- CvGlobals::getInfoTypeForString(const char *, bool) const
- CvGlobals::getMap()
- CvGrandStrategyAI::GetActiveGrandStrategy() const
- CvGrandStrategyAI::GetPersonalityAndGrandStrategy(FlavorTypes, bool)
- CvMap::getWorldInfo() const
- CvPlayer::GetEconomicAI() const
- CvPlayer::GetGrandStrategyAI() const
- CvPlayer::isHuman() const
- CvWorldInfo::GetNumCitiesPolicyCostMod() const