Is it possible for mods to change existing c# files or are they limited to adding new ones?
Well if you change an existing C# file, the entire game needs to be recompiled. At that point it’s no longer really a mod and just a different variant of Thrive. And BTW that must be GPLv3 licensed in its entirety.
Much better is to request (or open a pull request) to add hooks into the base game to access the needed functionality. I think another possible approach is to use C# reflection to mess with loaded classes, but I haven’t tried this to see how it would work.