Bazaar developer reference

CvCityReligions::RemoveOtherReligions(ReligionTypes, PlayerTypes)

Defined in
CvReligionClasses.cpp, line 4270
Class
CvCityReligions
Hook name
CivHooks::CvCityReligions_RemoveOtherReligions

Hooks

static bool BeforeCvCityReligions_RemoveOtherReligions(CvCityReligions* self, ReligionTypes eReligion, PlayerTypes eResponsiblePlayer);static void AfterCvCityReligions_RemoveOtherReligions(CvCityReligions* self, ReligionTypes eReligion, PlayerTypes eResponsiblePlayer);static void ReplaceCvCityReligions_RemoveOtherReligions(void (*original)(CvCityReligions*, ReligionTypes, PlayerTypes), CvCityReligions* self, ReligionTypes eReligion, PlayerTypes eResponsiblePlayer);CivRegisterBefore<CivHooks::CvCityReligions_RemoveOtherReligions>(host, &BeforeCvCityReligions_RemoveOtherReligions);CivRegisterAfter<CivHooks::CvCityReligions_RemoveOtherReligions>(host, &AfterCvCityReligions_RemoveOtherReligions);CivRegisterReplace<CivHooks::CvCityReligions_RemoveOtherReligions>(host, &ReplaceCvCityReligions_RemoveOtherReligions);

Code

4269/// Remove other religions in a city (used by Inquisitor)4270void CvCityReligions::RemoveOtherReligions(ReligionTypes eReligion, PlayerTypes eResponsiblePlayer)4271{4272	ReligionTypes eOldMajorityReligion = GetReligiousMajority();42734274	// Copy list4275	ReligionInCityList tempList;4276	ReligionInCityList::iterator it;4277	for(it = m_ReligionStatus.begin(); it != m_ReligionStatus.end(); it++)4278	{4279		tempList.push_back(*it);4280	}42814282	// Erase old list4283	m_ReligionStatus.clear();42844285	// Recopy just what we want to keep4286	for(it = tempList.begin(); it != tempList.end(); it++)4287	{4288		int iPressureRetained = 0;42894290		ReligionTypes eLoopReligion = it->m_eReligion;4291		if (eLoopReligion > RELIGION_PANTHEON && eLoopReligion != eReligion)4292		{4293			const CvReligion *pReligion = GC.getGame().GetGameReligions()->GetReligion(eLoopReligion, NO_PLAYER);4294			iPressureRetained = pReligion->m_Beliefs.GetInquisitorPressureRetention();  // Normally 04295		}42964297		if (eLoopReligion == NO_RELIGION || eLoopReligion == eReligion || iPressureRetained > 0)4298		{4299			if (iPressureRetained > 0)4300			{4301				it->m_iPressure = it->m_iPressure * iPressureRetained / 100;4302			}43034304			m_ReligionStatus.push_back(*it);4305		}4306	}43074308	RecomputeFollowers(FOLLOWER_CHANGE_REMOVE_HERESY, eOldMajorityReligion, eResponsiblePlayer);4309}

Calls

Called by