Unofficial BTS 3.13 patch

I thought I've seen everything when it comes to drafting, but no...



I've created a colony and one of those cities is founded on copper, so
the AI won't draft warriors. Guess drafting goes before anything else.
 
@Aquatic: Just a comment about that save you posted (unrelated to the bug)... You've got a bunch of spies lining your borders, which I assume are there to try and catch incoming spies? If so, they won't be effective. Spies can use enemy roads/railroads. Therefore, it is very unlikely that the enemy spies will end their turns just inside your borders. And spy detection only works on the tile they are sitting on at the beginning of their turn (so the end of their last turn). They don't get detected as they are moving.

Bh
 
As for the bug, it's a rather annoying one. When you "acquire" a city from someone else (or vice versa), the way the game handles it is by destroying the existing city (first saving all relevant details about it), and then recreating it for the new owning player (and re-assigning all relevant details). Anyone thinking ahead has probably already guessed the problem. ;)

But to spell it out, inbetween the "destroying" and "recreating", it checks to make sure all the units on the square are valid. Well, a water unit on a square that currently doesn't have a city (or fort) obviously isn't valid. And since it's inbetween the destroying/recreating stages, the game doesn't consider the square to have a city. So it bumps all the water units.

Unfortuntely I don't think I can change the order in which it does the checks. Most of the time, it should bump units that shouldn't be on the square a city is being created. The simplest solution would be to make City Ruins a valid square for water units (they are created inbetween the destroying/recreating part). But while a fairly minor change, it's still going to affect other areas beyond just fixing this issue.

Bh
 
As for the bug, it's a rather annoying one. When you "acquire" a city from someone else (or vice versa), the way the game handles it is by destroying the existing city (first saving all relevant details about it), and then recreating it for the new owning player (and re-assigning all relevant details). Anyone thinking ahead has probably already guessed the problem. ;)

But to spell it out, inbetween the "destroying" and "recreating", it checks to make sure all the units on the square are valid. Well, a water unit on a square that currently doesn't have a city (or fort) obviously isn't valid. And since it's inbetween the destroying/recreating stages, the game doesn't consider the square to have a city. So it bumps all the water units.

Unfortuntely I don't think I can change the order in which it does the checks. Most of the time, it should bump units that shouldn't be on the square a city is being created. The simplest solution would be to make City Ruins a valid square for water units (they are created inbetween the destroying/recreating part). But while a fairly minor change, it's still going to affect other areas beyond just fixing this issue.

Bh

Suggested workaround:

Could you place a fort on the tile between the destruction of the old city and the creation of the new city. The fort could harbour the sea/air units and will be removed once the new city is placed there.

Or will there always be a check for units on the exact wrong moment?
 
I thought I've seen everything when it comes to drafting, but no...

I've created a colony and one of those cities is founded on copper, so
the AI won't draft warriors. Guess drafting goes before anything else.

I believe this can be disabled via XML editing -- I forget which file (I did it in my NextWar mod.)
 
Could you place a fort on the tile between the destruction of the old city and the creation of the new city. The fort could harbour the sea/air units and will be removed once the new city is placed there.

Hmm, that's not a bad idea. I think that should work, as long as I add it after it's been destroyed, but before it's about to be recreated.

Bh
 
Unfortuntely I don't think I can change the order in which it does the checks. Most of the time, it should bump units that shouldn't be on the square a city is being created. The simplest solution would be to make City Ruins a valid square for water units (they are created inbetween the destroying/recreating part). But while a fairly minor change, it's still going to affect other areas beyond just fixing this issue.

What units are these, that they should be bumped?
 
The "recreate" routine is the same routine that it uses for normal city creation. So when you go have a Settler found a city on a square, that's the routine it uses. And if you found a city on a square that has units for Civs you don't have an open borders treaty with, those units will (and should) get bumped.

Bh
 
Hm, but why can't they be bumped after the city is created?

The fort thing is a decent fix, but it breaks if you're playing with a mod that doesn't have forts with that property, so I would avoid it.
 
Good point. As for why they can't be bumped after, possibly they can. But that involves changing every situation where a city is created. I like to avoid making those sort of large changes if I can, because then I have to test for every possible city creation scenario to make sure it doesn't break something else.

I don't really have the time to test all those, and it doesn't really seem fair to put out a patch that could be broken (although I've inadvertently done that previously).

Bh
 
Hmm, that's not a bad idea. I think that should work, as long as I add it after it's been destroyed, but before it's about to be recreated.

Bh

Wouldn't that cause cities that are razed to leave forts instead of ruins?
 
No, it wouldn't, because it'd only call that if the city was being acquired. But as SevenSpirits pointed out, tying the solution to forts isn't a good idea in case there are no forts in the game (modded out, etc).

Bh
 
@Aquatic: Just a comment about that save you posted (unrelated to the bug)... You've got a bunch of spies lining your borders, which I assume are there to try and catch incoming spies? If so, they won't be effective. Spies can use enemy roads/railroads. Therefore, it is very unlikely that the enemy spies will end their turns just inside your borders. And spy detection only works on the tile they are sitting on at the beginning of their turn (so the end of their last turn). They don't get detected as they are moving.

Bh

Thanks! I appreciate your taking time to comment. You were quite right about what the spies are doing. I'll have to be a bit more sophisticated and only put spies on resources (or in cities prior to getting intelligence agencies). I had thought I might catch saboteurs as they were moving... Oh well, it seemed like a good idea at the time!
 
Suggested workaround:

Could you place a fort on the tile between the destruction of the old city and the creation of the new city. The fort could harbour the sea/air units and will be removed once the new city is placed there.

Or will there always be a check for units on the exact wrong moment?

Bhruic, would you consider posting the implementation of this suggestion? I'm not in front of the game files to check where/how this would be done. Thought you could save me some work if you already know where in the code this occurs.

I understand your hesitation to include this in your patch. I don't know why anyone would want forts modded out, but it's a possibility. With your posted fix, those of us that compile our own DLL could implement it if we have no intentions of removing forts from the game.
 
Hmm, that's not a bad idea. I think that should work, as long as I add it after it's been destroyed, but before it's about to be recreated.

Bh

Can ships enter forts outside territorial boundaries? If not, that could still be a problem.

Could you make a new tile like "City Ruin Liberate" and give that the right properties for sea units?
 
Well, it turns out that they are getting bumped in three different spots (well, they only get bumped once, but there are three checks). Fixing one doesn't stop the other two. And it'd be game-breaking to try and use forts to fix all three.

I still think I can fix it, but it'll be lot more tricky.

Bh
 
If I download this patch will I be able to play online? or will it mess it up?
 
If I download this patch will I be able to play online? or will it mess it up?

Everyone needs to be running the same version. You won't be able to play online with someone who hasn't installed this patch.

However, what you can do is set the patch up as a mod, and play that way. It won't interfere with your online play.

Bh
 
Two things I've noticed in a current sologame.

First, planes will also be teleported when liberating a city.

Second, I gave India (colony) some workers, but they didn't turn into fast workers, their UU.
From what I remember, when a gift is similar to a civ's UU, the unit will become the UU equivalent.
 
Top Bottom