Bazaar developer reference

CvCityCitizens::Reset()

Defined in
CvCityCitizens.cpp, line 71
Class
CvCityCitizens
Hook name
CivHooks::CvCityCitizens_Reset

Hooks

static bool BeforeCvCityCitizens_Reset(CvCityCitizens* self);static void AfterCvCityCitizens_Reset(CvCityCitizens* self);static void ReplaceCvCityCitizens_Reset(void (*original)(CvCityCitizens*), CvCityCitizens* self);CivRegisterBefore<CivHooks::CvCityCitizens_Reset>(host, &BeforeCvCityCitizens_Reset);CivRegisterAfter<CivHooks::CvCityCitizens_Reset>(host, &AfterCvCityCitizens_Reset);CivRegisterReplace<CivHooks::CvCityCitizens_Reset>(host, &ReplaceCvCityCitizens_Reset);

Code

70/// Reset member variables71void CvCityCitizens::Reset()72{73	m_bAutomated = false;74	m_bNoAutoAssignSpecialists = false;75	m_iNumUnassignedCitizens = 0;76	m_iNumCitizensWorkingPlots = 0;77	m_iNumForcedWorkingPlots = 0;7879	m_eCityAIFocusTypes = NO_CITY_AI_FOCUS_TYPE;8081	int iI;8283#if defined(MOD_GLOBAL_CITY_WORKING)84	CvAssertMsg((0 < MAX_CITY_PLOTS),  "MAX_CITY_PLOTS is not greater than zero but an array is being allocated in CvCityCitizens::reset");85	for(iI = 0; iI < MAX_CITY_PLOTS; iI++)86#else87	CvAssertMsg((0 < NUM_CITY_PLOTS),  "NUM_CITY_PLOTS is not greater than zero but an array is being allocated in CvCityCitizens::reset");88	for(iI = 0; iI < NUM_CITY_PLOTS; iI++)89#endif90	{91		m_pabWorkingPlot[iI] = false;92		m_pabForcedWorkingPlot[iI] = false;93	}9495	m_iNumDefaultSpecialists = 0;96	m_iNumForcedDefaultSpecialists = 0;9798	CvAssertMsg(m_aiSpecialistCounts==NULL, "about to leak memory, CvCityCitizens::m_aiSpecialistCounts");99	m_aiSpecialistCounts = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);100	for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)101	{102		m_aiSpecialistCounts[iI] = 0;103	}104105	CvAssertMsg(m_aiSpecialistGreatPersonProgressTimes100==NULL, "about to leak memory, CvCityCitizens::m_aiSpecialistGreatPersonProgressTimes100");106	m_aiSpecialistGreatPersonProgressTimes100 = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);107	for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)108	{109		m_aiSpecialistGreatPersonProgressTimes100[iI] = 0;110	}111112	CvAssertMsg(m_aiNumSpecialistsInBuilding==NULL, "about to leak memory, CvCityCitizens::m_aiNumSpecialistsInBuilding");113	m_aiNumSpecialistsInBuilding = FNEW(int[GC.getNumBuildingInfos()], c_eCiv5GameplayDLL, 0);114	for(iI = 0; iI < GC.getNumBuildingInfos(); iI++)115	{116		m_aiNumSpecialistsInBuilding[iI] = 0;117	}118119	CvAssertMsg(m_aiNumForcedSpecialistsInBuilding==NULL, "about to leak memory, CvCityCitizens::m_aiNumForcedSpecialistsInBuilding");120	m_aiNumForcedSpecialistsInBuilding = FNEW(int[GC.getNumBuildingInfos()], c_eCiv5GameplayDLL, 0);121	for(iI = 0; iI < GC.getNumBuildingInfos(); iI++)122	{123		m_aiNumForcedSpecialistsInBuilding[iI] = 0;124	}125126	CvAssertMsg(m_piBuildingGreatPeopleRateChanges==NULL, "about to leak memory, CvCityCitizens::m_piBuildingGreatPeopleRateChanges");127	m_piBuildingGreatPeopleRateChanges = FNEW(int[GC.getNumSpecialistInfos()], c_eCiv5GameplayDLL, 0);128	for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)129	{130		m_piBuildingGreatPeopleRateChanges[iI] = 0;131	}132133	m_bForceAvoidGrowth = false;134}

Calls

Called by