That's excellent news, ill get the new version and begin the merge as soon as I can.
At this juncture there is enough custom stuff in B5 that I would recommend merging the new FFP into B5 rather than the other way around. That is, rather than starting with FFP and a removing a lot of stuff and adding the B5 stuff, I would take selected stuff from FFP and put it into B5.
A good difference or merge type tool would be handy for this (WinMerge, for example). I would suggest keeping a copy of the old FFP (rename the folder) and install the new version. Then do a differences on the two to see what exactly changed. I would keep a list of files that seem relevant and then compare the new FFP files with the B5 files and merge as needed.
I would ignore changes/additions to the units, promotions, buildings, leaders, civilizations, and things like that (since B5 uses all different stuff for these anyway) with one exception: the units/promotions Schema has changed. You should use the new schema file for them since it adds tags that you may find useful, this is the info from my change log. Since they all have "minOccurs = 0" you don't ahve to add them to anything that doesn't use them.
Code:
CIV4UnitSchema.xml
- Added FeatureDamageModifiers to PromotionInfo
positioned after DomainMods (last existing terrain/feature related tag that reads array of integers),
right before TerrainDoubleMoves
has minOccurs="0".
- Added FeatureDamageModifiers to UnitInfo
positioned at end, after UnitCombatDefenseMods (since so far all FFP tags for this have been added to the end)
has minOccurs="0".
- Added bCanMoveImpassable to PromotionInfo
positioned after bImmuneToFirstStrikes (last of the booleans)
right before iVisibilityChange
has minOccurs="0".
You can see examples of how the new things are used in the Hardened Shields promotion (PROMOTION_SHIELDS_H) which uses the FeatureDamageModifiers to give -5% damage from FEATURE_GRAV_FIELD (gravity field), -20% damage from FEATURE_FALLOUT (radiation cloud), -30% damage from FEATURE_SUPERNOVA_AREA (supernova damage area), and allows movement on impassable terrain/features (which would be Nebula, allowed via the new bCanMoveImpassable tag, copied from the unit info). Units have always had the bCanMoveImpassable (so it is not new there), but also gained the new FeatureDamageModifiers (no unit in FFP uses them so the only examples are the in promotions file).
You should use the new DLL. Some of the other stuff you will want includes:
Code:
CIV4GameOptionInfos.xml
- New game option: GAMEOPTION_REDUCED_PIRATES (the DLL is expecting it to be there).
FinalFrontierPlus.xml
- Two new text keys to go with the new game option
TXT_KEY_GAME_OPTION_REDUCED_PIRATES
TXT_KEY_GAME_OPTION_REDUCED_PIRATES_HELP
- various other things too, some of which are likely to be irrelevant
SevoPediaMain.py
- adjusted in two places to remove items set to bGraphicalOnly from the contents.
Added check for this setting in getSortedList()
Added isGraphicalOnly method to definition of TraitInfo class in getTraitInfo to
return the value from the CvTraitInfo
If you use the bCanMoveImpassable tag on units or promotions you may want to adjust your CIV4FeatureInfos.xml to give FEATURE_ICE (Nebula) some damage/turn. I set it to 10% for FFP; the Hardened SHields allows movement on it and doesn't reduce the damage (since it is the only way to move on the stuff, I just built the reduction I was thinking of into the base damage) but the 3rd level of shields reduces it by 5% (leaving 5% with no additional reduction possible in FFP).
Other than that, there are a couple of tweaks to the Python you should probably do.
First, a simple change to CvAI.py: very close to the start of doCityAIProduction there is a random chance to exit the function (right after the comment that starts "# Small chance") which you can increase from 15 to 20 by changing the "if (iRand < 15):" to "if (iRand < 20):". The DLL is a little smarter now so the overrides can be checked a bit less. There is also a change in this function to the calculation of the "iEnoughUnits" values for fighters and bombers, but you can probably skip that since I don't think you are using that code anyway (skipped via checking whether or not you can build the designated first generation fighter/bomber squadrons, and I think B5 does not have definitions set up for these so it will be skipped).
Second, a slightly larger change in the same CvAI.py file in the doConstructionShipAI function. My changelog nortes on this:
Code:
give unit a chance to not become a designated base builder when it normally would be selected
This is a random chance which increases linearly with the number of bases of that type already build
out of a number that depends on the map size (it is currently out of 10 + 2 * map size,
which is 0 for duel to 5 for huge, so on a standard map (size 3) there is a N in 16 chance to not do it
where N is 1 + the number of bases of that type already in existence). With any luck, this will help
(slightly) the AI keep its systems connected by sending away its construction ships a little less often
and also help with its economy by slowing down the rate at which it spends money to build bases.
You may want to do that change as well. Since I'm pretty sure you didn't change that function in B5, you can probably just copy the whole thing over to replace the old version of the function. It isn't a long function and the changes are not huge. This allows construction ships to occasionally escape being sent off to build a base, more so as they build more bases. This slightly slows the AI's construction of bases and likewise slightly improves their ability to keep their star systems connected (after pillaging by hostiles) due to sometimes having an extra construction ship to do so, both of which improve their economies a bit (starbases, in particular, are pretty expensive and it takes time to build a replacement construction ship somewhere).
There is also one trivial change to FinalFrontierEvents.py that only affects the debug output. The line that reports the new player ID in onBeginPlayerTurn now also reports whether or not the player has their financial trouble indicator set.
There is a fair chance that this is actually everything you need.
Edit: FinalFrontierTextInfosObjects.xml has also been updated (the original FF file) to update the name for the "Supernova Damage Zone" to be just that, since it used to just say "Damage Zone" which is not highly informative when listed for a promotion that reduces damage for that feature type. There was, oddly, also a second definition for this text key in there that was removed.