Entwicklung

Dieser Artikel beschreibt die Entwicklung eines Pokémon. Es werden die unterschiedliche Entwicklungsmethoden erläutert und wie man selber neue erstellt.

Weiterführende Links
  • Pokémon definieren
    • Die Entwicklung ist ein Teil der Eigenschaften, die für ein Pokémon definiert werden kann.

 

Inhalt

Entwicklungsmethoden

Ein Pokémon kann sich auf unterschiedliche Arten entwickeln, z.B durch ein Levelaufstieg oder durch einen Tausch oder wenn es den Spieler sehr mag. Alle Entwicklungsmethoden, die existieren sind in Pokémon Essentials einprogrammiert. Auch Platz für eigene Entwicklungsmethoden ist vorhanden.

Die Entwicklungsreihe für ein Pokémon ist in der PBS-Datei pokemon.txt definiert. Dabei werden sie durch Kommas getrennt. Ein Triplett beschreibt eine Entwicklungsmethode und besteht aus folgenden Einheiten:

  1. Der interne Name des Pokémon, zu den es sich entwickeln soll.
  2. Der Name der Entwicklungsmethode.
  3. Ein spezieller Parameter, die die Entwicklungsmethode evt. benutzt, wie z.B ein Level oder der interne Name eines Items.

Jede Entwicklungsmethode wird in der Reihenfolge geprüft, in der sie in pokemon.txt vorkommt. Wenn das überprüfte Pokémon sich zu mehreren Pokémon entwickeln kann und die Voraussetzung zu mehr als einem Pokémon erfüllt, dann wird die erste zutreffende Methode geprüft und die anderen werden ignoriert.

Die Entwicklungsmethoden, die geprüft werden, wenn ein Pokémon einen Level aufsteigt, werden im Script-Bereich Pokemon_Evolution in der Methode pbMiniCheckEvolution definiert und lauten folgendermaßen:

Methodenname Parameter Beschreibung Pokémon
Happiness Das Pokémon entwickelt sich nur, wenn der Freundschaftswert mindestens 220 beträgt. Die Zahl wird in der Entwicklungsmethode selbst bestimmt, sodass eine Änderung alle Pokémon mit dieser Entwicklungsmethode betreffen wird. Azurill, Chaneira, Fleknoil, Fluffeluff, Folikon, Golbat, Haspiror, Mampfaxo, Pichu, Pii, Togepi
HappinessDay Dasselbe wie Happiness, außer, dass es sich nur tagsüber entwickeln wird. Evoli, Knospi, Riolu
HappinessNight Dasselbe wie Happiness, außer, dass es sich nur nachtsüber entwickeln wird. Evoli, Klingplim
Level Level Das Pokémon wird sich entwickeln, wenn dessen Level mindestens so hoch ist, wie der Parameter. Die meisten Pokémon
AttackGreater Level Dasselbe wie Level, außer dass der Angriffswert des Pokémon größer sein muss, als sein Verteidigungswert. Rabauz
AtkDefEqual Level Dasselbe wie Level, außer dass der Angriffswert des Pokémon gleich sein muss wie sein Verteidigungswert. Rabauz
DefenseGreater Level Dasselbe wie Level, außer dass der Angriffswert des Pokémon kleiner sein muss, als sein Verteidigungswert. Rabauz
Silcoon Level Dasselbe wie Level, außer dass die letzte Ziffer der persönlichen ID des Pokémon eine Zahl zwischen 0 und 4 sein muss. Waumpel
Cascoon Level Dasselbe wie Level, außer dass die letzte Ziffer der persönlichen ID des Pokémon eine Zahl zwischen 5 und 9 sein muss. Waumpel
Ninjask Level Dasselbe wie Level. Zwischen beide Methoden existiert keinen Unterschied. Wird zusammen mit der Methode Shedinja benutzt. Nincada
Shedinja Level Muss mit der Methode Ninjask benutzt werden. Es dupliziert das Pokémon, das sich gerade entwickelt hat (sofern im Team noch Platz ist) und ändert dessen Spezies zu den hier angegebenen. Nincada
Beauty Minimaler Schönheitswert Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und sein Schönheitswert mindestens genau so groß wie der angegebene Parameter ist. Barschwa
DayHoldItem Item Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und am Tag ein bestimmtes Item hält (durch Parameter vorgegeben). Wonneira
NightHoldItem Item Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und in der Nacht ein bestimmtes Item hält (durch Parameter vorgegeben). Skorgla, Sniebel
HasMove Attacke Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und dabei eine bestimmte Attacke kennt (durch Parameter vorgegeben). Griffel, Keifel, Mobai, Pantimimi, Schlurp, Tangela, Yanma
HasInParty Pokémon Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und sich im Team ein bestimmtes Pokémon befindet (durch Parameter vorgegeben). Das benötigte Pokémon bleibt durch die Methode unberührt. Mantirps
LevelMale Level Dasselbe wie Level, außer dass das Pokémon männlich sein muss. Burmy
LevelFemale Level Dasselbe wie Level, außer dass das Pokémon weiblich sein muss. Burmy, Wadribie
Location Map ID Das Pokémon entwickelt sich, wenn es einen Level aufsteigt und der Spieler sich gerade auf einer bestimmten Map aufhält (durch Parameter vorgegeben). Diese Methode sollte in der PBS-Datei pokemon.txt vor allen anderen Methoden kommen, da es eine höhere Priorität besitzen sollte (z.B sollte ein Evoli mit maximalen Freundschaftswert sich in Folipurba entwickeln, anstatt zu einem Psiana/Nachtara). Evoli, Magneton, Nasgnet
LevelDay Level Dasselbe wie Level, außer dass es Tag sein muss.
LevelNight Level Dasselbe wie Level, außer dass es Nacht sein muss.
LevelDarkInParty Level Dasselbe wie Level, außer dass sich im Team ein Unlicht-Pokémon befinden muss.
LevelRain Level Dasselbe wie Level, außer dass es auf der aktuellen Map regnen muss.
HappinessMoveType Attackentyp Dasselbe wie Happiness, außer dass das Pokémon zusätzlich eine Attacke beherrschen muss, dessen Typ dem vom Parameter entspricht.
Custom1 … Custom5 Zahl zwischen 0 und 65535 Unbenutzte Methoden, die man verwenden kann, um seine eigene Entwicklungsmethoden zu erstellen.

