[NOT IN DEVELOPMENT] DOC Community Mod Compilation

Tried Assyria again and it went... poorly. First two UHVs are fine and perfectly achievable, but the necessary focus on military to survive the Persian spawn makes feasibly getting UHV 3 nigh impossible for me. I'm usually just short two aqueducts, but still haha.
Understood, I'll rethink it. Anyone know what else the Assyrians were famous for?
 
NEW UPDATE

Fixed improper building and unit placement in Consts.

Cleaned up some code

The errors from the last update are fixed, enjoy!

EDIT: Nigeria and Mongolia wars at spawn are still swapped. Currently trying to find a fix.
 
Last edited:
NEW UPDATE

Fixed incorrect Maya placement in Consts

Nigeria should be fully playable now.
 
NEW UPDATE

Buffed Elective, Clergy Isolationism, slightly buffed Monarchy to make it more aesthetically appealing.

Elective: Removed Double Production of Palace, +1 Commerce on Unimproved Land Tiles. Added +1 Commerce on Land, 1000% Production of Palace.

Clergy: Added +2 Commerce per Specialist.

Isolationism: Added +1 Production from Paddy Fields, Plantations, Slave Plantations

Monarchy: Added +2 Culture per Specialist

I'm pretty happy with the Civics as they are. I may add a feature for a free Palace change later, but not only are there more important issues to handle, but I also am unsure of how I'd implement that.
 
Understood, I'll rethink it. Anyone know what else the Assyrians were famous for?
Changing the scope to 3 aqueducts, 2 gardens and 1 bath might be all thats necessary.

Or you could make a second conquest UHV ttha says "Control Egypt and Eastern Anatolia in 400 BC".

I know they were also famous for their dynastic cult but I don't kbow how to reflect that :lol:
 
Changing the scope to 3 aqueducts, 2 gardens and 1 bath might be all thats necessary.

Or you could make a second conquest UHV that says "Control Egypt and Eastern Anatolia in 400 BC".

These are both good ideas.
Assyria was also known for ruling their empire by intimidation. For example first time a city rebels they might decimate the city. The second time it rebels they destroy the city as example for others not to do the same.
Therefore a UHV could be for them to have to raise 2 or 3 cities by a certain date.

By the way what are their UHVs currently?
 
By the way what is the unit 'camp' in the second to last section of the Civ 4 Unit Infos XML file?
It is not present in Leoreth's version, but is present in the CMC version. When trying to load the mod with the additional civ I added, it would crash with the message "get##name##ArtInfo: ART_DEF_UNIT_CAMP was not found"
I removed the unit camp which stopped it crashing, by I do get an error message when loading as it can't now find the unit, so I figure it is probably needed, I'm just not sure what the original problem with it was.

By the way thanks for the earlier suggestions about me possibly not making a couple of changes to the xml files possibly being the cause of the mod crashing. At the moment I am reworking my way through all the xml files, as these were the first files I worked on, so contain a few errors I need to iron out!
 
These are both good ideas.
Assyria was also known for ruling their empire by intimidation. For example first time a city rebels they might decimate the city. The second time it rebels they destroy the city as example for others not to do the same.
Therefore a UHV could be for them to have to raise 2 or 3 cities by a certain date.

By the way what are their UHVs currently?
iirc:
UHV 1 is control Mesopotamia, Elam, Uratru (Caucasus) and the Levant in 700 BC
UHV 2 is build the Hanging Gardens and Library of Ashurbanipal by 650 BC
UHV 3 is build 5 aqueducts, 3 gardens and 2 baths by 600 BC
 
Urgh. For two days now I've been trying to steal your yields from water/land for civics effect, to no avail. Whatever I do, I keep getting this error report when trying to launch my mod:

butwhytho.png
Allegedly, 'LandYields' is in use, but has not been declared in the DTD/Schema.

That. makes. no. sense. Both CIV4CivicInfos.xml and CIV4GameInfoSchema.xml are completely identical to your mod. I copied all relevant code. I even spent this afternoon painstakingly recreating everything you did in these two commits, AGAIN:

https://github.com/earthcrafterman/...mmit/27d88e620d1be67c0a73f702f3b6a6a230b55f02

https://github.com/earthcrafterman/...mmit/4c51cbdb025f0e96ce6c072a701ad66416d0b4be

I've even skimmed through other commits close to them to see if maybe there was something else I needed that wasn't properly documented, but I couldn't find anything, and now I've run out of ideas.

I don't get this, it works fine if I launch your mod. What is going on here? Am I slowly going mad? Are my comments confusing the compiler? Is there weird behind the scenes magic going on with the xml files? Halp
 
When you rebuilt the DLL, did you rebuilt the entire project? You changed some header files after all.
Well, yes? I believe so?

I merged the relevant files via WinMerge, then Visual Studio asked me to reload them as they have been changed with another program, I agreed and then built a solution. In a later attempt I even closed Visual Studio and re-opened the project after I went through every line of changed code in WinMerge again. I see the code that should be there in e.g. CvInfos.h from within VS. I wasn't aware there was even a way to just build a part of the project? Just now I completely deleted the .dll and compiled again, and still the same error.
 
By the way what is the unit 'camp' in the second to last section of the Civ 4 Unit Infos XML file?
It is not present in Leoreth's version, but is present in the CMC version. When trying to load the mod with the additional civ I added, it would crash with the message "get##name##ArtInfo: ART_DEF_UNIT_CAMP was not found"
I removed the unit camp which stopped it crashing, by I do get an error message when loading as it can't now find the unit, so I figure it is probably needed, I'm just not sure what the original problem with it was.

