Some more questions about the mod.

Somebody613

Deity
Joined
Nov 18, 2019
Messages
2,375
1. Is the following hard-coded and non-fixable - or is it a "feature" (so annoying I'd call it a "bug" anyways)?
-Limiting World Wonders to ONE per TURN even when more can be built in a straight row.
-Breaking the building progress when switching to "units built with food", and the same about above.
-The way Special Building Science/Culture/etc are treated, aka aligned to the city's GROWTH progress.
All of those are more nuisances than features, quite unambiguously.

2. Probably a stupid question, but why am I unable to start a war on my vassal?
Logically thinking, I should be the one deciding it.
And from the game side, it often makes me end up with BALLAST instead of BONUSES.

3. Is there any way to add some visual distinction during trade for resources that you DON'T have?
Would just make it easier and faster than to manually check half the list each time.
And NO, checking the Advisor is exactly the same thing - just worse, because I have to remember it as well.

4. What happened to map trading?
Either it's handled by some BUG that I can't find or decipher, or it's defunct now.
A huge pity, really.

5. Somewhat related to the above (and could be the reason itself).
Do trade type options (resources, techs, etc) have to be unlocked by BOTH parties to be usable?
It really seems that YES.
Then I would really like you to implement a way to ignore it.
For example, I need Writing to trade techs - but why would the OTHER guy need it to RECEIVE a free tech?

6. How exactly does religion spreading work?
Because I sometimes (even if rarely) see my religion drifting to most weirdest neighbors half-a-continent away, yet NOT appear in a next-door city (or even MY city) for quite a period of time.
Randomized, yes, but sometimes way too weird anyways.

7. Task events should have at least some type of a progression bar or whatnot.
It annoys me to receive a task that I'll spend 100 (or 300) further turns on (on Eternity) - yet there's no RFC-style progress visualization for me to even be aware whether it's still ON in the first place.

I might add something later, but so far this is it.
 
3. If the other one is not your vassal they will usually refuse to trade a resource to you that you already have.

5. In most cases both sides need the tech (the OTHER guy must at least be able to *read*, I suppose - which is somewhat connected to writing). Vassalization seems to be the exemption to this.

6. Leaders get their favorite religion even from far away, mostly because just having a religion is a strong bonus, *especially* in the earlier eras. This can help making the AI a bit more competitive.

7. How many bars should be added to the screen? There are already a few bars that don't exist in vanilla.
 
3. If the other one is not your vassal they will usually refuse to trade a resource to you that you already have.

5. In most cases both sides need the tech (the OTHER guy must at least be able to *read*, I suppose - which is somewhat connected to writing). Vassalization seems to be the exemption to this.

6. Leaders get their favorite religion even from far away, mostly because just having a religion is a strong bonus, *especially* in the earlier eras. This can help making the AI a bit more competitive.

7. How many bars should be added to the screen? There are already a few bars that don't exist in vanilla.
3. Silly me, because I did mean the VASSALS, lol.
It's just that I'm currently running a VASSAL-em-all type of a game, so I have 20+ vassals and wanted a less-taxing way to filter stuff I need to get from them, lol.

5/6. Thanks.

7. No, I simply meant adding SOMETHING to the Quests "non-info" TEXT, like "you have completed 10/25 Stables" or "you had failed this quest" (which should REMOVE it as well).
I did say RFC-like, ya know - if you know that one, you know exactly what I mean here.
 
  • Like
Reactions: tmv
-Limiting World Wonders to ONE per TURN even when more can be built in a straight row.
IIRC, this was an artifact of how multiple production was setup. I'm not sure about the details as to whether it was set this way intentionally or as a result of just the way Afforess may have had to go about some things trying to adapt from the old one item in the queue can be built in a turn rule that vanilla previously had. I thought that you could build multiple of any type as long as you didn't change categories, so if you were building a few wonders in a row, the production would carry over after the first one finished but if you were switching from a wonder to a building or unit or from any one of those three to another, it stops the production cycle there at that juncture. I could be wrong.

-Breaking the building progress when switching to "units built with food", and the same about above.
So yeah that's even trickier since the amount of production for the turn coming from food is all or nothing for the turn. So you have to start the turn's worth of construction activities knowing if you're going to be using food or not and if you are, it's the first part of the construction towards the unit up for training. Otherwise it has to stop as soon as it is looking at the unit that builds with food coming up in the queue so that the next round it can start with that. Hope that makes some sense.

-The way Special Building Science/Culture/etc are treated, aka aligned to the city's GROWTH progress.
No idea what you're trying to say with this. Are you talking about processes? ('building culture, science etc...) And what do you mean 'aligned' to the city's growth progress? They have no direct relationship so far as I know.

