CvBarbarians::BeginTurn()
- Defined in
- CvBarbarians.cpp, line 174
- Class
- CvBarbarians
- Hook name
CivHooks::CvBarbarians_BeginTurn
Hooks
static bool BeforeCvBarbarians_BeginTurn();static void AfterCvBarbarians_BeginTurn();static void ReplaceCvBarbarians_BeginTurn(void (*original)());CivRegisterBefore<CivHooks::CvBarbarians_BeginTurn>(host, &BeforeCvBarbarians_BeginTurn);CivRegisterAfter<CivHooks::CvBarbarians_BeginTurn>(host, &AfterCvBarbarians_BeginTurn);CivRegisterReplace<CivHooks::CvBarbarians_BeginTurn>(host, &ReplaceCvBarbarians_BeginTurn);
Code
173/// Called every turn174void CvBarbarians::BeginTurn()175{176 CvGame &kGame = GC.getGame();177 const ImprovementTypes eCamp = kGame.GetBarbarianCampImprovementType();178179 CvMap& kMap = GC.getMap();180 int iWorldNumPlots = kMap.numPlots();181 for (int iPlotLoop = 0; iPlotLoop < iWorldNumPlots; iPlotLoop++)182 {183 if (m_aiPlotBarbCampSpawnCounter[iPlotLoop] > 0)184 {185 // No Camp here any more186 CvPlot* pPlot = kMap.plotByIndex(iPlotLoop);187188 if (pPlot->getImprovementType() != eCamp)189 {190 m_aiPlotBarbCampSpawnCounter[iPlotLoop] = -1;191 m_aiPlotBarbCampNumUnitsSpawned[iPlotLoop] = -1;192 }193 else194 {195 m_aiPlotBarbCampSpawnCounter[iPlotLoop]--;196 }197 }198199 // Counter is negative, meaning a camp was cleared here recently and isn't allowed to respawn in the area for a while200 else if (m_aiPlotBarbCampSpawnCounter[iPlotLoop] < -1)201 {202 m_aiPlotBarbCampSpawnCounter[iPlotLoop]++;203 }204 205 }206}