Captured City Art Mod

stolenrays

Deity
Joined
Aug 2, 2009
Messages
2,061
Captured City Art Mod v1.3 (BTS 3.19)

Captured cities now retain the city art of their highest :culture:cultural:culture: player.

This is a very simple sdk mod that I isolated and revised from Conqueror's Delight. Included is a working mod and the changed .cpp files. Changed sdk parts are commented as CITYART.

----Gameplay----
-Custom Gameoption
-Globaldefines.xml options
-Highest or Conquering Civ Culture Art

----Version History----
Spoiler :

Version 1.3
-Custom Gameoption
-DLL Fix by Isabelxxx
-Better commenting
-GLobalDefines for highest culture or original owner
-Removed UnitArt changes
-C++ fixes from Afforess/Orbis
-Highest Culture C++ Fix for founding cities

Version 1.2
-Fixed Human conquering art(as noticed by Cruel)
Version 1.1
-Port to 3.19
Version 1.0
-Original DPII version


Download Captured City Art Mod
 

Attachments

  • Civ4ScreenShot0006.JPG
    Civ4ScreenShot0006.JPG
    235.2 KB · Views: 680
You mean Dynamic City Art. That sounds interesting and a good idea, but I do not know how to code it. The code right now checks the artstyle of the unit on the plot and checks the culture of the previous/current owner and then changes the artstyle accordingly. Anybody who wants to update this mod further should go ahead and do so.:)
 
Maybe you could clarify the second sentance for me. Are you saying that you think that the captured city's art should eventually over time flip to the conquerer after the conquerer's culture is higher? Or is it just that the conquerer's art is never instituted during conquest.

I was actually getting ready to ad an option to the mod, so it is good that you mentioned this.
 
Maybe you could clarify the second sentance for me. Are you saying that you think that the captured city's art should eventually over time flip to the conquerer after the conquerer's culture is higher? Or is it just that the conquerer's art is never instituted during conquest.

I was actually getting ready to ad an option to the mod, so it is good that you mentioned this.
The conquerer's art never instituted even with 100% of culture.
 
Definetly a bug, but otherwise I have found it to work. I looked at the code and I'm not sure where the error is, or maybe I have overlooked a confounding variable to why the art didn't change. If you know a solution, or anyone else, let me know.

I checked it again. It seems it works if the era of the civs is different only, not when the eras are the same.
 
I checked it again. It seems it works if the era of the civs is different only, not when the eras are the same.

That is why it never worked in my tests. Always used the same era.

I wish could help but my SDK knowledge is near 0.
 
Cruel, I think that I figured it out, but I will need to create/add some more code to it. I tried it with the Japanese vs. Romans. I let the Japanese capture my city and their new art was instituted (same eras) :eek:. Here's the code:

Code:
	/*** CITYART 07/28/08 by DPII START ***/
	if ((eHighestCulturePlayer != NO_PLAYER) && (eHighestCulturePlayer != eOwner))
	{
	    setArtStyleType(GET_PLAYER(eHighestCulturePlayer).getArtStyleType());
	}
	else
	{
	    setArtStyleType(GET_PLAYER(eOwner).getArtStyleType());
	}
	/*** CITYART END ***/

The first if part I believe says that if the highest culture is a player, but no longer the owner, go with the highest culture. The else should cover all other things, but it doesn't. I think if I just elimiate the first part of the if statement, then add some more things, it could work.

Maybe:
Code:
	if (eHighestCulturePlayer != eOwner)
	
	{
	    setArtStyleType(GET_PLAYER(eHighestCulturePlayer).getArtStyleType());
	}
	else 
            {
                 if (eHighestCulturePlayer = eOwner)
                {
	        setArtStyleType(GET_PLAYER(eOwner).getArtStyleType());
	    }
             }



There are probably many ways you could get this to work, but the previous seems rather simpler. I'll test some different things to see what happens.
 
Top Bottom