CvMinorCivAI::GetCurrentCulturePerBuildingBonus(PlayerTypes)
- Defined in
- CvMinorCivAI.cpp, line 7853
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetCurrentCulturePerBuildingBonus
Hooks
static bool BeforeCvMinorCivAI_GetCurrentCulturePerBuildingBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static void AfterCvMinorCivAI_GetCurrentCulturePerBuildingBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static int ReplaceCvMinorCivAI_GetCurrentCulturePerBuildingBonus(int (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvMinorCivAI_GetCurrentCulturePerBuildingBonus>(host, &BeforeCvMinorCivAI_GetCurrentCulturePerBuildingBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_GetCurrentCulturePerBuildingBonus>(host, &AfterCvMinorCivAI_GetCurrentCulturePerBuildingBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_GetCurrentCulturePerBuildingBonus>(host, &ReplaceCvMinorCivAI_GetCurrentCulturePerBuildingBonus);
Code
7852//antonjs: This feature was prototyped, but later removed. It will return 0 (no bonus).7853int CvMinorCivAI::GetCurrentCulturePerBuildingBonus(PlayerTypes ePlayer)7854{7855 CvAssertMsg(ePlayer >= 0, "eIndex is expected to be non-negative (invalid Index)");7856 CvAssertMsg(ePlayer < MAX_PLAYERS, "ePlayer is expected to be within maximum bounds (invalid Index)");7857 if(ePlayer < 0 || ePlayer >= MAX_PLAYERS) return 0;78587859 // Don't give a bonus to a minor civ player7860 if(ePlayer >= MAX_MAJOR_CIVS)7861 return 0;78627863 // Only give a bonus if we are Cultural trait7864 if(GetTrait() != MINOR_CIV_TRAIT_CULTURED)7865 return 0;78667867 int iAmount = 0;78687869 if(IsAllies(ePlayer))7870 iAmount += GetCulturePerBuildingAlliesBonus(ePlayer);78717872 if(IsFriends(ePlayer))7873 iAmount += GetCulturePerBuildingFriendshipBonus(ePlayer);78747875 // Modify the bonus if called for by our trait7876 int iModifier = GET_PLAYER(ePlayer).GetPlayerTraits()->GetCityStateBonusModifier();7877 if(iModifier > 0)7878 {7879 iAmount *= (iModifier + 100);7880 iAmount /= 100;7881 }78827883 return iAmount;7884}
Calls
- CvMinorCivAI::GetCulturePerBuildingAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetCulturePerBuildingFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetTrait() const
- CvMinorCivAI::IsAllies(PlayerTypes) const
- CvMinorCivAI::IsFriends(PlayerTypes)
- CvPlayer::GetPlayerTraits() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTraits::GetCityStateBonusModifier() const