2. Probably a stupid question, but why am I unable to start a war on my vassal?
I dunno... vassals are poorly done in this game imo and we have had a good proposal to merge in a lot of new rules and methods for them but I have never had the time and focus on the issue to include that stuff.

3. Is there any way to add some visual distinction during trade for resources that you DON'T have?
Would just make it easier and faster than to manually check half the list each time.
And NO, checking the Advisor is exactly the same thing - just worse, because I have to remember it as well.
I tried to make it so it would show you how much you have of that when you hover over it? Is that not working now? Or is it working and still not good enough? I'm not sure how we could improve on it further.

4. What happened to map trading?
Either it's handled by some BUG that I can't find or decipher, or it's defunct now.
A huge pity, really.
Not sure but I've always enjoyed selling my maps whenever I can. Been a while since I've played that far in to be able to though.

5. Somewhat related to the above (and could be the reason itself).
Do trade type options (resources, techs, etc) have to be unlocked by BOTH parties to be usable?
It really seems that YES.
Then I would really like you to implement a way to ignore it.
For example, I need Writing to trade techs - but why would the OTHER guy need it to RECEIVE a free tech?
I think it depends on the type of agreement but for techs, yes, and probably yes for maps as well. If you can't read you can't study or distribute what another nation writes down for you.

6. How exactly does religion spreading work?
Because I sometimes (even if rarely) see my religion drifting to most weirdest neighbors half-a-continent away, yet NOT appear in a next-door city (or even MY city) for quite a period of time.
Randomized, yes, but sometimes way too weird anyways.
I think someone else said it but there's probably something to do with the Favored Leader thing at work here that automatically spreads it to you if the religion is founded and its your favorite religion (as a leader).

Cities in trade routes have chances to have the religions along those routes spreading to them and the chance (checked each round) varies by the religion itself and there's a BUG option to enable multiple religion spread which allows for the spread to happen even if the city already has a religion there (which without the option on is impossible). Sometimes trade routes go for the farthest off possible because the value of a trade city partner is influenced higher by distance.

7. Task events should have at least some type of a progression bar or whatnot.
It annoys me to receive a task that I'll spend 100 (or 300) further turns on (on Eternity) - yet there's no RFC-style progress visualization for me to even be aware whether it's still ON in the first place.
Sounds like a fairly involved modification indeed.
EDIT: According to your last post: I'm not the guy to ask about how feasible that is. I have no idea how that screen works or even where to access it. Maybe @Toffer90 might have comment.
 
IIRC, this was an artifact of how multiple production was setup. I'm not sure about the details as to whether it was set this way intentionally or as a result of just the way Afforess may have had to go about some things trying to adapt from the old one item in the queue can be built in a turn rule that vanilla previously had. I thought that you could build multiple of any type as long as you didn't change categories, so if you were building a few wonders in a row, the production would carry over after the first one finished but if you were switching from a wonder to a building or unit or from any one of those three to another, it stops the production cycle there at that juncture. I could be wrong.


So yeah that's even trickier since the amount of production for the turn coming from food is all or nothing for the turn. So you have to start the turn's worth of construction activities knowing if you're going to be using food or not and if you are, it's the first part of the construction towards the unit up for training. Otherwise it has to stop as soon as it is looking at the unit that builds with food coming up in the queue so that the next round it can start with that. Hope that makes some sense.


No idea what you're trying to say with this. Are you talking about processes? ('building culture, science etc...) And what do you mean 'aligned' to the city's growth progress? They have no direct relationship so far as I know.


I dunno... vassals are poorly done in this game imo and we have had a good proposal to merge in a lot of new rules and methods for them but I have never had the time and focus on the issue to include that stuff.


I tried to make it so it would show you how much you have of that when you hover over it? Is that not working now? Or is it working and still not good enough? I'm not sure how we could improve on it further.


Not sure but I've always enjoyed selling my maps whenever I can. Been a while since I've played that far in to be able to though.


I think it depends on the type of agreement but for techs, yes, and probably yes for maps as well. If you can't read you can't study or distribute what another nation writes down for you.


I think someone else said it but there's probably something to do with the Favored Leader thing at work here that automatically spreads it to you if the religion is founded and its your favorite religion (as a leader).

Cities in trade routes have chances to have the religions along those routes spreading to them and the chance (checked each round) varies by the religion itself and there's a BUG option to enable multiple religion spread which allows for the spread to happen even if the city already has a religion there (which without the option on is impossible). Sometimes trade routes go for the farthest off possible because the value of a trade city partner is influenced higher by distance.


Sounds like a fairly involved modification indeed.
EDIT: According to your last post: I'm not the guy to ask about how feasible that is. I have no idea how that screen works or even where to access it. Maybe @Toffer90 might have comment.
0. Thanks.

1a. ANY wonders (world OR national) are limited to one per turn, no matter what.
And what's funnier, they DO transfer the surplus onto NORMAL buildings, so I'm always having a queue of the type "a wonder, then lots of normal buildings".
Which results in me building the wonder AND a good chunk of normal buildings from the surplus.
I find this to be simply stupid in a game that has literally HUNDREDS of wonder.
I want my building capabilities to rely on my resource depth, not on some dumb limitation that came from ancient Vanilla.
The sooner this "feature" is eliminated for good - the better.
I bet hardly anyone would disagree with this.

1b. I understand HOW it happens.
I just want it to NOT happen, lol.
And really, how hard is to simply calculate the food addition at the start of the entire calculation?
Interesting enough, but in the case of tool buildings - does the next building get the increase effect while still during the building turn?
If no, well, I'm just disappointed.
If yes, this is pretty much the same mechanism of checking while building - so it should be changed.

1c. Yes, "Meager CULTURE" production and so on.
It has its "completion line" aligned to the city's Growth line, and as far as I played, it triggers a "building completion end" alongside Growth check.
This is contextually stupid as well.

2. Let's hope it gets eventually fixed, because the system IS underdeveloped, without a question.

3. I meant it for trading with my vassals - to show me the (0) ownership resources in a way that I would NOT need to hover my mouse over EACH of them.

4. Ah, silly-silly me.
It's quite possible that ALL of my super-smart neighbors are still struggling to READ altogether, mwahahaha.

5. I'll check that myself later on.

6. Thanks.

7. Well, if you EVENTUALLY fuse C2C and RFC...
That MONSTER will crush Civ VII like a BUG it will be.
MWAHAHAHAHAHA!!!
 
Interesting enough, but in the case of tool buildings - does the next building get the increase effect while still during the building turn?
Of course it would since it's taking place in the same turn where food has been converted to production. Once that's happened that's that. The food is converted to production or its not. The amount of production pool for the round is determined at the beginning of the round and then each completing queue item charges its cost against that pool.

The sooner this "feature" is eliminated for good - the better.
I bet hardly anyone would disagree with this.
Probably wouldn't disagree but it's too complicated for me to dive into.
It has its "completion line" aligned to the city's Growth line, and as far as I played, it triggers a "building completion end" alongside Growth check.
This is contextually stupid as well.
If I understand what you're saying, it 'ends' whenever the city grows? I can't confirm or deny that but I question whether that's the case because for a long time cities would grow every round and I'd be maintaining these on most cities. Balance is a little different now to keep that from being a foregone conclusion that it would end up this way for so many cities. I'm not sure what does trigger the 'end' of a process selection but it does seem to now and then just stop and let you know there's nothing happening. Which can be helpful since you can tend to forget that its been set that way in some cities.
 
