Why is it necessary to
modify the game object stats directly from python?
I've never added such python code, but there is a lot of such python code in C2C already.
Not saying it's necessary, just that it would be practical that we try to keep python as an integrated part of C2C.
If there were no python code in C2C there would be far less modders as it is an easy gateway for many who are not too familiar with programming.
Python is in general nice in that it allows very quick code development, the downside is of course that the python code is slow to process, but it allows one to try out experimental stuff without investing too much time and effort into completing it, stuff that one day may be converted to effective C++ code if it turns out to be a good idea for game content.
I'd far prefer to see this actually applied to a particular tech in there somewhere than be random, but I do think there may be a way to program a tag on the event that gets checked to see if it's part of the ledger for the 'rebuild' portion of the recalculation that we could look into.
There is already two techs that reduce movement cost for modern roads the moment they are invented, they are also the reason why the "modern-road-infinite-movement" bug exist as the tech adjustments are added at each recalc without resetting the old value first leading to the eventual negative movement cost for modern roads.
I think having two techs that does this is more than enough, considering there are no other routes in C2C that are affected by techs like the modern roads are.
We should remove the interstate event imo.