Changing CanBuildWonders Attribute Doesn't Prevent AI from Building Wonders

ValarMorghulis

Chieftain
Joined
Jan 14, 2017
Messages
8
Hey guys,

I'm new to mods... I wanted to prevent AI players from building wonders so I changed the CanBuildWonders attribute for CivilizationLevelType="CIVILIZATION_LEVEL_FULL_CIV" Row under CivilizationLevels to FALSE (Located in Civilizations.xml).

Unfortunately this did not prevent an AI player from constructing a wonder in a single player game.

What am I doing wrong?

Thanks!
 
you would not want to do this anyway because it would prevent all major civs including the human player from building wonders.

my suspiscion is that if you did this as a mod you either did not code correctly or you did not implement your xml-file correctly within the modinfo file. If you attempted this as a mod then without the mod itself to look at (you can zip the mod and attach it directly to a forum post) it is impossible to try to determine what error you might have made.
 
you would not want to do this anyway because it would prevent all major civs including the human player from building wonders.

my suspiscion is that if you did this as a mod you either did not code correctly or you did not implement your xml-file correctly within the modinfo file. If you attempted this as a mod then without the mod itself to look at (you can zip the mod and attach it directly to a forum post) it is impossible to try to determine what error you might have made.

Thanks for the reply!

I actually first attempted to make a new CIVILIZATION LEVEL with a different name and apply it to only one civilization, the one that the human player would use. Since that didn't work I tried to see if changing the CanBuildWonder attribute would do it.

I didn't make a mod, I simply changed the text on the original .xml file, wouldn't that work?
 
as a general rule changing the original game files will work, but there are always things that appear in the original game xml-files which are actually hard-coded (over-ridden) within the game's executing (DLL) file which we currently have no access to, or in an LUA file somewhere which can sometimes be brutal to track down and alter to allow the actual settings within the xml-files to apply. And with Firaxis there always seem to be a few things which are contained with the base game's xml-files but which are never used anywhere for anything.

as a second general rule mod-makers don't recommend altering the game's base files if we can avoid it because you never know when a game-patch is going to be issued that proceeds to wipe clean your changes in the original game-file you made.

------------------------------------------------------

One hint though is to always look in file C:\Users\[YourComputerUserNameHere]\Documents\My Games\Sid Meier's Civilization VI\Logs/Database.log for error messages that might give a clue as to whether your changes are causing a syntax or other error when the game attempts to load the game-files.

This is the same file mod-makers will look in 1st when the game is not implementing our changes from within a mod.

-------------------------------------------------------

Another thought, though, is that if you actually used "FALSE" (ie, all in caps) in your alteration, the game might be looking for the standard presentation of booleans as either true or false, and is interpretting FALSE as if it is text and not a boolean.

It has been a while since I tried stating a boolean all in caps in civ5, so I don't remember how Firaxis xml-to-sql parsers tend to deal with this.
 
Last edited:
Well, since the DLL isn't out to read (any idea when that would happen?) I guess it's impossible to get what I attempt to achieve.

I don't mind changing the base files for now, I'm not mod savvy and would settle with a temporary solution for now.

The change log indicated a few xml errors, but nothing I can decipher.

(last note, I only capitalized FALSE to make a point, it was lower case in the file)

Sigh...
 
Back
Top Bottom