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
- CvCity::GetCityReligions() const
- CvCityReligions::RemoveOtherReligions(ReligionTypes, PlayerTypes)
- CvDllUnit::CvDllUnit(CvUnit *)
- CvGlobals::getDLLIFace()
- CvPlot::isActiveVisible(bool) const
- CvUnit::CanRemoveHeresy(const CvPlot *) const
- CvUnit::getOwner() const
- CvUnit::GetReligionData() const
- CvUnit::GetSpreadReligionTargetCity() const
- CvUnit::kill(bool, PlayerTypes)
- CvUnit::plot() const
- CvUnitReligion::GetReligion() const
ICvEngineUtility1::GameplayUnitActivatestd::auto_ptr::auto_ptrstd::auto_ptr::get