CvMinorCivAI::GetCurrentHappinessFlatBonus(PlayerTypes)
- Defined in
- CvMinorCivAI.cpp, line 7947
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetCurrentHappinessFlatBonus
Hooks
static bool BeforeCvMinorCivAI_GetCurrentHappinessFlatBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static void AfterCvMinorCivAI_GetCurrentHappinessFlatBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static int ReplaceCvMinorCivAI_GetCurrentHappinessFlatBonus(int (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvMinorCivAI_GetCurrentHappinessFlatBonus>(host, &BeforeCvMinorCivAI_GetCurrentHappinessFlatBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_GetCurrentHappinessFlatBonus>(host, &AfterCvMinorCivAI_GetCurrentHappinessFlatBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_GetCurrentHappinessFlatBonus>(host, &ReplaceCvMinorCivAI_GetCurrentHappinessFlatBonus);
Code
7946/// Flat happiness bonus currently in effect7947int CvMinorCivAI::GetCurrentHappinessFlatBonus(PlayerTypes ePlayer)7948{7949 CvAssertMsg(ePlayer >= 0, "eIndex is expected to be non-negative (invalid Index)");7950 CvAssertMsg(ePlayer < MAX_PLAYERS, "ePlayer is expected to be within maximum bounds (invalid Index)");7951 if(ePlayer < 0 || ePlayer >= MAX_PLAYERS) return 0;79527953 // Minor civ players do not get a bonus7954 if(ePlayer >= MAX_MAJOR_CIVS)7955 return 0;79567957 // Only for Mercantile trait minors7958 if(GetTrait() != MINOR_CIV_TRAIT_MERCANTILE)7959 return 0;79607961 int iAmount = 0;7962 if(IsAllies(ePlayer))7963 iAmount += GetHappinessFlatAlliesBonus(ePlayer);7964 if(IsFriends(ePlayer))7965 iAmount += GetHappinessFlatFriendshipBonus(ePlayer);7966 return iAmount;7967}