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
- CvBarbarians::CanBarbariansSpawn()
- CvBarbarians::DoCampActivationNotice(CvPlot *)
- CvBarbarians::DoSpawnBarbarianUnit(CvPlot *, bool, bool)
- CvBarbarians::ShouldSpawnBarbFromCamp(CvPlot *)
- CvGame::isOption(GameOptionTypes) const
- CvGlobals::getBARBARIAN_CAMP_IMPROVEMENT()
- CvGlobals::getGame()
- CvGlobals::getMap()
- CvMap::numPlots() const
- CvMap::plotByIndexUnchecked(int) const
- CvPlot::getImprovementType() const