Bazaar developer reference

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}

Calls

Called by