Bazaar developer reference

CvCityReligions::ConvertPercentFollowers(ReligionTypes, ReligionTypes, int)

Defined in
CvReligionClasses.cpp, line 4138
Class
CvCityReligions
Hook name
CivHooks::CvCityReligions_ConvertPercentFollowers

Hooks

static bool BeforeCvCityReligions_ConvertPercentFollowers(CvCityReligions* self, ReligionTypes eToReligion, ReligionTypes eFromReligion, int iPercent);static void AfterCvCityReligions_ConvertPercentFollowers(CvCityReligions* self, ReligionTypes eToReligion, ReligionTypes eFromReligion, int iPercent);static void ReplaceCvCityReligions_ConvertPercentFollowers(void (*original)(CvCityReligions*, ReligionTypes, ReligionTypes, int), CvCityReligions* self, ReligionTypes eToReligion, ReligionTypes eFromReligion, int iPercent);CivRegisterBefore<CivHooks::CvCityReligions_ConvertPercentFollowers>(host, &BeforeCvCityReligions_ConvertPercentFollowers);CivRegisterAfter<CivHooks::CvCityReligions_ConvertPercentFollowers>(host, &AfterCvCityReligions_ConvertPercentFollowers);CivRegisterReplace<CivHooks::CvCityReligions_ConvertPercentFollowers>(host, &ReplaceCvCityReligions_ConvertPercentFollowers);

Code

4137/// Convert some percentage of followers from one religion to another4138void CvCityReligions::ConvertPercentFollowers(ReligionTypes eToReligion, ReligionTypes eFromReligion, int iPercent)4139{4140	int iPressureConverting = 0;41414142	// Find old religion4143	ReligionInCityList::iterator it;4144	for(it = m_ReligionStatus.begin(); it != m_ReligionStatus.end(); it++)4145	{4146		if(it->m_eReligion == eFromReligion)4147		{4148			iPressureConverting = it->m_iPressure * iPercent / 100;4149			it->m_iPressure -= iPressureConverting;4150			if (it->m_iPressure < 0)4151			{4152				it->m_iPressure = 0;4153			}4154		}4155	}4156	AddReligiousPressure(FOLLOWER_CHANGE_SCRIPTED_CONVERSION, eToReligion, iPressureConverting, NO_PLAYER);4157}

Calls

Called by