Feldattacken

Weiterführende Links
  • Hindernisse
    • Wie man Hindernisse erstellt, bei der Feldattacken eingesetzt werden können.
  • Attacken
    • Wie Attacken definiert sind.

 

Inhalt

Attacken außerhalb von Kämpfen einsetzen

Feldattacke

Garados setzt Surfer ein.

Der Script-Bereich PField_FieldMoves ist für das Benutzen von Feldattacken zuständig.

Der Script-Bereich Settings enthält eine Variable, die bestimmt, ob man nur eine bestimmte Anzahl an Orden benötigt, um eine VM nutzen zu können oder ob ein bestimmter Orden benötigt wird. Es besitzt auch eine Variable für jede Attacke, bei der man die Nummer an Orden angibt bzw. die Nummer des Ordens, damit man die Attacke nutzen kann (bei der 0 für den ersten Orden steht usw.).

Es gibt drei Wege, um eine Attacke einzusetzen: Mit einem Event/Tile interagieren, die Attacke vom Team-Bildschirm auswählen oder mit der Y-Taste das Schnellmenü aufzurufen. Jede Methode verwendet einen anderen Script. Weiter unten befinden sich Beschreibungen über jede Methode – die Effekte selbst sind nicht beschrieben. Beachte, dass zwar alle Attacken die zweite und dritte Methode verwenden, manche jedoch auch die erste.

Mit Event interagieren

Mit einem Event zu interagieren, ist die einfachste Methode, um eine Feldattacke zu benutzen. Das Event sollte, sobald man mit diesen interagiert, eine Methode aufrufen, die dessen Effekt beschreibt (inklusive einer Überprüfung, ob man diese Attacke verwenden kann oder nicht).

Die Attacken, die auf dieser Weise benutzt werden können, sind folgende:

  • Zerschneider – Interaktion mit einem kleinen Baum.
  • Kopfnuss – Interaktion mit einem Kopfnuss-Baum.
  • Zertrümmerer – Interaktion mit einem Zertrümmerer-Felsen.
  • Stärke – Interaktion mit einem Fels.

Siehe den Artikel Hindernisse für Details, um solche Events zu erstellen.

Bei Stärke bewegt sich der Fels, wenn der Spieler nach dem Einsetzen dagegen rennt. Um Stärke zu verwenden, verwendet das Spiel eine Prozedur namens Events.onAction, um zu überprüfen, ob sich der Spieler hinter einem Event namens Boulder befindet. Wenn ja, wird dieser gefragt, ob er Stärke einsetzen möchte. Die Prozedur sieht folgendermaßen aus:

Mit Tile interagieren

Surfer

Der Spieler surft.

Interagiert man mit einem Tile, dann überprüft man den Terrain Tag des Tiles, das vor dem Spieler liegt. Diese drei Attacken können auf diese Weise genutzt werden:

  • Surfer – Interaktion mit einem Wassertile (Terrain Tags 5,6,7,8 oder 9).
  • Taucher – Interaktion mit einem Tiefwassertile (Terrain Tag 5).
  • Kaskade – Interaktion mit einem Wasserfalltile (Terrain Tag 8).

Diese Interaktionen erfordern eine Prozedur namens Events.onAction, welches den Terrain Tag des Tiles überprüft, vor dem der Spieler steht. Es ruft eine Methode auf, welches den Effekt der Attacke beschreibt.

Zum Beispiel sieht die Prozedur für Surfer folgendermaßen aus:

Beachte, dass diese Prozedur nicht Partner-Trainer oder die erforderlichen Orden überprüft. Diese Überprüfungen werden in der Methode pbSurf (Je nach Attacke) getätigt. Die Prozedur überprüft nur, ob sich der Spieler in der richtigen Position befindet, um die Attacke einzusetzen, nicht ob er die Voraussetzungen dazu erfüllt.

Beachte, dass die hier genannte Methode den Spieler zuerst fragen sollte, ob dieser die Attacke einsetzen möchte, anstatt ihn die Attacke automatisch einsetzen zu lassen.

Attacke vom Team-Bildschirm aus verwenden

Alle Feldattacken sollten im Menü des Team-Bildschirms auftauchen, wenn man ein Pokémon auswählt. Das beinhaltet jede dieser Attacken, plus:

  • Geschwätz
  • Schaufler
  • Blitz
  • Fliegen
  • Milchgetränk
  • Weichei
  • Lockduft
  • Teleport

