Well, how you do it all depends on how radical a change you want to make. The easiest thing to do is to look up the various XML files in your Assets folder, look at the available tags and see if they give you the ability to make the modifications you want.
Failing that, you can look into Python and see if you can build some kind of 'event' system to give you what you want. This is good for scenarios where you want event A to occur if action B is taken.
If neither of these works for you, then you have to dig into the CvGameCoreDLL files. This is your hardcore C++ code, but it does allow you maximum flexibility. You can add new tags to the existing XML files, which is what I mainly use it for-thus making the XML's more flexible.
Hope this helps.
Aussie_Lurker.