Bazaar developer reference

CvMilitaryAI::Init(CvMilitaryAIStrategyXMLEntries *, CvPlayer *, CvDiplomacyAI *)

Defined in
CvMilitaryAI.cpp, line 273
Class
CvMilitaryAI
Hook name
CivHooks::CvMilitaryAI_Init

Hooks

static bool BeforeCvMilitaryAI_Init(CvMilitaryAI* self, CvMilitaryAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer, CvDiplomacyAI* pDiplomacyAI);static void AfterCvMilitaryAI_Init(CvMilitaryAI* self, CvMilitaryAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer, CvDiplomacyAI* pDiplomacyAI);static void ReplaceCvMilitaryAI_Init(void (*original)(CvMilitaryAI*, CvMilitaryAIStrategyXMLEntries*, CvPlayer*, CvDiplomacyAI*), CvMilitaryAI* self, CvMilitaryAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer, CvDiplomacyAI* pDiplomacyAI);CivRegisterBefore<CivHooks::CvMilitaryAI_Init>(host, &BeforeCvMilitaryAI_Init);CivRegisterAfter<CivHooks::CvMilitaryAI_Init>(host, &AfterCvMilitaryAI_Init);CivRegisterReplace<CivHooks::CvMilitaryAI_Init>(host, &ReplaceCvMilitaryAI_Init);

Code

272/// Initialize273void CvMilitaryAI::Init(CvMilitaryAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer, CvDiplomacyAI* pDiplomacyAI)274{275	// Store off the pointer to the AIStrategies active for this game276	m_pAIStrategies = pAIStrategies;277	m_pPlayer = pPlayer;278	m_pDiplomacyAI = pDiplomacyAI;279280	// Initialize arrays281	CvAssertMsg(m_pabUsingStrategy==NULL, "about to leak memory, CvMilitaryAI::m_pabUsingStrategy");282	m_pabUsingStrategy = FNEW(bool[m_pAIStrategies->GetNumMilitaryAIStrategies()], c_eCiv5GameplayDLL, 0);283284	CvAssertMsg(m_paiTurnStrategyAdopted==NULL, "about to leak memory, CvMilitaryAI::m_paiTurnStrategyAdopted");285	m_paiTurnStrategyAdopted = FNEW(int[m_pAIStrategies->GetNumMilitaryAIStrategies()], c_eCiv5GameplayDLL, 0);286287	CvAssertMsg(m_aiTempFlavors==NULL, "about to leak memory, CvMilitaryAI::m_aiTempFlavors");288	m_aiTempFlavors = FNEW(int[GC.getNumFlavorTypes()], c_eCiv5GameplayDLL, 0);289290	CvAssertMsg(m_paeLastTurnWarState==NULL, "about to leak memory, CvMilitaryAI::m_paeLastTurnWarState");291	m_paeLastTurnWarState = FNEW(int[MAX_CIV_PLAYERS], c_eCiv5GameplayDLL, 0);292293	CvAssertMsg(m_paeLastTurnMilitaryThreat==NULL, "about to leak memory, CvMilitaryAI::m_paeLastTurnMilitaryThreat");294	m_paeLastTurnMilitaryThreat = FNEW(int[MAX_CIV_PLAYERS], c_eCiv5GameplayDLL, 0);295296	CvAssertMsg(m_paeLastTurnMilitaryStrength==NULL, "about to leak memory, CvMilitaryAI::m_paeLastTurnMilitaryStrength");297	m_paeLastTurnMilitaryStrength = FNEW(int[MAX_CIV_PLAYERS], c_eCiv5GameplayDLL, 0);298299	CvAssertMsg(m_paeLastTurnTargetValue==NULL, "about to leak memory, CvMilitaryAI::m_paeLastTurnTargetValue");300	m_paeLastTurnTargetValue = FNEW(int[MAX_CIV_PLAYERS], c_eCiv5GameplayDLL, 0);301302	Reset();303}

Calls

Called by