Bazaar developer reference

CvUnit::DoRemoveHeresy()

Defined in
CvUnit.cpp, line 8826
Class
CvUnit
Hook name
CivHooks::CvUnit_DoRemoveHeresy

Hooks

static bool BeforeCvUnit_DoRemoveHeresy(CvUnit* self, bool& result);static void AfterCvUnit_DoRemoveHeresy(CvUnit* self, bool& result);static bool ReplaceCvUnit_DoRemoveHeresy(bool (*original)(CvUnit*), CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_DoRemoveHeresy>(host, &BeforeCvUnit_DoRemoveHeresy);CivRegisterAfter<CivHooks::CvUnit_DoRemoveHeresy>(host, &AfterCvUnit_DoRemoveHeresy);CivRegisterReplace<CivHooks::CvUnit_DoRemoveHeresy>(host, &ReplaceCvUnit_DoRemoveHeresy);

Code

8826bool CvUnit::DoRemoveHeresy()8827{8828	CvCity* pCity = GetSpreadReligionTargetCity();88298830	if (pCity != NULL)8831	{8832		if(CanRemoveHeresy(plot()))8833		{8834			bool bShow = plot()->isActiveVisible(false);8835			if(bShow)8836			{8837				auto_ptr<ICvUnit1> pDllUnit(new CvDllUnit(this));8838				gDLL->GameplayUnitActivate(pDllUnit.get());8839			}88408841			pCity->GetCityReligions()->RemoveOtherReligions(GetReligionData()->GetReligion(), getOwner());8842#if !defined(NO_ACHIEVEMENTS)8843			//Achievements8844			if(getOwner() == GC.getGame().getActivePlayer())8845			{8846				CvPlayerAI& kPlayer = GET_PLAYER(getOwner());8847				if(strcmp(kPlayer.getCivilizationTypeKey(), "CIVILIZATION_SPAIN") == 0)8848				{8849					gDLL->UnlockAchievement(ACHIEVEMENT_XP1_24);8850				}8851			}8852#endif8853			8854			kill(true);8855		}8856	}88578858	return false;8859}

Calls

Called by