Ich hab das jetzt mal ausprobiert. Wäre mal eine Idee, aber ich weiß nicht so recht...
Und Stimmt, standardmäßig haben die Gegner kein Level. Aber ich hab das Gegner-Level Script von Yanfly drin ^^
Ich weiß aber immer noch nicht, was ich für Schadensformeln nehmen soll. Nur a.atk*2-b.def ist mir zu billig. Gibt es nicht irgendwo ein Tutorial für Schadensformeln? Es gibt doch zu alles mittlerweile Tutorials xD
Wie gesagt, du kannst mit Kommazahlen rechnen. Das passiert allerdings nur wenn du in deiner Rechnung Kommazahlen angibst.
Grund dafür ist einfach der dass die Schadensformel intern wie ein Scriptbefehl übersetzt wird und damit an Rubys Konventionen gebunden ist. Ein ganzzahliges Ergebnis ist bei der Division häufig ausreichend bzw. sogar erwünscht (unter anderem da Fließpunktzahlen nur eine gewisse Genauigkeit haben).
Rundungsfehler könntest du bei der genannten ersten Schadensformel wie geschrieben minimieren:
10000*(2*a.level+10)/250*a.atk/b.def*Basisschaden/10000+2 # <= Multiplizieren mit hoher Zahl
(2*a.level+10)*a.atk*Basisschaden/250/b.def+2 # <= Umstellen nach Multiplikation
((2*a.level+10)/250.0)*(a.atk/b.def.to_f)*Basisschaden+2 # <= Verwenden von Fließpunktzahlen wenigstens an kritischen Stellen
Zu deiner neuen Formel kann ich selbst nicht viel sagen... Am einfachsten denke ich ist es du probierst die Formel einige Male mit verschiedenen für dein Spiel realistischen Werten durch und schaust was herauskommt.
Ansonsten dürften die Präferenzen bei Schadensformeln vermutlich etwas auseinandergehen...