How can you make impassible terrain more productive?

MagisterCultuum

Great Sage
Joined
Feb 14, 2007
Messages
16,536
Location
Kael's head
I've been wondering for quite a while if peaks could be made more productive. Quite a while back I made workers (actually Dwarven Workers, since I mostly play FfH sometimes with minor changes of my own) able to move through impassible terrain in the hopes that it would let them build improvements there. I soon realized that I would also need to make some xml changes to the improvements to make them buildable there, but even after making what seemed to be appropriate changes I still couldn't actually get them build anything on impassible terrain. I assume there may be some SDK changes needed, and I've never programmed in C++. Does anyone know how to allow improvements on peaks?


I added a couple of hammer per peak and went ahead and used worldbuilder to add several resources and improvements to mountainous tiles (since I couldn't get my workers to build them), but then I noticed a bigger problem: cities cannot work impassible terrain, even if these tiles would be productive. Is there some way to change this? Ideally, I would like to make these tiles workable only in certain situations. Is it possible for them to be workable only by:
1. specific civilizations
2. civilizations with a certain technology
3: cities with specific buildings in the city
4. (the one I really want) civilizations using certain civics?


One more thing, which isn't exactly related to the impassible terrain issue: is there a way to make certain land improvements allow access to resources without needing a road (like how cities get access to water resources), so long as they are in a city's cultural boarders?




(When I tried before I modding FfH for vanilla civ, but any future attempts would be in BtS (or more likely, a BtS version of FfH). I assume I'll have to teach myself C++ over the Christmas break in order to make any of these changes. I won't really have time to try to mod this until them anyway, but if someone explains how to do it soon then perhaps I could just convince Kael to add these changes to Shadow and avoid all the work myself. ;) Either way though, I would like to learn some C++ when have the time)
 
A peak isn't a hill so you might need to make a new improvement just for mines on peaks. If you use the existing mine it will either need to be a hill or have one of the bonuses (resources). I don't know if that will work though since I haven't tried it myself.

Cities can access water bonuses because water is a route (like roads & rivers are). To make a specific improvement work like that but on land you'll need to get into python or the SDK. Again, not something I've done myself but you do have some python callbacks for cities that can iterate through the city plots although I believe they have to be in the city radius itself, not just within cultural borders for that to work. Otherwise you should be able to parse all of the plots containing that specific resource, see if the improvement is there and then make the bonus available to the owner but that might be a bit of a drain on larger maps with a lot of resources & improvements unless it's in the SDK.

Hmm... well, that didn't really answer anything did it? I hope I at least gave you some ideas :)
 
The first thing I tried was building mines on peaks that had the iron resource, and it didn't work. Nothing could be built on the peak, not even a road (although if you place a resource, the improvement to harness it, and a road on the peak using world builder then you do get access to the resource on the peak)

I figured that water acting a trade route was probably why fish was accessible. I don't really care enough about making some resources not need routes to do anything about it.


The part I really wanted to know is how to let a city's citizens work impassible terrain tiles. Improving them would be kinda pointless otherwise.
 
Back
Top Bottom