Well, 1st off, it's not possible without changes to the C++ code. My initial thought is that these capturable units (buildings) could be specified in a secondary file, separate from the map, but with information to match each map. Perhaps the easiest way would be a single xml file that tells the details of these capturable units and specifies where they are in each map. The alternative of modifying each map personally seems more daunting to me.
As far as the mechanism for implementing this...
First off, there is a hard set limit of 4 teams (called factions internally). This is actually modifiable from a single variable in the code unless I'm mistaken. But I'm not entirely certain what the best approach would be to archive this. As I mentioned before, the quick & dirty approach is to make them belong to a 5th team, but there may be a better way to go about it, especially since the changes needed to do this wouldn't be so "quick" anyway.
The questions should be asked:
- What would be required to capture one of these units?
- What would other mods want to set as requirements for capturing one of these units?
- Could there be other means to capture alternate units? Maybe some units are captured by destroying them and doing the most damage. Maybe other units are captured by having a unit from your team execute a "capture" command on them and that command takes x amount of time. This gives rivals a time window in which to kill your unit that's trying to capture.
- How will the captured unit behave once it's captured?
- Should you be able to repair a captured unit that you own?
- Should there be a global notice when somebody begins the attempt to capture one of these units?
- Do you want this to work from any tech tree mod (magitech, four path magitech, indians, etc.) or just one that you create especially for this purpose?
- If the former, are you proposing that Glest have a "game type" that you specify when starting a game where there's a "normal" player-vs-player and then a "capture" game type?
I think that having a scripting language may aid in doing this, but I'm not at a point where I'm seriously looking at that since I was able to get everything to work (thus far) in our mod without it. Also, if you want it to work cross-mods, then you should ideally have models (animations) and sounds that fit with the theme of each mod. You can do this cheaply by reusing a model from one of their mods, but having a unique one would be better. That part isn't crucial however, it would just make it look better.