-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Sonderfertigkeiten mit Attributen #14
Comments
Hab mir das System mal etwas näher angesehen. Sonderfertigkeiten mit Varianten lassen sich noch einigermaßen einfach implementieren. {
"sonderfertigkeiten": [
{"name": "Gesegnet", "kosten": 200, "varianten": ["Zwölfgötter", "Halbgott", "Namenloser"]}
]
} In Bedingungen greift dann die SF, ohne dass die Variante beachtet wird. Würde sich anders nur unvollständig umsetzen lassen. Abhängigkeiten wie bspw. Scharfschütze => Meisterschütze sind in der Software alle hardcodet. Zauberspezialisierungen (für eigene Zauber) sind bereits implementiert, Talentspezialisierungen für eigene Talente nicht ohne Weiteres möglich. Erstaunlich kompliziert wären Sonderfertigkeiten mit Freitext oder mehreren Auswahlfeldern (wie bspw. bei den Wahren Namen). Dazu müssten wir zur Laufzeit Bytecode produzieren, und das wäre ein anders wildes Gefrickel. Was möchtest du denn konkret umsetzen? Vielleicht gibt's ja andere Wege? |
Kann man eine Sonderfertigkeit mit Auswahl dann auch mehrfach mit verschiedenen Auswahlen kaufen? So oder so, das wäre natürlich immerhin schon mal etwas. Zur Laufzeit Bytecode injecten klingt in der Tat nicht so spaßig. :D Ka, ob das mit JEP 484 vlt. besser wird (https://openjdk.org/jeps/484), aber wirklich hübsch wird es bestimmt nicht. Das wäre natürlich eigentlich super, aber ich verstehe absolut, wenn du/ihr da keine Lust drauf habt. :D Wir haben in unserer Runde diverse SFs für Geweihte eingeführt, teilweise übernommen von DSA 5, teilweise Eigenkreationen. Dazu gehören zum Beispiel Spezialisierungen auf bestimmte Liturgien, die man so möglicherweise schöner umsetzen könnte. Bisher nutze ich spezielle Annotationen für das JSON, die ich dann mit einem kleinen Skript übersetzen lasse, um z.B. automatisch eine passende Spezialisierung für jede existierende Liturgie anzulegen. Führt dann natürlich zu einer entsprechend langen SF-Liste. Zugriff auf die Varianten in Bedingungen wäre z.B. für eine Eigenkreation nützlich, die wir für Alchimisten eingeführt haben. Die erfordert TaW Alchimie (Laborpraxis) 15, sprich entweder TaW Alchimie 15 oder TaW Alchimie 13 mit TS Laborpraxis. Aktuell lässt sich die Bedingung soweit ich weiß nicht abbilden. In der Praxis ist das nicht schlimm, weil man notfalls halt über den Editor gehen kann, aber es wäre natürlich "cleaner", das korrekt hinterlegen zu können. |
Ja, die Sonderfertigkeit lässt sich dann mehrfach kaufen (je einmal pro Auswahlmöglichkeit). Der Part mit den Liturgien ließe sich dann ja bspw. umsetzen, vor Allem wenn du eh schon ein Script mit Listen hast. Dann muss man nur darauf vertrauen, dass die Spieler die SF nur aktivieren, wenn sie auch die passende Liturgie haben. Aus Neugier: woher ziehst du diese Listen? JEP484 sieht interessant aus, hilft hier aber nicht wirklich weiter. Einen Java-Bytecode-Patcher gibt's sogar schon in dem Projekt. Hier müsste man eigene Klassen schreiben können, die von nicht verfügbaren Klassen aus dem Generator erben. Dabei kann sich der Klassen-Name in der Helden-Jar jederzeit ändern, und in den Quellcode schreiben lässt der sich auch nicht. D.h. man müsste erstmal Infrastruktur bauen, um gegen unbekannte Klassen compilen und linken zu können. Nicht unmöglich, aber verdammt viel Arbeit. |
Das ist der Code des Scripts: https://cpaste.de/hogeyeqayo.java Die für unsere Gruppe notwendigen Liturgien sind einfach hardcoded eingetragen... nicht hübsch (das ist das Ding insgesamt nicht), aber tuts. :D Im JSON sieht das dann z.B. so aus:
Die Kosten lassen sich wahrscheinlich nicht so direkt mit den Auswahl-SFs umsetzen, oder? |
Die Kosten hab ich sogar gefunden, kommt irgendwann... |
Kosten pro Variante in JSON: {"name": "Gesegnet II", "kosten": 200, "varianten": ["Zwölfgötter", "Halbgott", {"name": "Namenloser", "kosten": 300}]} Oder im neuen YAML-Format: sonderfertigkeiten:
- name: Göttliche Berührung
kosten: 300
varianten:
- Praios
- Rondra
- Namenloser
# Kosten können pro Variante überschrieben werden:
- name: Swafnir
kosten: 200 |
Einige Sonderfertigkeiten, z.B. Talentspezialisierungen, haben zusätzliche Attribute (z.B. das Talent und die Spezialrichtung). Wäre es möglich, diese in die Erweiterungen mit einzubeziehen? Sowohl für neue Sonderfertigkeiten, als auch für Bedingungen?
Das wäre mega, kann mir aber auch vorstellen, dass das etwas aufwändiger sein könnte. So oder so, vielen Dank für das Tool! Das macht sehr viele Hausregeln erst praktikabel, die man sonst gar nicht erst einführen würde, weil man nicht auf die Unterstützung durch die Helden-Software verzichten möchte.
The text was updated successfully, but these errors were encountered: