This would be pretty difficult. The formula for corruption is rather complex and it's computed by one large function in the game, about 350 lines decompiled. If the decorruption effect from buildings were computed by a separate function, I could easily replace it or modify what it returns, but it's computed by a simple for loop in the main function. Modifying loops like that is possible, but it's more involved than modifying function calls. It's tempting to reimplement the whole thing in mode code, that way I could make it completely configurable. The downside is it would be a fair bit of work and I'd have to be careful to make sure my reimplementation computes exactly the same thing.