Bazaar developer reference

CvCityReligions::UpdateNumTradeRouteConnections(CvCity *)

Defined in
CvReligionClasses.cpp, line 4312
Class
CvCityReligions
Hook name
CivHooks::CvCityReligions_UpdateNumTradeRouteConnections

Hooks

static bool BeforeCvCityReligions_UpdateNumTradeRouteConnections(CvCityReligions* self, CvCity* pOtherCity);static void AfterCvCityReligions_UpdateNumTradeRouteConnections(CvCityReligions* self, CvCity* pOtherCity);static void ReplaceCvCityReligions_UpdateNumTradeRouteConnections(void (*original)(CvCityReligions*, CvCity*), CvCityReligions* self, CvCity* pOtherCity);CivRegisterBefore<CivHooks::CvCityReligions_UpdateNumTradeRouteConnections>(host, &BeforeCvCityReligions_UpdateNumTradeRouteConnections);CivRegisterAfter<CivHooks::CvCityReligions_UpdateNumTradeRouteConnections>(host, &AfterCvCityReligions_UpdateNumTradeRouteConnections);CivRegisterReplace<CivHooks::CvCityReligions_UpdateNumTradeRouteConnections>(host, &ReplaceCvCityReligions_UpdateNumTradeRouteConnections);

Code

4311/// Called from the trade system when a trade connection is made between two cities4312void CvCityReligions::UpdateNumTradeRouteConnections(CvCity* pOtherCity)4313{4314	ReligionTypes eReligiousMajority = GetReligiousMajority();43154316	// if there isn't a religious connection, whatvz4317	if (eReligiousMajority == NO_RELIGION)4318	{4319		return;4320	}43214322	const CvReligion* pReligion = GC.getGame().GetGameReligions()->GetReligion(eReligiousMajority, m_pCity->getOwner());4323	if (!pReligion)4324	{4325		return;4326	}43274328	// Are the cities within the minimum distance?4329	int iDistance = GC.getRELIGION_ADJACENT_CITY_DISTANCE();43304331	// Boost to distance due to belief?4332	int iDistanceMod = pReligion->m_Beliefs.GetSpreadDistanceModifier();4333	if(iDistanceMod > 0)4334	{4335		iDistance *= (100 + iDistanceMod);4336		iDistance /= 100;4337	}43384339	bool bWithinDistance = (plotDistance(m_pCity->getX(), m_pCity->getY(), pOtherCity->getX(), pOtherCity->getY()) <= iDistance);43404341	// if not within distance, then we're using a trade route4342	if (!bWithinDistance) 4343	{4344		pOtherCity->GetCityReligions()->IncrementNumTradeRouteConnections(eReligiousMajority, 1);4345	}4346}

Calls

Called by