[COLOR="Blue"]void[/COLOR] CvGameTextMgr::getOtherRelationsString(CvWStringBuffer& szString, PlayerTypes eThisPlayer, PlayerTypes eOtherPlayer)
{
[COLOR="Blue"]if[/COLOR] (eThisPlayer == NO_PLAYER || eOtherPlayer == NO_PLAYER)
{
[COLOR="Blue"]return[/COLOR];
}
CvPlayer& kThisPlayer = GET_PLAYER(eThisPlayer);
CvPlayer& kOtherPlayer = GET_PLAYER(eOtherPlayer);
/[COLOR="Green"]************************************************************************************************/
/* BETTER_BTS_AI 11/08/08 jdog5000 */
/* */
/* */
/************************************************************************************************/
/* original code
for (int iTeam = 0; iTeam < MAX_CIV_TEAMS; ++iTeam)
{
CvTeamAI& kTeam = GET_TEAM((TeamTypes) iTeam);
if (kTeam.isAlive() && !kTeam.isMinorCiv() && iTeam != kThisPlayer.getTeam() && iTeam != kOtherPlayer.getTeam())
{
if (kTeam.isHasMet(kOtherPlayer.getTeam()))
{
if (::atWar((TeamTypes) iTeam, kThisPlayer.getTeam()))
{
szString.append(NEWLINE);
szString.append(gDLL->getText(L"TXT_KEY_AT_WAR_WITH", kTeam.getName().GetCString()));
}
if (!kTeam.isHuman() && kTeam.AI_getWorstEnemy() == kThisPlayer.getTeam())
{
szString.append(NEWLINE);
szString.append(gDLL->getText(L"TXT_KEY_WORST_ENEMY_OF", kTeam.getName().GetCString()));
}
}
}
}
*/
// Put all war, worst enemy strings on one line[/COLOR]
CvWStringBuffer szWarWithString;
CvWStringBuffer szWorstEnemyString;
CvWStringBuffer szDefensivePactString;
[COLOR="Blue"]bool[/COLOR] bFirst = [COLOR="Blue"]true[/COLOR];
[COLOR="Blue"]bool[/COLOR] bFirst2 = [COLOR="Blue"]true[/COLOR];
[COLOR="Blue"]bool[/COLOR] bFirst3 = [COLOR="Blue"]true[/COLOR];
f[COLOR="Blue"]or[/COLOR] ([COLOR="Blue"]int[/COLOR] iTeam = 0; iTeam < MAX_CIV_TEAMS; ++iTeam)
{
CvTeamAI& kTeam = GET_TEAM((TeamTypes) iTeam);
[COLOR="Blue"]if[/COLOR] (kTeam.isAlive() && !kTeam.isMinorCiv() && iTeam != kThisPlayer.getTeam()) //Fuyu trying something: removed " && iTeam != kOtherPlayer.getTeam()"
{
/[COLOR="Green"]************************************************************************************************/
/* UNOFFICIAL_PATCH 09/28/09 Emperor Fool & jdog5000 */
/* */
/* */
/************************************************************************************************/
/* original bts code
if (kTeam.isHasMet(kOtherPlayer.getTeam()))
*/[/COLOR]
[COLOR="Blue"]if[/COLOR] (kTeam.isHasMet(kOtherPlayer.getTeam()) && kTeam.isHasMet(kThisPlayer.getTeam()) && kTeam.isHasMet(GC.getGameINLINE().getActiveTeam()))
[COLOR="Green"]/************************************************************************************************/
/* UNOFFICIAL_PATCH END */
/************************************************************************************************/[/COLOR]
{
[COLOR="Blue"]if[/COLOR] (::atWar((TeamTypes) iTeam, kThisPlayer.getTeam()))
{
[COLOR="Blue"]if[/COLOR] (iTeam == kOtherPlayer.getTeam() && iTeam == GC.getGameINLINE().getActiveTeam())
{
szString.append(NEWLINE);
szString.append(gDLL->getText(L"TXT_KEY_AT_WAR_WITH_YOU"));
}
[COLOR="Blue"]else[/COLOR]
{
setListHelp(szWarWithString, L"", kTeam.getName().GetCString(), L", ", bFirst);
bFirst = [COLOR="Blue"]false[/COLOR];
}
}
[COLOR="Blue"]if[/COLOR] ( !kTeam.isHuman() && kTeam.AI_getWorstEnemy() == kThisPlayer.getTeam() )
{
setListHelp(szWorstEnemyString, L"", kTeam.getName().GetCString(), L", ", bFirst2);
bFirst2 = [COLOR="Blue"]false[/COLOR];
}
[COLOR="Green"]// BUG - Leaderhead Defensive Pacts - start[/COLOR]
[COLOR="Blue"]if[/COLOR] (kTeam.isDefensivePact(kThisPlayer.getTeam()) && getBugOptionBOOL("MiscHover__LeaderheadDefensivePacts", true, "BUG_LEADERHEAD_HOVER_DEFENSIVE_PACTS"))
{
setListHelp(szDefensivePactString, L"", kTeam.getName().GetCString(), L", ", bFirst3);
bFirst3 = [COLOR="Blue"]false[/COLOR];
}
[COLOR="Green"]// BUG - Leaderhead Defensive Pacts - end[/COLOR]
}
}
}
[COLOR="Green"]// BUG - Leaderhead Worst Enemy - start[/COLOR]
CvWStringBuffer szWorstEnemyIsString;
[COLOR="Blue"]if[/COLOR] (getBugOptionBOOL("MiscHover__LeaderheadWorstEnemy", [COLOR="Blue"]true[/COLOR], "BUG_LEADERHEAD_HOVER_WORST_ENEMY"))
{
CvTeamAI& kThisTeam = GET_TEAM(kThisPlayer.getTeam());
[COLOR="Blue"]if[/COLOR] (!kThisTeam.isHuman())
{
TeamTypes eWorstEnemy = kThisTeam.AI_getWorstEnemy();
CvTeamAI& kWorstEnemy = GET_TEAM((TeamTypes) eWorstEnemy);
[COLOR="Blue"]if[/COLOR] ([B]eWorstEnemy == kOtherPlayer.getTeam() &&[/B] eWorstEnemy == GC.getGameINLINE().getActiveTeam()) [COLOR="Green"]//Fuyu only for kOtherPlayer[/COLOR]
{
szString.append(NEWLINE);
szString.append(gDLL->getText(L"TXT_KEY_WORST_ENEMY_IS_YOU"));
}
[COLOR="Blue"]else if[/COLOR] (eWorstEnemy != NO_TEAM [B]&& kWorstEnemy.isHasMet(kOtherPlayer.getTeam()) && kWorstEnemy.isHasMet(GC.getGameINLINE().getActiveTeam())[/B]) [COLOR="Green"]//Fuyu: having met is requirement, as always[/COLOR]
{
setListHelp(szWorstEnemyIsString, L"", GET_TEAM(eWorstEnemy).getName().GetCString(), L", ", true);
}
}
}
[COLOR="Green"]// BUG - Leaderhead Worst Enemy - end[/COLOR]
[COLOR="Blue"]if[/COLOR]( !szWarWithString.isEmpty() )
{
CvWString szTempBuffer;
szTempBuffer.assign(gDLL->getText(L"TXT_KEY_AT_WAR_WITH", szWarWithString));
szString.append(NEWLINE);
szString.append(szTempBuffer);
}
[COLOR="Blue"]if[/COLOR]( !szWorstEnemyIsString.isEmpty() )
{
CvWString szTempBuffer;
szTempBuffer.assign(gDLL->getText(L"TXT_KEY_WORST_ENEMY_IS", szWorstEnemyIsString));
szString.append(NEWLINE);
szString.append(szTempBuffer);
}
[COLOR="Blue"]if[/COLOR]( !szWorstEnemyString.isEmpty() )
{
CvWString szTempBuffer;
szTempBuffer.assign(gDLL->getText(L"TXT_KEY_WORST_ENEMY_OF", szWorstEnemyString));
szString.append(NEWLINE);
szString.append(szTempBuffer);
}
[COLOR="Blue"]if[/COLOR]( !szDefensivePactString.isEmpty() )
{
CvWString szTempBuffer;
szTempBuffer.assign(gDLL->getText(L"TXT_KEY_DEFENSIVE_PACT_WITH", szDefensivePactString));
szString.append(NEWLINE);
szString.append(szTempBuffer);
}
[COLOR="Green"]/************************************************************************************************/
/* BETTER_BTS_AI END */
/************************************************************************************************/[/COLOR]
}