Pokémon bearbeiten

Dieser Artikel beschreibt, wie man die Attribute eines Pokémon ändert (Geschlecht, Statuswerte, Bänder).

Weiterführende Links
  • Pokémon
    • Die Attribute eines Pokémon sind hier aufgelistet. Die meisten können bearbeitet werden.
  • Pokémon manipulieren
    • Dieser Artikel zeigt u.a wie der Spieler ein Pokémon aus dem Team auswählt.
  • Attacken
    • Eine erlernte Attacke selbst besitzt auch einige Attribute, die bearbeitet werden können.

 

Inhalt

Pokémon bearbeiten

Als Erstes muss man das Pokémon aussuchen, das man bearbeiten möchte. Dies kann man auf verschiedene Weisen erledigen, je nach Situation. Beispiele sind:

Dieser gibt ein Pokémon als Wert zurück (Wenn möglich) und nennt diesen pkmn. In diesem Artikel beziehen sich die Bearbeitungen auf den Wert pkmn.

Häufig bearbeitete Attribute

Attribut Code Beschreibung
Fähigkeit pkmn.setAbility(2) Legt die Fähigkeit des Pokémon fest (0 für die primäre Fähigkeit, 1 für die sekundäre Fähigkeit und 2-5 für die versteckten Fähigkeiten). Verwende pkmn.setAbility(nil), um die Überschreibung rückgängig zu machen, sodass das Pokémon wieder seine ursprüngliche Fähigkeit besitzt (wird von der persönlichen ID des Pokémon vorgegeben). Es ist nicht möglich dem Pokémon eine beliebige Fähigkeit zu geben, sondern nur diese, die es in der PBS-Datei pokemon.txt definiert hat.
Benutzer Pokéball pkmn.ballused=7 Legt den Pokéball fest, in der sich das Pokémon befindet. Eine Liste der Pokébälle und deren dazugehörigen Nummer befindet sich im Script-Bereich PItem_PokeBalls.
FPs pkmn.ev[2]=42 Legt die Fleißpunkte des Pokémon für einen bestimmten Statuswert fest. Jeder Statuswert sollte eine Zahl zwischen 0 und 252 sein. Die Statuswerte lauten wie folgt:

  • 0 = KP
  • 1 = Angriff
  • 2 = Verteidigung
  • 3 = Initiative
  • 4 = Spezial-Angriff
  • 5 = Spezial-Verteidigung
Form pkmn.form=1 Legt die Form des Pokémon fest (Siehe hier). 0 ist die Standardform, die auch in der PBS-Datei pokemon.txt definiert wurde. Manche Pokémon ändern ihre Form automatisch, je nach Bedingung. Deren Form kann nicht manuell geändert werden, da die Änderung ansonsten wieder rückgängig gemacht wird. Eventuell möchte man die neue Form auch als Gesehen markieren, sodass diese im Pokédex auftaucht. Um dies zu erledigen, benutze zum Schluss pbSeenForm(pkmn). Dies ist meistens für Pokémon, die ihre Form für gewöhnlich nicht ändern, z.B Icognito.
Geschlecht pkmn.makeMale
pkmn.makeFemale
Ändert das Geschlecht des Pokémon entweder auf männlich oder weiblich. Man kann damit nicht ein geschlechtsloses Pokémon einen Geschlecht geben. Verwende pkmn.setGender(nil), um die Überschreibung rückgängig zu machen, sodass das Pokémon wieder sein ursprüngliches Geschlecht besitzt (wird von der persönlichen ID des Pokémon vorgegeben). Eventuell möchte man das Geschlecht auch als Gesehen markieren, sodass diese im Pokédex auftaucht. Um dies zu erledigen, benutze zum Schluss pbSeenForm(pkmn).
Freundschaft pkmn.happiness=200 Legt den Freundschaftswert des Pokémon fest. Es sollte eine Zahl zwischen 0 und 255 sein.
Getragenes Item pkmn.setItem(:ORANBERRY) Legt das getragene Item des Pokémon fest. 0 bedeutet, dass es kein Item trägt. Handelt es sich um einen Brief, dann sollte pkmn.mail ebenfalls gesetzt werden: pkmn.mail=PokemonMail.new(PBItems::GRASSMAIL,“Dies ist eine Nachricht.“,“Dave“)

