davidlallen said:
One thing I have not taken the opportunity to explore is "linking" the stage 1-3 improvements the way hamlet-cottage-village-town are linked. This may reduce the number of buttons. It should also allow a storm/worm to reduce the improvement by one level instead of destroying it all at once.
This discussion was around posts 105-113. I have now explored this, and as far as xml-only changes go, there is no good opportunity. Of course "anything is possible" with sdk changes, if it is important enough. In xml, there are two hooks to play with: vanilla ImprovementUpgrade/ImprovementPillage, which is how cottage->town upgrades work and pillage downgrades work; and jeckel's mod for ImprovementRequired, which can limit one improvement from being built, unless it is on top of some other improvement.
In DW today, IU/IP is not used and IR is used for turbines only. So you cannot build a turbine 2 except on top of a turbine 1.
I have also explored how worker build buttons appear. It seems that when you enter an era, all the build buttons for that era appear, even if you do not have the tech. So when you enter the era which contains the tech for deep mines, even if you do not have the deep mining tech, you still get the worker button. This puts one small limit on the number of worker buttons that appear. I could not find any hint of a way to obsolete worker build buttons. You could argue this should not happen anyway, in case the player wants to build some improvement fast, instead of building the best possible improvement.
I tried using IU/IP to link mines the same way cottage->town is linked. Even when I set the iUpgradeTime to 0 or -1, the surface mine upgrades to a deep mine after 1 turn. In the sdk code, there is a function like "max(upgrade time, 1)" and no check for zero or negative. So you cannot prevent automatic upgrading. Also as soon as you use this, there is no way to have the build buttons for the upgraded improvements. This means you would only ever get a surface mine build button, no matter how high your tech. That isn't a dealbreaker but the automatic upgrade after 1 turn is a dealbreaker.
So, without sdk changes, we cannot use IU/IP to downgrade higher level improvements to lower level ones. Although this sdk change would not be rocket science, it appears about 20 places would need to be changed, because the computation to display help text "Will upgrade to X in Y turns" appears many places and is involved in AI decisions about what to build. Also, the upper level build buttons would need to be enabled, and I did not trace out where that would happen.
I was a little surprised to find that turbines are stacked with IR. That mod doesn't appear to cover everything, since the turbine 2 and turbine 3 buttons still appear greyed out when you have the tech. So if we added this, it would not reduce the number of buttons appearing. I cannot think of any strong reason to use this more.
In summary, there is some disagreement on whether changes in this area are important, and there is no easy change, so I am going to put this onto the back burner.