Attacken-Effekte

Dieser Artikel beschreibt die Kampf-Effekte, die in Pokémon Essentials existieren.

Weiterführende Links
  • Attacke definieren
    • Wie man Attacken definiert. Der Artikel beinhaltet, außer die Attacken-Effekte, dafür aber die Effekt-Flags.
  • Funktionscodes
    • Eine Liste aller verschiedenen Funktionscodes für Attacken.
  • Attacken-Animationen
    • Wie man die Animationen für jede Attacke erstellt.
  • Feldattacken
    • Beschreibt die Wirkung der Attacken außerhalb des Kampfes.

 

Inhalt

Attacken-Effekte-Flags

Manche Attacken erhalten ihre Effekte, indem man diesen eine oder mehrere Flags gibt. Ein Flag ist ein Buchstabe. Eine Liste mit allen Flags und deren Auswirkung findet man im Artikel Attacke definieren.

Effekte, die von den Flags definiert wurden sind, werden bei den Funktionscodes ausgelassen. Zum Beispiel hat Schlitzer eine erhöhte Volltrefferquote. Da es dafür aber schon ein Flag gibt (h), ist der Funktionscode 000, da es sonst keinen anderen Effekt besitzt.

Funktionscodes

Siehe auch: Funktionscodes

Die meisten Attacken, die Schaden verursachen, sowie alle Status-Attacken haben einen Effekt. Dieser kann vom einfachen Vergiften des Gegners reichen, bis hin zu komplexen Effekten wie Wandler. Um einer Attacke einem Effekt zuzuweisen, gibt man diesen einen Funktionscode.

Ein Funktionscode beschreibt einen bestimmten Effekt der Attacke (z.B „Attacken mit diesem Funktionscode vergiften den Gegner“). Mehrere Attacken können denselben Funktionscode besitzen. Jedes Funktionscode ist eine dreistellige Hexadezimalzahl (z.B 001, 02A, 0E3, 0DF, 12A).

Die zahlreichen Effekte mit ihrem dazugehörigen Funktionscode sind (zum größten Teil) im Script-Bereich PokeBattle_MoveEffects definiert, wobei jeder Funktionscode seine eigene Klasse namens PokeBattle_Move_XXX besitzt (XXX ist der Funktionscode). Die Klasse beinhaltet meistens alle Informationen über den Effekt. Die enthaltenden Methoden kann eine der zahlreichen Methoden der Klasse PokeBattle_Move sein (wobei jeder Funktionscode-Klasse eine Unterklasse darstellt). Sie können die Methoden überschreiben oder ergänzen.

Manche Funktionscode-Klassen sind leer, trotzdem wurden die Funktionscodes den Attacken zugewiesen (z.B 0E9 für Ausdauer). Dies liegt daran, dass manche Effekte in einem anderen Script gehandhabt werden, aber trotzdem von ihren Funktionscode abhängig sind. Siehe unten für weitere Informationen.

Jede Attacke benötigt einen Funktionscode, selbst wenn die Attacke keinen besonderen Effekt besitzt. In dem Fall wird der Funktionscode 000 benutzt.

Funktionscodes in anderen Scripts

Manche Attacken-Effekte, oder zumindest Teile davon, befinden sich außerhalb vom Script-Bereich PokeBattle_MoveEffects. Diese Effekte werden durch ihre Funktionscodes zugewiesen (Da ein Funktionscode ein Effekt entspricht). Der Funktionscode erscheint dann als 0x02A, wobei 0x bedeutet, dass es sich um eine Hexadezimal-Nummer handelt.

Funktionscodes, die woanders definiert werden, sind z.B folgende:

  • Ausdauer, Finale, Fluch, Himmelhieb, Raserei, Sprungkick, Trugschlag und weitere.

Deren Effekte (oder Teile davon) werden woanders definiert, da sie nicht in der Klasse selbst definiert werden können.

Priorität

Die Priorität einer Attacke ist eine Zahl zwischen -6 (niedrigste) und +6 (höchste) und hilft zu entscheiden, in welcher Reihenfolge Attacken eingesetzt werden. Eine komplette Beschreibung über die Bedeutung der Zahlen kann im Internet gefunden werden.

In Pokémon Essentials wird die Priorität unabhängig vom Effekt definiert. Zum Beispiel besitzt Ruckzuckhieb den Funktionscode 000 (keinen besonderen Effekt), hat jedoch eine Priorität von +1 (höher als Normal). Dies ist anders, als in den offiziellen Spielen, wo die Priorität in den Effekten selber definiert werden.

