Heyho!
Wir haben hier ja schlaue Script-Menschen:
Ich habe hier einen Status, der angreifenden Gegnern Schaden zufügt, was soweit auch erstmal gut funktioniert. Der soll allerdings nur bei physischem Nahkampfschaden getriggert werden. Ich habe verschiedene Fernkampf-Elemente, bei denen der Effekt nicht getriggert werden soll, zum Bsp. Pfeilschaden usw.
Das habe ich jetzt mit einem IF Statement geregelt:
if (value > 0 && this.isPhysical() && this.item().damage.elementId != 14) {
So wird verhindert, dass der Effekt bei Element 14 getriggert wird. Wenn ich jetzt aber noch andere Elemente ausschließen will, muss es doch eine bessere Möglichkeit geben jedes einzeln mit this.item() aufzuzählen oder?
if (value > 0 && this.isPhysical() && this.item().damage.elementId != 14 && this.item().damage.elementId != 15 && this.item().damage.elementId != 16) { sieht mir irgendwie sehr unelegant aus.
Und jetzt Frage II:
Wie mache ich das gleiche für einzelne Skills? Ich habe zum Skills, die physisch sind, keines der auszuschließenden Elemente haben, aber den Effekt trotzdem nicht triggern sollen. "Steingewölle" zum Bsp. schleudert eine Erdkugel auf den Gegner. Das macht physischen Schaden mit dem Element "Erde", ist aber kein Nahkampfangriff. Ich möchte aber "Erde" auch nicht komplett vom Status ausschließen.
if (value > 0 && this.isPhysical() && this.item().name != "Steingewölle") {
funktioniert, aber ich würde gerne auf die Skill-ID statt auf den Namen zugreifen, weil ich teilweise Skills mit demselben Namen (einmal für Gegner, einmal für Party-Mitglieder zum Bsp.) habe und es außerdem die Übersetzung, falls es doch irgendwann mal dazu kommt um einiges leichter macht.
Und hier auch wieder, wie zähle ich am besten mehrere Skills hintereinander auf?
Vielen Dank schonmal im Voraus