[Smaragd] Special-Liste

    • [Scripten (Fortgeschritten)]
    • [Smaragd] Special-Liste

      Spoiler anzeigen
      Specials - Pokémon Smaragd-Edition
      Autor: Kairyon

      Pointer zu den einzelnen ASM-Routinen - Special Table: 0x1DB680 - 0x1DBEBC

      Endwert einer Variable bei specials mit Entscheidungen:
      0x0 = nein
      0x1 = ja
      0xFF = abgebrochen

      Steht (waitstate) hinter einem special, so muss nach der Befehl waitstate im Script nach dem special

      folgen.

      0 = Team heilen
      1 = Bildschirm wird schwarz
      2 = Warp
      3 = Letzten Warp benutzen
      4 =
      5 =
      6 =
      7 = Hat der Spieler eine Geheimbasis eingerichtet? (LASTRESULT)
      8 =
      9 =
      A =
      B =
      C =
      D =
      E =
      F =
      10 =
      11 =
      12 =
      13 =
      14 =
      15 =
      16 =
      17 =
      18 =
      19 =
      1A =
      1B = Link-Eiertausch
      1C =
      1D = Link: Bitte warten...
      1E =
      1F =
      20 =
      21 = Link-Kampf
      22 = Link-Tausch
      23 =
      24 =
      25 =
      26 =
      27 =
      28 = Aktuelles Team kopieren und sicher speichern
      29 = Aktuelles Team durch kopiertes Team von special 0x28 ersetzen
      2A = Drei Pokémon auswählen
      2B =
      2C = Blütestadium des Beerenstrauches (0x8004)
      2D = Kopiert Name des Beerenstrauches in buffer1 und Zustand in buffer2
      2E = Kopiert Name des Beerenstrauches in buffer1
      2F = Öffnet das Beerenmenü des Beutels (Danach: 0x800E = ausgewälte Beere) (waitstate)
      30 = Beeren pflanzen (mit special 0x15E)
      31 = Genug Platz in der Beerentasche? (0x8004)
      32 = Beerenstrauch als geeerntet markieren
      33 = Beerenstrauch als gegossen markieren
      34 =
      35 =
      36 =
      37 =
      38 =
      39 =
      3A =
      3B =
      3C = Rematch mit PokéNav-Trainer? (LASTRESULT)
      3D =
      3E =
      3F =
      40 =
      41 =
      42 =
      43 =
      44 =
      45 =
      46 =
      47 =
      48 =
      49 =
      4A =
      4B =
      4C =
      4D =
      4E =
      4F = Pokémon-Wettbewerb
      50 = Pokémon-Wettbewerb
      51 =
      52 = Pokémon-Wettbewerb
      53 = Pokémon-Wettbewerb
      54 = Pokémon-Wettbewerb: Aktueller Kandidat (Wenn sich die Kandidaten vorstellen.)
      55 =
      56 =
      57 = Pokémon-Wettbewerb: Erstellt drei Gegner und erfasst Spielerdaten, Daten bei 0x02039E00
      58 =
      59 =
      5A = Pokémon-Wettbewerb
      5B = Pokémon-Wettbewerb
      5C = Pokémon-Wettbewerb
      5D =
      5E =
      5F =
      60 = Öffnet Speichern-Menü
      61 = Spieler mit Gießkanne Overworld (waitstate)
      62 = Chat-System benutzen um Wörter einzugeben
      63 =
      64 =
      65 =
      66 =
      67 =
      68 =
      69 =
      6A =
      6B =
      6C =
      6D =
      6E =
      6F =
      70 =
      7A = Größtes Samurzel in buffer3
      7B = Wie groß ist dein Samurzel?
      7C = Größtes Loturzel in buffer3
      7D = Wie groß ist dein Loturzel?
      7F = Namenbewerter Setup
      80 = Ist das ausgewählte Pokémon nicht durch den Helden gefangen oder erhalten worden? (LASTRESULT)
      81 = Speichert die hippen Worte in buffer1 (Barschwa)
      87 = Hat der Spieler mindestens soviele Pokémon im Team, wie in der Variable LASTRESULT steht?
      88 =
      89 = Pokémon-Wettbewerb
      8E = Malvenfroh City Arena - Blitzmauern
      8F = Malvenfroh City Arena - Blitzmauern
      91 = Map neu laden (nach Verwendung von setmaptile)
      92 = Speichert die aktuelle Position des Helden ab. Funktioniert auch bei Levelscripts und daher bei

      Türen und Flugpositionen. (X-Koordinate: 0x8004; Y-Koordinate: 0x8005)
      9A = Seilbahn
      9B = Seilbahn
      9D = Uhr einstellen (Input: 0x8004 0x0 = blaue Uhr; 0x8004 0x1 = rosa Uhr) (waitstate)
      9E = Uhr betrachten (Input: 0x8004 0x0 = blaue Uhr; 0x8004 0x1 = rosa Uhr) (waitstate)
      9F = Professor Birks Tasche
      A0 = Heikos Begegnung mit Trasla
      A1 = Pokémon einen Spitznamen geben (waitstate)
      A2 = Pokémon auswählen (0x8004 = Stelle des Pokémon; 0 = erstes usw.; FF = Abbruch) (waitstate)
      A5 = Casino-Spiel (Roulette)
      AC = Irgendwas mit der Ruhmeshalle und Flags
      B7 = Ausgang des letzten Kampfes (LASTRESULT 0x7 = Spieler besiegte Pokémon)
      C7 = Kabelklub Anzeige
      CB = Doppelkampf mit Tory gegen Team Magma Boss und Vorstand
      CC = Baumhausen City Arena - Drehkreuze
      CD = Baumhausen City Arena - Drehkreuze
      CE = Bett: M.S. Tide
      CF = Bett: M.S. Tide
      D2 = Pokéblock-Napf: Status (0x2B678F)
      D3 = Pokéblock-Napf: Riegel platzieren
      D5 = Küstenhöhle Ebbe & Flut (setzt Flag 0x89A, wenn 0 bis 6 Uhr oder 12 bis 18 Uhr)
      D4 = Ist Wundereiland sichtbar? (LASTRESULT)
      D9 = Computer im Zimmer des Spielers einschalten (Input: 0x8004 0x1 = Junge; 0x8004 0x2 = Mädchen)
      DE = Welches Pokémon soll sich an Attacken erinnern?
      DF = Welche Attacke soll vergessen werden?
      E0 = Ausgewählte Attacke wurde vergessen
      E1 = Speichert ausgewähltes Pokémon in buffer1
      E3 = Welche Attacke soll das Pokémon erlernen?
      E5 = Radweg Minispiel - Setup
      E6 = Ist der Spieler auf dem Fahrrad? (LASTRESULT)
      E7 = Radweg Minispiel - Ergebnisse (LASTRESULT 0 bis A); Anzahl der Zusammenstöße in buffer1
      E8 = Radweg Minispiel - Setup
      E9 = Pokémon auf Zufriedenheit überprüfen (LASTRESULT 0x4 = super glücklich)
      EA = Kampfzone:
      Rekordbildschirm (Input: 0x8004 = 0x7; 0x8005 = Einrichtung; 0x8006 = Einzelkampf

      (0x0), Doppelkampf (0x1), Multikampf (0x2), Linkkampf (0x3))
      EC = Kampfzone:
      Art des letzten Kampfstadion-Turniers in LASTRESULT (Input: 0x8004 = 0x1; 0x8005 =

      0x9)
      Kampfstadion-Turniertafel anzeigen (Input: 0x8004 = 0x8)
      ED =
      EE =
      EF =
      F0 =
      F1 =
      F2 =
      F3 = Kampfpyramide - Trainerkampf oder Item
      F4 =
      F5 =
      F6 =
      F7 =
      F8 =
      F9 =
      FA =
      FB =
      FC = Computer im Zimmer des Spielers benutzen (waitstate)
      FD =
      FE = Zeigt Weltkarte an
      FF =
      100 =
      101 =
      102 =
      103 = Speichert die Anzahl der vergangenen Wochen (LASTRESULT)
      104 =
      105 =
      106 =
      107 =
      108 =
      109 =
      10A =
      10B =
      10C =
      10D =
      10E =
      10F =
      110 =
      111 = Bullauge: Overworldansicht - M.S. Tide fährt über das Wasser
      112 =
      113 = Ruhmeshalle und Credits anzeigen
      116 = Kamera freigeben (für applymovement 0x7F Kamera)
      117 = Kamera sperren (für applymovement 0x7F Kamera)
      119 = Speichert den Standort der aktuellen Geheimbasis in buffer1
      11A = Trigger (Wailord erste Stelle; Relicanth letzte Stelle im Team)
      11C = Animation: farbiger, halbtransparenter Kreis breitet sich von der Mitte aus aus; blaue Kugel

      (LASTRESULT 0x0); rote Kugel (LASTRESULT 0x1)
      11C = Animation beenden
      120 = Casino-Spiel (Einarmiger Bandit)
      121 = Rennt der Spieler gerade nicht?
      122 =
      123 =
      124 =
      125 =
      126 = Hat das erste Pokémon ein Fleiß-Band?
      128 = Hat das erste Pokémon alle Fleiß-Punkte?
      129 = Beratung beim Linkräumen
      12A = Beratung beim Linkräumen
      12F = Normans Zigzachs in der ersten Stelle des Team erhalten
      133 = Automatisches kleines Beben
      136 = Pokémon-Center: Spielt ein Pokémon im Team?
      138 = Erdbeben (Input: 0x8004; 0x8005; 0x8006; 0x8007) (waitstate)
      13A = Kampf gegen legendäres Pokémon (Pokémon durch special 0x1E2 bestimmt)
      142 = Pokémon-Wettbewerb - Ein Pokémon-Sprite wird mit vollständiger Animation in einer Box angezeigt.

      (Das Pokémon des Teilnehmers)
      Teilnehmerdaten (4 mal, letzter ist der Spieler) bei 0x02039E00
      Format:
      0-2 = Pokémon-Spezies
      3-13 = Spitzname + FF
      14-21 = Trainername + FF
      22 = Bildnummer des OWs
      25-26 = Level der jeweiligen Kategorie (Anmut, Stärke, etc.)
      61-62 = Normal oder Shiny? Normal = FFFF
      63-64 = 0000
      Aktueller Kandidat (von 0 bis 3) bei 020375E4
      143 = Entfernt Box und Pokémon-Sprite, welches durch special 0x142 angezeigt wird
      145 = Kampf gegen das letzte Pokémon oder gegen ein vorher bestimmtes mit special 0x1E2
      148 = Pokémon-Wettbewerb
      149 = Speichert Pokémon-Spezies in LASTRESULT (Pokémon-Stelle im Team durch special 0xA2)
      14A = Können dem Pokémon wieder Attacken beigebracht werden? (LASTRESULT 0x1 = nein, da Ei; 0x8005 0x0

      = nein, da keine Attacken vorhanden)
      14F = Neue Woche aktivieren
      150 = In wieviel Tagen ist die neue Woche um? (LASTRESULT)
      152 = Namenbewerter Setup
      155 = Hält ein Pokémon im Team eine E-reader-Beere? (LASTRESULT)
      156 = Pokémon-Wettbewerb
      157 = Irgendwas mit der Ruhmeshalle und Flags
      15E = Beeren pflanzen (mit cmdc3 0x3)
      15F = Gepflückte Beeren vom Beerenstrauch erhalten
      196 = Kampfipitis: Vorhang schließen
      19B = Animation: Sand rieselt die Decke herunter
      19F = Ist der Drahtlose Game Boy Advance-Adapter angeschlossen? (LASTRESULT)
      1A2 = nach den Warp in den Konnex-Klub
      1A3 = Konnex-Klub Anzeige
      1A4 = Pokémon-Center: Setup im Erdgeschoss
      1A5 = Pokémon-Center: Spielt ein Pokémon im Team?
      1A8 = vor den Warp in den Konnex-Klub
      1A9 = Pokémon-Center: Besitzt du mindestens ein Pokémon, das nicht mitgenommen werden kann?

      (LASTRESULT)
      1AA = Wurde ein Ticket im Pokémon-Center Obergeschoss beim Boten schon abgeholt? (LASTRESULT)
      1AD = Rekorde - Beerenernte mit Dodri
      1AF = Rekorde - Pokémon-Sprung
      1B2 = Kampfzone: Stärke des ausgewählen Pokémon beurteilen (0x8005 = Fähigkeiten; 0x8006 = bester

      Status; 0x8007 = DVs vom besten Status)
      1B3 = Pokémon Wettbewerb
      1B5 = Pokémon-Wettbewerb
      1B6 = Pokémon-Wettbewerb
      1B7 = Pokémon-Wettbewerb: Runde
      1B8 = Kampfzone: Ruhmeshalle (Input: 0x8004 = Einrichtung)
      1B9 = Kampfzone: Ruhmeshalle (Input: 0x8004 = Einrichtung)
      1BA = Kampfzone: Aussage, welche Einrichtung gerade am angesagtesten ist + Wette
      1BB = Pokémon-Wettbewerb
      1BC = Pokémon-Wettbewerb
      1BE = Multichoice-Liste zum scrollen (Input: 0x8004 = Liste) (waitstate)
      1C6 = Kampfzone: Aussage, wie sich das ausgewälte Pokémon im Kampf-Palais verhalten wird
      1C7 = Kampfzone: Gewinnpunkte Tauschecke - Empfang
      1C8 = Kampfzone: Gewinnpunkte Tauschecke - Bezahlen
      1C9 = Kampfzone: Gewinnpunkte Tauschecke - Tausch beenden
      1CB = Kampfzone: Gewinnpunkte Tauschecke - Bezahlen
      1CC = Speichert Anzahl der Gewinnpunkte in Variable
      1CD = Kampfzone: Gewinnpunkte Tauschecke - Setup (Input: 0x8004 = Preisliste)
      1CE = Kampfzone: Gewinnpunkte Tauschecke - im Tausch
      1CF = Beerenpuder-Tauschliste anzeigen
      1D0 = Beerenpuder-Tauschliste schließen
      1D1 = Hat der Held Beerenpuder? (Menge: 0x8004; Ergebnis: Lastresult)
      1D2 = Beerenpuder austauschen (Menge: 0x8004)
      1D3 = Beerenpuder austauschen
      1D7 = Schließt das Menü, welches durch special 0x1D7 geöffnet wurde (waitstate)
      1D8 = Öffnet komplettes Menü (erste Benutzung der Traineruf-Funktion) (waitstate)
      1D9 = Wieviele Sterne sind auf dem Trainerpass? (Anzahl in Lastresult)
      1DD = Attackenlerner (Input: 0x8005)
      1E0 = Deoxys-Dreieck Overworld
      1E1 = Deoxys-Dreieck Setup
      1E2 = Wildes Pokémon für special 0x145 definieren (Input: 0x8004 = Pokémon-Spezies; 0x8005 = Level;

      0x8006 = Item)
      1E9 = Trainer im PokéNav aufnehmen (Input: 0x8004 = Trainer)
      1F3 = Nationalen Pokédex aktivieren
      1F7 = Ferneiland-Mew Setup
      1F8 = Wurde ein Ticket im Pokémon-Center Obergeschoss noch nicht beim Boten abgeholt? (LASTRESULT)
      1FB = Trainerberg Setup; 0x8004 = 7 (Zeitergebnis)
      1FC = Cutscene (0x8004 0x0 = Groudon VS Kyogre)
      1FE = Ferneiland-Mew Setup
      1FF = Beerenmühle-Ergebnisse
      200 =
      201 =
      202 =
      203 = Pokémon-Center: Spielt ein Pokémon im Team?
      204 =
      205 = Pokémon-Wettbewerb: Levelscript 07
      206 =
      207 =
      208 =
      209 = Möchte das ausgewählte Pokémon nicht Surfer vergessen? (LASTRESULT)
      20A =
      20B =
      20C = Rekordbildschirm verlassen
      20D =
      20E =
    • Der Beitrag ist echt Klasse. ^^
      Von solchen Datensammlungen sollte es viel mehr geben.

      Bestenfalls sollte man solche Listen und Ähnliches unter einem eigenen Punkt (Ressourcen/Daten) im Inhaltsverzeichnis auflisten.
      Unter diesem Punkt könnte man dann auch Sachen wie z.B. die Musikliste von Obito oder die Liste mit den Beerenpflanzen-IDs von Kairyon aufführen.
    • Ein paar kleine Ergänzungen:
      Spoiler anzeigen


      64 = Letzte Stelle der Trainer-ID / 2 in LASTRESULT (wird verwendet für die Käuze im PC in Malvenfroh)
      138 = Erdbeben, (waitstate) Input:
      • 0x8004 - Bewegung Y-Achse
      • 0x8005 - Bewegung X-Achse
      • 0x8006 - Gesamtdauer
      • 0x8007 - Pause zwischen den Bewegungen (Anzahl der Beben = Gesamtdauer / Pause)
      1FC = Cutscene (0x8004 0x0 = Groudon VS Kyogre; 0x1 = Groudon VS Kyogre, Rayquaza beruhigt beide)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Nekaida ()