/// Get the base Priority for a Grand Strategy; these are elements common to ALL Grand Strategies int CvGrandStrategyAI::GetBaseGrandStrategyPriority(AIGrandStrategyTypes eGrandStrategy) { CvAIGrandStrategyXMLEntry* pGrandStrategy = GetAIGrandStrategies()->GetEntry(eGrandStrategy); int iPriority = 0; // Personality effect on Priority for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++) { if(pGrandStrategy->GetFlavorValue(iFlavorLoop) != 0) { iPriority += (pGrandStrategy->GetFlavorValue(iFlavorLoop) * GetPlayer()->GetFlavorManager()->GetPersonalityIndividualFlavor((FlavorTypes) iFlavorLoop)); } } return iPriority; }
int CvGrandStrategyAI::GetPersonalityAndGrandStrategy(FlavorTypes eFlavorType) #endif { if(m_eActiveGrandStrategy != NO_AIGRANDSTRATEGY) { CvAIGrandStrategyXMLEntry* pGrandStrategy = GetAIGrandStrategies()->GetEntry(m_eActiveGrandStrategy); int iModdedFlavor = pGrandStrategy->GetFlavorModValue(eFlavorType) + m_pPlayer->GetFlavorManager()->GetPersonalityIndividualFlavor(eFlavorType); iModdedFlavor = max(0,iModdedFlavor); #if defined(MOD_AI_SMART_V3) if(MOD_AI_SMART_V3 && bBoostGSMainFlavor && (pGrandStrategy->GetFlavorValue(eFlavorType) > 0)) { iModdedFlavor = min(10, ((pGrandStrategy->GetFlavorValue(eFlavorType) + iModdedFlavor + 1) / 2)); } #endif return iModdedFlavor; } return m_pPlayer->GetFlavorManager()->GetPersonalityIndividualFlavor(eFlavorType); }