I've been putting work into a game mechanic of the same sort for SD. At this point there is only one area that it actually effects, but more to come.
Let me explain.
Every character (NPCs included) now have a rating with each of the major factions in the game (Judges, TERRA, Gangs).
Everyone is at zero.
If you kill a member of the sinners your standing with them will go down. Your standing with any factions that the Sinners like will also go down, but not as much.
Also, your standing with any faction that dislikes the Sinners will go up a bit.
If you sell an item to a faction based NPC (A ganger, Judge, Agent) then your standing will go up a bit with them and down a bit with the factions that dislike that NPCs faction.
What do standings do? Right now they are only set up to deal with NPCs buying things.
Right now if your standing is high enough you will get a bonus when selling items to a faction based NPC. If your standing is to low, you will just get jacked.
If you are a member of a rival faction, you will get jacked.
If you are a member of a friendly faction (think Judges and TERRA) you will get a bonus.
Bonuses are cumulative.
With non-faction based NPCs, yuo will not notice a difference.
Where is this going?
Well, there are a LOT of places we can integrate this code. One thing I would like to do is make it so that if your faction standing is REALLY bad (IE: You walk around and kill Arteries all day), they attack you on sight as if you were @hated.
On the other side, I'd like to make it so if you get attacked in front of a faction you have good standing with, they jump in on your behalf.
I want to make it so GMs can see your faction rating with different groups and take that into account when they handle RP with you and members of those factions.
Perhaps gang membership can be based of faction loyalty? If you want to join the Snakes you have to have a certain faction rating with them, and if you don't, you have to raise it by getting them items they need or killing their enemies.
I would appreciate more input on this, where else can we take this into account? Ideas?