View Full Version : Captured cities with national wonders


Tatran
Oct 24, 2009, 07:01 PM
How can? Anyone?

This happened in a recent (finished) game.
Both Celtic cities were captured in the last 3 turns.
(I haven't build both wonders in my own cities.)

http://img27.imageshack.us/img27/1671/hermitagee.th.jpg (http://img27.imageshack.us/i/hermitagee.jpg/)http://img406.imageshack.us/img406/8871/maoistatues.th.jpg (http://img406.imageshack.us/i/maoistatues.jpg/)

Silu
Oct 24, 2009, 07:13 PM
I find it hard to believe that those cities were captured during the last 3 turns. There's no revolt, much much more buildings than usually survive capturing and national wonders and a Castle present, which cannot survive capturing in an unmodded game. Not to mention Influential culture in Bibracte; now that can happen but still. Are you 100% sure you didn't get those as part of a capitulation deal or as a culture flip?

Dirk1302
Oct 24, 2009, 07:32 PM
Got interested in this issue seeing it in the AW thread. Can't load the save however due to Buffy. Could this mod be responsible? Reason to look at the save was to look at the event log, maybe you can see there what the game thinks what happened.

Here's a thread about buildings in captured cities, seems Sisiutil really got into it:
Buildings in captured cities (http://forums.civfanatics.com/showthread.php?t=198428) It's a bit old but the same code variables are mentioned there as bestsss mentioned in the AW thread.

naterator
Oct 24, 2009, 07:32 PM
Airports can't survive conquest either, plus Bibactre's located in the heart of your empire with no visible culture gaps. Must've been 3 eventful turns.

Silu
Oct 24, 2009, 07:40 PM
EDIT: scratch that apparently

naterator
Oct 24, 2009, 07:48 PM
The only thing that keeps it from being HOF eligible is team play (e.g., no worldbuilder), and it's emperor, marathon. Bibactre was captured 7 turns before the screenshot so evein if there was a pile of gold ready to rushbuy it'd be impossible to do so many buildings in so few turns. I cannot explain it, i rescind the sarcasm in my earlier post.

p.s., not sure how you got so far w/o vassalizing or eating tokugawa, but -52 for spies causing trouble, very nice, i'd hate to have you as my neighbor, haha...

Silu
Oct 24, 2009, 08:56 PM
Apparently "recapturing" does not destroy buildings and is defined by if the highest city culture is the capturing Civs culture. So if the OP had more culture than the Celts in those cities then the check against iConquestProb won't be done. For you who want to draw your own conclusions (sorry for the wanton whitespace, cba to fix):

If I read that right, the critical line says "leave building alive if NOT CONQUEST OR RECAPTURE OR PASS_CONQUESTPROB_CHECK"


bRecapture = ((eHighestCulturePlayer != NO_PLAYER) ? (GET_PLAYER(eHighestCulturePlayer).getTeam() == getTeam()) : false);

// <snip>

for (iI = 0; iI < GC.getNumBuildingInfos(); iI++)

{

int iNum = 0;



if (paiNumRealBuilding[iI] > 0)

{

BuildingClassTypes eBuildingClass = (BuildingClassTypes)GC.getBuildingInfo((BuildingTy pes)iI).getBuildingClassType();

if (::isWorldWonderClass(eBuildingClass))

{

eBuilding = (BuildingTypes)iI;

}

else

{

eBuilding = (BuildingTypes)GC.getCivilizationInfo(getCivilizat ionType()).getCivilizationBuildings(eBuildingClass );

}



if (eBuilding != NO_BUILDING)

{

if (bTrade || !(GC.getBuildingInfo((BuildingTypes)iI).isNeverCap ture()))

{

if (!isProductionMaxedBuildingClass(((BuildingClassTy pes)(GC.getBuildingInfo(eBuilding).getBuildingClas sType())), true))

{

if (pNewCity->isValidBuildingLocation(eBuilding))

{

if (!bConquest || bRecapture || GC.getGameINLINE().getSorenRandNum(100, "Capture Probability") < GC.getBuildingInfo((BuildingTypes)iI).getConquestP robability())

{

iNum += paiNumRealBuilding[iI];

}

}

}

}



pNewCity->setNumRealBuildingTimed(eBuilding, std::min(pNewCity->getNumRealBuilding(eBuilding) + iNum, GC.getCITY_MAX_NUM_BUILDINGS()), false, ((PlayerTypes)(paiBuildingOriginalOwner[iI])), paiBuildingOriginalTime[iI]);

}

}

}



Sorry for the skepticism, I've seen hundreds of threads like this and in 99+% of the cases the answer is the dirt-obvious one... ;)

naterator
Oct 24, 2009, 09:05 PM
ya, it looks like culture conquest since bibracte is population 1 with no whip or draft unhappiness, must've been squeezed out. I didn't know you could finish a civ off with culture, a nice accomplishment, especially moments before a spaceship victory. I haven't culture flipped a city since vanilla so i had no idea that you could keep all the goodies, makes me want to play with the "spread culture" espionage mission more.
It's crazy that they keep the national wonders of another nation. I wonder if it's intentional?

Silu
Oct 24, 2009, 09:12 PM
ya, it looks like culture conquest since bibracte is population 1 with no whip or draft unhappiness, must've been squeezed out. I didn't know you could finish a civ off with culture, a nice accomplishment, especially moments before a spaceship victory. I haven't culture flipped a city since vanilla so i had no idea that you could keep all the goodies, makes me want to play with the "spread culture" espionage mission more.
It's crazy that they keep the national wonders of another nation. I wonder if it's intentional?

Just to be clear; it's somewhat common knowledge that culture flips preserve all buildings including national wonders you hadn't built yet. Instead, my above post (and the OP, I hope) were referring to a situation where you do capture a city with military units but already had more culture on the city tile than the previous owner (ie. the city was in flip danger but you didn't get it through flipping or as a part of a deal).

naterator
Oct 24, 2009, 10:45 PM
Just to be clear; it's somewhat common knowledge that culture flips preserve all buildings including national wonders you hadn't built yet. Instead, my above post (and the OP, I hope) were referring to a situation where you do capture a city with military units but already had more culture on the city tile than the previous owner (ie. the city was in flip danger but you didn't get it through flipping or as a part of a deal).

Ah, of course... i didn't see any "your x has defeated boudica's y" messages so i assumed it was peaceful, of course a quick check of the combat log reveals otherwise. So you keep airports, castles, and all these other goodies on conquest when you have higher culture in a city than the previous owner? My disputed borders usually resolve themselves (one way or the other) in a non-cultural way so i've never noticed.

Tatran
Oct 24, 2009, 10:52 PM
Most Celtic and Japanese cities were spammed with spies and spread :culture: mission.
The idea came from a current SG by rolo ('I am Legend').
The original plan was to spread enough culture before a dow, but
both leaders became a vassal of good friends (Tokugawa to Zara and
Boudica to Lincoln), so I tried to culture flip their cities.
About 10 turns from the posted save both civs broke free, probably
because one of the Japanese cities flipped and both civs lost a lot of territory.
So, I declared first on Boudica. Her cities had zero revolt chance.

It looks like the spy spread culture mission is a very powerful tool.

Tatran
Oct 24, 2009, 11:01 PM
The only thing that keeps it from being HOF eligible is team play (e.g., no worldbuilder),
The game has been accepted in the HOF competition.
It doesn't allow team play right from the start, but permanent alliances are allowed.

naterator
Oct 24, 2009, 11:51 PM
The game has been accepted in the HOF competition.
It doesn't allow team play right from the start, but permanent alliances are allowed.

Ah, i was just going by the F8 advisor, HOF is also a mystery to me.

bestsss
Oct 25, 2009, 05:46 AM
Silu stand corrected,
bRecapture was true, thus one saves ALL the buildings.

I'd consider that a bug since bRecapture shall be true only if the city if the previous owner was the conqueror.
I meant that part:

if (!bConquest || bRecapture || GC.getGameINLINE().getSorenRandNum(100, "Capture Probability") < GC.getBuildingInfo((BuildingTypes)iI).getConquestP robability())

{

iNum += paiNumRealBuilding[iI];

}

Silu
Oct 25, 2009, 06:25 AM
Silu stand corrected,
bRecapture was true, thus one saves ALL the buildings.

I'd consider that a bug since bRecapture shall be true only if the city if the previous owner was the conqueror.
I meant that part:

Er... Yes. I meant the same part. Coupled with this:

bRecapture = ((eHighestCulturePlayer != NO_PLAYER) ? (GET_PLAYER(eHighestCulturePlayer).getTeam() == getTeam()) : false);

So you don't need to be a previous owner for "recapturing".

bestsss
Oct 25, 2009, 06:42 AM
@Silu,

Well, my post totally supports what you've already stated.

>>So you don't need to be a previous owner for "recapturing".
Exactly, which I consider a bug.

Ahh, I see what you mean, I should been waken up enough to see that. My bad: I meant you were correct.

MadmanAtW
Oct 25, 2009, 11:01 AM
You were greeted as liberators! :shifty:
If you think it's a bug, I'd encourage a post to the unofficial patch forum. In the meantime it's an interesting thing to note.

Silu
Oct 25, 2009, 11:13 AM
You were greeted as liberators! :shifty:
If you think it's a bug, I'd encourage a post to the unofficial patch forum. In the meantime it's an interesting thing to note.

I wouldn't call it a bug, probably just dubious variable naming. Anyway without knowing what the programmers intended (as there's certainly no documentation about this feature) there's no way to know.

bestsss
Oct 25, 2009, 11:35 AM
I'd consider a bug capturing city after culture bomb and preserving heroic epic, wall, castle, etc.
Another reason: I consider it a bug, in a recent game I had a blocking city, 2 nations were at war, due to the extra unrest time, my civ achieved the dominant culture after the city was captured... and then 4 turns after it was recaptured and again there was unrest which boosted the culture even more. That was still in the BC btw. The city was captured again and recaptured again always resulting in unrest.... few turns more even it had a 1st revolt b/c of my civ.

Maybe it's just me who considers the whole way the culture works is bogus, not sure... Yet, I'd still consider it a bug and it has nothing to do w/ the variable in the C++ code.

r_rolo1
Oct 25, 2009, 11:43 AM
I wouldn't call it a bug, probably just dubious variable naming. Anyway without knowing what the programmers intended (as there's certainly no documentation about this feature) there's no way to know.
Signed under ...