Bazaar developer reference

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}

Calls

Called by