I don't know, but here's how I would figure that out.
1. Find out everywhere that PLOT_HILLS is used. This is the constant that states that a CvPlot is a Hill.
In Visual Studio, open CvEnum.h and find PLOT_HILLS. Right-click it and select
Find All References.
Code:
cvenums.h(680): PLOT_HILLS,
cvgame.cpp(1193): pLoopPlot->setPlotType(PLOT_HILLS);
cvgame.cpp(1938): pLoopPlot->setPlotType(PLOT_HILLS, false, true);
cvplot.cpp(4777): return (getPlotType() == PLOT_HILLS);
cyenumsinterface.cpp(494): .value("PLOT_HILLS", PLOT_HILLS)
Good, only five and the first one is the line we're looking at, and the last one just exposes the constant to Python. That leaves just three places to check for this step. The fourth one looks suspiciously like the entire implementation of CvPlot::isHills(). I'll let you check out the other two.
2. Do the same thing for CvPlot::isHills(). This produces 44 hits in the SDK code.

I'm not going to paste them here because a) you can do this yourself and b) VS makes you copy them one-by-one (way to be awesome MS).
For each of these you need to figure out what to do.
Don't call it Hills2! DFIHSI would make a better name. Okay, maybe not DFIHSI, but how about PLOT_SUNKEN? Instead of using HILLS for your sunken and HILLS2 for your hills, just make a new type for sunken terrain. I know, I'm totally brilliant!
Let's take a look at one example from the returned references list: CvPlot::seeThroughLevel(). You could amend it like this:
Code:
int CvPlot::seeThroughLevel() const
{
int iLevel;
FAssertMsg(getTerrainType() != NO_TERRAIN, "TerrainType is not assigned a valid value");
iLevel = GC.getTerrainInfo(getTerrainType()).getSeeThroughLevel();
if (getFeatureType() != NO_FEATURE)
{
iLevel += GC.getFeatureInfo(getFeatureType()).getSeeThroughChange();
}
if (isPeak())
{
iLevel += GC.getPEAK_SEE_THROUGH_CHANGE();
}
if (isHills())
{
iLevel += GC.getHILLS_SEE_THROUGH_CHANGE();
}
[B][COLOR="Red"] if (isSunken())
{
iLevel += GC.getSUNKEN_SEE_THROUGH_CHANGE();
}[/COLOR][/B]
if (isWater())
{
iLevel += GC.getSEAWATER_SEE_FROM_CHANGE();
}
return iLevel;
}