CvPlayerAchievements::FinishedBuilding(CvCity *, BuildingTypes)
- Defined in
- CvAchievementUnlocker.cpp, line 462
- Class
- CvPlayerAchievements
- Hook name
CivHooks::CvPlayerAchievements_FinishedBuilding
Hooks
static bool BeforeCvPlayerAchievements_FinishedBuilding(CvPlayerAchievements* self, CvCity* pkCity, BuildingTypes eBuilding);static void AfterCvPlayerAchievements_FinishedBuilding(CvPlayerAchievements* self, CvCity* pkCity, BuildingTypes eBuilding);static void ReplaceCvPlayerAchievements_FinishedBuilding(void (*original)(CvPlayerAchievements*, CvCity*, BuildingTypes), CvPlayerAchievements* self, CvCity* pkCity, BuildingTypes eBuilding);CivRegisterBefore<CivHooks::CvPlayerAchievements_FinishedBuilding>(host, &BeforeCvPlayerAchievements_FinishedBuilding);CivRegisterAfter<CivHooks::CvPlayerAchievements_FinishedBuilding>(host, &AfterCvPlayerAchievements_FinishedBuilding);CivRegisterReplace<CivHooks::CvPlayerAchievements_FinishedBuilding>(host, &ReplaceCvPlayerAchievements_FinishedBuilding);
Code
462void CvPlayerAchievements::FinishedBuilding(CvCity* pkCity, BuildingTypes eBuilding)463{464#if !defined(NO_ACHIEVEMENTS)465 if(m_eCollossusType == UNDEFINED_TYPE)466 {467 m_eCollossusType = (BuildingTypes)GC.getInfoTypeForString("BUILDING_COLOSSUS", true);468 }469470 if(m_ePetraType == UNDEFINED_TYPE)471 {472 m_ePetraType = (BuildingTypes)GC.getInfoTypeForString("BUILDING_PETRA", true);473 }474475 if(m_eCaravansaryType == UNDEFINED_TYPE)476 {477 m_eCaravansaryType = (BuildingTypes)GC.getInfoTypeForString("BUILDING_CARAVANSARY", true);478 }479480 if(m_eHarborType == UNDEFINED_TYPE)481 {482 m_eHarborType = (BuildingTypes)GC.getInfoTypeForString("BUILDING_HARBOR", true);483 }484485 if(m_kPlayer.isLocalPlayer() && m_kPlayer.isHuman() && m_eCollossusType != NO_BUILDING && m_ePetraType != NO_BUILDING && m_eCaravansaryType != NO_BUILDING && m_eHarborType != NO_BUILDING)486 {487 CvCityBuildings* pkBuildings = pkCity->GetCityBuildings();488 if(pkBuildings != NULL)489 {490 if(pkBuildings->GetNumBuilding(m_eCollossusType) > 0 &&491 pkBuildings->GetNumBuilding(m_ePetraType) > 0 &&492 pkBuildings->GetNumBuilding(m_eCaravansaryType) > 0 &&493 pkBuildings->GetNumBuilding(m_eHarborType) > 0)494 {495 gDLL->UnlockAchievement(ACHIEVEMENT_XP2_30);496 }497 }498 }499#endif500}