EconomicAIHelpers::IsTestStrategy_NeedHappinessCritical(EconomicAIStrategyTypes, CvPlayer *)
- Defined in
- CvEconomicAI.cpp, line 3478
- Hook name
CivHooks::EconomicAIHelpers_IsTestStrategy_NeedHappinessCritical
Hooks
static bool BeforeEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static void AfterEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static bool ReplaceEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical(bool (*original)(EconomicAIStrategyTypes, CvPlayer*), EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedHappinessCritical>(host, &BeforeEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical);CivRegisterAfter<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedHappinessCritical>(host, &AfterEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical);CivRegisterReplace<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedHappinessCritical>(host, &ReplaceEconomicAIHelpers_IsTestStrategy_NeedHappinessCritical);
Code
3477/// "Need Happiness" Player Strategy: REALLY time for Happiness?3478bool EconomicAIHelpers::IsTestStrategy_NeedHappinessCritical(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer)3479{3480 if(GC.getGame().isOption(GAMEOPTION_NO_HAPPINESS))3481 {3482 return false;3483 }34843485 // If we're losing at war, return false3486 if(pPlayer->GetDiplomacyAI()->GetStateAllWars() == STATE_ALL_WARS_LOSING)3487 return false;34883489 if(pPlayer->getTotalPopulation() > 0 && pPlayer->GetUnhappiness() > 0)3490 {3491 int iExcessHappiness = pPlayer->GetExcessHappiness();34923493 CvEconomicAIStrategyXMLEntry* pStrategy = pPlayer->GetEconomicAI()->GetEconomicAIStrategies()->GetEntry(eStrategy);3494 int iThreshold = /*-3*/ pStrategy->GetWeightThreshold();34953496 if(iExcessHappiness <= iThreshold)3497 return true;3498 }34993500 return false;3501}
Calls
- CvDiplomacyAI::GetStateAllWars() const
- CvEconomicAI::GetEconomicAIStrategies()
- CvEconomicAIStrategyXMLEntries::GetEntry(int)
- CvEconomicAIStrategyXMLEntry::GetWeightThreshold() const
- CvGame::isOption(GameOptionTypes) const
- CvGlobals::getGame()
- CvPlayer::GetDiplomacyAI() const
- CvPlayer::GetEconomicAI() const
- CvPlayer::GetExcessHappiness() const
- CvPlayer::getTotalPopulation() const
- CvPlayer::GetUnhappiness(CvCity *, CvCity *) const