Bazaar developer reference

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}

Calls

Called by