7. Well, if you EVENTUALLY fuse C2C and RFC...
That's Ryse and Fall or something? What does it have for quests that gives you a hard-on?
I think quests could use some sort of update. I actually think CvQuestInfo on the dl is unused currenly.
Stealing stuff is easier then making stuff from scratch.
 
That's Ryse and Fall or something? What does it have for quests that gives you a hard-on?
I think quests could use some sort of update. I actually think CvQuestInfo on the dl is unused currenly.
Stealing stuff is easier then making stuff from scratch.
Your superb politeness aside, RFC (the second generation, aka Dawn, at least) uses exactly the way of tracking "quest completion progress" that I'm referring to in regards to "regular" quests as well.
If YOU personally are unfamiliar with that, then let OTHERS say their own input on it.
 
Of course it would since it's taking place in the same turn where food has been converted to production. Once that's happened that's that. The food is converted to production or its not. The amount of production pool for the round is determined at the beginning of the round and then each completing queue item charges its cost against that pool.


Probably wouldn't disagree but it's too complicated for me to dive into.

If I understand what you're saying, it 'ends' whenever the city grows? I can't confirm or deny that but I question whether that's the case because for a long time cities would grow every round and I'd be maintaining these on most cities. Balance is a little different now to keep that from being a foregone conclusion that it would end up this way for so many cities. I'm not sure what does trigger the 'end' of a process selection but it does seem to now and then just stop and let you know there's nothing happening. Which can be helpful since you can tend to forget that its been set that way in some cities.
You got it EXACTLY BACKWARDS, loool.
My question meant "if I queue several buildings, some of the first ones [adding production], does that [production] get counted for the NEXT building in the queue"?
Simplest example:
I queue [Building A; cost = 5; adds 3 production] and then [Building B; cost = 5].
I have exactly 7 [production] at the start of the building sequence, which is obviously enough for the FIRST building (aka "A").
Will the SECOND building (aka "B") be also completed on the same turn?
Mathematically, YES:
1. Building A takes 5 [production] out of 7, leaving it at 2.
2. On completion, Building A should ADD 3 [production] to the pool.
3. Which means that, mathematically, Building B already has enough available [production] to be completed.
BUT WILL IT DO SO?

It's beyond easy to see that the completion bar IS aligned to the food storage bar in case of cities that "convert production into science or culture".
But I'm actually not 100% sure about my kinda-observation as to whether it also triggers like I assume it does.
Thing is that I agree that it would then trigger almost each turn in a very quick game (where cities grow almost every turn) - yet it doesn't.
So I'm unsure how EXACTLY this works, indeed.
 
"The amount of production pool for the round is determined at the beginning of the round"

You quote the answer to your question, but apparently you haven't even read it. Then you snipe at @Thunderbrd for trying to understand you. Hopefully no-one else will make the mistake of trying to.
 
"The amount of production pool for the round is determined at the beginning of the round"

You quote the answer to your question, but apparently you haven't even read it. Then you snipe at @Thunderbrd for trying to understand you. Hopefully no-one else will make the mistake of trying to.
He first said "of course" to something that is the opposite of what he then proceeded to explain.
So I had to check which one it really is.
 
If I understand what you're saying, it 'ends' whenever the city grows? I can't confirm or deny that but I question whether that's the case because for a long time cities would grow every round and I'd be maintaining these on most cities. Balance is a little different now to keep that from being a foregone conclusion that it would end up this way for so many cities. I'm not sure what does trigger the 'end' of a process selection but it does seem to now and then just stop and let you know there's nothing happening. Which can be helpful since you can tend to forget that its been set that way in some cities.

