CvReligionAI::BuyInquisitor(ReligionTypes)
- Defined in
- CvReligionClasses.cpp, line 6004
- Class
- CvReligionAI
- Hook name
CivHooks::CvReligionAI_BuyInquisitor
Hooks
static bool BeforeCvReligionAI_BuyInquisitor(CvReligionAI* self, ReligionTypes eReligion);static void AfterCvReligionAI_BuyInquisitor(CvReligionAI* self, ReligionTypes eReligion);static void ReplaceCvReligionAI_BuyInquisitor(void (*original)(CvReligionAI*, ReligionTypes), CvReligionAI* self, ReligionTypes eReligion);CivRegisterBefore<CivHooks::CvReligionAI_BuyInquisitor>(host, &BeforeCvReligionAI_BuyInquisitor);CivRegisterAfter<CivHooks::CvReligionAI_BuyInquisitor>(host, &AfterCvReligionAI_BuyInquisitor);CivRegisterReplace<CivHooks::CvReligionAI_BuyInquisitor>(host, &ReplaceCvReligionAI_BuyInquisitor);
Code
6003/// Pick the right city to purchase an inquisitor in6004void CvReligionAI::BuyInquisitor(ReligionTypes eReligion)6005{6006 CvPlayer &kPlayer = GET_PLAYER(m_pPlayer->GetID());6007#if defined(MOD_BUGFIX_UNITCLASS_NOT_UNIT)6008 UnitTypes eInquisitor = kPlayer.GetSpecificUnitType("UNITCLASS_INQUISITOR");6009#else6010 UnitTypes eInquisitor = (UnitTypes)GC.getInfoTypeForString("UNIT_INQUISITOR");6011#endif6012 CvCity *pCapital = kPlayer.getCapitalCity();6013 if (pCapital)6014 {6015 int iCost = pCapital->GetFaithPurchaseCost(eInquisitor, true /*bIncludeBeliefDiscounts*/);6016 if (iCost <= kPlayer.GetFaith())6017 {6018 CvCity *pBestCity = CvReligionAIHelpers::GetBestCityFaithUnitPurchase(kPlayer, eInquisitor, eReligion);6019 if (pBestCity)6020 {6021 pBestCity->Purchase(eInquisitor, (BuildingTypes)-1, (ProjectTypes)-1, YIELD_FAITH);6022 }6023 }6024 }6025}
Calls
- CvCity::GetFaithPurchaseCost(UnitTypes, bool)
- CvCity::Purchase(UnitTypes, BuildingTypes, ProjectTypes, YieldTypes)
- CvPlayer::getCapitalCity()
- CvPlayer::GetFaith() const
- CvPlayer::GetID() const
- CvPlayer::GetSpecificUnitType(const char *, bool)
- CvPlayerAI::getPlayer(PlayerTypes)
- CvReligionAIHelpers::GetBestCityFaithUnitPurchase(CvPlayer &, UnitTypes, ReligionTypes)