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
BaseVector::beginBaseVector::end- CvCityReligions::AddReligiousPressure(CvReligiousFollowChangeReason, ReligionTypes, int, PlayerTypes)