Die Funktionen ließen sich auch alle verständlich abbilden.
Ich würde das folgend Lösen. Es gibt zwei Variabelen:
sipper01-rang und sipper01-presige
Erfolg oder Misserfolg verändern den Zahlenwert von sipper01-prestige. In der Befördungerusabfrage wird als erstes der aktuelle Rang ausgelesen. Dann wird überprüft ob der zugehörige PRestigewert innerhalb der parameter liegt. Liegt er in den Prametern, dann passiert nichts. Ist er niedriger kommt es zur Degradierung mit Textaussage und ein neuer Rang wird gespeichert. Liegt er oberhalb kommt es zur Beförderung. Gleiche Funktionalität, aber weniger Fehleranfällig.
Was ich dafür bräuchte wären am besten eine Vertrauens/Rangstaffelung mit Zahlenwerten. Wahrscheinlich aus sipper-c übernehmbar. Was eine schöne funktionalität were ist, wenn man irgendwo seinen Rang auch im Gespräch abfragen kann und eine Textausgabe bekommt.
Dann bräuchte ich noch für die Queste das Prestige wahrscheinlich ehemals k. Und die Zuordnung in welcher Menge man welchen Rang bekommen soll.
Hoffe die Ausführungen sind soweit verständlich.