CvPlayerCulture::GetTourismModifierWith(PlayerTypes) const
- Defined in
- CvCultureClasses.cpp, line 3189
- Class
- CvPlayerCulture
- Hook name
CivHooks::CvPlayerCulture_GetTourismModifierWith
Hooks
static bool BeforeCvPlayerCulture_GetTourismModifierWith(const CvPlayerCulture* self, PlayerTypes ePlayer, int& result);static void AfterCvPlayerCulture_GetTourismModifierWith(const CvPlayerCulture* self, PlayerTypes ePlayer, int& result);static int ReplaceCvPlayerCulture_GetTourismModifierWith(int (*original)(const CvPlayerCulture*, PlayerTypes), const CvPlayerCulture* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvPlayerCulture_GetTourismModifierWith>(host, &BeforeCvPlayerCulture_GetTourismModifierWith);CivRegisterAfter<CivHooks::CvPlayerCulture_GetTourismModifierWith>(host, &AfterCvPlayerCulture_GetTourismModifierWith);CivRegisterReplace<CivHooks::CvPlayerCulture_GetTourismModifierWith>(host, &ReplaceCvPlayerCulture_GetTourismModifierWith);
Code
3188/// At the player level, what is the modifier for tourism between these players?3189int CvPlayerCulture::GetTourismModifierWith(PlayerTypes ePlayer) const3190{3191 int iMultiplier = 0;3192 CvPlayer &kPlayer = GET_PLAYER(ePlayer);3193 CvTeam &kTeam = GET_TEAM(kPlayer.getTeam());3194 PolicyBranchTypes eMyIdeology = m_pPlayer->GetPlayerPolicies()->GetLateGamePolicyTree();3195 PolicyBranchTypes eTheirIdeology = kPlayer.GetPlayerPolicies()->GetLateGamePolicyTree();31963197 // Open borders with this player3198 if (kTeam.IsAllowsOpenBordersToTeam(m_pPlayer->getTeam()))3199 {3200 iMultiplier += GetTourismModifierOpenBorders();3201 }32023203 // Trade route to one of this player's cities from here3204 if (GC.getGame().GetGameTrade()->IsPlayerConnectedToPlayer(m_pPlayer->GetID(), ePlayer))3205 {3206 iMultiplier += GetTourismModifierTradeRoute();3207 }32083209 if (eMyIdeology != NO_POLICY_BRANCH_TYPE && eTheirIdeology != NO_POLICY_BRANCH_TYPE && eMyIdeology != eTheirIdeology)3210 {3211 iMultiplier += GC.getTOURISM_MODIFIER_DIFFERENT_IDEOLOGIES();32123213 if (m_pPlayer->GetEspionage()->IsMyDiplomatVisitingThem(ePlayer))3214 {3215 iMultiplier += GC.getTOURISM_MODIFIER_DIPLOMAT();3216 }3217 }32183219 int iLessHappyMod = m_pPlayer->GetPlayerPolicies()->GetNumericModifier(POLICYMOD_TOURISM_MOD_LESS_HAPPY);3220 if (iLessHappyMod > 0)3221 {3222 if (m_pPlayer->GetExcessHappiness() > kPlayer.GetExcessHappiness())3223 {3224 iMultiplier += iLessHappyMod;3225 }3226 }3227 int iCommonFoeMod = m_pPlayer->GetPlayerPolicies()->GetNumericModifier(POLICYMOD_TOURISM_MOD_COMMON_FOE);3228 if (iCommonFoeMod > 0)3229 {3230 PlayerTypes eLoopPlayer;3231 for(int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)3232 {3233 eLoopPlayer = (PlayerTypes) iPlayerLoop;32343235 if (eLoopPlayer != ePlayer && eLoopPlayer != m_pPlayer->GetID() && m_pPlayer->GetDiplomacyAI()->IsPlayerValid(eLoopPlayer))3236 {3237 // Are they at war with me too?3238 if (GET_TEAM(m_pPlayer->getTeam()).isAtWar(GET_PLAYER(eLoopPlayer).getTeam()) && GET_TEAM(kPlayer.getTeam()).isAtWar(GET_PLAYER(eLoopPlayer).getTeam()))3239 {3240 iMultiplier += iCommonFoeMod;3241 }3242 }3243 }3244 }3245 int iSharedIdeologyMod = m_pPlayer->GetPlayerPolicies()->GetNumericModifier(POLICYMOD_TOURISM_MOD_SHARED_IDEOLOGY);3246 if (iSharedIdeologyMod > 0)3247 {3248 if (eMyIdeology != NO_POLICY_BRANCH_TYPE && eTheirIdeology != NO_POLICY_BRANCH_TYPE && eMyIdeology == eTheirIdeology)3249 {3250 iMultiplier += iSharedIdeologyMod;3251 }3252 }32533254 if (m_pPlayer->isGoldenAge() && m_pPlayer->GetPlayerTraits()->GetGoldenAgeTourismModifier())3255 {3256 iMultiplier += m_pPlayer->GetPlayerTraits()->GetGoldenAgeTourismModifier();3257 }32583259 ReligionTypes ePlayerReligion = m_pPlayer->GetReligions()->GetReligionInMostCities();3260 if (ePlayerReligion != NO_RELIGION && kPlayer.GetReligions()->HasReligionInMostCities(ePlayerReligion))3261 {3262 iMultiplier += GetTourismModifierSharedReligion();3263 }32643265 return iMultiplier;3266}
Calls
- CvDiplomacyAI::IsPlayerValid(PlayerTypes, bool)
- CvGame::GetGameTrade()
- CvGameTrade::IsPlayerConnectedToPlayer(PlayerTypes, PlayerTypes)
- CvGlobals::getGame()
- CvGlobals::getTOURISM_MODIFIER_DIFFERENT_IDEOLOGIES()
- CvGlobals::getTOURISM_MODIFIER_DIPLOMAT()
- CvPlayer::GetDiplomacyAI() const
- CvPlayer::GetEspionage() const
- CvPlayer::GetExcessHappiness() const
- CvPlayer::GetID() const
- CvPlayer::GetPlayerPolicies() const
- CvPlayer::GetPlayerTraits() const
- CvPlayer::GetReligions() const
- CvPlayer::getTeam() const
- CvPlayer::isGoldenAge() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerCulture::GetTourismModifierOpenBorders() const
- CvPlayerCulture::GetTourismModifierSharedReligion() const
- CvPlayerCulture::GetTourismModifierTradeRoute() const
- CvPlayerEspionage::IsMyDiplomatVisitingThem(PlayerTypes, bool)
- CvPlayerPolicies::GetLateGamePolicyTree() const
- CvPlayerPolicies::GetNumericModifier(PolicyModifierType)
- CvPlayerReligions::GetReligionInMostCities() const
- CvPlayerReligions::HasReligionInMostCities(ReligionTypes) const
- CvPlayerTraits::GetGoldenAgeTourismModifier() const
- CvTeam::getTeam(TeamTypes)
- CvTeam::IsAllowsOpenBordersToTeam(TeamTypes) const
- CvTeam::isAtWar(TeamTypes) const