Цитата Сообщение от kabjans Посмотреть сообщение
Вроде бы нашел нечто подходящее в исходных кодах.
Еще вчера вечером, когда я писал эти строки, у меня было подозрение, что найденное решение неверно. Поэтому я и написал "вроде бы".

Кроме того меня смeщало и другое:

Цитата Сообщение от kabjans Посмотреть сообщение
Странно, но эту строку

Код:
if (kLoopPlayer.getCivilizationType() == 1)
игра принимает за данность и абсолютно все европейские цивилизации имеют Threshold = 900, кроме Англии, у которой, как и положено Threshold = 1200. Я думал, что для каждой нации надо прописывать свое условие.
После проверки все встало на свои места.

Найденный вариант работает только если играть за Англию.

Причина тоже ясна. Перебор идет через номер игрока (Player), а не порядковый номер цивилизации из CIV4CivilizationInfos.xml, как я ранее думал. Если я начну за Францию или любую другую страну, то именно у меня будет самым высоким iThreshold. Все остальные нации получат 25% снижение для iThreshold. что неверно.

Цитата Сообщение от kabjans Посмотреть сообщение
В принципе, для конкретно данного приложения меня это вполне устраивает, но хотелось бы понять логику программы, поскольку есть идеи как этот же трюк применить в других случаях. ....
Увы, но найденное мной псевдо-"решение" не годится и вопрос остается открытым.

Как правильно прописать условие в данном примере:
Код:
if
                          //если игрок - Франция, Испания или Голландия

                          //то
{
      iThreshold = (iBASE_BIRTH_POINTS_THRESHOLD - 100);
   } 

else 
   { 
      iThreshold = iBASE_BIRTH_POINTS_THRESHOLD;
   }