Modders Guide to FfH2

While you can get a makefile from most of the mod-modders, most of us also have added files to the DLL for various reasons. I believe however that Kael has not added any files, so you could use the basic BtS makefile without issue.
 
Where can I change it so that the Mercurians spawn separately like the Infernals rather than join the game teamed up?

In CvEventManager.py, change CyGame().addPlayerAdvanced(iMercurianPlayer, iTeam, gc.getInfoTypeForString('LEADER_BASIUM'), gc.getInfoTypeForString('CIVILIZATION_MERCURIANS')) to CyGame().addPlayerAdvanced(iMercurianPlayer, -1, gc.getInfoTypeForString('LEADER_BASIUM'), gc.getInfoTypeForString('CIVILIZATION_MERCURIANS'))
 
bSpy is for BtS espionage missions, which no unit in FfH can do (plus there are no active missions in BtS's espionage defines). Units with bSpy are sometimes randomly discovered and destroyed (I found this out the hard way a while back when I had added BtS espionage to .25 and let a few units act as spies; I lost Loki and a few shadows)

So, is it possible to bring back the espionage? Was this ever accomplished?
 
Thanks a lot Valkironn! Opera and Lena have brought everything to FfH that I could ever want to mod.
 
While modding, i was trying to change the promotions given to the golems by the buildings, but i can't seem to find where they are located.
Anyone who knows?
 
Is there away in base FFH .XML to set it so that one building can be replaced by another an upgrade so to speak? (without python, etc got to keep it modular :))

Edit: I mean one removes the other not just making a UB. (thanks MC)
 
You mean so that building one removes the other, not just making a UB? I can't think of an xml only way to do it, although in python it would be almost trivial.



Can you find a unit's tier in python? (I'm thinking I may want to limit the vampire promotion to high tier units, and allow vampires to feed on lower tier livings units.)
 
What Programs do you use to read and edit FFH? im looking at doing some modding but not sure which programs to use (i wouldnt be doing any dll stuff, just python and XML)
Thanks
 
For both python and xml, I use Notepad++. It can edit both files, it helps with their formatting, and just makes it easy to read.

That said, I believe FfH (and I know Orbis) uses an editor, an excel sheet. Should be able to use that just as easily.

Thanks, ill go find that and see what i can do.
 
I'm having some issues with the way religions change alignment...

Basically, I've cloned the existing alignment axis to create a Lawful-Evil axis. To accommodate it, I'm tweaking the alignments the various religions pull you to. The issue is occurring with those religions like RoK, where Evil becomes Neutral rather than Good. With those religions, Neutral is not shifting to whatever alignment it should be...

For example, I want FoL to make Lawful civs Neutral and Neutral ones Chaotic. The tags look correct, but it's not working.

A better example: RoK is keeping the current function (Good stays Good, Neutral becomes Good, and Evil becomes Neutral), and gaining the same affect for Lawful. With BOTH alignments, the shift from Neutral is failing.

Here's the code (Exactly the same as in FfH....):
Code:
<Alignment>ALIGNMENT_GOOD</Alignment>
<AlignmentBest>ALIGNMENT_GOOD</AlignmentBest>
<AlignmentWorst>ALIGNMENT_NEUTRAL</AlignmentWorst>

How exactly do these tags work? I know of the DLL function which uses them (had to clone it, after all), but it compares the alignments as values, rather than strings... How are they listed? I think Xienwolf mentioned it relies on the order they are in XML/DLL, but I have them in the same order (Or relative order, with Lawful=Good) as FfH does. And is <Alignment> actually USED for anything? Can't find it's function in the DLL.
 
Previous tags are not capable of moving in a "Shift" manner. They can only prevent you from being beyond a certain point.

Code:
Evil = 0
Neutral = 1
Good = 2

If (YourAlignment > BestAlignment)
    YourAlignment = BestAlignment
if (YourAlignment < WorstAlignment)
    YourAlignment = WorstAlignment

That is ALL it does. So you can say that both best and worst are the same to force that alignment (Order & AV), or you can eliminate a single alignment by being under/over it (RoK/Emp/Esus/OO), or you can include all alignments (FoL) and not change anything.

You need completely new tags if you want to have shifts. You could use an integer and continue to rely on XML order, or you could set up an array where you directly specify "If Alignment = X, make Alignment Y"
 
Back
Top Bottom