Um zu entscheiden, ob eine Attacke im Menü angezeigt wird, wird geschaut, ob es für eine der Attacken vom Pokémon einen Handler namens HiddenMoveHandlers::CanUseMove gibt. Wenn ja, dann wird die Attacke der Optionen hinzugefügt (Auch wenn sie nicht benutzt werden kann). Dies gilt aber nicht für Milchgetränk und Weichei, da diese anders gehandhabt werden (siehe unten).

Es gibt zwei Arten von Handler für das Verwenden von Attacken: CanUseMove und UseMove. Der erste überprüft, ob eine Attacke genutzt werden kann und der zweite führt sie dann aus.

Zum Beispiel sind die beiden Handler für Surfer folgendermaßen:

Diese Handler führen alle Überprüfungen durch, um zu schauen, ob der Spieler Surfer benutzen kann. Er gibt true zurück, wenn dies der Fall ist.

Wenn der Spieler surfen kann, wird dieser Handler ausgeführt. Er zeigt eine Animation an (siehe unten) und ruft eine Methode auf, die das Surfen startet. Diese Methode (pbStartSurfing) ist anders, als die Obere (pbSurf), da bei diesem davon ausgegangen wird, dass der Spieler bereits entschieden hat, Surfer einzusetzen und deswegen nicht noch einmal gefragt wird.

Beachte, dass am Ende der Handler UseMove und die Methode pbSurf die selbe Methode aufrufen (pbStartSurfing). Diese finale Methode beinhaltet das eigentliche Surfen.

Fliegen ist etwas stärker in dieser Kategorie involviert, da man diese Attacke nicht geradewegs benutzt, sondern man einen Zielort aussucht, zu der man fliegen möchte. Der Effekt ist also nie exakt dasselbe, da sich der Zielort immer ändert.

Bevor der Handler für Fliegen aufgerufen wird, ruft das Spiel die Weltkarte auf, bei den der Spieler den Zielort bestimmen kann. Dies wird im Script-Bereich PokemonParty in der Methode pbPokemonScreen erledigt. Der ausgewählte Zielort wird in einer temporären Variable gespeichert. Anschließend wird der Handler ganz normal aufgerufen.

Milchgetränk und Weichei

Diese beiden Attacken können zwar außerhalb des Kampfes benutzt werden, haben aber keine Auswirkung auf die Umgebung. Sie wirken lediglich auf andere Pokémon im Team und der Team-Bildschirm muss nicht geschlossen werden, damit der Effekt auftritt.

Wenn geguckt werden soll, welche Befehle im Team-Menü angezeigt werden soll (im Script-Bereich PScreen_Party in der Methode pbPokemonScreen), dann wird (neben den anderen Feldattacken) geguckt, ob das Pokémon Milchgetränk oder Weichei beherrscht und fügt diese dementsprechend dem Menü hinzu.

Der Effekt beider Attacken befindet sich in der selben Methode, jedoch weiter unten bei den anderen Menüpunkten (Summary, Switch usw). Es gibt für die beiden Attacken keine separaten Scripts im Script-Bereich PField_FieldMoves.

Attacke im Schnellmenü aussuchen

Seit Version 17 gibt es das Schnellmenü, welches das alte Registrieren von Items ersetzt. Während man beliebig oft viele Items registrieren kann, hat man hier auch Zugriff auf alle Feldattacken, die die Pokémon im Team beherrschen.

Zuständig dafür ist der Script-Bereich PScreen_ReadyMenu. Dieser besitzt die Methode pbUseKeyItem, welches eine Variable besitzt, in der alle Feldattacken aufgelistet werden:

Sämtliche hier aufgelistete Attacken, können im Schnellmenü aufgerufen werden. Dazu gibt es jedoch zwei Bedingungen:

  1. Die Attacke muss gerade Ausführbar sein („Fliegen“ z.B taucht nicht auf, wenn man sich gerade in einem Innengebäude befindet bzw. auf einer Map, die keine „Outdoor“-Metadaten gesetzt hat).
  2. Die Attacke muss von einem Pokémon beherrscht werden.

Milchgetränk und Weichei tauchen hier nicht auf, da sich ihre Wirkung auf das Team beziehen und nicht auf die Umgebung.

Attacken-Animation benutzen

Setzt der Spieler eine Feldattacke ein (außer Milchgetränk und Weichei), dann wird eine Animation angezeigt. Diese Animation ist im Script-Bereich PField_FieldMoves in der Methode pbHiddenMoveAnimation definiert.