Bazaar developer reference

CvMinorCivAI::DoAcquire(PlayerTypes, int &, int &, int &, bool)

Defined in
CvMinorCivAI.cpp, line 8894
Class
CvMinorCivAI
Hook name
CivHooks::CvMinorCivAI_DoAcquire

Hooks

static bool BeforeCvMinorCivAI_DoAcquire(CvMinorCivAI* self, PlayerTypes eMajor, int & iNumUnits, int& iCapitalX, int& iCapitalY, bool bKeepResources);static void AfterCvMinorCivAI_DoAcquire(CvMinorCivAI* self, PlayerTypes eMajor, int & iNumUnits, int& iCapitalX, int& iCapitalY, bool bKeepResources);static void ReplaceCvMinorCivAI_DoAcquire(void (*original)(CvMinorCivAI*, PlayerTypes, int &, int&, int&, bool), CvMinorCivAI* self, PlayerTypes eMajor, int & iNumUnits, int& iCapitalX, int& iCapitalY, bool bKeepResources);CivRegisterBefore<CivHooks::CvMinorCivAI_DoAcquire>(host, &BeforeCvMinorCivAI_DoAcquire);CivRegisterAfter<CivHooks::CvMinorCivAI_DoAcquire>(host, &AfterCvMinorCivAI_DoAcquire);CivRegisterReplace<CivHooks::CvMinorCivAI_DoAcquire>(host, &ReplaceCvMinorCivAI_DoAcquire);

Code

8893#if defined(MOD_GLOBAL_VENICE_KEEPS_RESOURCES) || defined(MOD_GLOBAL_CS_MARRIAGE_KEEPS_RESOURCES)8894void CvMinorCivAI::DoAcquire(PlayerTypes eMajor, int &iNumUnits, int& iCapitalX, int& iCapitalY, bool bKeepResources)8895#else8896void CvMinorCivAI::DoAcquire(PlayerTypes eMajor, int &iNumUnits, int& iCapitalX, int& iCapitalY)8897#endif8898{8899	// Take their units8900	CvUnit* pLoopUnit = NULL;8901	int iLoopUnit;8902	iNumUnits = 0;8903	for(pLoopUnit = GetPlayer()->firstUnit(&iLoopUnit); pLoopUnit != NULL; pLoopUnit = GetPlayer()->nextUnit(&iLoopUnit))8904	{8905		GET_PLAYER(eMajor).DoDistanceGift(GetPlayer()->GetID(), pLoopUnit);8906		iNumUnits++;8907	}89088909	// Take all their cities, don't show notifications8910	SetDisableNotifications(true);8911	iCapitalX = -1;8912	iCapitalY = -1;8913	FStaticVector<CvCity*, 16, false, c_eCiv5GameplayDLL, 0> vpCitiesToAcquire;8914	int iLoopCity;8915	for (CvCity* pLoopCity = GetPlayer()->firstCity(&iLoopCity, true); pLoopCity != NULL; pLoopCity = GetPlayer()->nextCity(&iLoopCity, true))8916	{8917		vpCitiesToAcquire.push_back(pLoopCity);8918	}8919	for (uint iI = 0; iI < vpCitiesToAcquire.size(); iI++)8920	{8921		CvCity* pCity = vpCitiesToAcquire[iI];8922		CvAssertMsg(pCity, "pCity should not be NULL. Please send Anton your save file and version.");8923		if (pCity)8924		{8925			if (pCity->isCapital())8926			{8927				iCapitalX = pCity->getX();8928				iCapitalY = pCity->getY();8929			}8930#if defined(MOD_GLOBAL_VENICE_KEEPS_RESOURCES) || defined(MOD_GLOBAL_CS_MARRIAGE_KEEPS_RESOURCES)8931			GET_PLAYER(eMajor).acquireCity(pCity, false, true, bKeepResources); // deletes pCity, don't reuse the pointer8932#else8933			GET_PLAYER(eMajor).acquireCity(pCity, false, true); // deletes pCity, don't reuse the pointer8934#endif8935		}8936	}8937	SetDisableNotifications(false);89388939	SetMajorBoughtOutBy(eMajor);89408941	GC.getGame().DoUpdateDiploVictory();89428943	GC.GetEngineUserInterface()->setDirty(GameData_DIRTY_BIT, true);89448945}

Calls

Called by