Die folgenden drei Entwicklungsmethoden werden überprüft, wenn ein Item (meistens ein Entwicklungsstein) am Pokémon angewendet wird. Diese Methoden werden in der Methode pbMiniCheckEvolutionItem aufgelistet, direkt unter den oberen Methoden.

Der Unterschied zwischen den Methoden oben und den drei unten ist, dass die Entwicklung für die unteren Methoden nicht unterbrochen werden kann.

Methodenname Parameter Beschreibung Pokémon
Item Item Das Pokémon entwickelt sich, wenn man ein bestimmtes Item an es anwendet (durch Parameter vorgegeben – Meistens ein Entwicklungsstein). Blanas, Duflor, Eneco, Evoli, Fukano, Grillmak, Kramurx, Laternecto, Lilminip, Lombrero, Muschas, Nidorina, Nidorino, Owei, Picochilla, Piepi, Pikachu, Pummeluff, Quaputzi, Roselia, Sodamak, Somniam, Sonnkern, Sterndu, Togetic, Traunfugil, Ultrigaria, Vegimak, Vulpix, Waumboll, Zapplalek
ItemMale Item Dasselbe wie Item, außer dass das Pokémon männlich sein muss. Kirlia
ItemFemale Item Dasselbe wie Item, außer dass das Pokémon weiblich sein muss. Schneppke

Die folgenden drei Entwicklungsmethoden werden überprüft, wenn der Spieler ein Pokémon im Tausch erhält. Diese Methoden werden in der Methode pbTradeCheckEvolution im Script-Bereich PScreen_Trading aufgelistet.

Wie bei den Item-Entwicklungen weiter oben, können auch diese Entwicklungen hier nicht abgebrochen werden.

Methodenname Parameter Beschreibung Pokémon
Trade Das Pokémon wird sich direkt nach dem Tausch entwickeln. Alpollo, Georok, Kadabra, Maschock, Sedimantur, Strepoli
TradeItem Item Dasselbe wie Trade, außer dass das Pokémon ein bestimmtes Item tragen muss (von Parameter vorgegeben). Das Item wird danach entfernt. Barschwa, Elektek, Flegmon, Magmar, Onix, Perlu, Porygon, Porygon2, Quaputzi, Rizeros, Seemon, Sichlor, Zwirrklop
TradeSpecies Pokémon Dasselbe wie Trade, außer dass das Pokémon gegen ein bestimmtes Pokémon getauscht werden muss (von Parameter vorgegeben). Laukaps, Schnuthelm

Es kann möglich sein, dass ein Pokémon die Bedingung von zwei oder mehreren Entwicklungsmethoden erfüllt (z.B bei Evoli der Freundschaftswert und der Ort). Um zu entscheiden, welche Entwicklungsmethode welche Priorität besitzt (z.B bei Evoli besitzt der Ort eine höhere Priorität), sortiere die Entwicklungsmethoden einfach um (PBS-Datei pokemon.txt, Zeile Evolutions= ). Methoden, die am Anfang stehen, besitzen eine höhere Priorität.

