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
- CvLeagueAI::GetPlayer()
- CvPlayer::GetEspionage() const
- CvPlayer::GetPlayerPolicies() const
- CvPlayer::isHuman() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerEspionage::IsOtherDiplomatVisitingMe(PlayerTypes)
- CvPlayerPolicies::GetLateGamePolicyTree() const
Localization::LookupLocalization::String::toUTF8std::basic_string::operator+=