Bazaar developer reference

CvFlavorManager::ChangeLeader(LeaderHeadTypes, LeaderHeadTypes)

Defined in
CvFlavorManager.cpp, line 309
Class
CvFlavorManager
Hook name
CivHooks::CvFlavorManager_ChangeLeader

Hooks

static bool BeforeCvFlavorManager_ChangeLeader(CvFlavorManager* self, LeaderHeadTypes eOldLeader, LeaderHeadTypes eNewLeader);static void AfterCvFlavorManager_ChangeLeader(CvFlavorManager* self, LeaderHeadTypes eOldLeader, LeaderHeadTypes eNewLeader);static void ReplaceCvFlavorManager_ChangeLeader(void (*original)(CvFlavorManager*, LeaderHeadTypes, LeaderHeadTypes), CvFlavorManager* self, LeaderHeadTypes eOldLeader, LeaderHeadTypes eNewLeader);CivRegisterBefore<CivHooks::CvFlavorManager_ChangeLeader>(host, &BeforeCvFlavorManager_ChangeLeader);CivRegisterAfter<CivHooks::CvFlavorManager_ChangeLeader>(host, &AfterCvFlavorManager_ChangeLeader);CivRegisterReplace<CivHooks::CvFlavorManager_ChangeLeader>(host, &ReplaceCvFlavorManager_ChangeLeader);

Code

308#if defined(MOD_API_EXTENSIONS)309void CvFlavorManager::ChangeLeader(LeaderHeadTypes eOldLeader, LeaderHeadTypes eNewLeader)310{311	CvLeaderHeadInfo* pkOldLeaderHeadInfo = GC.getLeaderHeadInfo(eOldLeader);312	CvLeaderHeadInfo* pkNewLeaderHeadInfo = GC.getLeaderHeadInfo(eNewLeader);313	314	if(pkOldLeaderHeadInfo && pkNewLeaderHeadInfo)315	{316		int* m_aiTempFlavors = FNEW(int[GC.getNumFlavorTypes()], c_eCiv5GameplayDLL, 0);317		318		for(int iI = 0; iI < GC.getNumFlavorTypes(); iI++)319		{320			m_aiTempFlavors[iI] = pkNewLeaderHeadInfo->getFlavorValue(iI) - pkOldLeaderHeadInfo->getFlavorValue(iI);321		}322		323		ChangeFlavors(m_aiTempFlavors, true);324325		SAFE_DELETE_ARRAY(m_aiTempFlavors);326	}327}

Calls

Called by