CvDiplomacyAI::GetOtherPlayerProtectedMinorBullied(PlayerTypes)
- Defined in
- CvDiplomacyAI.cpp, line 10066
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_GetOtherPlayerProtectedMinorBullied
Hooks
static bool BeforeCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied(CvDiplomacyAI* self, PlayerTypes eBullyPlayer, PlayerTypes& result);static void AfterCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied(CvDiplomacyAI* self, PlayerTypes eBullyPlayer, PlayerTypes& result);static PlayerTypes ReplaceCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied(PlayerTypes (*original)(CvDiplomacyAI*, PlayerTypes), CvDiplomacyAI* self, PlayerTypes eBullyPlayer);CivRegisterBefore<CivHooks::CvDiplomacyAI_GetOtherPlayerProtectedMinorBullied>(host, &BeforeCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied);CivRegisterAfter<CivHooks::CvDiplomacyAI_GetOtherPlayerProtectedMinorBullied>(host, &AfterCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied);CivRegisterReplace<CivHooks::CvDiplomacyAI_GetOtherPlayerProtectedMinorBullied>(host, &ReplaceCvDiplomacyAI_GetOtherPlayerProtectedMinorBullied);
Code
10065/// Which of our protected minors has this player most recently bullied?10066PlayerTypes CvDiplomacyAI::GetOtherPlayerProtectedMinorBullied(PlayerTypes eBullyPlayer)10067{10068 CvAssertMsg(eBullyPlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Anton your save file and version.");10069 CvAssertMsg(eBullyPlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index. Please send Anton your save file and version.");1007010071 int iMostRecentBullyTurn = -1;10072 PlayerTypes eMostRecentBulliedMinor = NO_PLAYER;1007310074 for(int iMinorLoop = MAX_MAJOR_CIVS; iMinorLoop < MAX_CIV_PLAYERS; iMinorLoop++)10075 {10076 PlayerTypes eMinor = (PlayerTypes) iMinorLoop;10077 if(IsPlayerValid(eMinor))10078 {10079 if(GET_PLAYER(eMinor).GetMinorCivAI()->IsProtectedByMajor(GetPlayer()->GetID()))10080 {10081 if(GET_PLAYER(eMinor).GetMinorCivAI()->IsEverBulliedByMajor(eBullyPlayer))10082 {10083 int iBullyTurn = GET_PLAYER(eMinor).GetMinorCivAI()->GetTurnLastBulliedByMajor(eBullyPlayer);10084 if(iBullyTurn > iMostRecentBullyTurn)10085 {10086 iMostRecentBullyTurn = iBullyTurn;10087 eMostRecentBulliedMinor = eMinor;10088 }10089 }10090 }10091 }10092 }1009310094 return eMostRecentBulliedMinor;10095}
Calls
- CvDiplomacyAI::GetPlayer()
- CvDiplomacyAI::IsPlayerValid(PlayerTypes, bool)
- CvMinorCivAI::GetTurnLastBulliedByMajor(PlayerTypes) const
- CvMinorCivAI::IsEverBulliedByMajor(PlayerTypes) const
- CvMinorCivAI::IsProtectedByMajor(PlayerTypes) const
- CvPlayer::GetID() const
- CvPlayer::GetMinorCivAI() const
- CvPlayerAI::getPlayer(PlayerTypes)