Beispiele

Die Entwicklungsreihe für Bisasam. Es besitzt nur eine Entwicklung und zwar zu Bisaknosp beim erreichen von Level 16.
Die Entwicklungsreihe von Togepi. Es besitzt nur eine Entwicklung und zwar zu Togetic, wenn der Freundschaftswert hoch genug ist. Beachte das Komma am Ende der Zeile – Der dritte Eintrag ist immer vorhanden, auch wenn er leer ist. Jede Entwicklungsreihe muss ein Triplett ergeben (durch zwei Kommas getrennt).
Die Entwicklungsreihe von Evoli. Es besitzt sieben Entwicklungen. Diese sind:

  • Wasserstein verwenden, für Aquana
  • Donnerstein verwenden, für Blitza
  • Feuerstein verwenden, für Flamara
  • Levelaufstieg auf Map 11, für Folipurba. Beachte, dass diese Entwicklungsmethode vor Happiness kommt. Sie wird also zuerst geprüft.
  • Levelaufstieg auf Map 8, für Glaziola. Beachte, dass diese Entwicklungsmethode vor Happiness kommt. Sie wird also zuerst geprüft.
  • Levelaufstieg mit hohem Freundschaftswert am Tag, für Psiana
  • Levelaufstieg mit hohem Freundschaftswert in der Nacht, für Nachtara
Die Entwicklungsreihe von Nincada. Es benutzt die Zwillingsentwicklungsmethoden Ninjask und Shedinja.

  • Ninjask entwickelt Nincada zu Ninjask auf Level 20, genau so wie die Methode Level das tut.
  • Shedinja dupliziert das Ninjask (wenn noch Platz im Team ist) und wandelt das Duplikat in ein Ninjatom um.

Hinweis: Die Methoden heißen nur Ninjask und Shedinja, weil sie zur Zeit nur für Nincada benutzt werden. Man kann sie aber auch einfach für eigene Pokémon verwenden.

Neue Entwicklungsmethode erstellen

Die Entwicklungsmethoden werden ganz oben im Script-Bereich Pokemon_Evolution definiert und sehen folgendermaßen aus:

Jede Entwicklungsmethode wird zusammen mit einer Nummer definiert (z.B Happiness=1, HasMove=20).

Das EVONAMES-Array enthält die Namen jeder Entwicklungsmethode, welches identisch zu den Zeilen darüber sein sollte, welches den Methoden eine Nummer zuweist. Die Reihenfolge in dem EVONAMES-Array hängt von den Nummern ab.

Das EVOPARAM-Array enthält Nummern und zwar eine für jede Entwicklungsmethode. Die Reihenfolge ist dieselbe, wie das des vorherigen Array. Diese Nummern entscheidet die Art des Parameters, die erwartet wird, wenn die pokemon.txt Datei compiliert wird. In den Kommentaren werden die Parameter beschrieben.

Die Methoden Custom1 bis Custom5 werden standardmäßig nicht benutzt. Man kann sie jedoch für eigene Entwicklungsmethoden benutzen. Eventuell möchte man diese Methoden umbenennen, um sich diese besser merken zu können (an beiden Orten, wo der Name erscheint) – Beachte, dass Groß/Kleinschreibung wichtig ist und man keine Leerzeichen verwenden sollte.

Effekt erstellen

Sobald eine Entwicklungsmethode definiert wurde, muss dessen Effekt erstellt werden. Es gibt drei mögliche Orte, um den Code einzufügen, je nachdem wie die Entwicklung funktionieren soll:

  • PokemonEvolution, in der Methode pbMiniCheckEvolution – Für Methoden, die sich bei einem Levelaufstieg aktivieren (die meisten Methoden tun das).
  • PokemonEvolution, in der Methode pbMiniCheckEvolutionItem – Für Methoden, die sich beim Benutzen eines Items aktivieren (z.B Entwicklungssteine).
  • PokemonTrading, in der Methode pbTradeCheckEvolution – Für Methoden, die sich beim Erhalten eines getauschten Pokémon aktivieren.

Bei jedem gibt es mehrere Beispiele für Entwicklungsmethoden. Man muss nur einen weiteren hinzufügen, welches dasselbe Muster verfolgt. Die Reihenfolge der Entwicklungsmethoden ist nicht wichtig. Die Scripts geben alle das Pokémon wieder (als ID), in das sich das Pokémon entwickeln soll (vorausgesetzt die Entwicklung beginnt). Wenn keine Entwicklung passiert, dann gibt sie -1 zurück.

Im Code der Entwicklungsmethode beziehen sich die Parameter (Nummer, Item, Attacke, Pokémon oder Typ) immer auf den Begriff level, auch wenn es sich hier nicht um das Level handelt. Das Pokémon, das sich entwickeln möchte bezieht sich auf den Begriff pokemon und das Pokémon, in das es sich entwickeln wird, bezieht sich auf den Begriff poke.

