Bazaar developer reference

CvLeagueAI::GetKnowledgeGivenToOtherPlayer(PlayerTypes, CvString *)

Defined in
CvVotingClasses.cpp, line 8171
Class
CvLeagueAI
Hook name
CivHooks::CvLeagueAI_GetKnowledgeGivenToOtherPlayer

Hooks

static bool BeforeCvLeagueAI_GetKnowledgeGivenToOtherPlayer(CvLeagueAI* self, PlayerTypes eToPlayer, CvString* sTooltipSink, CvLeagueAI::KnowledgeLevels& result);static void AfterCvLeagueAI_GetKnowledgeGivenToOtherPlayer(CvLeagueAI* self, PlayerTypes eToPlayer, CvString* sTooltipSink, CvLeagueAI::KnowledgeLevels& result);static CvLeagueAI::KnowledgeLevels ReplaceCvLeagueAI_GetKnowledgeGivenToOtherPlayer(CvLeagueAI::KnowledgeLevels (*original)(CvLeagueAI*, PlayerTypes, CvString*), CvLeagueAI* self, PlayerTypes eToPlayer, CvString* sTooltipSink);CivRegisterBefore<CivHooks::CvLeagueAI_GetKnowledgeGivenToOtherPlayer>(host, &BeforeCvLeagueAI_GetKnowledgeGivenToOtherPlayer);CivRegisterAfter<CivHooks::CvLeagueAI_GetKnowledgeGivenToOtherPlayer>(host, &AfterCvLeagueAI_GetKnowledgeGivenToOtherPlayer);CivRegisterReplace<CivHooks::CvLeagueAI_GetKnowledgeGivenToOtherPlayer>(host, &ReplaceCvLeagueAI_GetKnowledgeGivenToOtherPlayer);

Code

8171CvLeagueAI::KnowledgeLevels CvLeagueAI::GetKnowledgeGivenToOtherPlayer(PlayerTypes eToPlayer, CvString* sTooltipSink)8172{8173	// Shared Ideology8174	PolicyBranchTypes eMyIdeology = GetPlayer()->GetPlayerPolicies()->GetLateGamePolicyTree();8175	PolicyBranchTypes eTheirIdeology = GET_PLAYER(eToPlayer).GetPlayerPolicies()->GetLateGamePolicyTree();8176	bool bShareIdeology = ((eMyIdeology == eTheirIdeology) && (eMyIdeology != NO_POLICY_BRANCH_TYPE) && (eTheirIdeology != NO_POLICY_BRANCH_TYPE));81778178	// Espionage8179	bool bSpyVisitingUs = GetPlayer()->GetEspionage()->IsOtherDiplomatVisitingMe(eToPlayer);81808181	// Find the knowledge level8182	KnowledgeLevels eKnowledge = KNOWLEDGE_NONE;8183	if (bShareIdeology && bSpyVisitingUs)8184	{8185		eKnowledge = KNOWLEDGE_INTIMATE;8186	}8187	else if (bShareIdeology || bSpyVisitingUs)8188	{8189		eKnowledge = KNOWLEDGE_PARTIAL;8190	}81918192	// Exceptions8193	if (DEBUG_LEAGUES)8194	{8195		eKnowledge = KNOWLEDGE_INTIMATE;8196	}8197	if (GetPlayer()->isHuman())8198	{8199		// Human player intentions are never known8200		eKnowledge = KNOWLEDGE_NONE;8201	}82028203	// Tooltip8204	if (sTooltipSink != NULL)8205	{8206		switch (eKnowledge)8207		{8208		case KNOWLEDGE_INTIMATE:8209			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_INTIMATE").toUTF8();8210			break;8211		case KNOWLEDGE_PARTIAL:8212			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_PARTIAL").toUTF8();8213			break;8214		case KNOWLEDGE_NONE:8215		default:8216			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_NONE").toUTF8();8217			break;8218		}8219		8220		if (bShareIdeology)8221		{8222			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_IDEOLOGY").toUTF8();8223		}8224		else8225		{8226			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_NO_IDEOLOGY").toUTF8();8227		}82288229		if (bSpyVisitingUs)8230		{8231			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_SPY").toUTF8();8232		}8233		else8234		{8235			(*sTooltipSink) += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_INTRIGUE_NO_SPY").toUTF8();8236		}8237	}82388239	return eKnowledge;8240}

Calls

Called by