Bazaar developer reference

CvCityCulture::GetBaseTourism()

Defined in
CvCultureClasses.cpp, line 4551
Class
CvCityCulture
Hook name
CivHooks::CvCityCulture_GetBaseTourism

Hooks

static bool BeforeCvCityCulture_GetBaseTourism(CvCityCulture* self, int& result);static void AfterCvCityCulture_GetBaseTourism(CvCityCulture* self, int& result);static int ReplaceCvCityCulture_GetBaseTourism(int (*original)(CvCityCulture*), CvCityCulture* self);CivRegisterBefore<CivHooks::CvCityCulture_GetBaseTourism>(host, &BeforeCvCityCulture_GetBaseTourism);CivRegisterAfter<CivHooks::CvCityCulture_GetBaseTourism>(host, &AfterCvCityCulture_GetBaseTourism);CivRegisterReplace<CivHooks::CvCityCulture_GetBaseTourism>(host, &ReplaceCvCityCulture_GetBaseTourism);

Code

4550/// What is the tourism output ignoring player-specific modifiers?4551int CvCityCulture::GetBaseTourism()4552{4553	int iBase = GetBaseTourismBeforeModifiers();45544555	int iModifier = 0;45564557	CvPlayer &kPlayer = GET_PLAYER(m_pCity->getOwner());4558	int iTechSpreadModifier = kPlayer.GetInfluenceSpreadModifier();4559	if (iTechSpreadModifier > 0)4560	{4561		iModifier += iTechSpreadModifier;4562	}45634564	if (kPlayer.GetTourismBonusTurns() > 0)4565	{4566		iModifier += GC.getTEMPORARY_TOURISM_BOOST_MOD();4567	}45684569	int iLeagueCityModifier = GC.getGame().GetGameLeagues()->GetCityTourismModifier(m_pCity->getOwner(), m_pCity);4570	if (iLeagueCityModifier > 0)4571	{4572		iModifier += iLeagueCityModifier;4573	}45744575	if (kPlayer.isGoldenAge())4576	{4577		iModifier += kPlayer.GetPlayerTraits()->GetGoldenAgeTourismModifier();4578	}4579	45804581	int iBuildingMod = 0;4582	for(int iBuildingClassLoop = 0; iBuildingClassLoop < GC.getNumBuildingClassInfos(); iBuildingClassLoop++)4583	{4584		CvCivilizationInfo& playerCivilizationInfo = kPlayer.getCivilizationInfo();4585		BuildingTypes eBuilding = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)iBuildingClassLoop);4586		if (eBuilding != NO_BUILDING)4587		{4588			CvBuildingEntry *pkEntry = GC.getBuildingInfo(eBuilding);4589			if (pkEntry)4590			{4591				iBuildingMod = kPlayer.GetPlayerPolicies()->GetBuildingClassTourismModifier((BuildingClassTypes)iBuildingClassLoop);4592				if (iBuildingMod != 0 && m_pCity->GetCityBuildings()->GetNumBuilding(eBuilding) > 0)4593				{4594#if defined(MOD_BUGFIX_MINOR)4595					iModifier += iBuildingMod * m_pCity->GetCityBuildings()->GetNumBuilding(eBuilding);4596#else4597					iModifier += iBuildingMod;4598#endif4599				}4600			}4601		}4602	}46034604	if (iModifier > 0)4605	{4606		iBase = iBase * (100 + iModifier) / 100;4607	}46084609	return iBase;4610}

Calls

Called by