CvMinorCivAI::GetCurrentCultureFlatBonus(PlayerTypes)
- Defined in
- CvMinorCivAI.cpp, line 7805
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetCurrentCultureFlatBonus
Hooks
static bool BeforeCvMinorCivAI_GetCurrentCultureFlatBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static void AfterCvMinorCivAI_GetCurrentCultureFlatBonus(CvMinorCivAI* self, PlayerTypes ePlayer, int& result);static int ReplaceCvMinorCivAI_GetCurrentCultureFlatBonus(int (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvMinorCivAI_GetCurrentCultureFlatBonus>(host, &BeforeCvMinorCivAI_GetCurrentCultureFlatBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_GetCurrentCultureFlatBonus>(host, &AfterCvMinorCivAI_GetCurrentCultureFlatBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_GetCurrentCultureFlatBonus>(host, &ReplaceCvMinorCivAI_GetCurrentCultureFlatBonus);
Code
7804/// Flat-rate culture bonus7805int CvMinorCivAI::GetCurrentCultureFlatBonus(PlayerTypes ePlayer)7806{7807 CvAssertMsg(ePlayer >= 0, "eIndex is expected to be non-negative (invalid Index)");7808 CvAssertMsg(ePlayer < MAX_PLAYERS, "ePlayer is expected to be within maximum bounds (invalid Index)");7809 if(ePlayer < 0 || ePlayer >= MAX_PLAYERS) return 0;78107811 // Don't give a bonus to a minor civ player7812 if(ePlayer >= MAX_MAJOR_CIVS)7813 return 0;78147815 // Only give a bonus if we are Cultural trait7816 if(GetTrait() != MINOR_CIV_TRAIT_CULTURED)7817 return 0;78187819 int iAmount = 0;78207821 if(IsAllies(ePlayer))7822 iAmount += GetCultureFlatAlliesBonus(ePlayer);78237824 if(IsFriends(ePlayer))7825 iAmount += GetCultureFlatFriendshipBonus(ePlayer);78267827 // Modify the bonus if called for by our trait7828 int iModifier = GET_PLAYER(ePlayer).GetPlayerTraits()->GetCityStateBonusModifier();7829 if(iModifier > 0)7830 {7831 iAmount *= (iModifier + 100);7832 iAmount /= 100;7833 }78347835 return iAmount;7836}
Calls
- CvMinorCivAI::GetCultureFlatAlliesBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetCultureFlatFriendshipBonus(PlayerTypes, EraTypes)
- CvMinorCivAI::GetTrait() const
- CvMinorCivAI::IsAllies(PlayerTypes) const
- CvMinorCivAI::IsFriends(PlayerTypes)
- CvPlayer::GetPlayerTraits() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTraits::GetCityStateBonusModifier() const