I'm pretty sure the finished build is triggered when the city reaches next culture level and it's border expands.
 
I'm pretty sure the finished build is triggered when the city reaches next culture level and it's border expands.
Could be that, actually.
In fact, I've spent the last several hours playing C2C, and this DID NOT happen AT ALL.
So I'm now utterly confused, lol.
 
My question meant "if I queue several buildings, some of the first ones [adding production], does that [production] get counted for the NEXT building in the queue"?
Simplest example:
I queue [Building A; cost = 5; adds 3 production] and then [Building B; cost = 5].
I have exactly 7 [production] at the start of the building sequence, which is obviously enough for the FIRST building (aka "A").
Will the SECOND building (aka "B") be also completed on the same turn?
Mathematically, YES:
1. Building A takes 5 [production] out of 7, leaving it at 2.
2. On completion, Building A should ADD 3 [production] to the pool.
3. Which means that, mathematically, Building B already has enough available [production] to be completed.
BUT WILL IT DO SO?
No it will not.
If Building A finish on turn 2 then its production will be provided from turn 2 to turn 3 and later, the production will not be provided from turn 1 to turn 2 (which is before Building A existed) to make building B finish at the same time as building A due to building A time traveling back in time to provide production to building B (and perhaps to itself causing a paradox).
 
Interesting enough, but in the case of tool buildings - does the next building get the increase effect while still during the building turn?
Of course it would since it's taking place in the same turn where food has been converted to production. Once that's happened that's that. The food is converted to production or its not. The amount of production pool for the round is determined at the beginning of the round and then each completing queue item charges its cost against that pool.
He first said "of course" to something that is the opposite of what he then proceeded to explain.
I thought 'the increase effect' was referring to the additional food you are getting from training a unit that uses food for production. Reading it that way, you can understand my answer. Reading 'the increase effect' as the additional amount of production the completed building might add was previously not referred to in the discussion up to this point so the vague expression, 'the increase effect' was unlikely to mean that, though I concede that although I hadn't considered this, you indeed seemed to mean it that way.

And since the construction pool for the round is tallied at the beginning of the round, buildings that add production that are completed during the round will not have been present to add their production to the total yet. They will be adding their values for it the next round and beyond until they obsolete from there.

To do this while avoiding Toffer's Paradox, you'd have to get into some interesting math like, this much % of the round's worth of production has been used (thinking of production as a measure of the fractions of time) and this much % is remaining from the original amount so the same % is actually now applicable to be added into the production pool from the completed building. I'd rather not get the code onto that complicated an analysis, though it would admittedly help to smooth the differences between gamespeeds.
 
I thought 'the increase effect' was referring to the additional food you are getting from training a unit that uses food for production. Reading it that way, you can understand my answer. Reading 'the increase effect' as the additional amount of production the completed building might add was previously not referred to in the discussion up to this point so the vague expression, 'the increase effect' was unlikely to mean that, though I concede that although I hadn't considered this, you indeed seemed to mean it that way.

And since the construction pool for the round is tallied at the beginning of the round, buildings that add production that are completed during the round will not have been present to add their production to the total yet. They will be adding their values for it the next round and beyond until they obsolete from there.

