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}