Might be possible to accomplish what you want through the
TECH_COST_EXTRA_TEAM_MEMBER_MODIFIER
value in GlobalDefines.xml. Here's how the DLL uses that value (slightly edited for readability):
Code:
int CvTeam::getResearchCost(TechTypes eTech) const
{
int iCost = GC.getTechInfo(eTech).getResearchCost();
// (... apply a bunch of other percent modifiers ...)
iCost *= std::max(0, 100 +
GC.getDefineINT("TECH_COST_EXTRA_TEAM_MEMBER_MODIFIER") *
(getNumMembers() - 1));
iCost /= 100;
}
On a side note, if your DLL only increases the civ limit, then you could simply use the source code of the original DLL and increase the civ limit there; it's a one-line change in
CvDefines.h. However, setting up the environment for recompiling the DLL is a bit laborious, so, hopefully you can get it to work through XML/ Python.