Auf Geräusche basierende Attacken

Manche Attacken basieren auf Geräusche und Pokémon mit der Fähigkeit Lärmschutz sind dagegen immun.

Der Hauptteil der Scripts für geräuschbasierende Attacken befindet sich im Script-Bereich PokeBattle_Battler, in der Methode pbChangeTarget. Hier wird überprüft, ob die Attacke geräuschbasierend ist (es also den Flag k besitzt). Wenn dies der Fall ist, schlägt die Attacke fehl, wenn sie gegen ein Pokémon mit der Fähigkeit Lärmschutz eingesetzt wird. Eine dementsprechende Nachricht erscheint dann.

Dieser Teil deckt aber nicht die Attacken Vitalglocke und Abgesang, sowie den nachhaltigen Effekt von Aufruhr.

  • Vitalglocke wird im Funktionscode selber behandelt, da die Nachricht A bell chimed! erscheint, bevor die Attacke fehlschlägt – die Nachricht würde nicht auftauchen, wenn der Effekt in der Liste oberhalb eingefügt worden wäre.
  • Abgesang betrifft alle Pokémon im Kampf, außer die mit Lärmschutz. Es hat auch einen nachhaltigen Effekt, welches sich an mehreren Stellen in den Scripts befindet, weshalb es mehrmals abgehandelt werden muss.
  • Aufruhr wird komplett in der oberen Methode abgehandelt, da der gesamte Effekt fehlschlägt, wenn es gegen ein Lärmschutz-Pokémon eingesetzt wird. Ist es jedoch erfolgreich, dann besitzt es wie Abgesang, einen nachhaltigen Effekt.

Um alle Stellen zu finden, die von der Lärmschutz-Fähigkeit beeinflusst werden, muss man in den Script-Editor einfach nur nach Soundproof suchen.

Nachhaltige Effekte

Nachhaltige Effekte sind die, die im Kampf auch dann anhalten, wenn die Attacke, die sie ausgelöst hat, schon vorbei ist (auch wenn es nur einen Teil der Attacke war). Das beinhaltet Sachen wie Egelsamen, Reflektor, Wetter-Attacken, Geduld, Aussetzer, Verwurzler, Toxin-Vergiftung und so weiter.

Eine Anzahl an Variablen werden am Anfang des Kampfes festgelegt, entweder für jeden Kämpfer oder für jede Seite des Feldes. Sie starten für gewöhnlich in ihrem „Aus“-Status. Das Einsetzen einer Attacke, mit einer nachhaltigen Wirkung, wird die Variable verändern. Verschiedene Sachen hängen vom Wert der Variablen ab (z.B wenn der Effekt effects[PBEffects::Confusion] vom Kämpfer größer als 0 ist, dann ist es verwirrt und wird sich dementsprechend verhalten). Eine komplette Liste mit diesen Variablen befindet sich im Script-Bereich PBEffects. Sie sind nach der Attacke benannt, die eine nachhaltige Wirkung haben.

Manche nachhaltigen Effekte besitzen mehrere Variablen. Geduld hat z.B 3: Eines für den Status, dass es benutzt wurde, eines, der den aufgenommenen Schaden aufzeichnet und eines welches das letzte Pokémon auszeichnet, das es angreifen soll (das Ziel also). Es werden auch Variablen für mehrere Attacken benutzt. Zum Beispiel wird die Variable TwoTurnAttack von mehreren Attacken mit verschiedenen Funktionscodes benutzt. Nur eine von denen kann benutzt werden, sodass diese sich nicht überschneiden. Dieser Teil ist bei jedem gleich.

Manche Effekte sind Kämpfer-Spezifisch und manche Seiten-Spezifisch. Andere hingegen gelten für das gesamte Kampffeld. All diese sind im Script-Bereich PBEffects aufgelistet. Feld-Spezifische und Seiten-Spezifische sind im Script Bereich PokeBattle_ActiveSide definiert (d.h sie sind dort auf „Aus“ gestellt), während Kämpfer-Spezifische im Script-Bereich PokeBattle_Battler definiert sind.

Alle nachhaltigen Effekte verweisen immer auf den Effekt effects[PBEffects::Confusion], wobei der Name immer variieren kann.

Weitere Details über nachhaltigen Effekte sind nicht erforderlich. Möchte man selber solche Effekte erstellen, dann sollte man in den vorhandene Scripts schauen.