Bazaar developer reference

CvBarbarians::DoUnits()

Defined in
CvBarbarians.cpp, line 694
Class
CvBarbarians
Hook name
CivHooks::CvBarbarians_DoUnits

Hooks

static bool BeforeCvBarbarians_DoUnits();static void AfterCvBarbarians_DoUnits();static void ReplaceCvBarbarians_DoUnits(void (*original)());CivRegisterBefore<CivHooks::CvBarbarians_DoUnits>(host, &BeforeCvBarbarians_DoUnits);CivRegisterAfter<CivHooks::CvBarbarians_DoUnits>(host, &AfterCvBarbarians_DoUnits);CivRegisterReplace<CivHooks::CvBarbarians_DoUnits>(host, &ReplaceCvBarbarians_DoUnits);

Code

694void CvBarbarians::DoUnits()695{696	CvGame& kGame = GC.getGame();697698	if(kGame.isOption(GAMEOPTION_NO_BARBARIANS))699	{700		return;701	}702703	if(!CanBarbariansSpawn())704	{705		return;706	}707708	ImprovementTypes eCamp = (ImprovementTypes)GC.getBARBARIAN_CAMP_IMPROVEMENT();709710	CvMap& kMap = GC.getMap();711	for(int iPlotLoop = 0; iPlotLoop < kMap.numPlots(); iPlotLoop++)712	{713		CvPlot* pLoopPlot = kMap.plotByIndexUnchecked(iPlotLoop);714715		// Found a Camp to spawn near716		if(pLoopPlot->getImprovementType() == eCamp)717		{718			if(ShouldSpawnBarbFromCamp(pLoopPlot))719			{720				DoSpawnBarbarianUnit(pLoopPlot, false, false);721				DoCampActivationNotice(pLoopPlot);722			}723		}724	}725}

Calls

Called by