If you wanted a realistic karma system, the only consequence of doing shitty things would be shitty reputation, and only if you’re caught doing the shitty thing. A powerful enough metaphysical (stretching “realistic” here a bit) being might perhaps catch every time you do.
And it depends on the listener too. Some people should stomach more shit, while some might drop you from their internal list of “good people” on the first mistake.
But all this is probably difficult to pull off in a story-based game.