DLL - Various Mod Components

Now, what I had in mind ... is pretty much moot as I can find no way to change the SV map, so you can always switch view to get the true nationality of the unit :(

So, I'm reading FFH's manual and got this:
Code:
Start game at Peace with the
Barbarians
NOTE: Animals and Hill Giants
will still attack because they are
Hidden Nationality.

I'm aware they are different games and CiV has a lot of useless artifacts from cIV, but is there any chance we can explore this Hidden Nationality to create two 'different' Barbarian Civs without the need to change everything in the game related to Barbarians (I think FA did or tried to create a second Barb player but got stuck somehow)?
 
Hidden Nationality is a red herring and really not worth pursuing.

It's a promotion attribute that
a) affects loading rules, you can't load a hidden nationality unit onto a known nationality one
b) gives the unit a "visual owner" of the Barbarian player, how the UI DLL handles this exactly is unknown (as we don't have the code), but superficially the unit appears with a Barbarian flag (IIRC - long time since I checked)
c) reports combats as "destroyed by unknown" or "destroyed by {blank}" - both of which are a give away that the unit wasn't actually a Barbarian unit!
d) reports pillaged improvements as "pillaged by {blank}" - another give away
e) is completely unused by the UI - so combat stats, mouse over tooltips etc, will give the real owner away
f) for units to attack, capture civilians, pillage, enter territory, etc, the actual owning civ still needs to be at war with the target player. "So my unit was destroyed by 'unknown'" ..."mmmmm" ... "but, I'm only at war with X, so it must have been them"

Creating a second (third, fourth, ...) barbarian type civ, say for wild animals/monsters, undead, spirits, whatever) is fairly simple (if somewhat tedious) as you "just" need to take off the required number of civs from the top of the list (62, 61, ...) and duplicate/use the C++ code in the DLL for the barbarians for them - IIRC Ea did this for wild animals.
 
I'm thinking of trying to give civs great works/artifacts via lua and remember you mentioning of adding it to your great dll. What methods would I use to add or remove a great work? Would I be able to add duplicates this way?
 
Is it normal to leave useless stuff like this in game designing? I always thought there was some kind of clean-up before launching a product.

You've quite clearly never looked in the Civ:BE xml then!
 
Heyo Whoward,

I used your DLL for a while, but being the :) :) :) :):) :) :) :):) :) :) :):) :) :) :):) :) :) :):) :) :) :) I am I used it alongside another DLL, which it was somehow able to work with (Composite).

Since then I've found out the two aren't necessarily the incompatible playmates that differing dll components are said to be.

However at this point I've attempted to update and incorporate a number of your other mods mods and this led to some issues, namely now my game crashes when attempting to settle a city. This crash does not occur when I disable your DLL.

This led me to believe it was conflicting with another DLL (after figuring out there was no conflict with Composite, but I disabled that anyway.

I just wanted to ask, I have 200+ Mods, how can I narrow down which ones might affect your DLL?

Or just tell me how stupid I am, either option is fine.
 
Hey whoward. Don't know if you can take a request on a minimod to add to the DLL but I'll ask anyway.

Only found out last night that if you get the choice of a Great Person from the Liberty Finisher, the game will not allow you to pick a Great Prophet if you don't already have a Pantheon. After looking it up online (https://www.reddit.com/r/civ/comments/4ezgjt/liberty_finisher_no_gp_option/) I found that this rule is in the umodded game and not from some mod conflict as I originally thought. To me I don't really understand why you shouldn't be able to pick a Great Prophet if you don't have a Pantheon. Would be nice if you could add this to the DLL. Hopefully its nothing too hard to do.
 
I used it alongside another DLL, which it was somehow able to work with.

Not possible, the game core will have used the DLL from the last mod loaded, so any mods that depend on the other DLL mod(s) will behave erratically
 
Not possible, the game core will have used the DLL from the last mod loaded, so any mods that depend on the other DLL mod(s) will behave erratically

Idk what to say, except that the only mod of yours I had running was the river trait mod for America.

But is there any way to search for other mods that might have conflicting DLL elements?
 
Mods that included a custom/modded DLL should advertise themselves as such, so you should be able to tell from mod's description ...

It used to be the case that the DLL files were always called CvGameCore_Expansion2.dll and located in the top/root folder of the mod. While this is no longer the case, most DLL mods stick to the pattern, so you could browse the sub-directory under the MODS directory for files with this name, or you could just search all sub-directories under the MODS directory for *.dll files - use something like WinGrep or AgentRansack
 
Mods that included a custom/modded DLL should advertise themselves as such, so you should be able to tell from mod's description ...

It used to be the case that the DLL files were always called CvGameCore_Expansion2.dll and located in the top/root folder of the mod. While this is no longer the case, most DLL mods stick to the pattern, so you could browse the sub-directory under the MODS directory for files with this name, or you could just search all sub-directories under the MODS directory for *.dll files - use something like WinGrep or AgentRansack

As it turns out, one of my mods was hiding not just 1 but 2 pesky DLL's and it didn't say so in the mod description. Thanks for the tip Whoward : )
 
Only found out last night that if you get the choice of a Great Person from the Liberty Finisher, the game will not allow you to pick a Great Prophet if you don't already have a Pantheon.

For a human player this only needs a change to the ChooseFreeItem.lua file

Code:
	for info in GameInfo.Units{Special = "SPECIALUNIT_PEOPLE"} do
	
		if(player:CanTrain(info.ID, true, true, true, false) and
                   [B][COLOR="Red"](not info.FoundReligion or player:HasCreatedPantheon())) [/COLOR][/B]then
			local controlTable = {};
			ContextPtr:BuildInstanceForControl( "ItemInstance", controlTable, stackControl );

The AI is in an even worse position as the code doesn't permit it to choose a prophet, musician, writer or admiral (appears to be stuck in Vanilla and never got upgraded to G&K or BNW)
 
For a human player this only needs a change to the ChooseFreeItem.lua file

attachment.php


The AI is in an even worse position as the code doesn't permit it to choose a prophet, musician, writer or admiral (appears to be stuck in Vanilla and never got upgraded to G&K or BNW)

Thanks for the tip. I'll try and make my own little mod that removes that "or player:HasCreatedPantheon()" from that LUA file. Will report back if I get it working.
 
The AI is in an even worse position as the code doesn't permit it to choose a prophet, musician, writer or admiral (appears to be stuck in Vanilla and never got upgraded to G&K or BNW)

Can this be updated in your DLL? :D

And what about all the colours in your messages? Is this little minion painting every message you type?
 
I changed line 33 in ChooseFreeItem.lua to

(not info.FoundReligion or player:HasCreatedPantheon() or not player:HasCreatedPantheon())) then

This had the desired effect of being able to pick a Great Prophet from the Liberty finisher without already needing a Pantheon. Thanks for the help whoward.
 
Just a question about how to turn my modified ChooseFreeItem.lua into a proper mod. Never done LUA modding before, just XML. Do I have to make a MODINFO file that reads something like

<EntryPoints>
<EntryPoint type="InGameUIAddin" file="ChooseFreeItem.lua">
<Name>Prophet</Name>
<Description>
</Description>
</EntryPoint>
</EntryPoints>
 
Nevermind my previous post. I manged to figure it out myself.

For anybody else who's interested ...

... you just need to put the modified ChooseFreeItem.lua file into a mod and set it to VFS=true, no InGameUIAddin entry is needed
 
Back
Top Bottom