To do this while avoiding Toffer's Paradox, you'd have to get into some interesting math like, this much % of the round's worth of production has been used (thinking of production as a measure of the fractions of time) and this much % is remaining from the original amount so the same % is actually now applicable to be added into the production pool from the completed building. I'd rather not get the code onto that complicated an analysis, though it would admittedly help to smooth the differences between gamespeeds.
I'm not saying it's easy, but concept-wise it's stupid that during-production results don't add up in the course of it.
And code-wise it's hardly a difference between checking "is there enough production left to build the next building on this turn" - and checking "do we need to add some new production to the pool" BEFORE doing the previous check.
Given how there are hardly SO many cities on the map at any given time (compared to units anyways), I don't see how this would be much of a burden on the turn length.
The same thing applies to the switch to "food+production", and ultimately (IF you gonna split the CHECKING into a step-loop anyways) even going as far as spending the leftover production on "research/culture/etc" (if it's the next entry on the list).
Again, I'm *NOT* saying it would be easy to implement - but this would actually greatly increase the "efficiency of HUMAN decisions" that some of you are so fond of.
As of now, I find it really stupid that I need to pay attention to the ORDER of stuff I line up in my building queue - and NOT even because of how they would add up production-wise, but simply because certain objects would STOP the multi-build process altogether.
So I have to always place a Wonder BEFORE all the normal buildings I want to be built on the same turn (and I have production APLENTY as well).
Not to mention the nuisance that is the food-built units, too.
THAT is quite stupid.
 
is there enough production left to build the next building on this turn
It never checks that. It just takes what production there is and applies it to the building in progress and saves what's left for another round of doing the same to the next one.
Given how there are hardly SO many cities on the map at any given time (compared to units anyways), I don't see how this would be much of a burden on the turn length.
I'm not worried about burden on turn length. It's the math formula complexity I'd prefer to avoid. There's x% left of production remaining for the round therefore x% of the added production that just got included should then be added to the amount that is left (and considering all this along with modifiers and changes to modifiers during the turn as well.) I mean it could be done but it's not simple and not necessary and is hard for anyone reading the code after to follow the purpose of.
As of now, I find it really stupid that I need to pay attention to the ORDER of stuff I line up in my building queue - and NOT even because of how they would add up production-wise, but simply because certain objects would STOP the multi-build process altogether.
So I have to always place a Wonder BEFORE all the normal buildings I want to be built on the same turn (and I have production APLENTY as well).
Not to mention the nuisance that is the food-built units, too.
THAT is quite stupid.
Those are entirely different issues really but if you're good enough to program the improvements you seek, I'm sure Bill and I would be happy to review them. As it is, there are much bigger fish to fry in my outlook on the mod. Like, a whaleshark vs a minnow sort of bigger fish.

Don't get me wrong - I understand its the small things that make the difference in play quality and this has been a minor annoyance for me too. Some of it I don't even understand why it does it the way it does and when it was all setup to queue based on multithreading I was completely incapable of even looking into it so maybe now its different. But what I'm saying is I find far greater problems in the game at the moment to be spending my years addressing them first.
 
It never checks that. It just takes what production there is and applies it to the building in progress and saves what's left for another round of doing the same to the next one.

I'm not worried about burden on turn length. It's the math formula complexity I'd prefer to avoid. There's x% left of production remaining for the round therefore x% of the added production that just got included should then be added to the amount that is left (and considering all this along with modifiers and changes to modifiers during the turn as well.) I mean it could be done but it's not simple and not necessary and is hard for anyone reading the code after to follow the purpose of.

Those are entirely different issues really but if you're good enough to program the improvements you seek, I'm sure Bill and I would be happy to review them. As it is, there are much bigger fish to fry in my outlook on the mod. Like, a whaleshark vs a minnow sort of bigger fish.
If you don't mind giving me the exact code that runs during a building "event" (aka turn), I can try doing something with it.
Probably won't achieve anything - but you never know, and a fresh mind sometimes finds the elephant in the room, loool.
 
Spoiler :
Code:
void CvCity::doProduction(bool bAllowNoProduction)
{
    /************************************************************************************************/
    /* Afforess                      Start        12/21/09                                                */
    /*                                                                                              */
    /*                                                                                              */
    /************************************************************************************************/
    if (GC.getUSE_CAN_DO_PRODUCTION_CALLBACK())
    {
        if (Cy::call<bool>(PYGameModule, "doProduction", Cy::Args() << this))
        {
            return;
        }
    }
    /************************************************************************************************/
    /* Afforess                         END                                                            */
    /************************************************************************************************/
    if (!isHuman() || isProductionAutomated())
    {
        //    Koshling - with the unit contracting system we only build units to contractual
        //    orders (apart from a few emergency cases) and we should not change from building
        //    them due to new techs etc
        if (!isProduction() || isProductionProcess() || (AI_isChooseProductionDirty() && !isProductionUnit()))
        {
            AI_chooseProduction();
        }
    }

    if (!bAllowNoProduction && !isProduction())
    {
        return;
    }

    if (isProductionProcess())
    {
        /************************************************************************************************/
        /* UNOFFICIAL_PATCH                       12/07/09                         denev & jdog5000     */
        /*                                                                                              */
        /* Bugfix, Odd behavior                                                                         */
        /************************************************************************************************/
        if (m_bPopProductionProcess)
        {
            popOrder(0, false, true);
            m_bPopProductionProcess = false;
        }
        /************************************************************************************************/
        /* UNOFFICIAL_PATCH                        END                                                  */
        /************************************************************************************************/
        return;
    }

    if (isDisorder())
    {
        return;
    }

    if (isProduction())
    {
        changeProduction(getCurrentProductionDifference(false, true));
        setOverflowProduction(0);
        setFeatureProduction(0);
        /************************************************************************************************/
        /* Afforess    Multiple Production Mod        08/23/09                                            */
        /*                                                                                              */
        /*                                                                                              */
        /************************************************************************************************/
        setBuiltFoodProducedUnit(isFoodProduction());
        clearLostProduction();

        int iOverflowProductionModified = 0;
        while (isProduction() && productionLeft() <= iOverflowProductionModified)
        {
            changeProduction(iOverflowProductionModified);
            setOverflowProduction(0);

            popOrder(0, true, true);

            if (!isHuman() && !isProduction())
            {
                AI_chooseProduction();
            }

            //to eliminate pre-build exploits for all Wonders and all Projects
            if (isProductionWonder() || isProductionProject())
            {
                break;
            }

            //to eliminate pre-build exploits for Settlers and Workers
            if (isFoodProduction() && !isBuiltFoodProducedUnit())
            {
                break;
            }

            if (isProductionProcess())
            {
                break;
            }

            //fix production which floods from overflow capacity to next queue item if it exists
            if (isProduction() && m_iLostProductionBase > 0)
            {
                changeProduction(getExtraProductionDifference(m_iLostProductionBase));
                clearLostProduction();
            }

            iOverflowProductionModified = getOverflowProductionDifference();
        }

        if (m_iGoldFromLostProduction > 0)
        {
            MEMORY_TRACK_EXEMPT();

            CvWString szBuffer = gDLL->getText("TXT_KEY_MISC_LOST_PROD_CONVERTED", getNameKey(), m_iLostProductionModified, m_iGoldFromLostProduction);
            AddDLLMessage(getOwnerINLINE(), false, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_WONDERGOLD", MESSAGE_TYPE_MINOR_EVENT, GC.getCommerceInfo(COMMERCE_GOLD).getButton(), (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), getX_INLINE(), getY_INLINE(), true, true);

            GET_PLAYER(getOwnerINLINE()).changeGold(m_iGoldFromLostProduction);
            clearLostProduction();
        }
        /************************************************************************************************/
        /* Afforess    Multiple Production Mod       END                                                */
        /************************************************************************************************/
    }
    else
    {
        changeOverflowProduction(getCurrentProductionDifference(false, false), getProductionModifier());
    }
}
It would start here I suppose. This is where the production step is actually taking place in a city at the beginning of a turn. You'll probably want to see what's in other functions being called here. This is in CvCity.cpp
 
Spoiler :
Code:
void CvCity::doProduction(bool bAllowNoProduction)
{
    /************************************************************************************************/
    /* Afforess                      Start        12/21/09                                                */
    /*                                                                                              */
    /*                                                                                              */
    /************************************************************************************************/
    if (GC.getUSE_CAN_DO_PRODUCTION_CALLBACK())
    {
        if (Cy::call<bool>(PYGameModule, "doProduction", Cy::Args() << this))
        {
            return;
        }
    }
    /************************************************************************************************/
    /* Afforess                         END                                                            */
    /************************************************************************************************/
    if (!isHuman() || isProductionAutomated())
    {
        //    Koshling - with the unit contracting system we only build units to contractual
        //    orders (apart from a few emergency cases) and we should not change from building
        //    them due to new techs etc
        if (!isProduction() || isProductionProcess() || (AI_isChooseProductionDirty() && !isProductionUnit()))
        {
            AI_chooseProduction();
        }
    }

    if (!bAllowNoProduction && !isProduction())
    {
        return;
    }

    if (isProductionProcess())
    {
        /************************************************************************************************/
        /* UNOFFICIAL_PATCH                       12/07/09                         denev & jdog5000     */
        /*                                                                                              */
        /* Bugfix, Odd behavior                                                                         */
        /************************************************************************************************/
        if (m_bPopProductionProcess)
        {
            popOrder(0, false, true);
            m_bPopProductionProcess = false;
        }
        /************************************************************************************************/
        /* UNOFFICIAL_PATCH                        END                                                  */
        /************************************************************************************************/
        return;
    }

    if (isDisorder())
    {
        return;
    }

    if (isProduction())
    {
        changeProduction(getCurrentProductionDifference(false, true));
        setOverflowProduction(0);
        setFeatureProduction(0);
        /************************************************************************************************/
        /* Afforess    Multiple Production Mod        08/23/09                                            */
        /*                                                                                              */
        /*                                                                                              */
        /************************************************************************************************/
        setBuiltFoodProducedUnit(isFoodProduction());
        clearLostProduction();

        int iOverflowProductionModified = 0;
        while (isProduction() && productionLeft() <= iOverflowProductionModified)
        {
            changeProduction(iOverflowProductionModified);
            setOverflowProduction(0);

            popOrder(0, true, true);

            if (!isHuman() && !isProduction())
            {
                AI_chooseProduction();
            }

            //to eliminate pre-build exploits for all Wonders and all Projects
            if (isProductionWonder() || isProductionProject())
            {
                break;
            }

            //to eliminate pre-build exploits for Settlers and Workers
            if (isFoodProduction() && !isBuiltFoodProducedUnit())
            {
                break;
            }

            if (isProductionProcess())
            {
                break;
            }

            //fix production which floods from overflow capacity to next queue item if it exists
            if (isProduction() && m_iLostProductionBase > 0)
            {
                changeProduction(getExtraProductionDifference(m_iLostProductionBase));
                clearLostProduction();
            }

            iOverflowProductionModified = getOverflowProductionDifference();
        }

        if (m_iGoldFromLostProduction > 0)
        {
            MEMORY_TRACK_EXEMPT();

            CvWString szBuffer = gDLL->getText("TXT_KEY_MISC_LOST_PROD_CONVERTED", getNameKey(), m_iLostProductionModified, m_iGoldFromLostProduction);
            AddDLLMessage(getOwnerINLINE(), false, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_WONDERGOLD", MESSAGE_TYPE_MINOR_EVENT, GC.getCommerceInfo(COMMERCE_GOLD).getButton(), (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), getX_INLINE(), getY_INLINE(), true, true);

            GET_PLAYER(getOwnerINLINE()).changeGold(m_iGoldFromLostProduction);
            clearLostProduction();
        }
        /************************************************************************************************/
        /* Afforess    Multiple Production Mod       END                                                */
        /************************************************************************************************/
    }
    else
    {
        changeOverflowProduction(getCurrentProductionDifference(false, false), getProductionModifier());
    }
}
It would start here I suppose. This is where the production step is actually taking place in a city at the beginning of a turn. You'll probably want to see what's in other functions being called here. This is in CvCity.cpp

I wonder what happens if those lines are removed.
Code:
            //to eliminate pre-build exploits for all Wonders and all Projects
            if (isProductionWonder() || isProductionProject())
            {
                break;
            }

Will it let build multiple wonders per turn?
 
Top Bottom