Hallo zusammen und ein frohes neues Jahr!
Ich möchte gerne ein Skillsystem in mein Projekt einbauen, soweit habe ich das auch getan in dem ich sozusagen "Skills" mit einem Drag&Drop in Skillslots einfügen kann usw.
Das funktioniert auch super, aufgebaut ist das ganze über ein Structure System.
Nun bin ich leider an einem Punkt angekommen wo ich Denkfehler habe/bekomme.
Hierzu ein Beispiel:
SpielerLebenspunkteMax: 1000 (basis)
1.
Skillname: "Mehr Leben"
Effekt: + 100 max Lebenspunkte
2.
Name: "Lebenskraft"
Effekt: + 10% max Lebenspunkte
3.
Name: "Kriegstreiberei"
Effekt: +30% Schaden und -20% max Lebenspunkte.
Das sind 3 Beispiele, um euch besser zu erklären was ich mit Logik Fehler meine.
Wo und wie genau ich diese Abfragen einfügen soll im MyCharacter ist mir aktuell auch noch etwas unklar, es geht mehr darum zu verhindern sich selber ein Bein zu stellen über das man stolpert, etwa wenn man die Übersicht verliert wo etwas ist.
Max Leben Spieler ist 1000.
Füge ich nun Skill, 1, 2, 3 ein ergibt sich folgendes:
1000 + [1.] 100 = 1100 Lebenspunkte
1100 + [2.] 10% = 1210 Lebenspunkte
1210 - [3.] 10% = 1089 Lebenspunkte
Soweit so gut, leider ist hier schon der erste Fehler zu sehen, da ich alles einfach zusammenrechne und nacheinander aufbaue.
Würde ich also das ganze rückführen wollen, ergibt sich dieses Problem:
1089 + [3.] 10% = 1197,9 Lebenspunkte
1197-9 - [10%] = 1078,11 Lebenspunkte
1078,11 - [1.] 100 = 978,11 Lebenspunkte
Das Problem ist ja ganz klar zu sehen das es so nicht funktioniert...
Wie mache ich das nun richtig?
SpielerLebenspunkteMax: 1000 als Hauptvariable
Dazu eine Separate Variable für feste Werte und eine weitere für Prozente?
z.B.
Skill 1 + 2 + 3
Hauptvariable: 1000 Max leben
+
Ganzzahlvariable: 0 + 100 Leben
+
Prozentzahlvariable: 0% +10% - 10% = 0 %
= 1100 Lebenspunkte.
Also für jeden Skill eine zusätzliche externe Variable erstellen und diese dann immer in eine Berechnungsformel einbauen?
Neben diesen ganzen Zahlen kommen natürlich noch besondere Fähigkeiten hinzu.
Nachtsicht, Verwandlungsformen usw. also nicht nummerische Skill-Veränderungen.
Bei meiner Frage geht es mehr darum wie ich das ganze sinnvoll und möglichst einfach einfügen kann, ohne das ich umständlich für alles separat verändern muss (umständlich betrachtet).
Freue mich auf Antworten von euch!