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
- CvCity::GetCityReligions() const
- CvCity::getOwner() const
- CvCity::getX() const
- CvCity::getY() const
- CvCityReligions::GetReligiousMajority()
- CvCityReligions::IncrementNumTradeRouteConnections(ReligionTypes, int)
- CvGame::GetGameReligions()
- CvGameReligions::GetReligion(ReligionTypes, PlayerTypes) const
- CvGlobals::getGame()
- CvGlobals::getRELIGION_ADJACENT_CITY_DISTANCE()
- CvReligionBeliefs::GetSpreadDistanceModifier() const
- plotDistance(int, int, int, int)