Bazaar developer reference

CvGameCulture::MoveGreatWorks(PlayerTypes, int, int, int, int, int, int)

Defined in
CvCultureClasses.cpp, line 701
Class
CvGameCulture
Hook name
CivHooks::CvGameCulture_MoveGreatWorks

Hooks

static bool BeforeCvGameCulture_MoveGreatWorks(CvGameCulture* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);static void AfterCvGameCulture_MoveGreatWorks(CvGameCulture* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);static void ReplaceCvGameCulture_MoveGreatWorks(void (*original)(CvGameCulture*, PlayerTypes, int, int, int, int, int, int), CvGameCulture* self, PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, int iCity2, int iBuildingClass2, int iWorkIndex2);CivRegisterBefore<CivHooks::CvGameCulture_MoveGreatWorks>(host, &BeforeCvGameCulture_MoveGreatWorks);CivRegisterAfter<CivHooks::CvGameCulture_MoveGreatWorks>(host, &AfterCvGameCulture_MoveGreatWorks);CivRegisterReplace<CivHooks::CvGameCulture_MoveGreatWorks>(host, &ReplaceCvGameCulture_MoveGreatWorks);

Code

701void CvGameCulture::MoveGreatWorks(PlayerTypes ePlayer, int iCity1, int iBuildingClass1, int iWorkIndex1, 702																												int iCity2, int iBuildingClass2, int iWorkIndex2)703{704	if(ePlayer == NO_PLAYER){705		return;706	}707708	CvPlayer& kPlayer = GET_PLAYER(ePlayer);709	if (!kPlayer.isAlive()){710		return;711	}712713	CvCity* pCity1 = kPlayer.getCity(iCity1);714	CvCity* pCity2 = kPlayer.getCity(iCity2);715	if(!pCity1 || !pCity2){716		return;717	}718719	int workType1 = pCity1->GetCityBuildings()->GetBuildingGreatWork((BuildingClassTypes)iBuildingClass1, iWorkIndex1);720	int workType2 = pCity2->GetCityBuildings()->GetBuildingGreatWork((BuildingClassTypes)iBuildingClass2, iWorkIndex2);721	pCity1->GetCityBuildings()->SetBuildingGreatWork((BuildingClassTypes)iBuildingClass1, iWorkIndex1, workType2);722	pCity2->GetCityBuildings()->SetBuildingGreatWork((BuildingClassTypes)iBuildingClass2, iWorkIndex2, workType1);723}

Calls

Called by