MilitaryAIHelpers::GetWeightThresholdModifier(MilitaryAIStrategyTypes, CvPlayer *)
- Defined in
- CvMilitaryAI.cpp, line 4498
- Hook name
CivHooks::MilitaryAIHelpers_GetWeightThresholdModifier
Hooks
static bool BeforeMilitaryAIHelpers_GetWeightThresholdModifier(MilitaryAIStrategyTypes eStrategy, CvPlayer* pPlayer, int& result);static void AfterMilitaryAIHelpers_GetWeightThresholdModifier(MilitaryAIStrategyTypes eStrategy, CvPlayer* pPlayer, int& result);static int ReplaceMilitaryAIHelpers_GetWeightThresholdModifier(int (*original)(MilitaryAIStrategyTypes, CvPlayer*), MilitaryAIStrategyTypes eStrategy, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::MilitaryAIHelpers_GetWeightThresholdModifier>(host, &BeforeMilitaryAIHelpers_GetWeightThresholdModifier);CivRegisterAfter<CivHooks::MilitaryAIHelpers_GetWeightThresholdModifier>(host, &AfterMilitaryAIHelpers_GetWeightThresholdModifier);CivRegisterReplace<CivHooks::MilitaryAIHelpers_GetWeightThresholdModifier>(host, &ReplaceMilitaryAIHelpers_GetWeightThresholdModifier);
Code
4497// Figure out what the WeightThreshold Mod should be by looking at the Flavors for this player & the Strategy4498int MilitaryAIHelpers::GetWeightThresholdModifier(MilitaryAIStrategyTypes eStrategy, CvPlayer* pPlayer)4499{4500 int iWeightThresholdModifier = 0;45014502 CvMilitaryAIStrategyXMLEntries* pkAIStrategies = pPlayer->GetMilitaryAI()->GetMilitaryAIStrategies();4503 CvFlavorManager* pkFlavorManager = pPlayer->GetFlavorManager();4504 // Look at all Flavors for the Player & this Strategy4505 for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)4506 {4507 FlavorTypes eFlavor = (FlavorTypes) iFlavorLoop;4508 int iPersonalityFlavor = pkFlavorManager->GetPersonalityIndividualFlavor(eFlavor);4509 CvMilitaryAIStrategyXMLEntry* pkEntry = pkAIStrategies->GetEntry(eStrategy);4510 CvAssert(pkEntry != NULL);4511 if(pkEntry)4512 {4513 int iStrategyFlavorMod = pkEntry->GetPersonalityFlavorThresholdMod(eFlavor);45144515 iWeightThresholdModifier += (iPersonalityFlavor * iStrategyFlavorMod);4516 }4517 }45184519 return iWeightThresholdModifier;4520}
Calls
- CvFlavorManager::GetPersonalityIndividualFlavor(FlavorTypes)
- CvGlobals::getNumFlavorTypes()
- CvMilitaryAI::GetMilitaryAIStrategies()
- CvMilitaryAIStrategyXMLEntries::GetEntry(int)
- CvMilitaryAIStrategyXMLEntry::GetPersonalityFlavorThresholdMod(int) const
- CvPlayer::GetFlavorManager() const
- CvPlayer::GetMilitaryAI() const