I think the "correct" approach is make the AI value lumber differently depending on the number of forests in catchment area. If it's all forests, it starts to clear. If there are just two forests, lumber is one of the most valued yields when viewed from the pioneer. Something like that has been on my wishlist for ages, but I still haven't quite figured out precisely how to do it. While it sounds simple, it suddenly isn't when you realize the AI calls the function so often that counting the number of forests when you need the number really isn't an option. This mean it requires a DLL solution, presumably with a cache and a detailed plan for cache updating and it becomes clear why it isn't implemented. Health would require some AI coding as well. However since it doesn't appear that anybody is going to do it the right way, figuring out xml settings to make it at least not completely stupid seems like it's a good idea.