"CantPillage" is a new AE option that can be applied to Tile Improvements via the "tileimp.txt" file. I had an idea for applying this on a limited basis in Cradle 3+, specifically giving it to a couple of the early, more primitive tile improvements. Weaker civs invariably lose all their improvements to stronger ones ("rich get richer" syndrome), so this code would prevent a couple of the early improvements from being pillaged (specifically Nets and Pasture). The idea is that these are among the "early tech" tile improvements, and thus most likely to be created by the weaker civs. It also adds some variability to the map, since usually the weak civs are inundated by marauders and wind up with no improvements anywhere in their territory. Finally, it limits the damage caused by the first wave of Barbarian Biremes which typically pillage all the naval improvements they find, and is thus an incentive for the human player to build Nets. Which is usually not worth doing because they are expensive and difficult to protect (in the early game anyway).
I added the "CantPillage" line to the "Pasture" improvement in tileimp.txt, and then wrote a small slic program that grants ADVANCE_DOMESTICATION to the human player along with some PW. After building the improvement, I was unable to pillage my own improvement - so far, so good! A few turns later the slic program provided the ADVANCE_AGRICULTURAL_REVOLUTION, which allows the player to overwrite the Pasture improvement with "Advanced Farms". I was allowed to build the upgraded improvement, and after a few turns it appeared on the map. However, even though it looks like an Advanced Farm, the hover text says it is still a "Pasture", and the new improvement (if it even exists) also cannot be pillaged, even though Advanced Farms don't have the "CantPillage" code.
If the intent of this new feature was to create a completely un-removeable tile improvement, well, fine. But if so, the player should not be able to construct (or appear to construct) a new improvement on top of the un-removeable one, and it's even worse that you get the image of the new improvement while retaining the underlying values of the old.
Hopefully something that the Source Code folks at GitHub can look into.
I added the "CantPillage" line to the "Pasture" improvement in tileimp.txt, and then wrote a small slic program that grants ADVANCE_DOMESTICATION to the human player along with some PW. After building the improvement, I was unable to pillage my own improvement - so far, so good! A few turns later the slic program provided the ADVANCE_AGRICULTURAL_REVOLUTION, which allows the player to overwrite the Pasture improvement with "Advanced Farms". I was allowed to build the upgraded improvement, and after a few turns it appeared on the map. However, even though it looks like an Advanced Farm, the hover text says it is still a "Pasture", and the new improvement (if it even exists) also cannot be pillaged, even though Advanced Farms don't have the "CantPillage" code.
If the intent of this new feature was to create a completely un-removeable tile improvement, well, fine. But if so, the player should not be able to construct (or appear to construct) a new improvement on top of the un-removeable one, and it's even worse that you get the image of the new improvement while retaining the underlying values of the old.
Hopefully something that the Source Code folks at GitHub can look into.
Comment