Bazaar developer reference

CvDiplomacyAI::GetMajorCivApproach(PlayerTypes, bool) const

Defined in
CvDiplomacyAI.cpp, line 3659
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_GetMajorCivApproach

Hooks

static bool BeforeCvDiplomacyAI_GetMajorCivApproach(const CvDiplomacyAI* self, PlayerTypes ePlayer, bool bHideTrueFeelings, MajorCivApproachTypes& result);static void AfterCvDiplomacyAI_GetMajorCivApproach(const CvDiplomacyAI* self, PlayerTypes ePlayer, bool bHideTrueFeelings, MajorCivApproachTypes& result);static MajorCivApproachTypes ReplaceCvDiplomacyAI_GetMajorCivApproach(MajorCivApproachTypes (*original)(const CvDiplomacyAI*, PlayerTypes, bool), const CvDiplomacyAI* self, PlayerTypes ePlayer, bool bHideTrueFeelings);CivRegisterBefore<CivHooks::CvDiplomacyAI_GetMajorCivApproach>(host, &BeforeCvDiplomacyAI_GetMajorCivApproach);CivRegisterAfter<CivHooks::CvDiplomacyAI_GetMajorCivApproach>(host, &AfterCvDiplomacyAI_GetMajorCivApproach);CivRegisterReplace<CivHooks::CvDiplomacyAI_GetMajorCivApproach>(host, &ReplaceCvDiplomacyAI_GetMajorCivApproach);

Code

3658/// What is our Diplomatic approach to this Major Civ?3659MajorCivApproachTypes CvDiplomacyAI::GetMajorCivApproach(PlayerTypes ePlayer, bool bHideTrueFeelings) const3660{3661	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");3662	CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");36633664	MajorCivApproachTypes eApproach = (MajorCivApproachTypes) m_paeMajorCivApproach[ePlayer];36653666	// If we're hiding our true feelings then use the War Face or Friendly if we're Deceptive3667	if(bHideTrueFeelings)3668	{3669		// Deceptive = Friendly3670		if(eApproach == MAJOR_CIV_APPROACH_DECEPTIVE)3671		{3672			eApproach = MAJOR_CIV_APPROACH_FRIENDLY;3673		}36743675		// War Face3676		else if(eApproach == MAJOR_CIV_APPROACH_WAR)3677		{3678			switch(GetWarFaceWithPlayer(ePlayer))3679			{3680			case WAR_FACE_HOSTILE:3681				eApproach = MAJOR_CIV_APPROACH_HOSTILE;3682				break;3683			case WAR_FACE_FRIENDLY:3684				eApproach = MAJOR_CIV_APPROACH_FRIENDLY;3685				break;3686			case WAR_FACE_NEUTRAL:3687				eApproach = MAJOR_CIV_APPROACH_NEUTRAL;3688				break;3689			default:3690				CvAssert(false);3691				break;3692			}3693		}3694	}36953696	return eApproach;3697}

Calls

Called by

73 functions in 11 files