Handelt es sich um einen Brief, welcher Pokémon abgebildet hat, dann sollte man stattdessen pkmn.mail=PokemonMail.new(PBItems::GRASSMAIL,“Dies ist eine Nachricht.“,“Dave“,poke1,poke2,poke3) verwenden. Jedes pkmn sollte ein Array mit folgendem Aufbau haben: [species,gender,shininess,form,shadowness,is egg?]

DVs pkmn.iv[2]=7 Legt die DV-Werte des Pokémon für einen bestimmten Statuswert fest. Es sollte sich hier um eine Zahl zwischen 0 und 31 handeln. Die Statuswerte lauten wie folgt:

  • 0 = KP
  • 1 = Angriff
  • 2 = Verteidigung
  • 3 = Initiative
  • 4 = Spezial-Angriff
  • 5 = Spezial-Verteidigung
Sprache pkmn.language=2 Legt die Sprache des Pokémon fest. Ist eines der folgenden Sprachen:

  • 0 = Unbekannt
  • 1 = Japanisch
  • 2 = Englisch (Standard)
  • 3 = Französisch
  • 4 = Italienisch
  • 5 = Deutsch
  • 7 = Spanisch
  • 8 = Koreanisch
Level pkmn.level=42 Legt das aktuelle Level des Pokémon fest.Genau genommen ändert es die Erfahrungspunkte des Pokémon zum kleinstmöglichen Wert, der für das gegebene Level nötig ist.
Attackenset pkmn.pbLearnMove(:TACKLE)
pkmn.pbDeleteMove(:TACKLE)
pkmn.resetMoves
Die erste Option bringt dem Pokémon eine Attacke bei. Es kann jede Attacke beigebracht werden, der Spieler wird über das Lernen der Attacke allerdings nicht informiert. Wenn das Pokémon bereits 4 Attacken kennt, wird die erste Attacke verlernt, die anderen drei wandern einen Slot nach oben und die neue Attacke wird am Ende hinzugefügt. Die zweite Option lässt das Pokémon die Attacke verlernen, wenn es diese kennt. Auch hier wird der Spieler nicht benachrichtigt. Die dritte Option setzt das Attackenset des Pokémon auf das zurück, was es eigentlich auf dem Level kennen würde. Das ist nützlich, wenn sich z.B die Form oder das Level des Pokémon ändert.
Wesen pkmn.setNature(:HASTY) Legt das Wesen des Pokémon fest. Verwende pkmn.setNature(nil), um die Überschreibung rückgängig zu machen, sodass das Pokémon sein ursprüngliches Wesen erhält.
Spitzname pkmn.name=“Dave“ Legt den Spitznamen des Pokémon fest. Verwende pkmn.name=nil, um den Spitznamen zu entfernen. Um dem Spieler selber den Spitznamen aussuchen zu können, verwende pbNickname(pkmn).
Fundort-Text pkmn.obtainText=_INTL(„Pension-Ehepaar“) Ersetzt den Text im Statusbildschirm, wo normalerweise der Name der Map stehen würde, an der man das Pokémon erhalten hat. Verwende pkmn.obtainText=nil, um diese Phrase zu entfernen.
Pokérus pkmn.givePokerus
pkmn.givePokerus(4)
Gibt dem Pokémon den Pokérus. Der Parameter ist optional und bestimmt die momentane „Belastung“ vom Pokérus (Zahl zwischen 1 und 15). pkmn.pokerusStage gibt eine Zahl aus. 0 für nicht infiziert, 1 für momentan infiziert und 2 für kuriert/immun.
Bänder pkmn.giveRibbon(:HOENNCOOL)
pkmn.takeRibbon(:HOENNCOOL)
Gibt dem Pokémon ein bestimmtes Band (oder entfernt es). Es gibt noch andere Methoden, die man für Bänder verwenden kann:

  • pkmn.upgradeRibbon(
    :HOENNCOOL,:HOENNCOOLSUPER,
    :HOENNCOOLHYPER,:HOENNCOOLMASTER)
    – Eine beliebige Anzahl an Bändern kann aufgelistet werden. Es fügt entweder das erste Band hinzu, falls das Pokémon noch keines besitzt oder es wandelt das Band (welches das Pokémon besitzt) in das nächstliegende um. Es gibt die Anzahl an Bänder zurück, die hinzugefügt/erhöht wurden oder 0, wenn nichts passiert ist.
  • pkmn.ribbonCount – Gibt die gesamte Anzahl an Bänder wieder.
  • pkmn.hasRibbon?(:HOENNCOOL) – Gibt true zurück, wenn das Pokémon dieses Band besitzt oder false wenn nicht.
  • pkmn.clearAllRibbons – Entfernt alle Bänder vom Pokémon.
