Captured City Art Mod

OK, I tried several things and believe that I have it working from the human player's end. I haven't tried it from the computer's end yet. Here's a screenshot for you.

I conquered the top city when my culture>than theirs in the city.
The reverse is true in the bottom city.
 

Attachments

  • art.jpg
    art.jpg
    203.1 KB · Views: 155
It is fixed Cruel. The previous post's pic is the human player conquering cities. The new pic on the first post is the AI conquering human cities under the highest/lower conditions that you were looking at.

In addition, I noticed that if creating worldbuilder conditions to test it out, don't immediatly conquer a city. Give it a turn for the culture to set or it might look like the culture is different, but it really isn't.

Checkbox is to come later.
 
Unfortunately there still exists an error. I won a Japanese city, but even with the passing of years and the Greek culture surpass the original Japanese culture the city continued with Japanese art.

I wanted to ask the same
When does the art of the conquered cities change to the new owner's art? (if it didn't happen on the turn of the conquest)
On the same turn the new owner's culture surpasses the previous owner's culture?
Is there a check for this on each turn?
 
Yeah that's clear
But if you conquer a city where the original art stays (previous owner has more culture than the conqueror), the city will remain with that culture art till the end of the game?
Even if it becomes your core city after a couple hundred years, and you have way more culture than the previous owner?
 
Yes, this mod is currently working as a smaller version of "assimilation mod" (The conquered cities keeps the art, but also can produce military units of the enemy).

I see this mod with great potential, because in future it may also produce units of the enemy (like assimilation) while the enemy has more culture within the city.
 
Hi Stolenrays

You have some typos in the SDK code that should cause strange behaviors, since you are not comparing values (==) but setting the left value equal to the right value in those if! Check the rest of the code, since I only have taken a look a this.

Code:
	if (eHighestCulturePlayer != NO_PLAYER) 
	{	
		if (eHighestCulturePlayer != eOwner)
		{
			setArtStyleType(GET_PLAYER(eHighestCulturePlayer).getArtStyleType());
		}
		else
		{
			if (eHighestCulturePlayer =[COLOR="Red"]=[/COLOR] eOwner)
			{	
				setArtStyleType(GET_PLAYER(eOwner).getArtStyleType());
			}
		}
	}
	else
	{
		if (eHighestCulturePlayer =[COLOR="Red"]=[/COLOR] NO_PLAYER) 
		{
			if (eHighestCulturePlayer != eOwner)
			{
				setArtStyleType(GET_PLAYER(eHighestCulturePlayer).getArtStyleType());
			}
			else
			{
				if (eHighestCulturePlayer =[COLOR="Red"]=[/COLOR] eOwner)
				{	
					setArtStyleType(GET_PLAYER(eOwner).getArtStyleType());
				}
			}
		}
	}


Let me show you an example:
http://codepad.org/g7TaCWeZ

You can see that a=b=0 at the end because the if conditional has performed the operation instead of comparing the values.
 
So the artstyle will never change, only when someone conquers the city
(you only check the citystyle once, on city conquest, right?)
Then this will look strange after a couple hundred years/turns pass, when your culture takes over the conquered civ's culture

Maybe this modcomp could be expanded
Ideally, all cities artstlye should continually follow the biggest culture in the city
Of course we want to avoid too much python checks, and this would mean checking every city on the map every turn
But what if we reduce the number of turns between checks?
Checking for this every 5-10 turn might be enough, and probably won't slow the game down too much
There may be many other ideas to reduce python checks: save the cities which were already conquered (or maybe flipped) during the game into an array, and only check those
Similar how platyping did in his wonder: http://forums.civfanatics.com/showpost.php?p=11701335&postcount=1111
 
I like the unique building idea from the assimilation mod. The thing I am thinking to balance is the needs of narrow scenerios and ones that encompass large timescales. Narrow timescale scenerios would become unrealistic if the citystyle changed repeatedly, but epic mods would be more realistic.

So I guess a checkbox would be needed perhaps. In addition, wouldn't the art change too often if the civs were neck and neck?

It might look odd depending on what empire you use as a frame of reference. I think that some empires did not permenantly sub in their culture for the conquered. It is a good idea, but you are right, it would need to be checked a lot. I wouldn't mind adding it in, but that's one too many project for me right now.

What would be even cooler is to have the art slowly change piece by piece so there are multistyles in one city to show the cultural diversity.
 
So the artstyle will never change, only when someone conquers the city
(you only check the citystyle once, on city conquest, right?)
Then this will look strange after a couple hundred years/turns pass, when your culture takes over the conquered civ's culture

Maybe this modcomp could be expanded
Ideally, all cities artstlye should continually follow the biggest culture in the city
Of course we want to avoid too much python checks, and this would mean checking every city on the map every turn
But what if we reduce the number of turns between checks?
Checking for this every 5-10 turn might be enough, and probably won't slow the game down too much
There may be many other ideas to reduce python checks: save the cities which were already conquered (or maybe flipped) during the game into an array, and only check those
Similar how platyping did in his wonder: http://forums.civfanatics.com/showpost.php?p=11701335&postcount=1111

Cannot be done the same way for this.
I did that for that wonder, because that is a wonder. There is one and only one.
Thus, I can save the location of it, and just check where is it and do the necessary.

However, this modcomp works for every single captured city.
You cannot possibly save the location of every single one.

Although 1 thing I can suggest is this.
Each time you load the game, onGameLoad, do a check on every city, and apply the city culture art based on current highest culture.
Yeah, you have to go through every single city, but since it is only when you load the game, I guess people will complain less than if you do a check every single turn, or every 5 or 10 turns
 
Cannot be done the same way for this.
I did that for that wonder, because that is a wonder. There is one and only one.
Thus, I can save the location of it, and just check where is it and do the necessary.

However, this modcomp works for every single captured city.
You cannot possibly save the location of every single one.

Although 1 thing I can suggest is this.
Each time you load the game, onGameLoad, do a check on every city, and apply the city culture art based on current highest culture.
Yeah, you have to go through every single city, but since it is only when you load the game, I guess people will complain less than if you do a check every single turn, or every 5 or 10 turns

My suggestion is that could check when discover a new technology, so there no would be so few check-ups, and when their civilization have a breakthrough, it could also be reflected in the buildings.
 
Each time you load the game, onGameLoad, do a check on every city, and apply the city culture art based on current highest culture.
Yeah, you have to go through every single city, but since it is only when you load the game, I guess people will complain less than if you do a check every single turn, or every 5 or 10 turns

Yeah, I think this solution is better than having the same art forever.
 
Top Bottom