Mögliche neue Entwicklungsmethoden

Das Erstellen von Entiwcklungsmethoden ist sehr flexibel gehalten. Man kann dabei jeden Aspekt eines Pokémon (pokemon) überprüfen und diesen als Bedingung zur Entwicklung nutzen. Auch andere Aspekte wie Wetter oder Ort können genommen werden. Den exakten Code, den man dafür benötigt, hängt davon ab, was genau man machen möchte. Der Artikel kann nicht im allgemeinen beschreiben, was man tun muss, allerdings sind weiter unten einige Beispiele aufgelistet.

Neben das Erstellen neuer Methoden ist es auch möglich, die vorhandenen Methoden umzuändern.

Andere Vorschläge:

  • Zwei oder mehrere Entwicklungsmethoden vereinen
  • Entwicklungen, die vom Wesen oder der Form des Pokémon abhängen.
  • Fusionsentwicklung (z.B für Magnetilo/Flegmon). Überprüfe, ob sich im Team ein Muschas befindet. Wenn ja, lösche es und entwickle das Flegmon durch ein Levelaufstieg.
  • Deaktiviere temporär alle Entwicklungen, indem du die Zeile return -1 if $game_switches[42] ganz am Anfang der Methode pbCheckEvolutionEx einfügst (Im Script-Bereich Pokemon_Evolution, in der Nähe von den Zeilen für den Ewigstein und Pichu). Anschließend aktivierst du den globalen Switch 42, wenn du sämtliche Entwicklungen deaktivieren möchtest. Die Nummer des Switches kann variieren.

Hass

Diese Methode ist fast identisch mit Happiness, wobei das „größer als“-Zeichen durch ein „kleiner als“-Zeichen ersetzt und der Wert geändert wird. Wenn man diese Methode nutzt, möchte man evt. den Weg vereinfachen, dass das Pokémon einen nicht mag (momentan geht das nur durch Besiegen und das Benutzen von bitterer Medizin, welche aber leicht wieder ausgeglichen werden kann).

Genau wie Happiness, würde diese Methode keinen speziellen Parameter benutzen.

Das ist ein Beispiel der Entwicklungsreihe in der PBS-Datei pokemon.txt.

Wetter

Man kann ein Pokémon entwickeln lassen, wenn ein bestimmtes Wetter herrscht. Der folgende Code erlaubt das Entwickeln nur, wenn es regnet (Normaler Regen und starker Regen):

Man kann verschiedene Varianten dieser Methode verwenden, jedoch sollte man für jedes Wetter eine eigene Methode schreiben. Ein Wetter-Pokémon hätte dann mehrere Entwicklungen.

Auch hier wird kein Parameter verwendet.

Das ist ein Beispiel der Entwicklungsreihe in der PBS-Datei pokemon.txt.

Ein Beispiel hierfür findet sich auch in der vordefinierten Entwicklungsmethode LevelRain.

Gut trainiert

„Gut trainiert“ meint hier ein Pokémon, welches durch Kämpfe Fleißpunkte gesammelt hat. Der folgende Code prüft, wie viele FPs das Pokémon besitzt und erlaubt diesen nur dann die Entwicklung, wenn seine FP größer als oder gleich wie die vorgegebene Menge des Parameters ist.

Beachte, dass die maximale Anzahl an FP, die ein Pokémon haben kann, 510 beträgt.

Der Parameter dieser Methode wäre eine Zahl.

Das ist ein Beispiel der Entwicklungsreihe in der PBS-Datei pokemon.txt.

Entwicklungsbildschirm

Entwicklung

Pikachu entwickelt sich!

Wenn ein Pokémon sich entwickelt, wird es in einem Bildschirm gezeigt, zusammen mit ein paar Texten („What? Pikachu is evolving!“, usw.). Bei manchen Entwicklungen hat der Spieler die Möglichkeit, die Entwicklung abzubrechen, wenn er einen Knopf drückt.

Die Animation selbst wird im Script-Bereich Pokemon_Evolution, in der Methode pbGenerateMetafiles beschrieben. Es zeigt wie der Sprite des Pokémon sich färbt, dabei immer wieder kleiner und größer wird, immer schneller wird und sich in den Sprite der Weiterentwicklung ändert.

Der Hintergrund, der für dieses Szenario verwendet wird, befindet sich im Ordner Graphics/Pictures und lautet evolutionbg.png. Das Bild wird auf dem ganzen Bildschirm aufgeteilt. Existiert kein Bild mit diesem Namen, dann wird ein leerer weißer Hintergrund angezeigt.