Crypto pkmn.makeShadow Verwandelt das Pokémon in ein Crypto-Pokémon. Es kann jedoch nicht wieder zurückverwandelt werden.
Schillernheit pkmn.makeShiny
pkmn.makeNotShiny
Macht das Pokémon schillernd oder nicht-schillernd. Verwende pkmn.shinyflag=nil, um die Überschreibung rückgängig zu machen, sodass die Schillernheit wieder von der persönlichen ID des Pokémon abhängt.

Selten bearbeitete Attribute

Dies sind Attribute, die man in der Regel eher nicht bearbeitet. Sie sind Hauptsächlich der Vollständigkeit halber aufgelistet.

Attribut Code Beschreibung
Wettbewerbswerte pkmn.beauty=42
pkmn.cool=42
pkmn.cute=42
pkmn.smart=42
pkmn.tough=42
pkmn.sheen=42
Legt die Wettbewerbswerte des Pokémon fest. Jeder Wert sollte eine Nummer zwischen 0 und 255 sein. Wettbewerbswerte werden momentan nicht benutzt, außer für die Entwicklung von Barschwa.
Momentane KP pkmn.hp=42
pkmn.hp=pkmn.totalhp
pkmn.heal
Legt die momentane KP des Pokémon fest. Die letzte Option stellt zusätzlich die AP wieder her und befreit das Pokémon von Statusproblemen.
Ei-Schritte pkmn.eggsteps=5355 Legt die benötigte Anzahl an Schritten für das Ei fest, bis es schlüpft.
Erfahrungspunkte pkmn.exp=12345 Legt die Erfahrungspunkte des Pokémon fest. In der Regel möchte man dem Wert eher was hinzufügen bzw. was davon abziehen, anstatt diesem einen festen Wert zu geben.
Fusionierte Pokémon pkmn.fused=pkmn2 Legt das Pokémon fest, mit dem das Pokémon fusioniert wurde. pkmn2 selbst ist ein Pokémon. Verwende pkmn.fused=nil, um das fusionierte Pokémon zu entfernen.
Ort des Schlüpfens pkmn.hatchedMap=42 Legt die Map fest, an der das Pokémon geschlüpft ist. Es wird nur dann benutzt, wenn das Attribut „Art des Erhaltens“ auf „Ei erhalten“ gesetzt ist.
Zeitpunkt des Schlüpfens pkmn.timeEggHatched=Time.now Legt den Zeitpunkt fest, an der das Pokémon geschlüpft ist. Es wird nur dann benutzt, wenn das Attribut „Art des Erhaltens“ auf „Ei erhalten“ gesetzt ist.
Markierungen pkmn.markings=5 Legt die Markierungen des Pokémon fest. Jede Markierung besitzt einen Wert und das Pokémon wird die Markierung erhalten, dessen Werte bei einer Addition eine bestimmten Zahl ergeben. Die sechs Markierungen lauten:

  • 1 = Markierung 1
  • 2 = Markierung 2
  • 4 = Markierung 3
  • 8 = Markierung 4
  • 16 = Markierung 5
  • 32 = Markierung 6

