If you would like, I am happy to try and get you started.
First, you want to add <YieldModifier/> and <CommerceModifier/> as new XML tags but-as Impaler said, this won't do anything by itself!
Next, go into CvInfos.cpp and CvInfos.h, and find the section headed CvSpecialists in the .cpp file.
Next, find this section of the code:
Code:
CvSpecialistInfo::CvSpecialistInfo() :
m_iGreatPeopleUnitClass(NO_UNITCLASS),
m_iGreatPeopleRateChange(0),
m_iMissionType(NO_MISSION),
m_bVisible(false),
[B]m_piYieldChange(NULL),
m_piCommerceChange(NULL),[/B]
m_piFlavorValue(NULL)
Now, just after the bolded section, add the next 2 lines of code:
Code:
m_piYieldModifier(NULL),
m_piCommerceModifier(NULL),
Right below this section, you will find THIS code:
Code:
SAFE_DELETE_ARRAY(m_piYieldChange);
SAFE_DELETE_ARRAY(m_piCommerceChange);
SAFE_DELETE_ARRAY(m_piFlavorValue);
Now after piCommerceChange, add:
Code:
SAFE_DELETE_ARRAY(m_piYieldModifier);
SAFE_DELETE_ARRAY(m_piCommerceModifier);
Now, under the section headed //Arrays, add in the following code:
Code:
int CvSpecialistInfo::getYieldModifier(int i) const
{
FAssertMsg(i < NUM_YIELD_TYPES, "Index out of bounds");
FAssertMsg(i > -1, "Index out of bounds");
return m_piYieldChange ? m_piYieldModifier[i] : -1;
}
const int* CvSpecialistInfo::getYieldModifierArray() const
{
return m_piYieldModifier;
}
Next, do exactly the same thing with Commerce.
The next place you want to add code is under the // read from XML heading, where you want to add this:
Code:
if (gDLL->getXMLIFace()->SetToChildByTagName(pXML->GetXML(),"YieldModifier"))
{
pXML->SetYields(&m_piYieldModifier);
gDLL->getXMLIFace()->SetToParent(pXML->GetXML());
}
else
{
pXML->InitList(&m_piYieldModifier, NUM_YIELD_TYPES);
}
Again, do the exact same thing for commerce.
At this point, you are finished with the .cpp file (I hope

).
You then go into CvInfos.h file. Again, under CvSpecialistInfo, you want to add the following code, under //Arrays:
Code:
DllExport int getYieldModifier(int i) const;
DllExport const int* getYieldModifierArray() const;
DllExport int getCommerceModifier(int i) const;
DllExport const int* getCommerceModifierArray() const;
Then, under the second //Arrays heading, add:
Code:
int* m_piYieldModifier;
int* m_piCommerceModifier;
Lastly, compile these 2 files and let us know-then either myself, or one of the other much more talented modders here

, will let you know how to procede.
Definitely lastly, if this is all too much for you, then I sugges you visit THIS thread:
http://forums.civfanatics.com/showthread.php?t=166935
I found it a huge help, and this guy SERIOUSLY knows what he is talking about

! Hope this has all been helpful to you.
Aussie_Lurker.