When studying your code and reading posts i found that CCCP is aware of some bugs, which i already solved in TR for warlords:
- Civics
Some (not all) negative state religion modifies show as -12387978634
.
.
.
Dales Combat Mod has some SEVERE bugs in it. Mexico is debugging the C++ like a mad man, if he ever gets it working properly we might want to consider
Bombardment...
Dale's Combat Mod: i was debugging first release, which look that now is working (included in Total Realism 2.1.3) - but now there is updated version (1.3), which is not tested by me (lack of time)
showing bad number for positive/negative religion modifies in civic info is bug in SDK from Firaxis
i found that you are using old TheLopez Replaced by mod - now he released new version with Replaced by tag for buildings too and with some improvements (not show this tag in game, only in civpedia - based on my report)
also i have updated flying mod:
- show "Can fly" text for unit with flying ability
- original Flying mod have feature, that flying unit do not suffer penalty when attack from water to land (like it have amphibious attack) - why was this removed? it is realistic feature ( i also have removed penalty when crossing river for flying unit)
i don't know if this is updated in your source repository, this was found in 2.00.6 version - if you are interest of this (or some of this) patches, just PM me
mexico
EDIT:
another bug found ?
don't know if this is a real bug - maybe this is prepared for future:
Code:
void CvCity::changeBaseGreatPeopleRate(int iChange)
{
m_iBaseGreatPeopleRate = (m_iBaseGreatPeopleRate + iChange);
FAssert(getBaseGreatPeopleRate() >= 0);
// Start Addition GreatPeoplePointPooling by Impaler[WrG] 5/2/06
if (GC.getGameINLINE().isOption(GAMEOPTION_GREAT_PEOPLE_POINT_POOLING))
{
int OriginalRate = ((getBaseGreatPeopleRate() * getTotalGreatPeopleRateModifier()) / 100);
int NewRate = ((getBaseGreatPeopleRate() * getTotalGreatPeopleRateModifier()) / 100);
GET_PLAYER(getOwnerINLINE()).changeGreatPeopleRate(NewRate - OriginalRate);
}
// End Addition by Impaler[WrG]
}
it seems that OriginalRate and NewRate have same value, because using same formula - so i can't see reason, why it is calculated - also changeGreatPeopleRate is called with 0 - so no change - in this case this code is useless
( it look (IMHO) that OrigialRate must be calculated BEFORE changes are made:
Code:
void CvCity::changeBaseGreatPeopleRate(int iChange)
{
// Start Addition GreatPeoplePointPooling by Impaler[WrG] 5/2/06
if (GC.getGameINLINE().isOption(GAMEOPTION_GREAT_PEOPLE_POINT_POOLING))
{
int OriginalRate = ((getBaseGreatPeopleRate() * getTotalGreatPeopleRateModifier()) / 100);
}
// End Addition by Impaler[WrG]
m_iBaseGreatPeopleRate = (m_iBaseGreatPeopleRate + iChange);
FAssert(getBaseGreatPeopleRate() >= 0);
// Start Addition GreatPeoplePointPooling by Impaler[WrG] 5/2/06
if (GC.getGameINLINE().isOption(GAMEOPTION_GREAT_PEOPLE_POINT_POOLING))
{
int NewRate = ((getBaseGreatPeopleRate() * getTotalGreatPeopleRateModifier()) / 100);
GET_PLAYER(getOwnerINLINE()).changeGreatPeopleRate(NewRate - OriginalRate);
}
// End Addition by Impaler[WrG]
}