Beispiel: Der Wert besitzt die Zahl 5. 5 ergibt sich aus einer Addition von 1 (Kreis) und 4 (Quadrat). Das Pokémon besitzt also zwei Markierungen.

Level beim Erhalten pkmn.obtainLevel=42 Legt das Level fest, an der das Pokémon erhalten wurde.
Ort des Erhaltens pkmn.obtainMap=42 Legt die Map fest, an der das Pokémon erhalten wurde.
Art des Erhaltens pkmn.obtainMode=1 Legt die Art und Weise fest, wie das Pokémon erhalten wurde. Die Nummer ist entweder nil, 0 (Getroffen), 1 (Ei erhalten), 2 (Getauscht) oder 4 (Schicksalhafte Begegnung)
Geschlecht des OTs pkmn.otgender=1 Legt das Geschlecht des Original-Trainers fest. Die Nummer ist entweder 0 (männlich), 1 (weiblich), 2 (gemischt) oder 3 (Unbekannt).
ID-Nummer des OTs pkmn.trainerID=$Trainer.id
pkmn.trainerID=$Trainer.getForeignI
Legt die ID-Nummer des Original-Trainers fest. Bei der ersten Option ist sie dieselbe, wie die ID des Spielers und bei der zweiten Option wird sie zufällig generiert. Dies und der Name des Original-Trainers bestimmen, ob das Pokémon ursprünglich vom Spieler stammt oder nicht.
Name des OTs pkmn.ot=“Dave“ Legt den Namen des Original-Trainers fest. Dies und die ID-Nummer des Original-Trainers bestimmen, ob das Pokémon ursprünglich vom Spieler stammt oder nicht.
Persönliche ID pkmn.personalID=rand(2**32) Legt die persönliche ID des Pokémon fest. Das Beispiel generiert die ID zufällig. Es kann aber auch auf einen festen Wert zwischen 0 und 4.294.967.295 gesetzt werden. Beachte, dass das Geschlecht, das Wesen, die Fähigkeit und die Schillernheit des Pokémon von der persönlichen ID abhängt (es sei denn, die Werte wurden überschrieben). Die Punkte auf den Sprite von Pandir, sowie die Entwicklung von Waumpel zu Panekon/Schaloko hängen ebenfalls davon ab.
Spezies pkmn.species=PBSpecies::BULBASAUR Legt die Spezies des Pokémon fest.
Status pkmn.status=PBStatuses::POISON
pkmn.status=0
pkmn.heal
Legt den Status des Pokémon fest. Die letzte Option stellt zusätzlich die KP und AP des Pokémon wieder her. Mögliche Status sind:

  • 0 (Gesund)
  • 1 (Oder PBStatuses::SLEEP) (schlafend)
  • 2 (Oder PBStatuses::POISON) (vergiftet)
  • 3 (Oder PBStatuses::BURN) (brennt)
  • 4 (Oder PBStatuses::PARALYSIS) (ist paralysiert)
  • 5 (Oder PBStatuses::FROZEN) (ist eingefroren)

Wird der Status des Pokémon auf Schlafen gesetzt, dann wird auch pkmn.statusCount=3 gesetzt. Dieser gibt die Anzahl an Runden an, an der das Pokémon noch schläft.

Was nicht bearbeitet werden kann

Manche Attribute des Pokémon können nicht geändert werden. Diese sind:

  • Typ 1
  • Typ 2
  • Statuswerte:
    • Maximale KP
    • Angriff
    • Verteidigung
    • Initiative
    • Spezial-Angriff
    • Spezial-Verteidigung

Abschluss einer Bearbeitung

Sobald die Attribute eines Pokémon geändert worden sind, kann es notwendig sein, die Statuswerte neu zu berechnen. Dies wird durch den folgenden Befehl getätigt:

Um immer sicherzugehen, sollte man diesen Befehl bei jeder Bearbeitung am Ende hinzufügen.