Um eine Beziehung noch komplexer und glaubwürdiger rüberkommen zu lassen, könnte man den Status an mehr als einem Wert festmachen. So könnte z.B. die Freundin auch eine Konkurentin sein, was wieder eine andere Art von Beziehung ist, als wenn man sie wie eine Prinzessin behandelt und ihr immer alles durchgehen lässt. Dann hätte man z.B. die Parameter Freundschaft, Liebe, Rivalität, Enttäuschung, Hass und Hochnäsigkeit. Bei entsprechenden Werten von Freundschaft und Enttäuschung, liebt die Person den Protagonisten, ist aber enttäuscht von ihm (gibt's ja auch). Oder bei hohen Werten von Liebe und Hass könnte es zu einer Hassliebe kommen. Das wird aber echt schwer zu gestalten sein, da man für jede Kombination (vielleicht sogar in Abstufungen: wenig Rivalität, Konkurrent oder Erzfeind) im Prinzip eigene Entwicklung sich ausdenken muss ohne dass sich dabei irgendwas überschneidet.

Noch komplexer wird es, wenn jede Entscheidung eine Auswirkung hat. Also nicht: Bei Liebe von 0-10 passiert x, bei 11 - 30 passiert y und bei 31 bis 35 passiert z, sondern:Wenn hier Antwort 1 Gegeben wird passiert das, das und das. Wenn dort die Person ignoriert wird passiert dies und jenes. Lässt man hier Personen C den Todesschlag versetzen wirkt sich das auf 32 andere Ereignisse aus. Oder auch Kombinationen, wenn 1 und 3 gemacht werden, dann mag einen Personen B. Macht man zusätzlich 4 schlägt es sich um und sie hasst einen. So in etwa.

Könnte man über Schalter Regeln. Um es etwas übersichtlicher zu gestalten und um Schalter zu schonen würde ich eine Variable mit Binär-System vorschlagen:
Ereignis 1 gibt plus einen Punkt, Ereignis 2 gibt plus 2 Punkte, Ereignis 3 gibt plus 4 Punkte, Ereignis 4 gibt plus 8 Punkte.
So hat man für jede Kombination einen eigenen Wert und man kann es sich in einer ordentlichen Tabelle aufschreiben, was wann passieren soll:

ABCD
0000 --> 0 --> Konsequenzen 1
0001 --> 1 --> Konsequenzen 2
0010 --> 2 --> Konsequenzen 3
0011 --> 3 --> Konsequenzen 4
0100 --> 4 --> Konsequenzen 5
0101 --> 5 --> Konsequenzen 6
... und so weiter bis
1111 --> 15 --> Konsequenzen 16

Wenn man die Werte gut zuweist und sich das Konzept ordentlich ausarbeitet, könnte man so sogar Bereichen die gleichen Ergebnisse zuordnen: "Bei einem Wert von 4-7 soll xyz passieren", aber das macht es noch komplexer.
Wenn man will kann man solche Beziehungssachen sehr aufwendig mit vielen unterschiedlichen Ergebnissen erstellen. Man muss dann aber wirklich ganz genau darauf achten, was bei welchen Entscheidungen passiert.
Ich hatte es schon in Spielen, dass man eine Harmlose Antwort auswählt und durch den weiteren Dialog hat man sich alles versaut. Und bei der eigentlich idiotischsten oder provokativsten oder einfach nur der anderen genau so nichtssagenden Antwort bekommt man ein tolles Ausrüstungsteil oder einen neuen Mitstreiter oder was auch immer. Das konnte ich nie leiden, dass es in keinster Weise ersichtlich war, warum bei dem einen man Pluspunkte machte und bei dem anderen nicht. Oft lief das dann auf simples Trial & Error hinaus. Vorher speichern und einmal alles ausprobieren und dann das beste davon behalten. Ist auf dauer nicht besonders toll.
Die Kunst besteht also darin, die Konsequenzen logisch und nachvollziehbar zu machen, aber nicht zu vorhersehbar, so dass man immer direkt weiß, was die optimale Entscheidung ist. Am besten ist es, wenn es ausgewogen ist, man nur eben in verschiedenen Bereichen vorteilen bekommt, oder eben bei einem Beziehungssystem, dass sich jede Entscheidung auf eine Person bezieht oder eben auf verschiedene Aspekte mehrerer Personen. Beispiel: Antwort 1: A mag mich mehr, B's Rivalität steigt und C ist es egal | Antwort 2: A will mir eine Reinhauen, B verschenkt einen Heiltrank und C ist von mir enttäuscht.

Hab jetzt doch mehr dazu geschrieben, als ich dachte XD