Thanks for all the feedback on NPCs & Ambient Population as related to stealing.
I have taken some steps to improve this system. It's still not perfect but I think it's a few steps in the right direction.
There are now a number of factors that are taken into account to decide what, if anything, an NPC will do if it sees a character stealing from another character. They are listed below in order of importance to the code which means that only one of these cases will ever trigger, and it checks them in the order listed below.
1. Does the NPC hate the thief? -> Notify with details
2. Does the NPC hate the victim? -> No Notify
3. Does the NPC hate both? -> FOIC
4. Does the NPC like the thief -> No notify
5. Does the NPC like the victim -> Notify with details
6. Does the NPC belong to any factions?
6A. Does the victim have a good enough rating with any of those factions to warrant a heads up? -> Notify with details
6B. Does the thief have a bad enough rating with any of those factions to warrant a fuck you by way of heads up to the victim? -> Notify with details
7. Are we on Red? -> No Notify
6. Are we not on Red? -> Notify without details
Based on this ordering, NPCs on Red will only be notifying people of thefts in faction/like situations.
It's still possible an NPC ally will tell a person you dip what happened, but that should only be happening in situations where they like both people involved.
I think this is much more themely over all. Thoughts?