CvReligionAI::ScoreBeliefAtPlot(CvBeliefEntry *, CvPlot *)
- Defined in
- CvReligionClasses.cpp, line 6193
- Class
- CvReligionAI
- Hook name
CivHooks::CvReligionAI_ScoreBeliefAtPlot
Hooks
static bool BeforeCvReligionAI_ScoreBeliefAtPlot(CvReligionAI* self, CvBeliefEntry* pEntry, CvPlot* pPlot, int& result);static void AfterCvReligionAI_ScoreBeliefAtPlot(CvReligionAI* self, CvBeliefEntry* pEntry, CvPlot* pPlot, int& result);static int ReplaceCvReligionAI_ScoreBeliefAtPlot(int (*original)(CvReligionAI*, CvBeliefEntry*, CvPlot*), CvReligionAI* self, CvBeliefEntry* pEntry, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvReligionAI_ScoreBeliefAtPlot>(host, &BeforeCvReligionAI_ScoreBeliefAtPlot);CivRegisterAfter<CivHooks::CvReligionAI_ScoreBeliefAtPlot>(host, &AfterCvReligionAI_ScoreBeliefAtPlot);CivRegisterReplace<CivHooks::CvReligionAI_ScoreBeliefAtPlot>(host, &ReplaceCvReligionAI_ScoreBeliefAtPlot);
Code
6192/// AI's evaluation of this belief's usefulness at this one plot6193int CvReligionAI::ScoreBeliefAtPlot(CvBeliefEntry* pEntry, CvPlot* pPlot)6194{6195 int iRtnValue = 0;61966197 for(int iI = 0; iI < NUM_YIELD_TYPES; iI++)6198 {6199 // Terrain6200 TerrainTypes eTerrain = pPlot->getTerrainType();6201 if(eTerrain != NO_TERRAIN)6202 {6203 iRtnValue += pEntry->GetTerrainYieldChange(eTerrain, iI);6204 }62056206#if defined(MOD_RELIGION_PLOT_YIELDS)6207 if (MOD_RELIGION_PLOT_YIELDS) {6208 // Plot6209 PlotTypes ePlot = pPlot->getPlotType();6210 if(ePlot != NO_PLOT)6211 {6212 iRtnValue += pEntry->GetPlotYieldChange(ePlot, iI);6213 }6214 }6215#endif62166217 // Feature6218 FeatureTypes eFeature = pPlot->getFeatureType();6219 if(eFeature != NO_FEATURE)6220 {6221 iRtnValue += pEntry->GetFeatureYieldChange(eFeature, iI);62226223 if(pPlot->IsNaturalWonder())6224 {6225 iRtnValue += pEntry->GetYieldChangeNaturalWonder(iI);6226 iRtnValue += (pEntry->GetYieldModifierNaturalWonder(iI) / 25);6227 }6228 }62296230 // Resource6231 ResourceTypes eResource = pPlot->getResourceType();6232 if(eResource != NO_RESOURCE)6233 {6234 iRtnValue += pEntry->GetResourceYieldChange(eResource, iI);62356236 // Improvement6237 int iNumImprovementInfos = GC.getNumImprovementInfos();6238 for(int jJ = 0; jJ < iNumImprovementInfos; jJ++)6239 {6240 if(pPlot->canHaveImprovement((ImprovementTypes)jJ, m_pPlayer->getTeam()))6241 {6242 iRtnValue += (pEntry->GetImprovementYieldChange((ImprovementTypes)jJ, (YieldTypes)iI) * 2);6243 }6244 }6245 }6246 }62476248 return iRtnValue;6249}
Calls
- CustomMods::isAPI_PLOT_YIELDS()
- CustomMods::isRELIGION_PLOT_YIELDS()
- CvBeliefEntry::GetFeatureYieldChange(int, int) const
- CvBeliefEntry::GetImprovementYieldChange(ImprovementTypes, YieldTypes) const
- CvBeliefEntry::GetPlotYieldChange(int, int) const
- CvBeliefEntry::GetResourceYieldChange(int, int) const
- CvBeliefEntry::GetTerrainYieldChange(int, int) const
- CvBeliefEntry::GetYieldChangeNaturalWonder(int) const
- CvBeliefEntry::GetYieldModifierNaturalWonder(int) const
- CvGlobals::getNumImprovementInfos()
- CvPlayer::getTeam() const
- CvPlot::canHaveImprovement(ImprovementTypes, TeamTypes, bool) const
- CvPlot::getFeatureType() const
- CvPlot::getPlotType() const
- CvPlot::getResourceType(TeamTypes) const
- CvPlot::getTerrainType() const
- CvPlot::IsNaturalWonder() const