Bug Reports and Technical Issues

Spoiler ITER anyone? :
Civ4ScreenShot0069.JPG


Not sure if this is a bug, or WAD but ITER seems to be really OP. How do I get +564 commerce :crazyeye:? It's effect says +1 :commerce: per power consumed in all cities. All cities in the world or just all the my cities? Map has less than 564 cities. Maybe it counts every building the the world that consumes power?
 
It count every building that consumes power. There are 12 buildings that do consume power.

Don't you think this effect is unlike anything else one can build in this mod? I get it, ITER is important, my best friend works for the project and all:high5:, but such an insane effect for one mega experiment? ITER is not designed to produce electricity, but made as a proof of concept reactor for the later DEMO project. Even renaming ITER to DEMO would not reflect the current effect of mod's ITER because DEMO's anticipated success is expected to lead to full-scale electricity-producing fusion power stations and future commercial reactors.
 
:gold: bonus is not equal to city's population. Bug?
Civ4ScreenShot0184.JPG
 
Zero population city bug raises it's ugly head again :sad:
Civ4ScreenShot0185.JPG
 
The Moors third and final historical goals failed to me.
The game just stopped at the end of turn without declaring the historical victory.
I played with the official 1.16 version and at Paragon/Marathon difficulty.
Save games before and after last goal was completed attached.
 

Attachments

Was the population 22 at the time the wonder was built?
Anything that happens 5 turns ago and more -- has no autosave with my setup, so I would not know, I just discover irregularities many turns later. Interestingly, when New York goes size 25 -- this Wonder starts working correctly.
 
Both. 1 sugar resource is counted as 1 oil resource.
 
Then something seems awry, look at the Oil Industry yield

I checked the code, and it is indeed bugged. That it only shows the oil icon is also a bug, but with a different cause.
(change the "getNumBonuses(eBonus)" in the std::min() part at the bottom to "iNumBonuses " should do the trick)

Looking at the code raised some other questions for me. The pedia mentions "[ICON_BULLET]Corporations will consume a maximum of 12 resources.". But it seems that it comsumes max 12 resources of each type. Bug or intended?

I can make a PR with a fix if you want.

Code:
    if (isActiveCorporation(eCorporation) && !isDisorder())
    {
        for (int i = 0; i < GC.getNUM_CORPORATION_PREREQ_BONUSES(); ++i)
        {
            BonusTypes eBonus = (BonusTypes)GC.getCorporationInfo(eCorporation).getPrereqBonus(i);
            if (eBonus == NO_BONUS)
            {
                continue;
            }

            iNumBonuses = getNumBonuses(eBonus);

            // Leoreth: Brazilian UP (sugar counts as oil for oil industry)
            if (getOwner() == BRAZIL && eBonus == BONUS_OIL && eCorporation == (CorporationTypes)6)
            {
                iNumBonuses += getNumBonuses(BONUS_SUGAR);
            }

            // Leoreth: includes Dutch UP (double yield from trading company)
            if (iNumBonuses > 0)
            {
                //iCommerce += (GC.getCorporationInfo(eCorporation).getCommerceProduced(eIndex) * iNumBonuses * GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getCorporationMaintenancePercent()) / 100;
                iCommerce += ((getOwner() == NETHERLANDS && eCorporation == (CorporationTypes)1) ? 2 : 1) * (GC.getCorporationInfo(eCorporation).getCommerceProduced(eIndex) * std::min(12, getNumBonuses(eBonus)) * GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getCorporationMaintenancePercent()) / 100; //Rhye - corporation cap
            }
        }
    }
 
I think it's intended as is by Rhye, making it global across all resources is much harder to implemented with how corporation yields work.

PR is welcome of course.
 
I interpret that he intended it to be a global cap of 12. I think that makes more sense too because it equalizes the number of resources required to max out the yield/commerce from a corporation. The Oil Industry consumes only 1 resource type, so it is maxed out at 12 resources. The Textile Industry comsumes 5 resource types, so it maxes out at 60 resources, giving it a much bigger yield and/or commerce potential.

Small note: there is an additional cap that limits the yield/commerce from a corporation to 25. So actually there already is some kind of global resource cap. But now it is much easier to reach if a corporation consumes more resource types.

The global cap isn't hard to implement at all. (In fact, I already have implemented it locally.)
 
Anyone else have a problem of the game just closing without warning or crash reports all of a sudden every once in a while?
Also whenever I start a game, no tile yields are shown for 1-2 turns and sometimes my starting city and militia just disappears after I settle my village (though I can still move the militia and choose production).
 
While l was looking through CityNameManager.py, I spotted a typo in line 191 (latest git commit): "iCelta" should be "iCeltia".

EDIT: Also, PyCharm tells me both CvUtil and Popup are unused imports.
EDIT2: Same for iEra at line 299. dIdentifiers (starting at line 3072) contains the following keys twice: Antiochia, Aomen, Malaka, Bukgyeong, Florencja, Gilim, Dalju, Melpum, Mo&#231;ambique, Sanggyeong, Orl&#233;ans, Haishenwai. If I understand the code correctly, this causes some renames to have no effect, especially for Aomen.
 
Last edited:
Back
Top Bottom