By the way thanks for the earlier suggestions about me possibly not making a couple of changes to the xml files possibly being the cause of the mod crashing. At the moment I am reworking my way through all the xml files, as these were the first files I worked on, so contain a few errors I need to iron out!
Camps are from Merijn's Native American Camp mod.

These are both good ideas.
Assyria was also known for ruling their empire by intimidation. For example first time a city rebels they might decimate the city. The second time it rebels they destroy the city as example for others not to do the same.
Therefore a UHV could be for them to have to raise 2 or 3 cities by a certain date.

By the way what are their UHVs currently?

The current UHV is 5 aqueducts, 3 Gardens, 2 Baths. My local version has the 3 2 1 change, but I'm currently trying to ensure that the AI Turks can conquer Babylon without collapsing immediately after.

Urgh. For two days now I've been trying to steal your yields from water/land for civics effect, to no avail. Whatever I do, I keep getting this error report when trying to launch my mod:

View attachment 495746
Allegedly, 'LandYields' is in use, but has not been declared in the DTD/Schema.

That. makes. no. sense. Both CIV4CivicInfos.xml and CIV4GameInfoSchema.xml are completely identical to your mod. I copied all relevant code. I even spent this afternoon painstakingly recreating everything you did in these two commits, AGAIN:

https://github.com/earthcrafterman/...mmit/27d88e620d1be67c0a73f702f3b6a6a230b55f02

https://github.com/earthcrafterman/...mmit/4c51cbdb025f0e96ce6c072a701ad66416d0b4be

I've even skimmed through other commits close to them to see if maybe there was something else I needed that wasn't properly documented, but I couldn't find anything, and now I've run out of ideas.

I don't get this, it works fine if I launch your mod. What is going on here? Am I slowly going mad? Are my comments confusing the compiler? Is there weird behind the scenes magic going on with the xml files? Halp

I'm not sure how I can help. Those commits are the commits that added them. Have you tried recreating everything I did without looking at what I did? Maybe if you make your own implementation of it it'll work. Just a guess though.

Well, yes? I believe so?

I merged the relevant files via WinMerge, then Visual Studio asked me to reload them as they have been changed with another program, I agreed and then built a solution. In a later attempt I even closed Visual Studio and re-opened the project after I went through every line of changed code in WinMerge again. I see the code that should be there in e.g. CvInfos.h from within VS. I wasn't aware there was even a way to just build a part of the project? Just now I completely deleted the .dll and compiled again, and still the same error.

Visual Studio has a Rebuild function that builds everything, instead of only the files that changed. It's useful when all hope is lost.
 
Well, yes? I believe so?

I merged the relevant files via WinMerge, then Visual Studio asked me to reload them as they have been changed with another program, I agreed and then built a solution. In a later attempt I even closed Visual Studio and re-opened the project after I went through every line of changed code in WinMerge again. I see the code that should be there in e.g. CvInfos.h from within VS. I wasn't aware there was even a way to just build a part of the project? Just now I completely deleted the .dll and compiled again, and still the same error.

What I do when I rebuild the entire DLL is delete the whole CvGameCore folder from VS and do a fresh copy-paste the CvGameCore folder from the mod.

Last time I copy-pasted only the new header file and refreshed, it didn't work. The method above solved my problem.
 
Still having trouble getting AI Turks to act historically, but they're doing better than before so I'm releasing this.

Assyrian Infrastructure UHV now requires 3 Aqueducts, 2 Gardens, and 1 Bath

Fixed an error in Hittite UHV3

Turkish Oghuz now ignore enemy City Defense Promotions and have +25% Combat vs Archery units. This is done because the Persians survive until the Turkish spawn a lot more frequently in CMC, and the Turks need some help beating them.

The Turks start with two Trebuchets and two less Oghuz, same reasoning.

Ignores City Defense Promotions will be an XML tag in the future, but at the moment it's just a badly implemented check if the attacker is an Oghuz.

Modified Turkish Modifiers to be more similar to the Arabians so that they will have an easier time fielding large armies.

Clarified Turkish UP
 
What I do when I rebuild the entire DLL is delete the whole CvGameCore folder from VS and do a fresh copy-paste the CvGameCore folder from the mod.

What do you mean, from VS? Do you mean temporarily storing all changed source files plus the Makefile elsewhere, then deleting the entire CvGameCoreDLL folder and start a new project and solution from scratch?
 
Good news! Assyria's UHV still requires heavy focus and a decent challenge, but can be completed now!
Bad news! Despite having the criteria of UHV 3 met, I still failed it!

Save attached for reference, you can see I have everything built, but if you flip to the next turn I fail.
 

Attachments

What do you mean, from VS? Do you mean temporarily storing all changed source files plus the Makefile elsewhere, then deleting the entire CvGameCoreDLL folder and start a new project and solution from scratch?

That's more or less what I do, yes.

I delete the entire CvGameCoreDLL folder. Then I copy the CvGameCoreDLL folder from the mod and create a new project and solution. I have a copy of the Makefile in a seperate folder in the mod folder, which I manually copy-paste.

I make my changes in the CvGameCoreDLL folder of the mod. So that I always have that as backup.
 
Last edited:
Huh? There is a rebuild project command that should force relinking all headers and compiling the entire DLL from scratch. Am I missing the problem?
 
NEW UPDATE

Fixed Assrian Infrastructure UHV. I accidentally had it looking for Barracks instead of Baths. Sadly this means existing saves won't be fixed by this update. I am incredibly sorry.

Cottages no longer benefit from Pastures.

Cottages now get +1 Commerce on plots that are 2 tiles or less away from water.

Improvements no longer get bonus from Adjacent cities.
 
Back
Top Bottom