CvMinorCivAI::DoSeedUnitSpawnCounter(PlayerTypes, bool)
- Defined in
- CvMinorCivAI.cpp, line 8351
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_DoSeedUnitSpawnCounter
Hooks
static bool BeforeCvMinorCivAI_DoSeedUnitSpawnCounter(CvMinorCivAI* self, PlayerTypes ePlayer, bool bBias);static void AfterCvMinorCivAI_DoSeedUnitSpawnCounter(CvMinorCivAI* self, PlayerTypes ePlayer, bool bBias);static void ReplaceCvMinorCivAI_DoSeedUnitSpawnCounter(void (*original)(CvMinorCivAI*, PlayerTypes, bool), CvMinorCivAI* self, PlayerTypes ePlayer, bool bBias);CivRegisterBefore<CivHooks::CvMinorCivAI_DoSeedUnitSpawnCounter>(host, &BeforeCvMinorCivAI_DoSeedUnitSpawnCounter);CivRegisterAfter<CivHooks::CvMinorCivAI_DoSeedUnitSpawnCounter>(host, &AfterCvMinorCivAI_DoSeedUnitSpawnCounter);CivRegisterReplace<CivHooks::CvMinorCivAI_DoSeedUnitSpawnCounter>(host, &ReplaceCvMinorCivAI_DoSeedUnitSpawnCounter);
Code
8350// Figures out how long before we spawn a free unit for ePlayer8351void CvMinorCivAI::DoSeedUnitSpawnCounter(PlayerTypes ePlayer, bool bBias)8352{8353 CvAssertMsg(ePlayer >= 0, "ePlayer is expected to be non-negative (invalid Index)");8354 CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "ePlayer is expected to be within maximum bounds (invalid Index)");83558356 int iNumTurns = GetSpawnBaseTurns(ePlayer);83578358 // Add some randomness8359 int iRand = /*3*/ GC.getFRIENDS_RAND_TURNS_UNIT_SPAWN();8360 iNumTurns += GC.getGame().getJonRandNum(iRand, "Rand turns for Friendly Minor unit spawn");83618362 // If we're biasing the result then decrease the number of turns8363 if(bBias)8364 {8365 iNumTurns *= /*50*/ GC.getUNIT_SPAWN_BIAS_MULTIPLIER();8366 iNumTurns /= 100;8367 }83688369 SetUnitSpawnCounter(ePlayer, iNumTurns);8370}