CvPlot::updateYield()
- Defined in
- CvPlot.cpp, line 8601
- Class
- CvPlot
- Hook name
CivHooks::CvPlot_updateYield
Hooks
static bool BeforeCvPlot_updateYield(CvPlot* self);static void AfterCvPlot_updateYield(CvPlot* self);static void ReplaceCvPlot_updateYield(void (*original)(CvPlot*), CvPlot* self);CivRegisterBefore<CivHooks::CvPlot_updateYield>(host, &BeforeCvPlot_updateYield);CivRegisterAfter<CivHooks::CvPlot_updateYield>(host, &AfterCvPlot_updateYield);CivRegisterReplace<CivHooks::CvPlot_updateYield>(host, &ReplaceCvPlot_updateYield);
Code
8601void CvPlot::updateYield()8602{8603 CvCity* pWorkingCity;8604 bool bChange;8605 short iNewYield;8606 int iOldYield;8607 int iI;86088609 if(area() == NULL)8610 {8611 return;8612 }86138614 bChange = false;86158616 for(iI = 0; iI < NUM_YIELD_TYPES; ++iI)8617 {8618 iNewYield = (short)calculateYield((YieldTypes)iI);86198620 if(getYield((YieldTypes)iI) != (int)iNewYield)8621 {8622 iOldYield = getYield((YieldTypes)iI);86238624 m_aiYield[iI] = iNewYield;8625 CvAssertMsg(getYield((YieldTypes)iI) >= 0 && getYield((YieldTypes)iI) < 50, "GAMEPLAY: Yield for a plot is either negative or a ridiculously large number. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");86268627 pWorkingCity = getWorkingCity();86288629 if(pWorkingCity != NULL)8630 {8631 if(isBeingWorked())8632 {8633 pWorkingCity->ChangeBaseYieldRateFromTerrain(((YieldTypes)iI), (getYield((YieldTypes)iI) - iOldYield));8634 }86358636 // JON: New City Citizens AI shoulud update here 08/17/098637 }86388639 bChange = true;8640 }8641 }86428643 if(bChange)8644 {8645 updateSymbols();8646 }8647}
Calls
Called by
- CvCity::setPopulation(int, bool)
- CvCity::updateYield()
- CvGame::removePlotExtraYield(int, int)
- CvGame::setPlotExtraYield(int, int, YieldTypes, int)
- CvMap::updateYield()
- CvPlayer::processPolicies(PolicyTypes, int)
- CvPlayer::updateCityPlotYield()
- CvPlayer::updateYield()
- CvPlot::SetImprovementPillaged(bool, bool)
- CvPlot::setArea(int)
- CvPlot::setFeatureType(FeatureTypes, int)
- CvPlot::setImprovementType(ImprovementTypes, PlayerTypes)
- CvPlot::setNEOfRiver(bool, FlowDirectionTypes)
- CvPlot::setNWOfRiver(bool, FlowDirectionTypes)
- CvPlot::setOwner(PlayerTypes, int, bool, bool)
- CvPlot::setPlotCity(CvCity *)
- CvPlot::setPlotType(PlotTypes, bool, bool, bool)
- CvPlot::setResourceType(ResourceTypes, int, bool)
- CvPlot::setRouteType(RouteTypes)
- CvPlot::setTerrainType(TerrainTypes, bool, bool)
- CvPlot::setWOfRiver(bool, FlowDirectionTypes)
- CvPlot::updatePotentialCityWork()
- CvPlot::updateWorkingCity()
- CvTeam::processTech(TechTypes, int)
- CvTeam::setForceRevealedResource(ResourceTypes, bool)